gom挂机脚本
⑴ 传奇服务端脚本命令
1、常用命令
#IF ;如果
#SAY ;输出字符串
#ACT ;执行命令
break ;结束命令
close ;结束对话
2、人物条件命令
CHECKITEM 物品名 数量 ;检测当前人物所带物品及数量
CHECKGOLD 数量 ;检测当前人物所带金币数量
CHECKLEVELEX (>,<,=) 等级数 ;检测当前人物等级
CHECKCREDITPOINT (>,<,=) 声望数 ;检测当前人物声望
CHECKJOB (Warrior,Wizard,Taoist) ;检测当前人物所属职业
CHECKHUM 地图名 数量 ;检测指定地图的玩家数量
CHECKITEMW 物品名 数量 ;检测当前人物是否佩带指定物品
CHECKDURAEVA 物品名 数值 ;检测当前人物所带矿物等物品的品质
CHECKBAGGAGE ;检测当前人物的背包是否已满
ONLINELONGMIN (>,<,=) 时长 ;检测当前人物在线时长
CHECKCASTLEDOOR (损坏,开启,关闭) ;检测沙城城门状态
CASTLEWARAY (>,<,=) 天数 ;检测上次攻城到现在的天数
CASTLECHANGEDAY (>,<,=) 天数 ;检测沙巴克占领天数
CHECKOFGUILD 行会名称 ;检测当前人物行会名称
CHECKNAMELIST 角色名列表.txt ;检测当前人物角色名是否在列表中
CHECKGUILDLIST 行会列表.txt ;检测当前人物行会是否在列表中
CHECKACCOUNTLIST 帐号列表.txt ;检测当前人物帐号是否在列表中
CHECKIPLIST IP列表.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 地图号 X Y 范围 (=,>,<) 数量 ;检测一个坐标范围内怪物数量
CheckMonMap 地图号 数量 ;检测一个指定地图内的怪物数量
CHECKMON 数量 ;检测私服人物所在地图内的怪物数量
CHECKSKILL 技能名称 (=,>,<) 修炼等级 ;检测当前人物已学技能
3、地图功能命令
MAP 地图名 ;将当前人物移动到指定地图
MOVEMAP 地图名 X Y ;将当前人物移动到指定地图的指定坐标
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 职业名称(Warrior,Wizard,Taoist) ;调整当前人物的所属职业
CHANGEGENDER 数值 ;调整重庆市人物的所属性别
ADDSKILL 技能名称 技能等级 ;给予当前人物添加指定技能
DELSKILL 技能名称 ;删除当前人物的指定技能
SKILLLEVEL 技能名称 (=,+,-) 技能等级 ;调整当前人物的指定技能为指定等级
DELNOJOBSKILL ;删除当前人物非本职业的所有技能
CLEARSKILL ;删除当前人物的所有技能
GAMEPOINT (=,+,-) 数量 ;调整当前人物的活力值
CREDITPOINT (=,+,-) 数量 ;调整当前人物的声望点数
SETMEMBERLEVEL (=,+,-) 等级数 ;调整当前人物的会员等级
SETMEMBERTYPE (=,+,-) 等级数 ;调整当前人物的会员类型
CHANGELEVEL (=,+,-) 等级数 ;调整当前人物的等级
CHANGEPKPOINT (=,+,-) 点数 ;调整当前人物的PK点数
CHANGEEXP (=,+,-) 经验值 ;调整当前人物的经验值
CHANGEMODE 模式类型(1管理模式、2无敌模式、3隐身模式) 开关(1为开,0为关) ;调整当前人物的游戏模式
CHANGEPERMISSION 权限等级 ;调整当前人物的权限等级
KILLMONEXPRATE 倍率 有效时间 ;调整当前人物的杀怪经验倍率
POWERRATE 倍率 有效时间 ;调整当前人物的攻击力倍率
KICK ;将当前人物踢下线
KILL 数值 ;将当前传奇私服人物杀死,并设置杀死类型
KILLSLAVE ;将当前人物的宝宝全部杀死
CLEARPASSWORD ;清除当前人物的仓库密码
RestRenewLevel ;将人物的转生次数复位为零,即未转生
DELMARRY ;清除当前人物的结婚信息
DELMASTER ;清除当前人物的拜师信息
RENEWLEVEL 转次数 转后等级 0 ;将当前人物转生,并设置转生次数以及转生后人物等级跳到多少级
SENDMSG 信息类型代码 %s信息内容%d ;发送文字信息
CLEARMAPMON 地图号 ;清除指定地图的所有怪物
RESTBONUSPOINT ;清楚当前人物的属性点
PARAM1 地图 ;NPC指定刷怪地图
PARAM2 横坐标 ;NPC刷怪X坐标
PARAM3 纵坐标 ;NPC刷怪Y坐标
MONGEN 怪物名称 数量 时间 ;NPC刷怪命令+怪物+数量+时间
takew可以取走身上装备的物品)
mapmove 移动地图(例如:mapmove 0 634 612)
map 移动地图(不需要具体坐标.例如:map 0)
timerecall 在规定时间内召回(timerecall 5 在5分钟之内召唤回原地图)
takecheckitem 收取checkitem过的物品(不加任何参数)
monclear 清空地图怪物(monclear 0 清空0地图上的所有怪物)
exchangemap 互换地图(exchangemap 地图代码)
recallmap 把某地图的人召唤过来(recallmap 地图代码)
batchmove 3 (此3个连用可以瞬移地图用于赌场)
3、定义变量
RANDOM 随机数 ;一般用在#IF语句中作为触发#IF机率,
EQUAL 变量名 数值 ;检测变量是否等于指定数值
LARGE 变量名 数值 ;检测变量是否大于指定数值
SMALL 变量名 数值 ;检测变量是否小于指定数值
MOV 变量名 数值 ;给予变量赋于指定值
INC 变量名 数值 ;给予变量加上指定值
DEC 变量名 数值 ;给予变量减去指定值
SUM 变量名A 变量名B ;将两个变量相加
MOVR 数值 ;变量赋予小于指定数值的随机非负数
<$STR(变量)> ;把变量转为字符串
SET [变量名] 数值 ;定义变量
RESET [变量名] 连续数字 ;连续将变量清零
CHECK [变量数值] 数值 ;检测变量是否等于指定数值
(1)gom挂机脚本扩展阅读
传奇服务器脚本命令常见错误
1、错误一:
#if
RANDOM 3
#act
goto 1
break
#if
RANDOM 3
#act
goto 2
break
#if
RANDOM 3
#act
goto 3
break
很多人认为random的具体运行是首先在3以下随机取一个值,然后该脚本内的random 3都不再取值了。那样理解的时候goto 1、2、3的几率是相等的,都是1/3。
这是一个理解上的错误,实际这里运行的操作是这样的,到达1的几率为1/3,到达2的几率为先2/3然后1/3就是2/9。而到达3的几率则为2/3然后2/3然后1/3实际几率为4/27!
2、错误二:
#if
RANDOM 3
#act
goto 1
break
#if
RANDOM 2
#act
goto 2
break
#if
RANDOM 1
#act
goto 3
break
有人认为在第一个random的时候会给一个隐藏的值在3以下做一个赋值。然后以后的random就是检测是否自己的random值和这个隐藏值相同,如果相同则#act。
这个也是一种错误理解,虽然同是对random理解错误造成的,但是该错误与错误一理解上是不同的。但是这种随机的设计方式是提倡的,利用P变量的随机取值是可以完成的。
⑵ GOM引擎的脚本问题
这段检测极品的点数 一个装备位置0到4的极品点数
#IF
#ACT
GETITEMADDVALUE 0 0 <$STR(M10)>
GETITEMADDVALUE 0 1 <$STR(M11)>
GETITEMADDVALUE 0 2 <$STR(M12)>
GETITEMADDVALUE 0 3 <$STR(M13)>
GETITEMADDVALUE 0 4 <$STR(M14)>
INC M10 <$STR(M11)>
INC M10 <$STR(M12)>
INC M10 <$STR(M13)>
INC M10 <$STR(M14)>
4个位置的极品点数相加后
#IF
equal M10 1
;如果4个位置只有1点就变色 215颜色
#ACT
ChangeItemNameColor 0 215
#IF
;如果4个位置只有2点就变色 255颜色
equal M10 2
#ACT
ChangeItemNameColor 0 255
要自己扩展 自己往下写就可以了
⑶ gom引擎活动脚本在哪里
现在就说重点吧!
首先开始服务端和游戏,上面讲了如何快速找到相应的NPC脚本!
从今日起教指令基本!
咱们先找游戏里面的脚本我们来分析一下!
例如,NPC兑换这种货币,我们去找他的确切位置,
趣味游戏网币兑换n3n322334【货币兑换】0300040。
下面一行就是NPC在游戏中对应的脚本,我们来看看货币兑换-n3nN3N就是他的地图号这个版本的《土城》已经不再是原版的3了,而是变成了n3n!
[@main]首先这个你可以理解为创建游戏对话吧!这个对话框是什么?这时鼠标指代的地方就是对话框!
CloseBigDialogBox我们的指南将会关闭大型对话框模式.(专用的登录程序)
先把跟游戏里面的脚本对照一下,游戏里面有什么变化,通过对比我们了解到,很多在脚本里面看不到的东西都是游戏里面没有出现的,这也是让你编程时与玩家对应的思路!
用我们自己来猜,也可以读懂在游戏中显示的按钮文字,那么/SCOLOR=249是什么?
这是表示的颜色,对照后发现是红色的字体我们来看看游戏中的红色字体!
换成250看下是否变成绿色,保存完NPC脚本后,在M2控制台点装载NPC!
它现在变绿了,好让你知道它是干什么的!
说到重点!<提取1000火龙币/@1000>游戏里面成成成成成一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一
然后,后边的@1000不示示对吧这个是我们编程用到的,当玩家点击1000火龙币他就会执行@1000。
就会找到和他一样的人,看看有没有@1000的!
[@兑换1000]
#IF
CHECKGamePoint>9。
#ACT
游戏点10。
游戏鼠标+10。
游戏图+1000。
SendMsg7恭喜兑换1000个火龙币+10点充值额,余额<$GameDiamond>个。
break
#ELSEACT。
MESSAGEBOX提示:您没有10个RMB点数,不可兑换!
Break
这时代码将运行到[@兑换1000]这个地地开始手他的工作!
下面将解释一些重要的命令!#IF#ACT#ELSEACT。
你能把#IF理解为判断-判断什么?您在下面输入的内容将会判断哪些内容如CHECKGamePoint>9我们的指令,看看代码所表示的意思,并得知这是游戏泡点值,他的意思就要判断是否>9判断谁大于9?
是谁点击了这个NPC就知道谁写的代码写的点数超过了9你点NPC就判断你自己点就判断他身上的!
你自己去考虑吧!
#ACT代表正确,例如,上面的IF决定人物是否大于9如果我们身上有10泡点值,那么这个条件是正确的,请从ACT下开始执行代码GamePoint-10,扣掉10个GameGird灵符+10。GameDiamond钻石+1000。
#ELSEACT这个代表错误,例如,IF判断泡点是否大于9,而我们只有8则条件不成立,跳入该代码,开始执行错误执行段!
MESSAGEBOX提示:您没有10个RMB点数,不可兑换!【提示您不能使用10RMB】
代码结尾是Break!
把图片做一个总结的总结!
如果玩家点击游戏提取1000码,就会跳到和他一样的@1000段开始者!从上到下执行代码首先要通过判断!
#if判断是否已经足够了,比如我们现在就与8和9比较下>9我们现在是8不成立时跳入错误。
假如我们的值是10,继续判断我们是否>9条件正确,将在ACT下执行。
游戏点10。
游戏鼠标+10。
游戏图+1000。
SendMsg7恭喜兑换1000个火龙币+10点充值额,余额<$GameDiamond>个。
加码扣钱提示兑换成功!
也许初学者看起来有点乱慢慢理解下可以记住谁点击这个NPC就能判断谁!