8818513 发表于 2025-7-30 13:27:10

TXT基础课程,检测与执行第15课

<h1><a href="https://fanm37t2tx.feishu.cn/minutes/obcnv24nmng1sv4xp9vuvn24?from=from_copylink">视频课程</a></h1>
<h3>《传奇游戏引擎脚本开发——自定义按钮与高级指令应用》教案</h3>
<hr />
<h4>​<strong>​课程名称​</strong>​:传奇游戏引擎脚本开发(四)——自定义按钮与高级指令应用</h4>
<p>​<strong>​适用对象​</strong>​:传奇引擎(如996引擎)脚本开发学习者<br />
​<strong>​课时​</strong>​:2课时(90分钟)</p>
<hr />
<h3>​<strong>​一、教学目标​</strong>​</h3>
<ol>
<li>​<strong>​知识目标​</strong>​:掌握自定义按钮的添加/删除指令、参数配置;理解自定义命令、自动寻路、字符串处理(比较/分割)指令的功能与语法。</li>
<li>​<strong>​能力目标​</strong>​:能独立完成“顶部功能按钮”“GM权限按钮”“自动寻路任务”等脚本的编写与调试;能运用字符串指令处理游戏数据。</li>
<li>​<strong>​情感目标​</strong>​:通过实操任务,提升学生对游戏交互功能的设计能力,培养严谨的代码调试习惯。</li>
</ol>
<hr />
<h3>​<strong>​二、教学重点与难点​</strong>​</h3>
<ul>
<li>​<strong>​重点​</strong>​:自定义按钮的添加(主窗口ID、图标路径、坐标调整);自定义命令的配置与触发;自动寻路指令(<code>go to</code>)的应用。</li>
<li>​<strong>​难点​</strong>​:主窗口ID与坐标的对应关系(如右上角/任务栏的坐标偏移);字符串分割与键值对的区分使用;自定义命令的调试与GM功能集成。</li>
</ul>
<hr />
<h3>​<strong>​三、教学方法​</strong>​</h3>
<ul>
<li>​<strong>​讲解法​</strong>​:结合引擎指令语法,讲解自定义按钮、自定义命令等核心功能。</li>
<li>​<strong>​演示法​</strong>​:通过可视化编辑器(如控制台+F11)演示按钮添加、坐标调整、脚本绑定等操作。</li>
<li>​<strong>​任务驱动法​</strong>​:布置实操任务(如制作顶部按钮、GM权限检测),引导学生动手实践。</li>
</ul>
<hr />
<h3>​<strong>​四、教学过程​</strong>​</h3>
<h4>​<strong>​(一)课程导入(10分钟)​</strong>​</h4>
<p>通过回顾上节课内容(OK框功能与装备强化),引出本节课主题:“今天我们将学习游戏开发中与玩家交互密切的功能——自定义按钮与高级指令。自定义按钮是UI界面的核心组件,而高级指令(如自动寻路、字符串处理)则是实现复杂功能的关键。”</p>
<hr />
<h4>​<strong>​(二)新授内容(50分钟)​</strong>​</h4>
<h5>​<strong>​1. 自定义按钮的添加与删除(20分钟)​</strong>​</h5>
<ul>
<li>​<strong>​功能说明​</strong>​:自定义按钮是游戏中用于触发特定功能的UI组件,常见于主界面、任务栏、背包等界面。</li>
<li>​<strong>​关键指令与参数​</strong>​:
<ul>
<li>​<strong>​添加自定义按钮​</strong>​:<code>ADD BUTTON(主窗口ID, 图标ID, 图标路径)</code>
<ul>
<li>主窗口ID:决定按钮显示位置(如101=主界面左上角,102=主界面右上角,104=主界面右下角,8=小地图界面)。</li>
<li>图标ID:自定义按钮的唯一标识(需全局唯一,避免与其他按钮冲突)。</li>
<li>图标路径:按钮素材路径(需存放在客户端<code>RES\CCUSTUN</code>目录下,命名避免中文)。</li>
</ul>
</li>
<li>​<strong>​删除自定义按钮​</strong>​:<code>DEL BUTTON(按钮编号)</code>
<ul>
<li>按钮编号:通过<code>ADD BUTTON</code>返回的编号(或通过<code>GETBUTTONNUM</code>获取)。</li>
</ul>
</li>
</ul>
</li>
<li>​<strong>​实操演示​</strong>​:
<ul>
<li>步骤1:在<code>RES\CCUSTUN</code>目录下添加自定义按钮素材(如“顶部按钮_01”“收缩按钮”),重命名为数字(避免中文)。</li>
<li>步骤2:在脚本中编写添加指令(如<code>ADD BUTTON(101, 100, &quot;顶部按钮_01&quot;)</code>),绑定到登录触发(<code>login</code>)。</li>
<li>步骤3:调整坐标(通过F10系统功能类按钮拖动按钮至目标位置),解决坐标偏移问题(如右上角需负数坐标)。</li>
</ul>
</li>
</ul>
<hr />
<h5>​<strong>​2. 自定义命令与GM功能(15分钟)​</strong>​</h5>
<ul>
<li>​<strong>​功能说明​</strong>​:自定义命令是游戏管理员(GM)的专用指令,可实现经验赠送、装备回收等功能。</li>
<li>​<strong>​关键步骤​</strong>​:
<ol>
<li>​<strong>​定义自定义命令​</strong>​:在引擎“游戏命令”配置中添加命令(如<code>命令一</code>),并绑定脚本。</li>
<li>​<strong>​编写触发脚本​</strong>​:通过<code>IF 命令一==1 THEN ...</code>检测命令输入,执行对应逻辑(如<code>ADD EXP 100000</code>赠送经验)。</li>
<li>​<strong>​GM权限检测​</strong>​:结合字符串比较指令(<code>STRCMP</code>),仅允许特定账号(如GM账号)使用(如<code>IF STRCMP(账号, &quot;GM123&quot;)==0 THEN 显示按钮</code>)。</li>
</ol>
</li>
<li>​<strong>​实操示例​</strong>​:
<pre><code>// 登录触发:检测是否为GM账号,显示自定义按钮
IF STRCMP(账号, &quot;GM123&quot;)==0 THEN
    ADD BUTTON(101, 200, &quot;GM工具箱&quot;)// 添加GM工具箱按钮
