GOM 脚本语言参考
参考资料

语法项索引

这个页面解决“语言项埋在大段说明里搜不到”的问题。它不是按原始 HTML 页面列条目,而是把 CHM 原文里的标签、井号指令、逻辑标志和基础命令拆成更细的语法项。

例如 SET [999] 1 应当按 SET [n] 1 理解:999 是逻辑标志编号,1 表示打开。它对应的是“逻辑标志 [n]”和 SET 语法项。

同理,#ACT#SAY#ELSEACT#ELSESAY 不是检测命令,而是条件组之后的结果块;它们会在这里和 #IF/#OR/NOT 放到同一张语言结构表里。

53 个语法项从 CHM 原文拆分为可检索的语言条目

条件脚本骨架

从条件组开始,经过检测命令,最后进入通过或失败时的结果块。

语法速查
标签 [@label][@段]标签和跳转#IF#IF条件块#OR#OR条件块NOTNOT 检测命令条件块#ACT#ACT结果块#ELSEACT#ELSEACT结果块#ELSESAY#ELSESAY结果块#SAY#SAY结果块#AutoRun#AutoRun NPC SEC 10 @SendRedMsg文件层#CHILD#CHILD 几率 RANDOM文件层#Define#Define文件层#INCLUDE#INCLUDE 定义的配置.ini文件层逻辑标志 [n][n]逻辑标志CHECKCheck [n] 1逻辑标志RESETreset [XXX] 7逻辑标志SETSET [n] 1逻辑标志CLOSEclose流程控制GOTOgoto @段流程控制EQUALequal 变量 数值条件检测LARGElarge 变量 数值条件检测RANDOMrandom 数值条件检测SMALLsmall 变量 数值条件检测INCinc 变量 数值变量运算MOVmov 变量 数值变量运算MOVRmovr 变量 数值变量运算SUMsum 变量A 变量B变量运算GIVEgive 物品 数量物品和金币TAKEtake 物品 数量物品和金币MAPmap 地图名地图和传送MAPMOVEmapmove 地图名 坐标A 坐标B地图和传送MONCLEARmonclear 地图名怪物和地图MONGENMonGen 怪物名称 数量 时间怪物和地图BREAKTIMERECALLBreakTimeRecall时间控制TIMERECALLTimeRecall 数值时间控制CHECKBAGGAGEcheckbaggage基础命令CHECKDURAEVAcheckduraeva 物品名 数值基础命令CHECKGOLDcheckgold 数值基础命令CHECKHUMcheckhum 地图名 数值基础命令CHECKITEMcheckitem 物品 数值基础命令CHECKITEMWcheckitemw 物品 检测身上所带的物品基础命令CHECKJOBcheckjob Warr(Wizard、Taos)基础命令CHECKLEVELchecklevel 数值基础命令CHECKLUCKYPOINTcheckluckypoint 数值基础命令CHECKMAGICcheckmagic 技能名称 检测已经修炼的技能基础命令CHECKMONMAPcheckmonmap 地图名 数值基础命令CHECKPKPOINTcheckpkpoint 数值基础命令DAYTIMEdaytime sunset基础命令EXCHANGEMAPExchangeMap (地图名)基础命令GENDERMANgenderman基础命令HAIRCOLORhaircolor 红值 绿值 蓝值基础命令HAIRSTYLEhairstyle 数值基础命令PLAYDICEplaydice (骰子数) @xxx基础命令TAKEWtakew 物品 直接从身上回收物品基础命令

标签和跳转

1
[@段]
标签 [@label]

定义脚本入口;GOTO、对话链接和系统事件使用 @标签名 引用。

[@main][@Login]@main标签入口
原文依据 1
原文
[@段] ;段用英文或数字表示
传奇基础脚本命令详解[!].htm来源:ref-0373

条件块

3
#IF
#IF

开始一个全真条件组;下面的检测命令全部成功才执行后续结果块。

#if空 #IF条件组全部满足
原文依据 1
原文
#IF
条件--执行
#elsesay 或者 #elseact
否定--执行 ;相当于程序中的条件判断
传奇基础脚本命令详解[!].htm来源:ref-0373
#OR
#OR

开始一个任一条件组;下面的检测命令任意一个成功就执行后续结果块。

