传奇GOM引擎脚本常用代码、符号、固定变量及地图属性详解

来源: 作者: 点击:

在传奇GOM引擎的开发和修改中,熟练掌握脚本代码是至关重要的。本文将详细介绍GOM引擎中常用的脚本代码、符号、固定变量以及地图属性的mapinfo参数,帮助开发者更好地理解和应用。

符号详解
在GOM引擎脚本中,符号的使用非常关键,它们决定了脚本的执行逻辑和显示效果。以下是一些常用符号的解释:

[]:定义一个段落,如[@main],可以通过goto@main命令跳转到此段落。
\\\\:用于语言换行,避免过长的文本超出对话框。
<>:用于创建交互选项,如<关闭/@exit>,显示为可点击的选项。
/:作为分隔符,区分显示语言和脚本语言。
;:注释符号,用于在代码行首添加注释,不会被执行。
常用命令
GOM引擎提供了多种命令,用于控制游戏逻辑和玩家交互。以下是一些基础命令:

#IF:条件判断。
#SAY:输出字符串。
#ACT:执行命令。
break:结束当前命令。
close:结束对话。
功能命令
功能命令用于实现游戏中的各种功能,如移动、传送、调整属性等。以下是一些常用功能命令的示例:

MAP:将玩家移动到指定地图。
MOVEMAP:将玩家移动到指定地图的特定坐标。
TIMERECALL:设置玩家在一定时间后自动返回。
RECALLMOB:给予玩家指定的怪物作为宝宝。
SETRANKLEVELNAME:调整玩家的封号。
条件命令
条件命令用于检查玩家的状态或条件,如物品、金币、等级等。以下是一些条件命令的示例:

CHECKITEM:检查玩家携带的物品及其数量。
CHECKGOLD:检查玩家携带的金币数量。
CHECKLEVELEX:检查玩家的等级。
CHECKJOB:检查玩家的所属职业。
服务器固定变量
服务器固定变量提供了玩家的各种状态信息,如名称、等级、生命值等。以下是一些常用固定变量的示例:

<$USERNAME>:玩家名称。
<$LEVEL>:玩家等级。
<$HP>:玩家生命值。
<$DC>:玩家物理攻击力。
地图属性(mapinfo中地图代码后的英文含义)
地图属性定义了地图的特定行为和限制,如安全区、战斗区等。以下是一些常见地图属性的解释:

safe:安全区,不可PK。
dark:黑暗区域,需要蜡烛或火把。
fight:战斗区域,允许PK。
norecall:不能使用记忆一套召回的地图。 

对于GOM引擎版本的修改以及制作要熟练掌握其脚本代码如常用命令#IF如果#SAY输出字符串#ACT执行命令break结束命令常用代码条件命令功能命令符号详解(;注释符号加在一行之首那么这行文字将作为注释理解)地图属性(mapinfo中地图代码后的英文含义)等等

-------符号详解---------

[][@main]这样的段落可以被goto@main识别
\\语言的换行太长的语言将被显示在对话框之外
<>交谈选项例如<关闭/@exit>在传奇中显示为黄色可点选的关闭字样也有goto只含义
/分隔符像上例中的分隔显示语言与脚本语言
;注释符号加在一行之首那么这行文字将作为注释理解不显示也不加入脚本语言编译

-----常用命令------

#IF如果
#SAY输出字符串
#ACT执行命令
break结束命令
close结束对话

-------功能命令------

