找回密码
 立即注册
    查看: 10|回复: 0

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

    [复制链接]

    56

    主题

    2

    回帖

    270

    积分

    积分
    270
    发表于 昨天 10:12 PM | 显示全部楼层 |阅读模式

    视频课程

    ​游戏脚本开发课程教案​

    ​主题​​:游戏脚本常用功能实现(检测物品、状态设置、交互引导与装备回收)
    ​授课对象​​:游戏脚本开发初学者(需具备基础编程与游戏引擎操作能力)
    ​课时​​:90分钟


    ​一、教学目标​

    通过本节课学习,学生能够掌握以下核心技能:

    1. ​检测物品佩戴​​:使用指令检测角色是否佩戴指定物品(如装备、道具),并触发后续逻辑。
    2. ​状态与效果设置​​:设置角色临时状态(如绿毒、冰冻、禁锢)、离线挂机功能及自定义属性。
    3. ​交互引导功能​​:通过新手引导指令提示玩家点击特定按钮(如背包、角色面板)。
    4. ​数据操作与装备回收​​:遍历背包物品、删除指定物品(如装备回收脚本的核心逻辑)。

    ​二、教学重难点​

    • ​重点​​:检测物品佩戴的指令应用、离线挂机的条件与注意事项、新手引导的逻辑实现、装备回收的脚本编写。
    • ​难点​​:多条件概率触发的脚本逻辑(如不同几率的绿毒效果)、引导功能的按钮ID与界面ID匹配、装备回收中遍历背包与删除物品的脚本顺序。

    ​三、教学准备​

    1. 开发环境:游戏引擎(如M2引擎)、脚本编辑器、测试账号(含不同装备与道具)。
    2. 示例脚本:检测物品佩戴脚本、离线挂机脚本、绿毒效果脚本、新手引导脚本、装备回收脚本(提前准备并标注关键参数)。
    3. 问题清单:整理学生可能遇到的常见问题(如引导不生效、装备回收失败),用于课堂答疑。

    ​四、教学过程​

    ​(一)课程导入(10分钟)​

    通过实际游戏场景提问,引出本节课主题:

    • “大家在游戏中是否遇到过‘佩戴特定装备触发增益’‘离线后角色自动挂机’或‘新手引导提示点击按钮’的功能?这些功能如何通过脚本实现?”
    • 总结:游戏脚本需实现“检测-判断-执行”的逻辑链,本节课将围绕这一核心展开。

    ​(二)知识点讲解(40分钟)​

    ​模块1:检测物品佩戴(10分钟)​

    ​目标​​:学会使用CH each check items指令检测角色是否佩戴指定物品(如装备、道具)。
    ​关键步骤​​:

    1. ​获取物品位置常量​​:通过“搜索标题”找到“装备位置”常量(如示例中的60),确定物品佩戴的位置(如武器、项链)。
    2. ​编写检测逻辑​​:使用CH each check items指令检测当前角色是否佩戴指定位置的物品(示例:if (CheckItem(60)) { ... })。
    3. ​扩展应用​​:结合概率判断(如10%/20%/30%几率触发不同效果),使用随机数指令(如Rnd(1,10))实现多条件分支。
    ​模块2:状态与效果设置(10分钟)​

    ​目标​​:掌握角色状态设置(如绿毒、冰冻、禁锢)与离线挂机功能。
    ​关键内容​​:

    • ​绿毒/红毒效果​​:通过ChangePlayerState指令设置状态(如绿毒),并指定持续时间(前3种绿毒10秒,最后一种15秒)。
    • ​冰冻/禁锢​​:使用FreezeImprison指令,需注意参数含义(如冰冻几率=1/参数值、禁锢范围限制);​​GM账号可能影响测试结果​​,需退出管理员模式验证。
    • ​离线挂机​​:使用OfflineBy指令设置挂机时间(如OfflineBy 100表示100分钟后踢下线);​​必须在小退/大退触发中关闭所有定时器​​,避免脚本冲突。
    ​模块3:交互引导功能(10分钟)​

    ​目标​​:通过新手引导提示玩家点击特定按钮(如背包、角色面板)。
    ​关键逻辑​​:

    1. ​确定界面与按钮ID​​:
      • 主界面ID(如104为游戏主界面右下角基础按钮区域);
      • 按钮ID(需在脚本中手动添加,如背包按钮ID设为“背包”)。
    2. ​编写引导指令​​:使用Guide指令,格式为Guide(主界面ID, 按钮ID, 提示文字)(示例:Guide(104, "背包", "点击打开背包"))。
    3. ​常见问题​​:引导不生效可能因按钮ID未正确设置或未小退刷新,需重新登录验证。
    ​模块4:装备回收脚本(10分钟)​

    ​目标​​:通过遍历背包物品并删除指定装备(如回收活动道具)。
    ​关键步骤​​:

    1. ​遍历背包物品​​:使用GetAllBagItems指令获取当前背包所有物品的唯一ID(UID),结果存入变量(如BagItems)。
    2. ​批量删除物品​​:使用DeleteItemByUID指令,支持逗号分隔的多UID删除(示例:DeleteItemByUID(BagItems))。
    3. ​注意事项​​:需将“遍历背包”与“删除物品”分两个触发脚本编写(先遍历存储UID,再执行删除),避免因脚本执行顺序导致仅删除第一个物品。

    ​(三)实践操作(25分钟)​

    学生分组完成以下任务(教师巡回指导):

    1. 编写“佩戴指定装备触发绿毒”脚本(检测物品→概率判断→设置状态)。
    2. 测试“离线挂机”功能,验证关闭定时器的重要性。
    3. 实现“引导点击背包按钮”功能(需手动添加按钮ID并小退刷新)。
    4. 编写“背包遍历+装备回收”脚本(重点解决仅删除一个物品的问题)。

    ​(四)总结与答疑(15分钟)​

    1. ​知识回顾​​:
      • 检测物品:CheckItem+位置常量+概率分支;
      • 状态设置:ChangePlayerState+OfflineBy(注意定时器);
      • 引导功能:界面ID+按钮ID+Guide指令;
      • 装备回收:GetAllBagItems+DeleteItemByUID(分两步执行)。
    2. ​易错点强调​​:
      • 引导功能需确保按钮ID已添加并刷新;
      • 离线挂机前必须关闭所有定时器;
      • 装备回收脚本需分“遍历”与“删除”两步。
    3. ​答疑环节​​:解答学生实践中的问题(如冰冻不生效、引导无提示等)。

    ​五、课后作业​

    1. 完善“佩戴装备触发绿毒”脚本,添加红毒(15秒)与更高几率(50%)的触发逻辑。
    2. 编写“离线挂机+经验奖励”脚本(每12分钟获得5000经验)。
    3. 实现“引导点击角色面板”功能(主界面ID=104,按钮ID=“角色”)。

    ​教学反思​​:通过实践操作强化学生对“检测-判断-执行”逻辑链的理解,重点关注脚本顺序与参数匹配问题,后续可增加综合案例(如“登录奖励+引导+状态设置”)提升综合应用能力。

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则