#or任意一个任一满足
原文依据 1
原文
#OR
CheckStringlength S1 > 20
CheckStringlength S1 < 4
人物在线改名系统.html来源:ref-0468
NOT 检测命令
NOT

取反紧随其后的单条检测命令,不是独立块。

NOT CHECKLEVELEX > 80NOT H.CHECKLEVELEX > 80取反
原文依据 1
原文
NOT 命令 > 50 //检测人物物品算不大于50
脚本检测命令取反NOT[!].htm来源:ref-0367

结果块

4
#ACT#act 执行命令
#ACT

条件通过后的动作命令区;用于执行引擎命令、变量操作、跳转、发消息等动作。

#act动作块成功动作
原文依据 1
原文
#act 执行命令 ;符合3.0规定的任何系统已定义命令
传奇基础脚本命令详解[!].htm来源:ref-0373
#ELSEACT
#ELSEACT

上一组条件失败时执行动作命令。

#elseact失败动作否则执行
原文依据 1
原文
#ELSEACT
SENDMSG 5 提示:你的宝宝不叫GameOfMir
检测人物宝宝名字[!].htm来源:ref-0297
#ELSESAY
#ELSESAY

上一组条件失败时输出 NPC 对话文本。

#elsesay失败对话否则显示
原文依据 1
原文
#ELSESAY
你已经有5个或以上的宝宝,现在不可以再召宝宝。
召唤指定怪物为宝宝.htm来源:ref-0193
#SAY#say 语句
#SAY

条件通过后的 NPC 对话输出区。

#say对话块成功对话
原文依据 1
原文
#say 语句 ;语句设定为字符,不用加任何定界符
传奇基础脚本命令详解[!].htm来源:ref-0373

文件层

4
#AutoRun NPC SEC 10 @SendRedMsg
#AutoRun

机器人脚本的定时运行入口,可按秒、分钟、小时、天或星期时间运行。

#AutoRunAutoRunRobot机器人脚本RUNONWEEK
原文依据 1
原文
#AutoRun NPC SEC 10 @SendRedMsg
机器人脚本.htm来源:ref-0029
#CHILD 几率 RANDOM
#CHILD

新爆率格式中的子爆率组,配合括号包围的爆率设置使用。

#CHILD 1/1 RANDOM新爆率格式MonItems
原文依据 1
原文
#CHILD 几率 RANDOM //里面的爆率设置要使用()包围起来
新爆率格式[!].htm来源:ref-0474
#Define
#Define

在配置定义文件中定义一个常量名。

#define#Define常量名
原文依据 1
原文
#Define
定义一个常量名
配置定义.htm来源:ref-0010
#INCLUDE 定义的配置.ini
#INCLUDE

在脚本中引入 Defines 目录下的配置定义。

#include配置定义Defines
原文依据 1
原文
#INCLUDE 定义的配置.ini
配置定义.htm来源:ref-0010

逻辑标志

4
[n]
逻辑标志 [n]

[n] 是 1-1024 的逻辑变量,初始值为 0;SET 设置,Check 检测,reset 批量清零。

[999]SET [999] 1SET [999] 0Check [999] 1reset [100] 7任务标志人物标志
原文依据 1
原文
[n] ;n为1-1024正整数,是逻辑变量,有0值和1值,初始0值
传奇基础脚本命令详解[!].htm来源:ref-0373
Check [n] 1Check [条件数] 1
CHECK

测试逻辑变量是否为真,可以测试是否已经完成了任务

Check [999] 1CHECK [999] 1检测逻辑标志
原文依据 2
原文
Check [n] 1 ;测试逻辑变量是否为真,可以测试是否已经完成了任务
原文
Check [条件数] 1 ;测试[条件数]触发与否 1(触发)
传奇基础脚本命令详解[!].htm来源:ref-0373
reset [XXX] 7
RESET

意思是将从XXX开始的7个变量回复到原始值0

reset [100] 7RESET [999] 7批量清零逻辑标志
原文依据 1
原文
reset [XXX] 7 意思是将从XXX开始的7个变量回复到原始值0
传奇基础脚本命令详解[!].htm来源:ref-0373
SET [n] 1SET [条件数] 1
具体取值示例 6
set [101] 0set [102] 0set [103] 0set [104] 0set [105] 0set [106] 0
SET

设置逻辑变量为真