MAP地图名将当前人物移动到指定地图
MOVEMAP地图名XY将当前人物移动到指定地图的指定坐标
TIMERECALL时间值指定当前人物到达多少时间后被传回这里
BREAKTIMERECALL中断指定人物达多少时间后被传回这里
RECALLMOB怪物名称宝宝等及(高为7)叛变时间(分钟)是否自动变色(0、1)固定颜色(1-7);给予当前人物指定怪物为宝宝
setautogetexp命令时间经验是否安区(0为任何地方)地图号(任何地图请不用填);指定当前人物在线泡经验(直接得到经验)
GAMEGOLD(=+-)数量调整当前人物的元宝数量
SETRANKLEVELNAME封号调整当前人物的封号
ADDGUILDLIST行会列表.txt将当前人物行会名加入列表
DELGUILDLIST行会列表.txt将当前人物行会名从列表删除
ADLNAMELIST角色名列表.txt将当前人物角色名加入列表
DELNAMELIST角色名列表.txt将当前人物角色名从列表删除
CLEARNAMELIST列表.txt清除列表内的所有信息
HAIRSTYLE数值调整当前人物的发型
CHANGENAMECOLOR数值调整当前人物的名字颜色
CHANGEJOB职业名称(WarriorWizardTaoist)调整当前人物的所属职业
CHANGEGENDER数值调整当前人物的所属性别
ADDSKILL技能名称技能等及给予当前人物添加指定技能
DELSKILL技能名称删除当前人物的指定技能
SKILLLEVEL技能名称(=+-)技能等及调整当前人物的指定技能为指定等及
DELNOJOBSKILL删除当前人物非本职业的所有技能
CLEARSKILL删除当前人物的所有技能
GAMEPOINT(=+-)数量调整当前人物的活力值
CREDITPOINT(=+-)数量调整当前人物的声望点数
SETMEMBERLEVEL(=+-)等及数调整当前人物的会员等及
SETMEMBERTYPE(=+-)等及数调整当前人物的会员类型
CHANGELEVEL(=+-)等及数调整当前人物的等及
CHANGEPKPOINT(=+-)点数调整当前人物的PK点数
CHANGEEXP(=+-)经验值调整当前人物的经验值
CHANGEMODE模式类型(1管理模式、2无迪模式、3隐身模式)开关(1为开0为关)调整当前人物的游戏模式
CHANGEPERMISSION权限等及调整当前人物的权限等及
KILLMONEXPRATE倍率有效时间调整当前人物的杀怪经验倍率
POWERRATE倍率有效时间调整当前人物的攻击力倍率
KICK将当前人物踢下线
KILLSLAVE将当前人物的宝宝全部灭掉
CLEARPASSWORD清除当前人物的仓库密码
RestRenewLevel将人物的转生次数复位为零即未转生
DELMARRY清除当前人物的结婚信息
DELMASTER清除当前人物的拜师信息
RENEWLEVEL转次数转后等及0将当前人物转生并设置转生次数以及转生后人物等及跳到多少及
SENDMSG信息类型代码%s信息内容%d发送文字信息
CLEARMAPMON地图号清除指定地图的所有怪物
RESTBONUSPOINT清楚当前人物的属性点
PARAM1地图NPC指定刷怪地图
PARAM2横坐标NPC刷怪X坐标
PARAM3纵坐标NPC刷怪Y坐标
MONGEN怪物名称数量时间NPC刷怪命令+怪物+数量+时间
takew可以取走身上装备的物品)
close结束
mapmove移动地图(例如:mapmove3333333)
map移动地图(不需要具体坐标.例如:map3)
break
timerecall在规定时间内召回(timerecall5在5分钟之内召唤回原地图)
takecheckitem收取checkitem过的物品(不加任何参数)
monclear清空地图怪物(monclear0清空0地图上的所有怪物)
exchangemap互换地图(exchangemap地图代码)
recallmap把某地图的人召唤过来(recallmap地图代码)
batchdelay1
addbatch2
batchmove3(此3个连用可以瞬移地图用于场)
playdice
addnamelist增加名单
delnamelist删除名单
goquest开始探索
denquest结束探索
goto转向段落(goto@normal转向[@normal]段落)
#if条件语句(#if如果...)
#act结果语句(#act那么...)
#elseact结果语句(#elseact否则...)
#say结果语句(#say接显示对话内容)
#elsesay结果语句(#elsesay接显示对话内容)

------条件命令-----