ENDIF
</code></pre>
</li>
</ul>
<hr />
<h5>​<strong>​3. 自动寻路与任务导航(10分钟)​</strong>​</h5>
<ul>
<li>​<strong>​功能说明​</strong>​:自动寻路指令可实现角色自动移动至指定坐标或NPC,常见于任务引导、传送功能。</li>
<li>​<strong>​关键指令​</strong>​:
<ul>
<li><code>GO TO X,Y</code>:自动移动至指定坐标(如<code>GO TO 330,330</code>)。</li>
<li><code>GO TO NPC ID</code>:自动移动至指定NPC(如<code>GO TO 100</code>)。</li>
</ul>
</li>
<li>​<strong>​进阶应用​</strong>​:
<ul>
<li>​<strong>​小飞鞋功能​</strong>​:检测背包是否有“小飞鞋”道具,有则自动传送(<code>IF HAVEITEM(小飞鞋)==1 THEN GO TO 目标坐标</code>),无则正常寻路。</li>
<li>​<strong>​条件传送​</strong>​:结合金币/元宝检测(<code>IF MONEY&gt;=1000 THEN GO TO 目标地图</code>),实现付费传送。</li>
</ul>
</li>
</ul>
<hr />
<h5>​<strong>​4. 字符串处理指令(5分钟)​</strong>​</h5>
<ul>
<li>​<strong>​功能说明​</strong>​:用于处理游戏中的文本数据(如账号检测、任务名称分割)。</li>
<li>​<strong>​关键指令​</strong>​:
<ul>
<li><code>STRCMP(字符串1, 字符串2)</code>:比较两个字符串是否相同(返回0表示相同)。</li>
<li><code>SPLIT(字符串, 分隔符, 变量1, 变量2)</code>:按分隔符分割字符串,结果存入变量(如<code>SPLIT(&quot;刘德华,张学友&quot;, &quot;,&quot;, S1, S2)</code>,S1=“刘德华”,S2=“张学友”)。</li>
</ul>
</li>
<li>​<strong>​注意事项​</strong>​:字符串分割需注意分隔符格式(如空格、逗号),复杂数据建议用键值对(<code>KEYVALUE</code>)处理。</li>
</ul>
<hr />
<h4>​<strong>​(三)课堂练习(20分钟)​</strong>​</h4>
<ol>
<li>​<strong>​任务1:制作顶部功能按钮​</strong>​
<ul>
<li>要求:在主界面左上角添加“会员服务”“收缩面板”按钮,点击“收缩面板”隐藏按钮并显示“展开面板”按钮。</li>
<li>提示:使用<code>ADD BUTTON</code>添加按钮,<code>DEL BUTTON</code>删除按钮,<code>LINK</code>绑定点击事件。</li>
</ul>
</li>
<li>​<strong>​任务2:编写GM权限检测脚本​</strong>​
<ul>
<li>要求:仅允许账号“GM_ADMIN”登录时显示“GM工具箱”按钮,点击后赠送10万经验。</li>
<li>提示:结合<code>STRCMP</code>检测账号,<code>ADD EXP</code>赠送经验。</li>
</ul>
</li>
<li>​<strong>​任务3:实现自动寻路任务​</strong>​
<ul>
<li>要求:角色登录后自动移动至新手村(坐标200,200),并提示“欢迎来到新手村”。</li>
<li>提示:使用<code>GO TO 200,200</code>和<code>SENDMESSAGE</code>指令。</li>
</ul>
</li>
</ol>
<hr />
<h4>​<strong>​(四)总结与作业(10分钟)​</strong>​</h4>
<ul>
<li>​<strong>​总结​</strong>​:
<ul>
<li>自定义按钮是UI交互的核心,需注意主窗口ID与坐标的对应关系。</li>
<li>自定义命令是GM功能的载体,需结合权限检测使用。</li>
<li>自动寻路与字符串处理是实现复杂功能的基础,需熟练掌握指令参数。</li>
</ul>
</li>
<li>​<strong>​作业​</strong>​:
<ol>
<li>完善“顶部功能按钮”脚本,添加“设置”“排行榜”按钮并绑定功能。</li>
<li>编写“自动回收装备”脚本,检测背包中“旧武器”并自动回收(使用<code>TAKEON</code>和<code>DELITEM</code>指令)。</li>
<li>思考:如何结合“字符串分割”与“键值对”优化任务奖励分配逻辑?</li>
</ol>
</li>
</ul>
<hr />
<h3>​<strong>​五、教学反思​</strong>​</h3>
<p>(课后补充:需关注学生对主窗口ID与坐标对应关系的掌握情况,针对性辅导坐标调整;部分学生可能混淆<code>SPLIT</code>与<code>KEYVALUE</code>的使用场景,需通过示例对比讲解;实操环节需加强巡视,及时解决素材命名、路径错误等问题。)</p>
页: [1]
查看完整版本: TXT基础课程,检测与执行第15课