SET [999] 1SET [999] 0set [100] 0
原文依据 8
原文
SET [n] 1 ;设置逻辑变量为真
原文
set [101] 0
原文
set [102] 0
原文
set [103] 0
原文
set [104] 0
原文
set [105] 0
原文
set [106] 0
原文
SET [条件数] 1 ;设置[条件数]触发
传奇基础脚本命令详解[!].htm来源:ref-0373

流程控制

2
closeclose 关闭对话框
CLOSE

关闭对话框

原文依据 2
原文
close ; 关闭对话框
原文
close 关闭对话框
传奇基础脚本命令详解[!].htm来源:ref-0373
goto @段
GOTO

跳转到指定段,开始执行相当于B中的goto语句

原文依据 1
原文
goto @段 ;跳转到指定段,开始执行相当于B中的goto语句
传奇基础脚本命令详解[!].htm来源:ref-0373

条件检测

4
equal 变量 数值equal (变量) (数值)
EQUAL

如果“变量 = 数据”则为1否则为0

原文依据 2
原文
equal 变量 数值 ;如果“变量 = 数据”则为1否则为0
原文
equal (变量) (数值) ;测试变量是不是等于指定数值
传奇基础脚本命令详解[!].htm来源:ref-0373
large 变量 数值large (变量) (数值)
LARGE

如果“变量 > 数值”则为1否则为0

原文依据 2
原文
large 变量 数值 ;如果“变量 > 数值”则为1否则为0
原文
large (变量) (数值) ;测试变量是不是大于指定数值
传奇基础脚本命令详解[!].htm来源:ref-0373
random 数值random (随机数)
RANDOM

当数值=随机数时则为1否则为0

原文依据 2
原文
random 数值 ;当数值=随机数时则为1否则为0
原文
random (随机数) ;一般用在#IF语句中作为触发#IF机率,有时随机数=并列#IF语句数用 于随机多项选择,例如: #IF RANDOM 3 #SAY() #ELSEACT
传奇基础脚本命令详解[!].htm来源:ref-0373
small 变量 数值small (变量) (数值)
SMALL

如果“变量 < 数值”则为1否则为0

原文依据 2
原文
small 变量 数值 ;如果“变量 < 数值”则为1否则为0
原文
small (变量) (数值) ;测试变量是不是小于指定数值
传奇基础脚本命令详解[!].htm来源:ref-0373

变量运算

4
inc 变量 数值inc (变量) (数值)
INC

让变量自动加指定数值到变量,相当于程序中的x=x+n

原文依据 2
原文
inc 变量 数值 ;让变量自动加指定数值到变量,相当于程序中的x=x+n
原文
inc (变量) (数值) ;让变量自动加指定数值到变量
传奇基础脚本命令详解[!].htm来源:ref-0373
mov 变量 数值MOV 变量X 0mov (变量) (数值)
MOV

给变量赋值

原文依据 3
原文
mov 变量 数值 ;给变量赋值
原文
MOV 变量X 0 ;变量X,初值。
原文
mov (变量) (数值) ;让变量等于指定数值
传奇基础脚本命令详解[!].htm来源:ref-0373
movr 变量 数值movr (变量) (数值)
MOVR

定义随机变量,变量值为 “0 到 数值”

原文依据 2
原文
movr 变量 数值 ;定义随机变量,变量值为 “0 到 数值”
原文
movr (变量) (数值) ;随机把指定数值以下的数(正数)给变量
传奇基础脚本命令详解[!].htm来源:ref-0373
sum 变量A 变量Bsum 变量Csum (变量A) (变量B)sum (变量C)
SUM

变量求和不要与int混淆,需要下面的组合语名才能实现

原文依据 6
原文
sum 变量A 变量B ;变量求和不要与int混淆,需要下面的组合语名才能实现
原文
sum 变量A 变量B ;X=A+B
原文
sum 变量C ;X=X+C 最后在程序中得到的是X值,实际X=A+B+C
原文
sum (变量A) (变量B) ;A+B 注意,如果还要家第3个数直接换行写sum (变量C)
原文
sum (变量A) (变量B) ;X=A+B
原文
sum (变量C) ;X=X+C
传奇基础脚本命令详解[!].htm来源:ref-0373

物品和金币

2
give 物品 数量give gold (金币数)give (物品名) (数量)
GIVE

