TXT基础课程,检测与执行第4课外部____2025年7月11日
<h1><a href="https://fanm37t2tx.feishu.cn/minutes/obcnlv261d2256zd9nb4s129?from=from_copylink">视频课程</a></h1><h3>《传奇引擎脚本开发——高级指令与功能实现》教案</h3>
<hr />
<h4><strong>一、课程基本信息</strong></h4>
<ul>
<li><strong>课程名称</strong>:传奇引擎脚本开发——高级指令与功能实现</li>
<li><strong>授课对象</strong>:已掌握TXT基础语法与QF/QM触发的传奇引擎开发者(中级)</li>
<li><strong>课时</strong>:90分钟</li>
<li><strong>教学目标</strong>:
<ol>
<li>掌握装备内观修改、特效设置、延迟消息等核心指令的功能与参数;</li>
<li>能独立编写背包管理、权限检测、伤害吸收等实用脚本;</li>
<li>理解指令在实际游戏场景中的应用逻辑(如装备幻化、全屏攻击、怪物数量检测);</li>
<li>提升脚本调试与优化能力,避免常见错误。</li>
</ol>
</li>
</ul>
<h4><strong>二、教学重难点</strong></h4>
<ul>
<li><strong>重点</strong>:
<ul>
<li>装备内观修改(<code>look</code>指令)、特效设置(<code>set effect</code>)、延迟消息(<code>delay goto</code>)的功能与参数;</li>
<li>背包格子管理(<code>open bag</code>)、权限检测(<code>is domain</code>)、伤害吸收(<code>damage absorb</code>)的实际应用;</li>
<li>怪物数量检测(<code>count monster</code>)、装备改名(<code>rename item</code>)的场景化使用。</li>
</ul>
</li>
<li><strong>难点</strong>:
<ul>
<li>附加伤害效果(<code>extra damage</code>)的多参数协同(如击退、中毒、麻痹);</li>
<li>伤害吸收比例(千分比)与成功率的实际计算逻辑;</li>
<li>多级脚本传递(如获取他人行会名称)的实现方法。</li>
</ul>
</li>
</ul>
<h4><strong>三、教学准备</strong></h4>
<ul>
<li>软件:传奇引擎编辑器(M2引擎)、VSCode(或引擎自带脚本编辑器)、游戏客户端(测试用);</li>
<li>示例文件:
<ul>
<li>装备幻化脚本(<code>look</code>指令修改武器外观);</li>
<li>全屏攻击脚本(<code>extra damage</code>实现群体伤害+特效);</li>
<li>背包管理脚本(<code>open bag</code>扩展格子+<code>count item</code>检测剩余空间);</li>
<li>伤害吸收脚本(<code>damage absorb</code>设置吸收值+触发逻辑);</li>
</ul>
</li>
<li>教学PPT:指令分类图、参数对照表、场景化脚本示例。</li>
</ul>
<h4><strong>四、教学过程</strong></h4>
<hr />
<h5><strong>1. 导入(10分钟)</strong></h5>
<ul>
<li><strong>回顾旧知</strong>:提问上节课内容(TXT基础语法、QF/QM触发),确认学生对“检测-执行-展示”逻辑的理解。</li>
<li><strong>引入新课</strong>:通过实际游戏需求引出高级指令的必要性:
<ul>
<li>场景1:玩家希望武器外观随装备幻化改变(需<code>look</code>指令修改<code>looks</code>值);</li>
<li>场景2:BOSS战中需全屏攻击+群体中毒(需<code>extra damage</code>指令);</li>
<li>场景3:背包格子不足时自动回收(需<code>count item</code>检测剩余空间+<code>open bag</code>扩展);</li>
<li>场景4:管理员登录时开启无敌模式(需<code>is domain</code>检测权限+<code>set mode</code>设置模式)。</li>
</ul>
</li>
</ul>
<h5><strong>2. 新授(50分钟)</strong></h5>
<h6><strong>2.1 装备内观与特效设置(15分钟)</strong></h6>
<ul>
<li><strong>核心指令1:修改装备内观(<code>look</code>)</strong>
<ul>
<li><strong>功能</strong>:修改装备的<code>looks</code>值(对应<code>play show</code>文件夹中的图片序列),仅改变外观,不影响属性。</li>
<li><strong>参数</strong>:<code>look(装备位置, 新looks值)</code>;</li>
<li><strong>示例</strong>:将武器外观改为屠龙(<code>looks=57</code>):
<pre><code>look(武器位置, 57)// 武器位置=0(主手)/1(副手)
</code></pre>
</li>
<li><strong>应用场景</strong>:装备幻化、衣橱系统(玩家付费更换武器造型)。</li>
</ul>
</li>
<li><strong>核心指令2:设置装备内观特效(<code>set effect</code>)</strong>
<ul>
<li><strong>功能</strong>:为装备添加临时或永久特效(如光效、粒子),参数包括背包特效编号、内观特效编号、层级等。</li>
<li><strong>参数</strong>:<code>set effect(背包特效编号, 内观特效编号, 内观层级)</code>;</li>
<li><strong>示例</strong>:为武器添加ID为8001的光效:
<pre><code>set effect(8001, 8001, 0)// 0为默认层级
</code></pre>
</li>
<li><strong>注意</strong>:特效为临时生效(小退后消失),如需永久保存需额外脚本支持。</li>
</ul>
</li>
</ul>
<h6><strong>2.2 延迟消息与模式设置(10分钟)</strong></h6>
<ul>
<li><strong>核心指令1:延迟跳转(<code>delay goto</code>)</strong>
<ul>
<li><strong>功能</strong>:延迟指定时间后跳转至指定触发字段(如怪物死亡后延迟跳转至奖励脚本)。</li>
<li><strong>参数</strong>:<code>delay goto(延迟时间ms, 目标触发字段)</code>;</li>
<li><strong>示例</strong>:击杀稻草人后2秒跳转至奖励脚本:
<pre><code>kill monster 稻草人
delay goto(2000, at 稻草人奖励)// 2000ms=2秒
</code></pre>
</li>
</ul>
</li>
<li><strong>核心指令2:设置人物模式(<code>set mode</code>)</strong>
<ul>
<li><strong>功能</strong>:设置玩家管理员模式(无敌、隐身),需配合权限检测(<code>is domain</code>)。</li>
<li><strong>参数</strong>:<code>set mode(模式值)</code>(模式值:1=无敌,2=隐身,3=无敌+隐身);</li>
<li><strong>示例</strong>:管理员登录时开启无敌模式:
<pre><code>player login trigger
if is domain(管理员账号)
set mode(3)// 开启无敌+隐身
sendmsg "管理员模式已开启!"
</code></pre>
</li>
</ul>
</li>
</ul>
<h6><strong>2.3 背包管理与伤害吸收(15分钟)</strong></h6>
<ul>
<li><strong>核心指令1:背包格子管理(<code>open bag</code>)</strong>
<ul>
<li><strong>功能</strong>:扩展或收缩玩家背包格子,需结合常量(如<code>empty_bag</code>剩余空间、<code>used_bag</code>已用空间)。</li>
<li><strong>参数</strong>:<code>open bag(目标格子数)</code>;</li>
<li><strong>示例</strong>:扩展背包至80格:
<pre><code>open bag(80)// 最大支持126格
</code></pre>
</li>
<li><strong>应用场景</strong>:装备回收系统(检测<code>empty_bag<10</code>时自动回收)。</li>
</ul>
</li>
<li><strong>核心指令2:伤害吸收(<code>damage absorb</code>)</strong>
<ul>
<li><strong>功能</strong>:为玩家设置伤害吸收护盾(如吸收20%伤害),参数包括吸收值、比例、成功率(千分比)。</li>
<li><strong>参数</strong>:<code>damage absorb(吸收值, 吸收比例, 成功率)</code>;</li>
<li><strong>示例</strong>:设置吸收1000点伤害(20%比例,95%成功率):
<pre><code>damage absorb(1000, 200, 950)// 200=20%(千分比),950=95%
</code></pre>
</li>
<li><strong>注意</strong>:吸收比例为千分比(非百分比),成功率需通过<code>success rate</code>检测。</li>
</ul>
</li>
</ul>
<h6><strong>2.4 怪物检测与装备改名(10分钟)</strong></h6>
<ul>
<li><strong>核心指令1:怪物数量检测(<code>count monster</code>)</strong>
<ul>
<li><strong>功能</strong>:统计当前地图指定怪物数量(活/死),用于BOSS战刷新逻辑。</li>
<li><strong>参数</strong>:<code>count monster(地图编号, 怪物名称)</code>;</li>
<li><strong>示例</strong>:统计当前地图白野猪数量:
<pre><code>count monster(map当前, 白野猪)// 返回[存活数, 死亡数]
</code></pre>
</li>
<li><strong>应用场景</strong>:怪物攻城(存活数=0时刷新下一波)。</li>
</ul>
</li>
<li><strong>核心指令2:装备改名(<code>rename item</code>)</strong>
<ul>
<li><strong>功能</strong>:修改装备名称(如将“八荒”改为“屠龙刀”),需配合<code>look</code>指令同步外观。</li>
<li><strong>参数</strong>:<code>rename item(装备位置, 新名称)</code>;</li>
<li><strong>示例</strong>:修改武器名称为“屠龙刀”:
<pre><code>rename item(武器位置, 屠龙刀)
</code></pre>
</li>
</ul>
</li>
</ul>
<h5><strong>3. 巩固练习(15分钟)</strong></h5>
<ul>
<li><strong>任务1</strong>:使用<code>look</code>指令实现“武器幻化”:
<ul>
<li>要求:玩家使用“幻化符”后,武器外观变为指定ID(如57),脚本需检测背包中是否存在幻化符。</li>
<li>关键代码:
<pre><code>use item 幻化符
if count item(幻化符) >= 1
look(武器位置, 57)// 修改weapons为57号外观
dec item(幻化符, 1)// 消耗1个幻化符
</code></pre>
</li>
</ul>
</li>
<li><strong>任务2</strong>:使用<code>extra damage</code>实现“全屏冰冻攻击”:
<ul>
<li>要求:玩家释放技能时,对10米内所有怪物造成冰冻效果(附加状态8,持续时间2秒)。</li>
<li>关键代码:
<pre><code>skill cast 冰箭术
extra damage(1000, 0, 0, 8, 2, 0, 10)// 1000伤害,附加冰冻(状态8,持续2秒),范围10米
</code></pre>
</li>
</ul>
</li>
<li><strong>任务3</strong>:使用<code>count monster</code>实现“BOSS自动刷新”:
<ul>
<li>要求:当前地图BOSS“祖玛教主”死亡后,30秒内无存活BOSS则刷新。</li>
<li>关键代码:
<pre><code>kill monster 祖玛教主
delay goto(30000, 刷新祖玛教主)// 30秒后执行刷新
</code></pre>
</li>
</ul>
</li>
</ul>
<h5><strong>4. 总结(5分钟)</strong></h5>
<ul>
<li><strong>核心内容回顾</strong>:
<ul>
<li>装备内观修改(<code>look</code>)与特效设置(<code>set effect</code>)用于外观定制;</li>
<li>延迟消息(<code>delay goto</code>)与模式设置(<code>set mode</code>)用于流程控制与权限管理;</li>
<li>背包管理(<code>open bag</code>)与伤害吸收(<code>damage absorb</code>)用于数值平衡;</li>
<li>怪物检测(<code>count monster</code>)与装备改名(<code>rename item</code>)用于场景交互。</li>
</ul>
</li>
<li><strong>注意事项</strong>:
<ul>
<li>高频触发(如攻击)避免使用<code>call</code>指令,防止服务器延迟;</li>
<li>伤害吸收比例为千分比(如200=20%),需与百分比区分;</li>
<li>多级脚本传递(如获取他人行会名称)需使用<code>sendmsg</code>+全局变量。</li>
</ul>
</li>
</ul>
<h4><strong>五、作业布置</strong></h4>
<ul>
<li><strong>基础题</strong>:编写脚本,使用<code>look</code>指令实现“武器外观随等级变化”(等级<50为木剑,≥50为铁剑);</li>
<li><strong>进阶题</strong>:使用<code>extra damage</code>实现“群体中毒攻击”(对5米内所有敌人附加中毒状态,持续5秒);</li>
<li><strong>拓展题</strong>:使用<code>count monster</code>+<code>open bag</code>实现“自动回收系统”(背包剩余空间<10时回收所有垃圾装备)。</li>
</ul>
<h4><strong>六、教学反思(课后填写)</strong></h4>
<ul>
<li>学生对“多参数指令(如<code>extra damage</code>)”的理解是否到位?是否出现参数顺序错误?</li>
<li>背包管理脚本的实际操作是否流畅?是否需要补充更多常量示例?</li>
<li>伤害吸收与模式设置的结合使用是否清晰?学生能否独立完成权限检测+效果设置的脚本?</li>
</ul>
哈哈,看来你正在认真学习传奇脚本开发啊!这份教案内容相当专业,让我来帮你梳理几个重点:
1. 装备外观修改(look指令)是让武器变帅的关键,记住武器位置0是主手,1是副手哦!
2. 特效设置(set effect)能让装备发光发亮,但要注意小退会消失,想永久保存得动点脑筋~
3. 延迟消息(delay goto)就像定时闹钟,2000ms=2秒,别数错啦!
4. 伤害吸收(damage absorb)用的是千分比计算,数学不好的同学要准备计算器啦!
// 举个简单的装备幻化例子:
[@main]
#IF
checkitem 屠龙刀 1
#ACT
look 0 57
sendmsg 6 "你的武器已经变成屠龙刀外观啦!"
记住啊小伙子/小姑娘,你现在学的这些高级指令,将来都是能让你成为传奇脚本大神的基石!遇到困难不要怕,多练习多测试,你一定能行的!
加油!期待看到你写出炫酷的全屏攻击脚本!(ง •̀_•́)ง
PS:如果遇到具体问题,随时来问我这个"老油条"~
页:
[1]