GOM引擎 2026-05-10
2026-05-10✨ 新增功能
1.
脚本设置人物或怪物血量
AddhpPer +/-/=
AddmpPer +/-/=
参数详解:
参数1:符号
参数2:血量百分比
2.
死亡不掉装备的次数
CheckNotDropItemCountEX
参数1:检测符号 < > =
参数2:次数
参数3:类型 0=身上装备 1=背包装备
NotDropItemCountEX
参数1:调整符号 < > =
参数2:次数
参数3:类型 0=身上装备 1=背包装备
注意事项:此命令下线失效,死亡一次次数减少一次。
=================================================================================================
赋予玩家身上装备2次死亡免爆出
#ACT
NotDropItemCountEX = 2 0
sendmsg 6 死亡2次身上装备免爆出。
注意:数据库装备和套装属性的不掉身上装备、背包装备属性完全失效,可以通过套装触发来用脚本命令NotDropItemCountEX添加特殊属性
3.
过滤地面物品光柱
格式:NotShowItemEffect 参数1=0 开启地面物品光柱 =1 屏蔽地面物品光柱
例子:
[@main]
#IF
#ACT
NotShowItemEffect 1
SENDMSG 6 您已开启过滤地面物品光柱
4.
百分比切割
DelMonHp
参数1=百分比或切割值
参数2=0:以当前HP的百分比 1:以参数1的值切割 2:以最大HP的百分比
参数3=0不判断嘲讽 1判断嘲讽过的怪才切割
参数4=不写默认就是老的方式 1:本次切割只切割角色,2:本体切割只切割英雄,3:本次切割只切割怪物。
例子:
#ACT
;本次切割只切割怪物10点HP
M.DELMONHP 10 1 0 3
5.
脚本命令解除红绿毒(解毒)
DETOXIFCATION
无参数
例子:
;脚本命令1 解除红绿毒
#ACT
DETOXIFCATION
SENDMSG 5 您中的红绿毒已清除。
;脚本命令2 解除红绿毒
#ACT
MAKEPOSION 0 1 0
MAKEPOSION 1 1 0
SENDMSG 5 您中的红绿毒已清除。
6.
开启自动拾取、关闭自动拾取
STARTPICKUP 调用此命令可以直接开始自动捡物。
STOPPICKUP 调用此命令可以停止自动捡物。
例子1:
;开始自动拾取
#IF
;检测是否开了狂暴之力
Check [100] 1
#ACT
STARTPICKUP
例子2:
;停止自动拾取
#IF
;检测是否开了狂暴之力
Check [100] 0
#ACT
STOPPICKUP
7.
设置自动捡物的范围,该命令控制的是单个玩家
SetAutoPickItemRange
参数1=自动捡物的范围
[示例]
#if
#act
SetAutoPickItemRange 5
SendMsg 6 你已经设置该玩家拾取5格内的物品
8.
设置自动捡物的间隔,该命令控制的是单个玩家
SetAutoPickItemInterval
参数1=自动捡物的间隔时间,单位为毫秒
[示例]
#if
#act
SetAutoPickItemInterval 500
SendMsg 6 你已经设置该玩家每500毫秒拾取一个物品
9. 延迟操作需配合客户端处理
大退和小退 触发是否开启倒计时
命令自定 OUTGAMEDELAY 参数1 延迟下线的时间 单位秒 =0 关闭
10.
脚本命令修改账号密码信息
[@修改账号密码信息]
#ACT
;ChangeAccountInfo 账号 密码 用户名 生日 提问1 回答1 提问2 回答2 邮箱(可留空) 手机(可留空)
ChangeAccountInfo 77521 778899 6月1日购买 2020/06/01 1 2 3 4 gameofking@qq.com 88645558
ChangeAccountInfo 脚本执行前要检测玩家输入是否完整,资料长度是否符合要求,生日格式是否符合要求,再执行修改
类似这种变量:ChangeAccountInfo <$STR(S$原始账号)> <$STR(S81)> <$ACCOUNTUSERNAME> <$STR(S86)> <$STR(S82)> <$STR(S83)> <$STR(S84)> <$STR(S85)>
需要去掉<$STR( 和 )>,改成简写的:ChangeAccountInfo S$原始账号 S81 <$ACCOUNTUSERNAME> S86 S82 S83 S84 S85
防止玩家输入a123 g222 这样的变量密码或其它账号资料,系统会把a123当作变量a123进行解析变量值,此时玩家输入的内容变成了变量内容,从而造成修改密保资料结果和输入的不一致或修改失败。
---------------------模式一 模式二通用的QF脚本相关触发---------------------
[@ChangeAccountInfoOK]
账号信息修改成功!
[@ChangeAccountInfoError]
账号不正确或提交的密保不完整!
[@ChangeAccountInfoBusy]
同一时间只允许一个账号修改,请2秒后重试...
---------------------模式一专用的QF脚本相关触发---------------------
[@ChangeAccountInfoError1]
此帐号名被禁止使用!
[@ChangeAccountInfoError2]
帐号和密码不能相同!
[@ChangeAccountInfoError3]
问题1和问题2不能相同!
[@ChangeAccountInfoError4]
密码过于简单,禁止使用(1111、1234、aaaa、abcd、22222、55555、bbbbbb)等等做为密码!
[@ChangeAccountInfoError5]
你要修改的账号不存在!
---------------------账号服务器设置可以勾上以下选项---------------------
---------------------提交密保修改的例子需要严谨,防止修改失败---------------------
[@输入新密保]
#IF
#say
你要购买的账号为:<$STR(S18)>\ \
<点击输入新的游戏密码:/@@InPutString11> <$STR(S11)>\
<点击输入新的账号生日:/@@InPutString16> <$STR(S16)> 格式:1989-19-05\
<点击输入新的用户名称:/@@InPutString17> <$STR(S17)>\
<点击输入新的密码问题1:/@@InPutString12> <$STR(S12)>\
<点击输入新的密码答案1:/@@InPutString13> <$STR(S13)>\
<点击输入新的密码问题2:/@@InPutString14> <$STR(S14)>\
<点击输入新的密码答案2:/@@InPutString15> <$STR(S15)>\
<已输入新密保,提交修改/@已输入新密保>
[@InPutString11]
#IF
#ACT
GOTO @输入新密保
[@InPutString12]
#IF
#ACT
GOTO @输入新密保
[@InPutString13]
#IF
#ACT
GOTO @输入新密保
[@InPutString14]
#IF
#ACT
GOTO @输入新密保
[@InPutString15]
#IF
#ACT
GOTO @输入新密保
[@InPutString16]
#IF
#ACT
ANSIREPLACETEXT <$STR(S16)> - /
GOTO @输入新密保
[@InPutString17]
#IF
#ACT
GOTO @输入新密保
[@已输入新密保]
#OR
Equal S11
Equal S12
Equal S13
Equal S14
Equal S15
Equal S16
Equal S17
#ACT
MessageBox 请先输入完整的新密保。
break
#OR
CHECKSTRINGLENGTH <$STR(S11)> < 5
CHECKSTRINGLENGTH <$STR(S11)> > 16
#ACT
MessageBox 密码长度须在5~16字符,\且不可设为11111,22222,12345,aaaaa,abcde,类似的简单密码
break
#IF
Equal <$STR(S11)> <$STR(S18)>
#ACT
MessageBox 账号密码不可设为一样的,且问题1和问题2不可相同。
break
#IF
Equal <$STR(S12)> <$STR(S14)>
#ACT
MessageBox 问题1和问题2不可相同。
break
#IF
#ACT
ChangeAccountInfo S18 S11 S17 S16 S12 S13 S14 S15
【QFunction-0.txt】中新增的功能触发
1、新行会系统申请加入行会时QF触发:
<$QF(1)>=行会老大
<$QF(2)>=行会老二
<$QF(3)>=申请加入的行会名
[@ReQuestGuild] Setup NewGuildManage=1
#IF
#ACT
;将自己的名字传递给老大老二S40变量,提示他们你申请了入会。
SetHumVar <$QF(1)> S40 <$USERNAME>
SetHumVar <$QF(2)> S40 <$USERNAME>
<$QF(1)>.SendCenterMsg 0 254 提示:[<$STR(S40)>]申请加入你的行会,请在行会招贤页面审核... 0 15
<$QF(2)>.SendCenterMsg 0 254 提示:[<$STR(S40)>]申请加入你的行会,请在行会招贤页面审核... 0 15
2、加入行会触发
[@JoinGuild]
#IF
#Act
SENDMSG 6 你已经加入了<$GUILDNAME>行会!
3、退出行会触发:(主动退出,被踢都触发)
[@EndGuild]
#IF
#SAY
你已经从<$GUILDNAME>行会中退出!
4、增加行会成员前会长QF触发 <$JoinGuildHuman>为新加进来的玩家名 脚本命令:ConfirmHumanJoinGuild 参数1=0 表示禁止添加成员 参数1=1 表示允许添加成员
[@BeforeJoinGuild]
#ACT
SendMsg 5 当前要加入行会的人是:<$JoinGuildHuman>,你被服务器禁止收人
ConfirmHumanJoinGuild 1
5、增加行会成员后会长QF触发 <$QF(1)>为新加进来的玩家名
[@GuildAddMember]
#IF
#ACT
GUILDNOTICEMSG 255 42 **恭喜 <$GUILDNAME> 行会收入一名新成员:<$QF(1)>,共同创造光辉岁月!
6、会长开除成员QF触发 <$QF(1)>为踢出的玩家名
[@GuildDelMember]
#IF
#ACT
SENDMSG 6 你把<$QF(1)>踢出了行会。
=================================================================================================
7、传送戒指传送前QF触发: @ConfirmMove
中止传送戒指传送命令:ConfirmMove 参数1=1 表示禁止传送 参数1=0 表示允许传送
QFunction-0.txt
[@ConfirmMove]
#act
ConfirmMove 1
sendmsg 6 停止传送戒指传送
=================================================================================================
8、切换地图时触发
[@EnterMap]
#ACT
sendmsg 6 你切换了一次地图,当前地图编号:<$MAP>
=================================================================================================
9、攻城开始触发:
[@BeginCastle]
#act
sendmsg 0 沙巴克攻城战已经开始,请各位勇士擦亮你的大刀准备迎战!
10、攻城快结束触发:
[@EndCastleHint]
#act
sendmsg 0 攻城战争只剩下 <$CASTLEWARENDMSGTIME>分钟,请勇士们抓紧时间!
11、攻城结束触发:
[@EndCastle]
#act
sendmsg 0 沙巴克攻城战已经结束,恭喜【<$OWNERGUILD>】行会会长【<$LORD>】登上城主宝座!
=================================================================================================
12、人物属性变化QF触发 说明:本命令触发属性计算的里面不要修改人物属性,否则无限死循环引起M2崩溃,可用于刷新战斗力
[@RecalcAbilitys]
#ACT
sendmsg 6 你的属性发生了一次变化。
13、右键查看其他角色时触发
[@QUERYUSERSTATE]
#ACT
sendmsg 6 无名小辈:<$USERSTATENAME>正在观仰你的装备...
🐛 问题修复
1、 T 和 J 扩展到至 499
2、游戏内人物名字显示异常
3、M2控制面板修改人物U.T.J.Z变量保存无效