找回密码
 立即注册
    查看: 91|回复: 7

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

    [复制链接]

    52

    主题

    2

    回帖

    254

    积分

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

    视频课程

    《传奇引擎脚本开发——检测与执行(第三课)》教案


    ​一、课程基本信息​

    • ​课程名称​​:传奇引擎脚本开发——检测与执行(第三课)
    • ​授课对象​​:传奇引擎脚本初学者(具备基础语法知识)
    • ​课时​​:90分钟
    • ​教学目标​​:
      1. 掌握按权重分配随机字符串的指令及应用场景;
      2. 学会使用批量检测与操作物品的指令(check itemstext);
      3. 理解循环指令(while)的逻辑与变量控制,掌握列表容器的挂载与应用;
      4. 能结合循环、容器与CSV表格实现批量功能(如地图传送按钮)。

    ​二、教学重难点​

    • ​重点​​:
      • 按权重分配随机字符串的指令参数与计算逻辑;
      • 批量检测指令(check items)的参数含义与实际应用;
      • 循环指令(while)的结构与变量初始化/清空;
      • 列表容器的挂载与循环生成批量按钮的方法。
    • ​难点​​:
      • 权重分配中“总权重”与“随机范围”的计算关系;
      • 循环指令中变量的作用域与传参逻辑(如按钮点击时传递循环变量值);
      • 结合CSV表格与循环容器实现动态功能(如地图传送)的流程设计。

    ​三、教学准备​

    • 软件:传奇引擎编辑器(如M2引擎)、VSCode(用于脚本编写与调试);
    • 示例文件:CSV表格(含地图ID与名称)、批量物品检测脚本模板、循环按钮生成脚本模板;
    • 教学PPT:包含指令语法图解、参数说明、流程示意图。

    ​四、教学过程​


    ​1. 导入(10分钟)​
    • ​回顾旧知​​:提问学生上节课内容(脚本命令讲解、CSV表格读取),确认学生对read csvsplit string等指令的掌握情况。
    • ​引入新课​​:通过实际需求引出本课主题:
      • 场景1:游戏抽奖(按概率分配奖品)→ 需要“按权重随机字符串”;
      • 场景2:批量发放奖励(检测背包是否有多个物品)→ 需要“批量检测指令”;
      • 场景3:动态生成界面(如100个地图传送按钮)→ 需要“循环+容器”。
    ​2. 新授(50分钟)​
    ​2.1 按权重分配随机字符串(20分钟)​
    • ​指令语法​​:
      getrandomstr(字符串#权重,分割符,随机范围参数,显示控制参数,剩余字符串存储变量)
      
    • ​参数详解​​(结合PPT图解):
      • 字符串#权重:待分配的字符串与对应权重(如“测试1#2000#测试2#1000#测试3#5000”);
      • 分割符:分隔字符串与权重的符号(默认#);
      • 随机范围参数(0~1):
        • 0:等概率(每个字符串概率=1/总数量);
        • 1:按权重比例(总权重=各权重之和,随机数落在权重区间内);
      • 显示控制参数(0~3):控制是否显示权重值(0-显示,1-不显示参数4,2-不显示参数5,3-参数4不显示、参数5显示);
      • 剩余字符串存储变量:未选中部分的字符串(如总字符串为“a#10#b#20”,选中“a”则剩余“b#20”)。
    • ​实践演示​​(教师操作):
      • 编写脚本测试不同权重下的概率(如“木剑#90#屠龙#2#裁决#8”,总权重100);
      • 展示显示控制参数=0时输出“木剑#90”,参数=3时仅输出“木剑”;
      • 总结应用场景:抽奖、开宝箱、回收物品等概率性功能。
    ​2.2 批量检测与操作物品(15分钟)​
    • ​指令1:批量检测物品(check items)​
      • 语法:check items(物品名称#数量#分割符,检测类型)
      • 参数说明:
        • 物品名称:支持道具名或ID(需配合参数0/1,默认道具名);
        • 数量:检测的最小数量;
        • 分割符:分隔多个物品的符号(默认#);
        • 检测类型(可选):0(不检测绑定)、1(检测非绑定)、2(检测绑定)。
      • 示例:check items(乌木剑#5#魔血石#2,0) → 检测背包是否有至少5个乌木剑和2个魔血石(非绑定)。
    • ​指令2:批量扣除物品(text)​
      • 语法:text(物品名称#数量#分割符)
      • 作用:批量扣除背包内指定数量的物品(避免使用take多次导致服务器压力)。
    • ​实践演示​​(学生动手):
      • 编写脚本检测背包是否有“乌木剑#5”,若有则提示“背包有5个乌木剑”;
      • 使用text指令扣除5个乌木剑,观察背包变化。
    ​2.3 循环与容器结合使用(15分钟)​
    • ​循环指令(while)​​:
      • 语法:while(变量 操作符 数值){循环体}
      • 关键点:循环前需初始化变量(如set N0 0),避免无限循环;循环体内需更新变量(如inc N0 1)。
    • ​列表容器(list container)​​:
      • 作用:批量管理同类型元素(如按钮、图标),减少重复代码;
      • 挂载方式:通过mount id参数绑定循环变量(如mount N0,N0为循环变量)。
    • ​实践演示(地图传送按钮)​​:
      • 步骤1:创建CSV表格(列1:地图ID,列2:地图名称);
      • 步骤2:读取表格最大行数(get csv row count);
      • 步骤3:循环生成按钮(while(N0 < 行数){创建按钮,挂载N0});
      • 步骤4:按钮点击事件(传参N0,读取表格对应行,传送至地图ID)。
      • 学生观察:点击不同按钮时,打印对应的地图ID(验证传参逻辑)。
    ​3. 巩固练习(15分钟)​
    • ​任务1​​:使用getrandomstr实现“抽奖箱”(权重:一等奖#10,二等奖#30,三等奖#60),输出中奖结果及剩余字符串。
    • ​任务2​​:编写脚本检测背包是否有“屠龙刀#1”(绑定),若有则批量扣除并提示“成功扣除绑定屠龙刀”。
    • ​任务3​​:结合循环与列表容器生成5个按钮(显示“地图1”~“地图5”),点击按钮时打印对应地图名称(使用CSV表格存储地图数据)。
    ​4. 总结(5分钟)​
    • 回顾核心知识点:
      • 权重分配的核心是“总权重”与“随机范围”的计算;
      • 批量指令(check itemstext)提升脚本效率;
      • 循环+容器是实现动态界面的关键(减少重复代码)。
    • 强调易错点:
      • 循环变量需初始化并更新,避免死循环;
      • 传参时注意变量作用域(循环内变量需通过参数传递到外部事件)。

    ​五、作业布置​

    • ​基础题​​:使用getrandomstr实现“装备掉落”(权重:普通装备#80,稀有装备#15,传说装备#5),输出掉落结果。
    • ​进阶题​​:结合循环、列表容器与CSV表格,生成10个按钮(显示“任务1”~“任务10”),点击按钮时打印对应任务名称(CSV表格存储任务ID与名称)。

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

    • 学生对权重分配的计算逻辑是否理解?是否需要补充示例?
    • 循环与容器的结合是否清晰?学生能否独立完成动态按钮生成?
    • 作业难度是否适中?是否需要提供更多模板代码?

    ​备注​​:本教案可根据学生实际水平调整实践环节难度,重点关注学生对指令参数与逻辑流程的理解。

    0

    主题

    0

    回帖

    -20

    积分

    积分
    -20
    发表于 6 天前 | 显示全部楼层
    哇~同学你来学习TXT脚本课程啦!(开心地转圈圈)

    让小妹来给你介绍一下这节课的重点内容呢~

    首先是按权重随机字符串的指令,这个可有趣啦!就像抽奖一样,可以设置不同物品的中奖概率呢。比如:
    1. getrandomstr("木剑#90#屠龙#2#裁决#8","#",1,0,"剩余物品")
    复制代码
    这样木剑有90%概率,屠龙2%,裁决8%哦~

    然后是批量检测物品的指令,可以一次性检查背包里有没有多个物品呢:
    1. check items("乌木剑#5#魔血石#2",0)
    复制代码
    这样就可以检查5个乌木剑和2个魔血石啦!

    循环指令也超级实用,可以批量生成按钮或者处理数据。小妹最喜欢用while循环啦!

    同学要记住重点哦:
    1. 权重计算要准确,总权重是所有权重相加
    2. 循环变量要记得初始化
    3. 批量操作物品时要注意分割符的使用

    有什么不明白的地方随时问小妹哦~我会像教小朋友一样耐心教你的!(眨眨眼)

    0

    主题

    1

    回帖

    68

    积分

    积分
    68
    发表于 6 天前 | 显示全部楼层

    3811e9cced1c8ef7c84aa879d7de1b71.png

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x

    点评

    nice!  发表于 6 天前

    0

    主题

    1

    回帖

    10

    积分

    积分
    10
    发表于 6 天前 | 显示全部楼层

    image.png

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x

    点评

    666  发表于 6 天前

    0

    主题

    1

    回帖

    12

    积分

    积分
    12
    发表于 6 天前 | 显示全部楼层

    image.png

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x

    点评

    666  发表于 5 天前
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则