CHECKITEM物品名数量检测当前人物所带物品及数量
CHECKGOLD数量检测当前人物所带金币数量
CHECKLEVELEX(><=)等及数检测当前人物等及
CHECKCREDITPOINT(><=)声望数检测当前人物声望
CHECKGAMEGOLD(><=)元宝数检测当前人物元宝数量
CHECKJOB(WarriorWizardTaoist)检测当前人物所属职业
CHECKHUM地图名数量检测指定地图的玩家数量
CHECKITEMW物品名数量检测当前人物是否佩带指定物品
CHECKDURAEVA物品名数值检测当前人物所带物等物品的品质
CHECKBAGGAGE检测当前人物的背包是否已满
ONLINELONGMIN(><=)时长检测当前人物在线时长
CHECKCASTLEDOOR(损坏开启关闭)检测沙城城门状态
CASTLEWARAY(><=)天数检测上次攻城到现在的天数
CASTLECHANGEDAY(><=)天数检测沙巴克占领天数
CHECKOFGUILD行会名称检测当前人物行会名称
CHECKNAMELIST角色名列表.txt检测当前人物角色名是否在列表中
CHECKGUILDLIST行会列表.txt检测当前人物行会是否在列表中
CHECKACCOUNTLIST帐号列表.txt检测当前人物帐号是否在列表中
CHECKIPLISTIP列表.txt检测当前人物IP是否在列表中
CHECKACCOUNTIPLIST帐号和IP列表.txt检测当前人物登录帐号与IP是否与列表中匹配
CHECKNAMEIPLIST角色名和IP列表.txt检测当前人物角色名称与IP是否与列表中匹配
ISADMIN检测当前人物是否为管理员
HAVEGUILD检测当前人物是否加入行会
ISCASTLEGUILD检测当前人物是否为沙城成员
ISCASTLEMASTER检测当前人物是否为沙城老大
ISGUILDMASTER检测当前人物是否为行会老大
ISNEWHUMAN检测当前人物是否为新人
CHECKSLAVECOUNT(><=)数量检测当前人物所带宠物的数量
CHECKSLAVELEVEL(><=)等及数(7)检测当前人物所带宠物的等及
CHECKEXP(><=)经验值检测当前人物经验值
CHECKPOSELEVEL(><=)等及数检测当前人物对面人物的等及
CHECKPOSEGENDER性别(男女)检测当前人物对面人物的性别
CHECKMEMBERLEVEL类型(><=)等及数检测当前人物的会员等及
CHECKMEMBERTYPE(=><)类型数检测当前人物的会员类型
CHECKRENEWLEVEL(=><)转生次数检测当前人物的转生次数
CheckBagSize数量检测当前人物背包空格数
CHECKDC(=><)攻击下限(=><)攻击上限检测当前人物攻击力的上限及下限值
CHECKMC(=><)魔法下限(=><)魔法上限检测当前人物魔法力的上限及下限值
CHECKSC(=><)道术下限(=><)道术上限检测当前人物道术力的上限及下限值
CHECKHP(=><)HP下限(=><)HP上限检测当前人物HP值的上限及下限值
CHECKMP(=><)MP下限(=><)MP上限检测当前人物MP值的上限及下限值
CHECKUSEITEM物品位置检测当前人物身上指定位置是否戴物品
CHECKITEMTYPE物品位置物品类型检测当前人物身上指定位置戴的物品是否为指定类型
CHECKGAMEPOINT活力值检测当前人物活力值
ISLOCKPASSWORD检测当前人物的仓库是否解锁
PASSWORDERRORCOUNT(=><)次数检测当前人物输入仓库密码错误次数
CheckRangeMonCount地图号XY范围(=><)数量检测一个坐标范围内怪物数量
CheckMonMap地图号数量检测一个指定地图内的怪物数量
CHECKMON数量检测当前人物所在地图内的怪物数量
CHECKSKILL技能名称(=><)修炼等及检测当前人物已学技能

------服务器固定变量-------

<$USERNAME>人物名称
<$GUILDNAME>行会名称
<$RANKNAME>行会职位名称
<$LEVEL>等及
<$HP>生命值
<$AC>防御力
<$MAXAC>其高防御力
<$MAC>魔法防御力
<$MAXMAC>其高魔法防御力
<$DC>物理攻击力
<$MAXDC>其高物理攻击力
<$MC>魔法力
<$MAXMC>其高魔法力
<$SC>道术
<$MAXSC>其高道术
<$EXP>当前经验值
<$MAXEXP>升及经验值
<$PKPOINT>PK点数
<$CREDITPOINT>声望点数
<$GOLDCOUNT>金币数量
<$GAMEGOLD>游戏币数
<$GAMEPOINT>游戏点数
<$HW>腕力
<$MAXHW>其高腕力
<$BW>背包重量
<$MAXBW>其高背包重量
<$WW>负重力
<$MAXWW>其高负重
<$HUNGER>饥饿程度
<$LOGINTIME>登录时间
<$LOGINLONG>登录时长
<$DRESS>衣服
<$WEAPON>武器
<$RIGHTHAND>蜡烛
<$HELMET>头盔
<$NECKLACE>项链
<$RING_R>右戒指
<$RING_L>右戒指
<$ARMRING_R>右手镯
<$ARMRING_L>左手镯
<$BUJUK>护身符
<$BELT>腰带
<$BOOTS>鞋子
<$CHARM>宝石
<$CASTLENAME>沙城名称

------地图属性(mapinfo中地图代码后的英文含义)------

safe安区不可pk
dark黑暗区域需要蜡烛火把就是没有免蜡时候的效果
fight战斗区域允许pk
fight3战斗区域曾用在行会战争地图中应该是战斗不掉东西包括祈祷系列
day白天免蜡
noreconnect掉线后跳出地图noreconnect(地图代码)掉线后被传送到某地图
checkquest询问地图(进入此地图会弹出对话框)checkquest(q1404)内容在mapquest_def文件夹中
needset_on检查人物属性needset_on(406)必须赋有406属性的人才可进入
needhole需要一个洞才可以进去的地图用于尸王殿和桃源之门
norecall不能被记忆一套召回的地图
norandommove不能使用随机传送卷的地图

[顶部]