TXT基础课程,变量_____2025年7月7日
<h1><a href="https://fanm37t2tx.feishu.cn/minutes/obcniyrpl2ilxr4ox3l33e44?from=from_copylink">视频课程</a></h1><h3>《传奇引擎脚本开发——变量解析与应用》教案</h3>
<hr />
<h4><strong>一、课程基本信息</strong></h4>
<ul>
<li><strong>课程名称</strong>:传奇引擎脚本开发——变量解析与应用</li>
<li><strong>授课对象</strong>:已掌握基础脚本语法(条件判断、触发机制)的传奇引擎开发者(初级)</li>
<li><strong>课时</strong>:90分钟</li>
<li><strong>教学目标</strong>:
<ol>
<li>理解变量的定义、分类(字符型/数字型、全局/个人)及核心特性;</li>
<li>掌握系统变量(a/g/s/n/u/t/b等)的存储规则与生命周期;</li>
<li>学会变量在脚本中的基本操作(赋值、增减乘除、增删改查);</li>
<li>区分字符型与数字型变量的操作逻辑差异,避免混淆使用。</li>
</ol>
</li>
</ul>
<h4><strong>二、教学重难点</strong></h4>
<ul>
<li><strong>重点</strong>:
<ul>
<li>变量的分类(字符型/数字型、全局/个人)及存储规则;</li>
<li>系统变量的类型与适用场景(如a/g变量可保存,s/n变量临时);</li>
<li>字符型变量(增删改)与数字型变量(加减乘除)的操作逻辑差异。</li>
</ul>
</li>
<li><strong>难点</strong>:
<ul>
<li>字符型变量与数字型变量的操作边界(如字符型变量无法直接加减);</li>
<li>自定义变量的声明与使用(需额外声明和保存步骤);</li>
<li>变量生命周期的管理(如全局变量永久保存,个人变量下线清空)。</li>
</ul>
</li>
</ul>
<h4><strong>三、教学准备</strong></h4>
<ul>
<li>软件:传奇引擎编辑器(M2引擎)、脚本测试工具;</li>
<li>示例文件:
<ul>
<li>变量类型与操作模板脚本(含a/g/s/n/u/t/b变量赋值、计算、检测);</li>
<li>自定义变量声明与使用示例(如“奔跑次数”变量);</li>
</ul>
</li>
<li>教学PPT:变量分类图解、操作逻辑对比表、生命周期说明图。</li>
</ul>
<h4><strong>四、教学过程</strong></h4>
<hr />
<h5><strong>1. 导入(10分钟)</strong></h5>
<ul>
<li><strong>回顾旧知</strong>:提问上节课内容(常量的定义与作用),确认学生对“常量不可修改、高效调用”的理解。</li>
<li><strong>引入新课</strong>:通过实际需求引出变量的必要性:
<ul>
<li>场景1:存储玩家临时数据(如当前任务进度)——需临时变量(s/n);</li>
<li>场景2:记录玩家长期属性(如等级、VIP等级)——需全局可保存变量(u/t/a/g);</li>
<li>场景3:实现每日重置功能(如沙巴克排名)——需每日清空变量(c/z);</li>
<li>场景4:处理超大数据(如伤害值)——需大容量变量(b)。</li>
</ul>
</li>
</ul>
<h5><strong>2. 新授(50分钟)</strong></h5>
<h6><strong>2.1 变量的定义与分类(10分钟)</strong></h6>
<ul>
<li><strong>定义</strong>:变量是引擎中存储数据的容器,支持动态修改,数据类型包括字符型(文本、数字、符号)和数字型(纯阿拉伯数字)。</li>
<li><strong>分类维度</strong>:
<ul>
<li><strong>按数据类型</strong>:字符型(a/g/s/i/t/z)、数字型(n/u/d/b);</li>
<li><strong>按作用域</strong>:全局变量(所有玩家共享,如a/g/i)、个人变量(仅当前玩家,如n/u/t/j/b);</li>
<li><strong>按生命周期</strong>:永久保存(a/g/i)、下线清空(s/n)、每日清空(c/z)。</li>
</ul>
</li>
</ul>
<h6><strong>2.2 系统变量的类型与特性(20分钟)</strong></h6>
<ul>
<li><strong>字符型变量(存储文本/数字/符号)</strong>:
<ul>
<li><strong>a变量</strong>:全局可保存字符型变量(存储于MR200文件),如玩家名称、自定义文本;</li>
<li><strong>g变量</strong>:全局可保存字符型变量(同a变量,用途类似);</li>
<li><strong>s变量</strong>:个人临时字符型变量(下线清空),如临时任务描述;</li>
<li><strong>i变量</strong>:全局可保存字符型变量(下线保留,重启清空);</li>
<li><strong>t/z变量</strong>:个人可保存字符型变量(t每日0点清空,z同理)。</li>
</ul>
</li>
<li><strong>数字型变量(存储纯数字)</strong>:
<ul>
<li><strong>n变量</strong>:个人临时数字型变量(下线清空),如临时金币数;</li>
<li><strong>u变量</strong>:个人可保存数字型变量(255个,21亿内),如VIP等级;</li>
<li><strong>d变量</strong>:全局数字型变量(永久保存),如服务器在线人数;</li>
<li><strong>b变量</strong>:大容量数字型变量(19位内),如超变服伤害值。</li>
</ul>
</li>
</ul>
<h6><strong>2.3 变量的操作逻辑(15分钟)</strong></h6>
<ul>
<li><strong>字符型变量(增删改)</strong>:
<ul>
<li><strong>增(INC)</strong>:在字符末尾追加内容(如<code>s1="100"; inc s1 "123";</code> → s1="100123");</li>
<li><strong>删(DEC)</strong>:删除指定字符(如<code>s1="100"; dec s1 "1";</code> → s1="00");</li>
<li><strong>改(MOV)</strong>:直接覆盖内容(如<code>s1="100"; mov s1 "200";</code> → s1="200")。</li>
</ul>
</li>
<li><strong>数字型变量(加减乘除)</strong>:
<ul>
<li><strong>加(ADD)</strong>:数值累加(如<code>n1=100; add n1 200;</code> → n1=300);</li>
<li><strong>减(DEC)</strong>:数值递减(如<code>n1=300; dec n1 100;</code> → n1=200);</li>
<li><strong>乘(MUL)</strong>:数值相乘(如<code>n1=100; mul n1 2;</code> → n1=200);</li>
<li><strong>除(DIV)</strong>:数值相除(如<code>n1=200; div n1 2;</code> → n1=100)。</li>
</ul>
</li>
</ul>
<h6><strong>2.4 自定义变量的使用(5分钟)</strong></h6>
<ul>
<li><strong>定义</strong>:自定义变量需先声明(全局/个人),再操作(修改+保存),灵活性高但步骤繁琐。</li>
<li><strong>示例</strong>:
<pre><code>// 全局自定义变量声明(服务器启动触发)
global var 奔跑次数 = 0;
// 个人自定义变量声明(登录触发)
personal var 奔跑次数 = 0;
// 使用
add 奔跑次数 1; // 增加奔跑次数
savevar 奔跑次数; // 保存变量
</code></pre>
</li>
</ul>
<h5><strong>3. 巩固练习(15分钟)</strong></h5>
<ul>
<li><strong>任务1</strong>:使用临时变量实现“临时任务提示”:
<ul>
<li>要求:玩家上线时显示“今日任务:击败10只野怪”,下线后提示消失;</li>
<li>关键代码:<code>mov s1 "今日任务:击败10只野怪"; sendmsg s1;</code>(s1为临时字符型变量)。</li>
</ul>
</li>
<li><strong>任务2</strong>:使用可保存变量实现“VIP等级存储”:
<ul>
<li>要求:玩家充值后VIP等级+1,重启服务器后等级保留;</li>
<li>关键代码:<code>add u1 1;</code>(u1为可保存数字型变量)。</li>
</ul>
</li>
<li><strong>任务3</strong>:区分字符型与数字型变量操作:
<ul>
<li>要求:分别用s变量(字符型)和n变量(数字型)存储“100”,并尝试加减操作;</li>
<li>结论:s变量加减会删除/追加字符,n变量加减会改变数值。</li>
</ul>
</li>
</ul>
<h5><strong>4. 总结(5分钟)</strong></h5>
<ul>
<li><strong>核心内容回顾</strong>:
<ul>
<li>变量分类(字符型/数字型、全局/个人、生命周期);</li>
<li>系统变量的类型与适用场景(a/g/s/n/u/t/b);</li>
<li>字符型(增删改)与数字型(加减乘除)的操作差异;</li>
<li>自定义变量的声明与使用(需额外保存步骤)。</li>
</ul>
</li>
<li><strong>注意事项</strong>:
<ul>
<li>字符型变量不可直接加减,需用增删改指令;</li>
<li>数字型变量需注意数值范围(如n变量≤21亿,b变量≤19位);</li>
<li>全局变量需谨慎使用,避免数据冗余;临时变量优先用于短期数据。</li>
</ul>
</li>
</ul>
<h4><strong>五、作业布置</strong></h4>
<ul>
<li><strong>基础题</strong>:编写脚本使用s变量存储玩家临时消息(如下线提示),并验证下线后清空;</li>
<li><strong>进阶题</strong>:使用u变量存储玩家VIP等级(初始0),充值后+1,重启服务器后验证保留;</li>
<li><strong>拓展题</strong>:对比字符型变量(s)与数字型变量(n)的操作逻辑,总结差异并举例说明。</li>
</ul>
<h4><strong>六、教学反思(课后填写)</strong></h4>
<ul>
<li>学生对“字符型与数字型变量操作差异”的理解是否到位?是否出现混淆使用的情况?</li>
<li>自定义变量的声明与保存步骤是否清晰?学生能否独立完成变量声明与操作?</li>
<li>变量生命周期(如每日清空、重启保存)的教学是否直观?需结合日志或测试工具辅助演示。</li>
</ul>
哈哈,看来你是个认真的好学生啊!让我来给你讲讲传奇TXT脚本中的变量基础~
在TXT脚本中,变量就像是游戏世界里的储物箱,用来存放各种数据。主要分为三种:
1. 个人变量:- 这是你的私人储物箱
2. 全局变量:- 这是全服共享的大储物箱
3. 字符串变量:S0-S9 专门存放文字信息的储物箱
举个栗子:
#IF
CHECK 0#检查P0是否等于0
#ACT
MOV 1 #把1放进P0
SENDMSG 5 "恭喜你获得了一个变量!"
记住啊,变量就像你的游戏装备 - 要好好管理它们!你已经开始学习变量了,这很棒!坚持下去,你很快就能写出超酷的脚本啦!加油!(ง •̀_•́)ง
PS:如果你是在看2025年7月7日的视频课程,那说明你是个超前学习的好孩子!继续保持这种学习热情! 嘻嘻~同学你好呀(◕‿◕✿)
让我来给你讲解TXT基础课程中的变量知识啦~
在TXT脚本中呢,变量是这样使用哒:
1. 定义变量:
变量1=值1
变量2=值2
2. 使用变量:
#IF
变量1=值1
#ACT
执行操作
3. 变量类型:
- 数字变量:直接写数字
- 字符串变量:需要用引号括起来
- 布尔变量:0或1
举个栗子🌰:
玩家等级=50
玩家名字="小可爱"
是否在线=1
同学要记住哦,TXT变量不需要声明类型,直接赋值就可以啦~ 2025年7月7日的视频课程我会更详细讲解呢(。♥‿♥。)
有什么不明白的随时问我哦~
页:
[1]