给多少东西,除了物器数据库中有的物品,还有金币,

原文依据 3
原文
give 物品 数量 ;给多少东西,除了物器数据库中有的物品,还有金币,
原文
give gold (金币数) ;给钱
原文
give (物品名) (数量) ;给物及数量
传奇基础脚本命令详解[!].htm来源:ref-0373
take 物品 数量take gold (金币数)take (物品名) (数量)
TAKE

同上,只是与上面相反,一个是给东西,一个是收回东西

原文依据 3
原文
take 物品 数量 ;同上,只是与上面相反,一个是给东西,一个是收回东西
原文
take gold (金币数) ;拿走钱
原文
take (物品名) (数量) ;拿走物及数量
传奇基础脚本命令详解[!].htm来源:ref-0373

地图和传送

2
map 地图名map (地图名)
MAP

移动到这个地图的随机坐标,地图名为地图的数字人码

原文依据 2
原文
map 地图名 ;移动到这个地图的随机坐标,地图名为地图的数字人码
原文
map (地图名) ;移动到这个地图
传奇基础脚本命令详解[!].htm来源:ref-0373
mapmove 地图名 坐标A 坐标Bmapmove (地图名) (坐标A) (坐标B)
MAPMOVE

同上,只是指定了坐标

原文依据 2
原文
mapmove 地图名 坐标A 坐标B ;同上,只是指定了坐标
原文
mapmove (地图名) (坐标A) (坐标B) ;移动到这个地图指定坐标
传奇基础脚本命令详解[!].htm来源:ref-0373

怪物和地图

2
monclear 地图名monclear 地图清除Monclear 地图 清理这个地图!
MONCLEAR

清除这个地图上刷的怪物

原文依据 3
原文
monclear 地图名 ;清除这个地图上刷的怪物
原文
monclear 地图清除
原文
Monclear 地图 清理这个地图!
传奇基础脚本命令详解[!].htm来源:ref-0373
MonGen 怪物名称 数量 时间
MONGEN

刷怪物,与刷怪角本用法相同

原文依据 2
原文
MonGen 怪物名称 数量 时间 ;刷怪物,与刷怪角本用法相同
原文
MonGen 怪物名称 数量 时间
传奇基础脚本命令详解[!].htm来源:ref-0373

时间控制

2
BreakTimeRecall
BREAKTIMERECALL

中断上面那个语句设定的时间

原文依据 2
原文
BreakTimeRecall ;中断上面那个语句设定的时间
原文
BreakTimeRecall ;中断设定时间
传奇基础脚本命令详解[!].htm来源:ref-0373
TimeRecall 数值TimeRecall (设定时间值)TimeRecall 时间 时间限制
TIMERECALL

数值为分钟,定义进入某地的时间限制。

原文依据 3
原文
TimeRecall 数值 ;数值为分钟,定义进入某地的时间限制。
原文
TimeRecall (设定时间值) ;分钟,一般指进入地图时间限制
原文
TimeRecall 时间 时间限制
传奇基础脚本命令详解[!].htm来源:ref-0373

基础命令

19
checkbaggage
CHECKBAGGAGE

测试背包是否已满,满时为1否则为0

原文依据 2
原文
checkbaggage ;测试背包是否已满,满时为1否则为0
原文
checkbaggage ;测试背包满没
传奇基础脚本命令详解[!].htm来源:ref-0373
checkduraeva 物品名 数值checkduraeva (物品名) (数值)
CHECKDURAEVA

同上,只是测试有品质的物品的品质

原文依据 2
原文
checkduraeva 物品名 数值 ;同上,只是测试有品质的物品的品质
原文
checkduraeva (物品名) (数值) ;一般测试矿物等物品的品质
传奇基础脚本命令详解[!].htm来源:ref-0373
checkgold 数值checkgold (金币数)
CHECKGOLD

拥有金币数>=数值为1否则为0

原文依据 2
原文
checkgold 数值 ;拥有金币数>=数值为1否则为0
原文
checkgold (金币数) ;测试金币
传奇基础脚本命令详解[!].htm来源:ref-0373
checkhum 地图名 数值checkhum (地图名) (数值)
CHECKHUM

同上,测试这个地图的人数

