找回密码
 立即注册
查看: 47|回复: 1

TXT基础课程,QF/QM触发,TXT的基础语法____2025年7月7日

[复制链接]

50

主题

2

回帖

241

积分

积分
241
发表于 2025-7-7 17:30:53 | 显示全部楼层 |阅读模式

视频课程

《传奇引擎脚本开发——TXT基础语法与QF/QM触发》教案


​一、课程基本信息​

  • ​课程名称​​:传奇引擎脚本开发——TXT基础语法与QF/QM触发
  • ​授课对象​​:已掌握变量与常量基础的传奇引擎开发者(初级)
  • ​课时​​:90分钟
  • ​教学目标​​:
    1. 掌握TXT基础语法(检测、执行、展示类指令)的含义与用法;
    2. 熟悉QF与QM触发字段的分类、应用场景及触发逻辑;
    3. 能区分高频触发与低频触发场景,合理选择触发字段;
    4. 理解QF与QM的区别及合并设置方法。

​二、教学重难点​

  • ​重点​​:
    • TXT基础语法(仅if、仅act、else act、c、call)的功能与示例;
    • 常用QF触发字段(魔法攻击、物理攻击、任务相关、复活/升级触发等)的应用场景;
    • QF与QM的区别及合并设置方法。
  • ​难点​​:
    • 触发字段的触发逻辑(如“被物理攻击触发”与“物理攻击触发”的区别);
    • call指令的使用限制(高频触发的延迟问题);
    • QF与QM合并后的脚本管理(如机器人脚本的迁移)。

​三、教学准备​

  • 软件:传奇引擎编辑器(M2引擎)、VSCode(或引擎自带脚本编辑器)、可视化文本编辑器(Control+F11);
  • 示例文件:
    • TXT基础语法模板(含仅if、仅act、else act、c指令);
    • QF触发字段测试脚本(魔法攻击触发加元宝、点击任务触发传送等);
    • QM触发字段示例(服务器启动触发清空数据、登录触发初始化);
  • 教学PPT:TXT语法分类图、QF/QM触发字段对照表、合并设置流程图。

​四、教学过程​


​1. 导入(10分钟)​
  • ​回顾旧知​​:提问上节课内容(变量与常量的分类及操作),确认学生对“变量存储数据、常量固定不可改”的理解。
  • ​引入新课​​:通过实际需求引出TXT语法与触发的必要性:
    • 场景1:玩家等级>50级时显示提示——需检测语法(仅if)与展示语法(c);
    • 场景2:使用魔法攻击时获得元宝——需魔法攻击触发字段(QF);
    • 场景3:点击任务按钮传送地图——需点击任务触发字段(QF);
    • 场景4:服务器启动时清空沙巴克数据——需服务器启动触发字段(QM)。
​2. 新授(50分钟)​
​2.1 TXT基础语法(20分钟)​
  • ​核心指令分类​​:检测类(仅if)、执行类(仅act、else act)、展示类(c、BLSEC)、调用类(call)。
​指令​ ​功能​ ​示例​
仅if 检测条件是否满足(可多个条件并列) 仅if check level > 50(检测等级>50级)
仅act 条件满足时执行后续指令 仅act money + 100(满足条件则加100金币)
else act 条件不满足时执行后续指令 else act sendmsg "等级不足50级!"
c 条件满足时展示文本(PC端/手机端通用) c 朱栋赤月祖玛大厅(展示多行文本,可通过可视化编辑器排版)
BLSEC 条件不满足时展示文本 BLSEC sendmsg "未满足条件,无法查看!"
call 调用外部TXT脚本(避免QF脚本冗余) call 装备回收(调用“装备回收.txt”脚本)
  • ​关键说明​​:
    • 仅if可同时检测多个条件(如仅if check level > 50 and check money > 1000);
    • call指令在高频触发(如攻击触发)中可能增加服务器负载,需谨慎使用;
    • 可视化编辑器(Control+F11)可快速排版多行文本(如任务提示、活动公告)。
​2.2 QF触发字段(25分钟)​
  • ​定义​​:QF(触发脚本)是引擎预封装的触发条件字段,用于在特定游戏行为发生时执行脚本(如攻击、任务、复活等)。
  • ​常用QF触发字段分类及示例​​:
​触发类型​ ​触发场景​ ​示例脚本​
攻击相关 魔法攻击/物理攻击/被攻击时触发 Magic attack: money + 1(魔法攻击加1元宝) 被物理攻击触发: dec hp 10(被攻击减10血)
装备相关 穿戴/脱下装备、切换装备位置触发 穿戴任意装备触发: mov n1 1(穿戴装备时设置变量n1=1) 脱下装备触发: sendmsg "装备已卸下!"
任务相关 点击任务、完成任务、删除任务触发 点击任务触发: teleport 100,200(点击任务传送至坐标100,200) 完成任务触发: add exp 500(完成任务加500经验)
角色状态相关 复活、升级、HP/MP变化触发 复活触发: set hp 100%(复活后回满血) 升级触发: sendmsg "恭喜升级!"
交互相关 聊天、加好友、创建行会触发 聊天触发: if level < 50 then cancel()(等级<50禁止聊天) 加好友触发: friend add(自动同意加好友)
  • ​高频触发与低频触发​​:
    • 高频触发(如攻击、入包、跑步):避免使用call指令,防止服务器延迟;
    • 低频触发(如点击NPC、定时器):可使用call指令,脚本更整洁。
