当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇脚本语法核心命令格式与参数规则全解析

热度:
传奇脚本引擎(以GOM、GEE、HERO、V8主流引擎为例)采用类C语言的条件分支结构,依托#IF、#ACT、#ELSEACT三大关键字组织逻辑,命令由大写字母与下划线构成,参数间严格区分空格与分隔符,以下分类详列常用命令的标准语法格式。

条件判断命令#IF段语法
IF段用于检测条件是否成立,支持单个或多个条件并用AND、OR、NOT连接,条件必须写在#IF与#ACT/#ELSEACT之间,每个条件独占一行。格式:


#IF
CHECKLEVEL>50
CHECKGOLD100000
#ACT

常用条件命令格式包括:
•CHECKLEVEL>数值/=数值/<数值:检测人物等级

•CHECKGOLD数值:检测金币是否大于等于指定值

•CHECKITEM物品名数量:检测背包指定物品数量

•CHECKBAGSIZE数值:检测背包空位是否大于等于数值

•CHECKJOB职业名:检测职业,职业名填Warrior/Wizard/Taoist或Warr/Wizard/Taoist

•CHECKGENDER性别:性别填MAN或WOMAN

•CHECKSLAVECOUNT数值:检测当前召唤物数量

•CHECKMAPNAME地图名:检测当前所在地图

•CHECK[数值]0/1:检测人物标识位,0为未开启,1为开启

•EQUAL变量名值:检测变量是否等于指定值

•LARGE变量名值:检测变量大于指定值

•SMALL变量名值:检测变量小于指定值

执行命令#ACT段语法
ACT段在#IF条件成立时执行,支持多条命令逐行写入,每条命令占一行。格式:


#ACT
GAMEGOLD+500
GIVE裁决之杖1
SENDMSG6恭喜获得奖励!
BREAK

常用执行命令格式包括:
•GAMEGOLD+/-/=数值:操作元宝数量

•GOLD+/-/=数值:操作金币数量

•GIVE物品名数量品质:给予物品,品质参数可选

•TAKE物品名数量:扣除物品

•MAPMOVE地图编号X坐标Y坐标:传送至指定地图坐标

•ADDSKILL技能名等级:学习技能,等级0-3

•DELSKILL技能名:删除技能

•SET[数值]0/1:设置人物标识位

•MOV变量名值:给变量赋值

•INC变量名值:变量增加

•DEC变量名值:变量减少

•CLEARMAPMON地图编号:清除指定地图怪物

•RECALLMOB怪物名数量等级叛变时间(秒):召唤怪物为宝宝

•SENDMSG消息类型消息内容:发送屏幕消息,类型0-7颜色不同

•CLOSE:关闭NPC对话框

条件不成立#ELSEACT段语法
IF条件不成立时执行#ELSEACT段,必须与#IF配对使用,中间不能插入其他段。格式:


#IF
CHECKLEVEL>40
#ACT
GAMEGOLD+1000
#ELSEACT
SENDMSG6等级不足40级,无法领取!
CLOSE


NPC对话与菜单跳转语法
NPC脚本以[@Main]为主入口标签,[@标签名]定义子菜单,通过goto跳转。格式:

[@Main]
欢迎来到土城药店!\
<购买药品/@BuyDrug>\
<离开/@Exit>

[@BuyDrug]
#IF
CHECKGOLD5000
#ACT
TAKE金币5000
GIVE太阳水1
SENDMSG6购买成功!
goto@Main
#ELSEACT
SENDMSG6金币不足!
goto@Main

常用NPC交互命令包括:
•<显示文字/@跳转标签>:创建可点击按钮

•{显示文字|颜色代码}:彩色文字

•\:换行符

•CLOSE:关闭对话框

•EXIT:退出脚本执行

变量系统与运算语法
变量分为人物变量、全局变量、临时变量,支持数值与字符串操作。格式:
•VARInteger/StringHUMAN/Global变量名:声明变量

•LOADVAR变量名文件名.txt:加载变量值

•SAVEVAR变量名文件名.txt:保存变量值

•CALCVAR变量名+/-/*//数值:变量运算

•MOV变量名值:赋值

•INC变量名值:累加

•DEC变量名值:递减

•EQUAL变量名值:判断相等

•LARGE变量名值:判断大于

•SMALL变量名值:判断小于

物品触发与装备镶嵌语法
装备穿戴、取下、使用可触发QFunction-0.txt中对应标签。格式:
•[@TakeOnX]:X为装备物品IDX,穿戴触发

•[@TakeOffX]:取下触发

•[@UseItemX]:使用触发

•[@StdModeFuncX]:X为物品数据库AniCount值,双击触发

定时器与全局事件语法
•SetOnTimer定时器编号间隔毫秒:启动定时器

•CloseOnTimer定时器编号:关闭定时器

•[@OnTimerX]:X为定时器编号,触发执行段

•[@Login]:人物登录触发,写在QManage.txt

•[@PlayDie]:人物死亡触发

•[@KillMonster]:杀死怪物触发

•[@GetExp]:获得经验触发

脚本文件编码与命名规范
所有脚本文件必须存为ANSI(GBK)编码,禁止UTF-8或带BOM格式,换行符为WindowsCRLF。文件路径区分大小写,Market_def文件夹内NPC脚本命名规则为NPC名字-地图编号.txt,全局脚本位于Envir根目录,任务脚本位于QuestDiary文件夹。变量名、标签名、物品名、地图名均区分大小写,书写时保持一致。命令与参数之间必须保留一个空格,禁止全角符号、中文标点混入代码,注释用;开头分行书写。
[顶部]