GOM引擎key,定制功能详解!
-------------------------------自定义按钮-----------------------------------格式:命令 参数1 参数2 参数3 参数4 参数5 参数6 参数7 参数8 参数9 参数10
命令:ADDBUTTON
例子
#IF
#ACT
ADDBUTTON 3 1 283 284 285 10 200 1 -1 253/自定义按钮1\254/测试增加按钮
参数说明:
参数1为WIL补丁序号,此序号在M2-查看-列表信息二-WIL资源 里面编辑
参数2为按钮点击后的脚本触发序号,触发QF里面的[@ButtonClickX]X即为触发序号
参数3为按钮默认图片
参数4为鼠标经过图片
参数5为按钮按下图片
参数6为距离窗口左边的距离(此参数建议用分辨率宽变量计算)
参数7为距离窗口顶边的距离(此参数建议用分辨率高变量计算)
参数8为按钮是否可以移动0=不能移动1=可以移动
参数9为按钮上面显示的文字标题,-1时为空标题(用于不显示标题)
参数10为鼠标移动到按钮显示的悬浮框备注信息 “\”表示换行 “/”颜色分割符 自定义颜色功能需要2015-01-08之后的程序才支持
其他说明:
按钮序号只能为1-20,因为最多就添加20个自定义按钮
格式:命令 参数1 参数2
命令:DELBUTTON
例子
#IF
#ACT
DELBUTTON 1
说明:参数1为按钮序号(1-20) 参数2(0或空的时删除自己的,1时删除全服用户的)
=========================================================================================
功能:显示一个放大的虚影
SHOWPHANTOM 参数1(任意字符,不能为空) 参数2(任意字符,不能为空) 参数3(任意字符,不能为空) 参数4(任意字符,不能为空) 参数5(任意字符,不能为空) 参数6(透明度(0~255)) 参数7(任意字符,不能为空) 参数8(任意字符,不能为空) 参数9(时间(秒)) 参数10(任意字符,不能为空)
======================================================BUFF===============================
SetClientBuffWIL文件序号 序号(1~20)图片序号 倒计时间(-1时按钮,大于0是倒计时)文字备注 微调坐标X微调坐标Y (开启)//倒时触发[@CloseClientBuffX]X是序号。按钮模式点击触发[@文字备注]
CloseClientBuff 序号(1~20)
================================首饰盒=================================================
SetSndaItemBox 参数1(任意字符,不能为空) 参数2(任意字符,不能为空) 参数3(开启或关闭用户首饰盒。开启=8888,关闭=1234) 参数4(任意字符,不能为空) 参数5(任意字符,不能为空) 参数6(任意字符,不能为空) 参数7(任意字符,不能为空) 参数8(任意字符,不能为空) 参数9(要和参数3完全保持一致 开启或关闭用户首饰盒。开启=6666,关闭=5678) 参数10(任意字符,不能为空)
M2-选项-功能设置-其他设置(1)里面有一些首饰盒的设置
2015-05-18之后更新后支持套装。之前的不支持
开启首饰盒:
QFunction-0.txt 加入如下脚本
[@OpenSndaItemBox]
#act
;如果那个首饰盒按钮是灰色的,点击那个按钮就会触发这个,然后使用命令SetSndaItemBox开启后,按钮就会变彩色,然后点击按钮就可以打开首饰盒子
SetSndaItemBox 1 2 8888 4 5 6 7 8 6666 9 10
SENDMSG 6 首饰盒开启成功
关闭首饰盒:
[@main]
#act
SetSndaItemBox 1 2 1234 4 5 6 7 8 5678 9 10
SENDMSG 6 已关闭
首饰盒12个装备,StdMode值 100~111
首饰盒装备的修理,在NPC文件头增加以下代码
(@buy @sell @repair @s_repair)
%100
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
首饰盒支持CheckItemW TakeW AutoTakeOnItem AutoTakeOffItem这4个脚本命令
AutoTakeOnItem 装备名称 装备位置(30~41 是首饰盒的位置代码)
AutoTakeOffItem 装备位置(30~41 是首饰盒的位置代码)
[@TakeOnX]
首饰盒穿装备触发 X值=30~41
[@TakeOffX]
首饰盒脱装备触发 X值=30~41
首饰盒装备,人物死亡掉落设置在(M2-选项-参数设置-人物死亡-首饰盒)
首饰盒装备是否掉持久设置(M2-选项-功能设置-其他控制(1))
================================镶嵌宝石=================================================
注意:
镶嵌有个地方要设置好,否则可能导致镶嵌成功了,但是客户端不显示
M2-查看-列表信息二-内挂捡取。最下面那个“物品数据库不发送到登陆器”这个选项,如果你勾选了
请配置登陆器的时候,点击集成特殊文件,把物品数据库集成。否则就不要勾选
在数据库增加宝石的DB,宝石DB如下:
宝石的Shape值(0~4)显示出5个不同颜色的镶嵌宝石。在必备补丁NewopUI.PAK的301~305
宝石的Shape值如果设置为255,镶嵌后会显示宝石DB的Looks的。也就是DnItems里面的素材
宝石DB库的字段Reserved=0时Ac2Mac2DC2MC2SC2 HP MP字段的值是增加的对应的7个基本属性的值
宝石DB库的字段Reserved>0时Ac2Mac2DC2MC2SC2 HP MP字段的值除以100,为各属性的倍数,例如Ac2设置为110,人物的防御为200。 人物实际防御=110/100*200=220
Value1~Value11 是增加的元素属性。
其他字段没有特别要求。
打孔脚本命令
DRILLHOLE 参数1(任意字符,不能为空) 参数2(任意字符,不能为空) 参数3(装备位置(0~16时身上装备,-1时为OK框里的物品)) 参数4(任意字符,不能为空) 参数5(任意字符,不能为空) 参数6(孔位置(0~4)) 参数7(任意字符,不能为空) 参数8(状态(1=打开 0关闭)) 参数9(任意字符,不能为空) 参数10(任意字符,不能为空)
镶嵌宝石脚本命令,先要打孔后才能镶嵌成功
SOCKETABLEITEM 参数1(任意字符,不能为空) 参数2(任意字符,不能为空) 参数3(任意字符,不能为空) 参数4(任意字符,不能为空) 参数5(装备位置(0~16时身上装备,-1时为OK框里的物品)) 参数6(宝石位置(0~4)) 参数7(任意字符,不能为空) 参数8(任意字符,不能为空) 参数9(宝石DB库的IDX序号加1(如果设置0就是删除宝石)) 参数10(任意字符,不能为空)
检测玩家身上指定装备是否已经打孔
CHECKDRILLHOLE 装备位置(0~16时身上装备,-1时为OK框里的物品) 孔位置(0~4)
检测玩家身上指定装备是否已经镶嵌宝石
CHECKSOCKETABLEITEM 装备位置(0~16时身上装备,-1时为OK框里的物品) 宝石位置(0~4) 变量(如果已经镶嵌宝石,该宝石的IDX值会保存到该变量) 变量2(如果已经镶嵌宝石,该宝石的名称会保存到该变量)
检测玩家身上指定装备已经打孔的数量
CHECKDRILLHOLECOUNT 装备位置(0~16时身上装备,-1时为OK框里的物品) 检测符(<,>,=) 数量
检测玩家身上指定装备已经镶嵌宝石的数量
CHECKSOCKETABLEITEMCOUNT 装备位置(0~16时身上装备,-1时为OK框里的物品) 检测符(<,>,=) 数量
其他注意:
StdMode=19 20 21 23 24 5 6
这几种是没有防御和魔防的,最好不要镶嵌防御和魔防。 如果你镶嵌魔防和防御,那出现的属性是幸运、敏捷、准确等等这些属性
[@例子]
#IF
CHECKSOCKETABLEITEM 0 0 N1 S1
#act
SENDMSG 6 衣服第一个位置镶嵌了宝石。宝石名称:<$STR(S1)>,宝石IDX字段:<$STR(N1)>
#elseact
SENDMSG 6 衣服第一个位置没有镶嵌宝石
[@镶嵌衣服的第一个宝石,宝石IDX为831]
#ACT
;先要打孔
DRILLHOLE * * 0 * * 0 * 1 * *
;然后镶嵌
SOCKETABLEITEM * * * * 0 0 * * 832 *
=================================开通镶嵌,这个功能也可以使用===================================================
<ItemShow:D:F:X:Y:B>
d= 物品ID
F= 数量(如果为0 就不会显示数量)
X Y = 微调坐标 排版的
B=是否显示背景图片 在必备补丁的47号图片
鼠标放上去显示物品属性。类似<Img>图标的用法
=========================================================================================
============================================================================================
===================================极品属性转移=============================================
============================================================================================
<$MOVE.SOURCE.NAME> ;正在移动的原始物品名称
<$MOVE.DEST.NAME>;正在移动的目标物品名称
脚本命令:打开极品属性转移窗口
;OpenMoveItemValueDlg 参数1(20130801) 参数2(20130802) 参数3(所需货币类型(0=元宝,1=金币,2=泡点)) 参数4(20130804) 参数5(所需货币值) 参数6(20130806) 参数7(20130807) 参数8(20130808) 参数9(20130809) 参数10(20130810)
脚本命令:关闭极品属性转移窗口
;CloseMoveItemValueDlg
[@main]
#IF
#ACT
OpenMoveItemValueDlg 20130801 20130802 0 20130804 100 20130806 20130807 20130808 20130809 20130810
;打开属性转移窗口,转移装备极品属性需要100元宝
;点击转移按钮会触发QF脚本中以下字段
[@StartMoveItemValue]
#IF
CHECKTEXTLIST ..\QuestDiary\物品名称.txt <$MOVE.SOURCE.NAME>
#ACT
MoveItemValueFail
;MoveItemValueFail 禁止转移命令
SENDMSG 6 该物品禁止转移
break
#IF
CHECKTEXTLIST ..\QuestDiary\物品名称.txt <$MOVE.DEST.NAME>
#ACT
MoveItemValueFail
;MoveItemValueFail 禁止转移命令
SENDMSG 6 该物品禁止转移
break
#IF
#ACT
MoveItemValueOK
;MoveItemValueOK 开始转移属性命令,会自动扣除所需的费用,如果费用不够转移失败
============================================================================================
=====================================可视化仓库=============================================
============================================================================================
可视化仓库总共3个仓库,除了默认的一个仓库外,其他2个仓库,需要脚本命令开通
;仓库二未开启时,从该仓库取物品或存物品会失败,并且触发QF脚本字段
;命令SETSTORAGEOPEN设置仓库开启或关闭状态
;SETSTORAGEOPEN 参数1(20130801) 参数2(20130802) 参数3(20130803) 参数4(20130804) 参数5(仓库序号(2,3)) 参数6(20130806) 参数7(20130807) 参数8(20130808) 参数9(开启或关闭(1,0)) 参数10(20130810)
[@StorageOpenFail2]
#IF
#ACT
MESSAGEBOX 仓库二无法打开,单击确认后开启 @开启仓库二 @取消
[@开启仓库二]
#IF
CHECKGAMEGOLD > 100
#ACT
GAMEGOLD - 100
SETSTORAGEOPEN 20130801 20130802 20130803 20130804 2 20130806 20130807 20130808 1 20130810
;开启仓库二命令
MESSAGEBOX 仓库二已解锁
#ELSEACT
MESSAGEBOX 元宝不够
;仓库三未开启时,从该仓库取物品或存物品会失败,并且触发QF脚本字段
[@StorageOpenFail3]
#IF
#ACT
MESSAGEBOX 仓库三无法打开,单击确认后开启 @开启仓库三 @取消
[@开启仓库三]
#IF
CHECKGAMEGOLD > 100
#ACT
GAMEGOLD - 100
SETSTORAGEOPEN 20130801 20130802 20130803 20130804 3 20130806 20130807 20130808 1 20130810
;开启仓库三命令
MESSAGEBOX 仓库三已解锁
#ELSEACT
MESSAGEBOX 元宝不够
====================================宝宝不攻击人物================================================
ChangeSlaveAttackHumPowerRate 宝宝名称 攻击人物威力倍率(0不攻击人物,当前值除以100为实际倍数)
调整版本攻击人物的威力倍率
[@main]
#if
CHECKSLAVENAME 神兽
#act
ChangeSlaveAttackHumPowerRate 神兽 0
sendmsg 6 神兽不攻击人物
#elseact
sendmsg 6 请先把神兽召唤出来
============================================================================================
支持韩国地图
=========================================时装==========================================
M2-选项-客户端设置-内挂控制(二) 隐藏时装不要勾选,否则无法看到时装界面
;在!Setup.txt字段下加入
;时装物品显示前缀文字信息
FashionPreFix=[时装]
时装衣服DB设置:StdMode段66为男衣服,67为女衣服,其他字段和普通衣服一样。位置代码:17。
时装武器DB设置:StdMode段68、69为武器,其他字段和普通武器一样。位置代码:18。
时装衣服属性和衣服一样。时装武器属性也是和普通的武器属性一样设置。
佩戴时装衣服和时装武器可以触发:[@TakeOn17]和[@TakeOff18]
相关常量<$SDRESS> <$SWEAPON> <$G_SDRESS> <$G_SWEAPON>
----------------------------------------人物杀怪暴率倍数------------------------------------------
脚本命令 KILLMONBURSTRATE 20140220 20140221 参数1 20140223 20140224 20140225 20140226 参数2 20140227 20140228
参数说明:
参数1 //倍率,实际倍率除以100;
参数2 //时长
例如:
#ACT
KILLMONBURSTRATE 20140220 20140221 200 20140223 20140224 20140225 20140226 600 20140227 20140228
SENDMSG 7 杀怪爆率翻倍,时长:600秒!
<$KILLMONBURSTRATE> 返回人物杀怪暴率倍数;
<$KILLMONBURSTRATETIME> 返回人物杀怪暴率倍数剩余时间;
============================================================================================
备注功能;
在Envir目录下创建个DZItemDescList.txt文本文件
文件格式,例:
;装备名称 备注颜色备注信息
木剑=251/史诗
铁剑=253/极品
----------------------------------收费网关--------------------------------------------------
收费网关直接到我们官方网站的商业版程序下载地址1 百度云下载地址里面找
调试方法:
是否控制,下面的勾先全部去掉 勾选网关的调试模式 然后进游戏 砍 跑等等动作,网关日记框就有参数出来了,根据出来的参数设置网关,设置间隔。
其他参数如:延时处理、累加限制等等参数不要乱调。
全部调试好了,然后把是否控制,下面的勾全部勾上
-----------------------------------------------------------------------------------------
修改宝宝的攻击威力
ChangeSlavePowerRate 宝宝名称 (+,-,=) 威力倍数(实际倍数等于设置值除以100) 有效时间(秒)
-----------------------------------------------------------------------------
修改人物的元素
ChangeHumNewValue 元素位置(0-10) 增加百分比(0-255) 有效时间(秒) 暴击或者反伤时的威力倍数(实际倍数等于设置值除以100)该改功能一但开启后,引擎的暴击和反伤倍数就无效了
-----------------------------------------------------------------------------
把人物的属性叠加给宝宝
ChangeSlaveAbil 宝宝名称 类型(0叠加到攻击,1叠加到防御) 叠加百分比 使用人物的什么属性叠加给宝宝(0道术 1魔法 2攻击)
-----------------------------------------------------------------------------
人物装备框3个自定义按钮
自己的装备框按钮点击触发
[@StateWindowsButtonClick1]
[@StateWindowsButtonClick2]
[@StateWindowsButtonClick3]
查看对方的装备框按钮点击触发 对方的名称常量 <$USERSTATENAME>
[@UserStateButtonClick1]
[@UserStateButtonClick2]
[@UserStateButtonClick3]
-----------------------------------------------------------------------------
;修改物品的Looks
ChangeItemLooks 装备位置(0-16,-1表示OK框里的物品)操作符号(+,-,=) Looks值(0表示恢复为DB里的Looks,大于0表示修改)
-----------------------------------------------------------------------------
;修改物品的Shape 只对衣服和武器有效
ChangeItemShape 装备位置(0-16,-1表示OK框里的物品)操作符号(+,-,=) Shape值(0表示恢复为DB里的Shape,大于0表示修改, 0-65535)
-----------------------------------------------------------------------------
装备投保功能
需要在物品DB StdItems.DB 里增加2个字段 InsuranceGold 和 InsuranceCurrency字段类型选择: INTEGER
InsuranceGold 投保金额 设置大于0时 登陆器才会显示该装备是否已经投保
InsuranceCurrency 保金类型 0元宝 1金币 2泡点 3金刚石 4灵符
QF脚本触发,人物死亡掉装备触发 [@DropUseItemsX] X表示装备位置 0-18
这个必须是InsuranceGold字段大于0,投保次数大于0,人物死亡掉装备才会触发。投保次数,每次人物死亡掉装备自动减1
相关常量:
OK框的常量 保金类型:<$BOXITEM.INSURANCECURRENCY>投保次数:<$BOXITEM.INSURANCECOUNT> 投保金额:<$BOXITEM.INSURANCEGOLD>
以下常量必须在 [@DropUseItemsX]触发里才会有效
当前掉落前装备的 剩余投保次数:<$INSURANCECOUNT>
当前掉落前装备的 保金类型:<$INSURANCECURRENCY>
当前掉落前装备的 投保金额:<$INSURANCEGOLD>
当前掉落前装备的 名称: <$INSURANCEITEMNAME>
相关脚本命令:
检测装备投保次数
CHECKINSURANCECOUNT 位置(0-18,-1表示OK框) 检测符(>,<,=) 次数(0-65536)
调整装备投保次数
CHANGEINSURANCECOUNT 位置(0-18,-1表示OK框) 调整符(+,-,=) 次数(0-65536)
QF脚本触发:
[@DropUseItems0]
#IF
#ACT
MOV M1 0
#IF
Equal <$INSURANCECURRENCY> 0
#ACT
MOV M1 1
MOV S1 <$INSURANCEGOLD>
INC S1 元宝
#IF
Equal <$INSURANCECURRENCY> 1
#ACT
MOV M1 1
MOV S1 <$INSURANCEGOLD>
INC S1 金币
#IF
Equal <$INSURANCECURRENCY> 2
#ACT
MOV M1 1
MOV S1 <$INSURANCEGOLD>
INC S1 泡点
#IF
Equal M1 1
#ACT
ThrowItem <$MAP> <$X> <$Y> 10 <$STR(S1)> 1|60 0 1
SENDMSG 6 你的衣服【<$INSURANCEITEMNAME>】有保险,没有掉,掉落<$STR(S1)>。剩余投保次数(<$INSURANCECOUNT>)保金类型(<$INSURANCECURRENCY>)投保金额(<$INSURANCEGOLD>)
;#ELSEACT
;SENDMSG 6 未知投保类型
确实是难得好帖啊,顶先! 发生大所大所大所大所多 确实是难得好帖啊,顶先! 不错,楼主用心了,我等必须支持下 支持,赞一个 很干净的论坛,不错! 正需要,支持楼主大人了! 呵呵。。。不错啊 相当不错,感谢无私分享精神!