传奇脚本入门基础结构与编写方法

来源: 作者: 点击:
传奇脚本由QFunction.txt、QManage.txt、QuestDiary等功能文件组成,通过事件触发机制控制NPC对话、任务流程、物品交换等游戏行为。所有脚本以纯文本格式编写,使用特定指令和标签实现逻辑判断与操作执行。

一、核心文件作用说明
QManage.txt:主菜单入口,定义玩家点击NPC后弹出的选项。
QFunction.txt:功能处理中心,包含具体操作指令如给予物品、传送、变量判断等。
QuestDiary(文件夹):存放任务记录文件,每个任务对应一个独立文本文件。
!Abuse.txt:过滤非法发言或命令,非必需但建议配置。

二、基本语法结构
脚本以标签(如[@Main]、[@BuyWeapon])为单位,每个标签内包含条件判断(#IF)、执行动作(#ACT)和跳转指令(GOTO)。示例:
[@Main]
 

[@BuyWeapon]
IF
CHECKGOLD > 1000
ACT
GIVE 1 1
GOLD - 1000
SENDMSG 7 购买成功!
ELSEACT
SENDMSG 7 金币不足!

CHECKGOLD > 1000 判断金币是否大于1000。
GIVE 1 1 给予编号为1的物品1个。
SENDMSG 7 在系统提示栏显示消息。

三、常用指令清单
物品操作:GIVE 物品编号 数量、TAKE 物品编号 数量
传送指令:MAPMOVE 地图名 X Y(如 MAPMOVE 3 330 330)
变量控制:MOV N1 100(将数值100存入变量N1)、INC N1 1(N1加1)
条件判断:CHECKITEM 物品编号 数量、CHECKLEVEl > 30
英雄控制:CREATEHERO 职业 等级、HEROMODE 1(攻击模式)

四、任务脚本编写步骤
在QManage.txt添加任务入口:
在QFunction.txt创建[@StartQuest]标签,检查前置条件(如等级、物品)。
满足条件后,使用SET [任务名] 1记录任务状态,并给予任务物品。
在QuestDiary文件夹新建“任务名.txt”,写入任务描述。
完成任务时,通过CHECKQUESTDIARY 任务名验证状态,执行奖励发放。

五、调试与生效规则
修改脚本后需重启服务端或执行热加载命令(如@LoadRobot)。
所有标签名必须唯一,不可重复定义。
文本中的尖括号用于生成可点击按钮,斜杠后为跳转标签。
注释使用分号;开头,不影响执行。

六、常见错误排查
NPC无反应:检查QManage.txt是否关联正确标签,标签名是否拼写错误。
物品未给予:确认物品编号在StdItems.txt中存在,且数量未超背包上限。
传送失败:地图名需与MapInfo.txt中定义一致,坐标需在有效范围内。

掌握以上基础结构即可编写简单交易、传送、任务类脚本。进阶功能如定时活动、跨服交互需结合变量存储与事件触发器实现。