原文依据 2
原文
checkhum 地图名 数值 ;同上,测试这个地图的人数
原文
checkhum (地图名) (数值) ;测试这个地图的人数
传奇基础脚本命令详解[!].htm来源:ref-0373
checkitem 物品 数值checkitem (物品名) (数量)
CHECKITEM

测试拥用物品的数量

原文依据 2
原文
checkitem 物品 数值 ;测试拥用物品的数量
原文
checkitem (物品名) (数量) ;测试物品及数量
传奇基础脚本命令详解[!].htm来源:ref-0373
checkitemw 物品 检测身上所带的物品
CHECKITEMW
原文依据 1
原文
checkitemw 物品 检测身上所带的物品
传奇基础脚本命令详解[!].htm来源:ref-0373
checkjob Warr(Wizard、Taos)checkjob (Warr, Wizard, Taos)
CHECKJOB

测试职业 成功为1否则为0

原文依据 2
原文
checkjob Warr(Wizard、Taos) ;测试职业 成功为1否则为0
原文
checkjob (Warr, Wizard, Taos) ;测试职业
传奇基础脚本命令详解[!].htm来源:ref-0373
checklevel 数值checklevel (等级)
CHECKLEVEL

人物等级>=数值为1否则为0

原文依据 2
原文
checklevel 数值 ;人物等级>=数值为1否则为0
原文
checklevel (等级) ;测试等级
传奇基础脚本命令详解[!].htm来源:ref-0373
checkluckypoint 数值checkluckypoint (幸运值)
CHECKLUCKYPOINT

同上,只是测的是幸运值

原文依据 2
原文
checkluckypoint 数值 ;同上,只是测的是幸运值
原文
checkluckypoint (幸运值) ;幸运值正值为好,负值为差
传奇基础脚本命令详解[!].htm来源:ref-0373
checkmagic 技能名称 检测已经修炼的技能
CHECKMAGIC
原文依据 1
原文
checkmagic 技能名称 检测已经修炼的技能
传奇基础脚本命令详解[!].htm来源:ref-0373
checkmonmap 地图名 数值checkmonmap (地图名) (数值)
CHECKMONMAP

同上,只是测的是怪物数量

原文依据 2
原文
checkmonmap 地图名 数值 ;同上,只是测的是怪物数量
原文
checkmonmap (地图名) (数值) ;测试这个地图的怪物数
传奇基础脚本命令详解[!].htm来源:ref-0373
checkpkpoint 数值checkpkpoint (pk值)
CHECKPKPOINT

数值为PK值,PK值数>值时为1否则为0

原文依据 2
原文
checkpkpoint 数值 ;数值为PK值,PK值数>值时为1否则为0
原文
checkpkpoint (pk值) ;测试PK值
传奇基础脚本命令详解[!].htm来源:ref-0373
daytime sunset
DAYTIME

一天时间

原文依据 1
原文
daytime sunset ;一天时间
传奇基础脚本命令详解[!].htm来源:ref-0373
ExchangeMap (地图名)
EXCHANGEMAP

与指定地图里的人交换位置

原文依据 1
原文
ExchangeMap (地图名) ;与指定地图里的人交换位置
传奇基础脚本命令详解[!].htm来源:ref-0373
genderman
GENDERMAN

测试性别为男,如果为男则为1否则为0

原文依据 1
原文
genderman ;测试性别为男,如果为男则为1否则为0
传奇基础脚本命令详解[!].htm来源:ref-0373
haircolor 红值 绿值 蓝值
HAIRCOLOR

值域为0 ~ 255 设定头发颜色

原文依据 1
原文
haircolor 红值 绿值 蓝值 ;值域为0 ~ 255 设定头发颜色
传奇基础脚本命令详解[!].htm来源:ref-0373
hairstyle 数值
HAIRSTYLE

改变头发类型

原文依据 1
原文
hairstyle 数值 ;改变头发类型
传奇基础脚本命令详解[!].htm来源:ref-0373
playdice (骰子数) @xxx
PLAYDICE

玩骰子,跳转到标签[@xxx]

原文依据 1
原文
playdice (骰子数) @xxx ;玩骰子,跳转到标签[@xxx]
传奇基础脚本命令详解[!].htm来源:ref-0373
takew 物品 直接从身上回收物品
TAKEW
原文依据 1
原文
takew 物品 直接从身上回收物品
传奇基础脚本命令详解[!].htm来源:ref-0373

On this page