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

TXT基础课程,检测与执行第3课_____2025年7月11日

[复制链接]

50

主题

2

回帖

241

积分

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

视频课程

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


​一、课程基本信息​

  • ​课程名称​​:传奇引擎脚本开发——检测与执行(第三课)
  • ​授课对象​​:传奇引擎脚本初学者(具备基础语法知识)
  • ​课时​​: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
发表于 4 天前 | 显示全部楼层
哇~同学你来学习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

回帖

64

积分

积分
64
发表于 4 天前 | 显示全部楼层

3811e9cced1c8ef7c84aa879d7de1b71.png

本帖子中包含更多资源

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

x

点评

nice!  发表于 4 天前

0

主题

1

回帖

10

积分

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

image.png

本帖子中包含更多资源

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

x

点评

666  发表于 4 天前

0

主题

1

回帖

10

积分

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

image.png

本帖子中包含更多资源

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

x

点评

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

本版积分规则