找回密码
 立即注册
    查看: 59|回复: 1

    【蓝胖子】TXT基础课程,检测与执行第4课

    [复制链接]

    52

    主题

    2

    回帖

    254

    积分

    积分
    254
    发表于 6 天前 | 显示全部楼层 |阅读模式

    视频课程

    《传奇引擎脚本开发——高级指令与功能实现》教案


    ​一、课程基本信息​

    • ​课程名称​​:传奇引擎脚本开发——高级指令与功能实现
    • ​授课对象​​:已掌握TXT基础语法与QF/QM触发的传奇引擎开发者(中级)
    • ​课时​​:90分钟
    • ​教学目标​​:
      1. 掌握装备内观修改、特效设置、延迟消息等核心指令的功能与参数;
      2. 能独立编写背包管理、权限检测、伤害吸收等实用脚本;
      3. 理解指令在实际游戏场景中的应用逻辑(如装备幻化、全屏攻击、怪物数量检测);
      4. 提升脚本调试与优化能力,避免常见错误。

    ​二、教学重难点​

    • ​重点​​:
      • 装备内观修改(look指令)、特效设置(set effect)、延迟消息(delay goto)的功能与参数;
      • 背包格子管理(open bag)、权限检测(is domain)、伤害吸收(damage absorb)的实际应用;
      • 怪物数量检测(count monster)、装备改名(rename item)的场景化使用。
    • ​难点​​:
      • 附加伤害效果(extra damage)的多参数协同(如击退、中毒、麻痹);
      • 伤害吸收比例(千分比)与成功率的实际计算逻辑;
      • 多级脚本传递(如获取他人行会名称)的实现方法。

    ​三、教学准备​

    • 软件:传奇引擎编辑器(M2引擎)、VSCode(或引擎自带脚本编辑器)、游戏客户端(测试用);
    • 示例文件:
      • 装备幻化脚本(look指令修改武器外观);
      • 全屏攻击脚本(extra damage实现群体伤害+特效);
      • 背包管理脚本(open bag扩展格子+count item检测剩余空间);
      • 伤害吸收脚本(damage absorb设置吸收值+触发逻辑);
    • 教学PPT:指令分类图、参数对照表、场景化脚本示例。

    ​四、教学过程​


    ​1. 导入(10分钟)​
    • ​回顾旧知​​:提问上节课内容(TXT基础语法、QF/QM触发),确认学生对“检测-执行-展示”逻辑的理解。
    • ​引入新课​​:通过实际游戏需求引出高级指令的必要性:
      • 场景1:玩家希望武器外观随装备幻化改变(需look指令修改looks值);
      • 场景2:BOSS战中需全屏攻击+群体中毒(需extra damage指令);
      • 场景3:背包格子不足时自动回收(需count item检测剩余空间+open bag扩展);
      • 场景4:管理员登录时开启无敌模式(需is domain检测权限+set mode设置模式)。
    ​2. 新授(50分钟)​
    ​2.1 装备内观与特效设置(15分钟)​
    • ​核心指令1:修改装备内观(look)​
      • ​功能​​:修改装备的looks值(对应play show文件夹中的图片序列),仅改变外观,不影响属性。
      • ​参数​​:look(装备位置, 新looks值)
      • ​示例​​:将武器外观改为屠龙(looks=57):
        look(武器位置, 57)  // 武器位置=0(主手)/1(副手)
        
      • ​应用场景​​:装备幻化、衣橱系统(玩家付费更换武器造型)。
    • ​核心指令2:设置装备内观特效(set effect)​
      • ​功能​​:为装备添加临时或永久特效(如光效、粒子),参数包括背包特效编号、内观特效编号、层级等。
      • ​参数​​:set effect(背包特效编号, 内观特效编号, 内观层级)
      • ​示例​​:为武器添加ID为8001的光效:
        set effect(8001, 8001, 0)  // 0为默认层级
        
      • ​注意​​:特效为临时生效(小退后消失),如需永久保存需额外脚本支持。
    ​2.2 延迟消息与模式设置(10分钟)​
    • ​核心指令1:延迟跳转(delay goto)​
      • ​功能​​:延迟指定时间后跳转至指定触发字段(如怪物死亡后延迟跳转至奖励脚本)。
      • ​参数​​:delay goto(延迟时间ms, 目标触发字段)
      • ​示例​​:击杀稻草人后2秒跳转至奖励脚本:
        kill monster 稻草人
        delay goto(2000, at 稻草人奖励)  // 2000ms=2秒
        
    • ​核心指令2:设置人物模式(set mode)​
      • ​功能​​:设置玩家管理员模式(无敌、隐身),需配合权限检测(is domain)。
      • ​参数​​:set mode(模式值)(模式值:1=无敌,2=隐身,3=无敌+隐身);
      • ​示例​​:管理员登录时开启无敌模式:
        player login trigger
            if is domain(管理员账号)
                set mode(3)  // 开启无敌+隐身
                sendmsg "管理员模式已开启!"
        
    ​2.3 背包管理与伤害吸收(15分钟)​
    • ​核心指令1:背包格子管理(open bag)​
      • ​功能​​:扩展或收缩玩家背包格子,需结合常量(如empty_bag剩余空间、used_bag已用空间)。
      • ​参数​​:open bag(目标格子数)
      • ​示例​​:扩展背包至80格:
        open bag(80)  // 最大支持126格
        
      • ​应用场景​​:装备回收系统(检测empty_bag<10时自动回收)。
    • ​核心指令2:伤害吸收(damage absorb)​
      • ​功能​​:为玩家设置伤害吸收护盾(如吸收20%伤害),参数包括吸收值、比例、成功率(千分比)。
      • ​参数​​:damage absorb(吸收值, 吸收比例, 成功率)
      • ​示例​​:设置吸收1000点伤害(20%比例,95%成功率):
        damage absorb(1000, 200, 950)  // 200=20%(千分比),950=95%
        
      • ​注意​​:吸收比例为千分比(非百分比),成功率需通过success rate检测。
    ​2.4 怪物检测与装备改名(10分钟)​
    • ​核心指令1:怪物数量检测(count monster)​
      • ​功能​​:统计当前地图指定怪物数量(活/死),用于BOSS战刷新逻辑。
      • ​参数​​:count monster(地图编号, 怪物名称)
      • ​示例​​:统计当前地图白野猪数量:
        count monster(map当前, 白野猪)  // 返回[存活数, 死亡数]
        
      • ​应用场景​​:怪物攻城(存活数=0时刷新下一波)。
    • ​核心指令2:装备改名(rename item)​
      • ​功能​​:修改装备名称(如将“八荒”改为“屠龙刀”),需配合look指令同步外观。
      • ​参数​​:rename item(装备位置, 新名称)
      • ​示例​​:修改武器名称为“屠龙刀”:
        rename item(武器位置, 屠龙刀)
        
    ​3. 巩固练习(15分钟)​
    • ​任务1​​:使用look指令实现“武器幻化”:
      • 要求:玩家使用“幻化符”后,武器外观变为指定ID(如57),脚本需检测背包中是否存在幻化符。
      • 关键代码:
        use item 幻化符
            if count item(幻化符) >= 1
                look(武器位置, 57)  // 修改weapons为57号外观
                dec item(幻化符, 1)  // 消耗1个幻化符
        
    • ​任务2​​:使用extra damage实现“全屏冰冻攻击”:
      • 要求:玩家释放技能时,对10米内所有怪物造成冰冻效果(附加状态8,持续时间2秒)。
      • 关键代码:
        skill cast 冰箭术
            extra damage(1000, 0, 0, 8, 2, 0, 10)  // 1000伤害,附加冰冻(状态8,持续2秒),范围10米
        
    • ​任务3​​:使用count monster实现“BOSS自动刷新”:
      • 要求:当前地图BOSS“祖玛教主”死亡后,30秒内无存活BOSS则刷新。
      • 关键代码:
        kill monster 祖玛教主
            delay goto(30000, 刷新祖玛教主)  // 30秒后执行刷新
        
    ​4. 总结(5分钟)​
    • ​核心内容回顾​​:
      • 装备内观修改(look)与特效设置(set effect)用于外观定制;
      • 延迟消息(delay goto)与模式设置(set mode)用于流程控制与权限管理;
      • 背包管理(open bag)与伤害吸收(damage absorb)用于数值平衡;
      • 怪物检测(count monster)与装备改名(rename item)用于场景交互。
    • ​注意事项​​:
      • 高频触发(如攻击)避免使用call指令,防止服务器延迟;
      • 伤害吸收比例为千分比(如200=20%),需与百分比区分;
      • 多级脚本传递(如获取他人行会名称)需使用sendmsg+全局变量。

    ​五、作业布置​

    • ​基础题​​:编写脚本,使用look指令实现“武器外观随等级变化”(等级<50为木剑,≥50为铁剑);
    • ​进阶题​​:使用extra damage实现“群体中毒攻击”(对5米内所有敌人附加中毒状态,持续5秒);
    • ​拓展题​​:使用count monster+open bag实现“自动回收系统”(背包剩余空间<10时回收所有垃圾装备)。

    ​六、教学反思(课后填写)​

    • 学生对“多参数指令(如extra damage)”的理解是否到位?是否出现参数顺序错误?
    • 背包管理脚本的实际操作是否流畅?是否需要补充更多常量示例?
    • 伤害吸收与模式设置的结合使用是否清晰?学生能否独立完成权限检测+效果设置的脚本?

    0

    主题

    0

    回帖

    -39

    积分

    积分
    -39
    发表于 6 天前 | 显示全部楼层
    哈哈,看来你正在认真学习传奇脚本开发啊!这份教案内容相当专业,让我来帮你梳理几个重点:

    1. 装备外观修改(look指令)是让武器变帅的关键,记住武器位置0是主手,1是副手哦!

    2. 特效设置(set effect)能让装备发光发亮,但要注意小退会消失,想永久保存得动点脑筋~

    3. 延迟消息(delay goto)就像定时闹钟,2000ms=2秒,别数错啦!

    4. 伤害吸收(damage absorb)用的是千分比计算,数学不好的同学要准备计算器啦!
    1. // 举个简单的装备幻化例子:
    2. [@main]
    3. #IF
    4. checkitem 屠龙刀 1
    5. #ACT
    6. look 0 57
    7. sendmsg 6 "你的武器已经变成屠龙刀外观啦!"
    复制代码

    记住啊小伙子/小姑娘,你现在学的这些高级指令,将来都是能让你成为传奇脚本大神的基石!遇到困难不要怕,多练习多测试,你一定能行的!

    加油!期待看到你写出炫酷的全屏攻击脚本!(ง •̀_•́)ง

    PS:如果遇到具体问题,随时来问我这个"老油条"~
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则