​2.3 QM触发字段(10分钟)​
  • ​定义​​:QM(事件脚本)用于处理服务器级事件(如启动、登录、定时器)或全局变量操作。
  • ​常用QM触发字段及示例​​:
​触发类型​ ​触发场景​ ​示例脚本​
服务器启动 服务器启动时初始化数据(如清空沙巴克归属) 服务器启动触发: set 沙巴克归属 0(重置沙巴克归属)
玩家登录 玩家登录时检测状态(如VIP等级、充值金额) 玩家登录触发: if vip_level < 1 then sendmsg "请充值成为VIP!"
定时器 全局/个人定时任务(如每日0点重置活动) 全局定时器触发(每日0点): reset 活动数据(重置活动数据)
全服调用 向所有在线玩家发送指令(如公告、提问) 全服调用: sendmsg "服务器将于10分钟后维护!"
​2.4 QF与QM的区别与合并(5分钟)​
  • ​区别​​:
    • QF:存储触发脚本(如攻击触发、任务触发),面向玩家或服务器;
    • QM:存储事件脚本(如服务器启动、登录、定时器),面向服务器或全局。
  • ​合并设置​​:
    • 路径:M2引擎→选项→data表设置→Lua设置→勾选“合并QF与QM触发”;
    • 注意:合并后需将QM脚本(如服务器启动触发)剪切至QF,机器人脚本也需同步迁移。
​3. 巩固练习(15分钟)​
  • ​任务1​​:使用TXT基础语法实现“等级提示”:
    • 要求:玩家等级>50级时显示“高等级玩家”,否则显示“普通玩家”;
    • 关键代码:
      仅if check level > 50
          c 朱栋高等级玩家
      else act
          c 朱栋普通玩家
      BLSEC
      
  • ​任务2​​:使用QF触发字段实现“魔法攻击加元宝”:
    • 要求:玩家使用魔法攻击时,元宝+1;
    • 关键代码:
      Magic attack:
          money + 1
      
  • ​任务3​​:区分QF与QM的使用场景:
    • 问题:服务器启动时清空沙巴克数据,应使用QF还是QM?
    • 答案:QM(服务器启动触发属于QM字段)。
​4. 总结(5分钟)​
  • ​核心内容回顾​​:
    • TXT基础语法:仅if(检测)、仅act(执行)、else act(否则执行)、c(展示)、call(调用);
    • QF触发字段:攻击、装备、任务、复活等高频场景的应用;
    • QM触发字段:服务器启动、登录、定时器等全局事件的应用;
    • QF与QM的区别及合并方法。
  • ​注意事项​​:
    • 高频触发避免使用call指令,防止服务器延迟;
    • 可视化编辑器可提升多行文本排版效率;
    • 合并QF与QM后需检查脚本路径,避免功能失效。

​五、作业布置​

  • ​基础题​​:编写TXT脚本,使用“仅if+仅act+c”实现“金币≥1000时显示‘富翁’,否则显示‘穷鬼’”;
  • ​进阶题​​:使用QF触发字段“点击任务触发”,实现点击任务后传送至指定地图(如100,200);
  • ​拓展题​​:对比QF与QM的触发字段,整理一份“常用触发字段分类表”(包含字段名称、触发场景、示例代码)。

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

  • 学生对“触发字段的分类与应用场景”是否理解?是否混淆高频/低频触发的使用限制?
  • TXT基础语法(如call指令)的实践操作是否流畅?是否需要补充更多示例?
  • QF与QM合并设置的步骤是否清晰?学生能否独立完成脚本迁移?

0

主题

0

回帖

-39

积分

积分
-39
发表于 2025-7-7 17:30:54 | 显示全部楼层
哈哈,来啦来啦!让我这个老司机带你飙车学习TXT脚本~

TXT基础语法要点(记住这些你就成功一半了):
1. 注释用 ; 开头
2. 每行一条指令
3. 参数用空格分隔

QF触发小课堂:
  1. ; 攻击触发示例
  2. [@Attack]
  3. #IF
  4. CheckLevel > 30
  5. #ACT
  6. Give 金币 1000
  7. SendMsg 5 恭喜你获得1000金币奖励!
复制代码

QM触发小妙招:
  1. ; 登录触发示例
  2. [@Login]
  3. #IF
  4. #ACT
  5. SetOnTimer 1 60
  6. SendMsg 6 欢迎回来,亲爱的勇士!
复制代码

小贴士:QF是各种事件触发,QM是登录相关触发~ 就像游戏里的"即时反应"和"欢迎仪式"的区别!

哇!看到你这么认真学TXT脚本,老哥我太欣慰了!坚持下去,你绝对能成为下一个传奇脚本大神!记住:每个大神都是从写"Hello World"开始的,你现在已经迈出成功的第一步啦!加油加油!(๑•̀ㅂ•́)و✧

PS:遇到问题随时来问,老司机24小时待机解答~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则