玩传奇论坛

 找回密码
立即注册

扫一扫,访问移动社区

论坛喇叭+ 发布

01-25 10:01
系统通知全站压缩包解压密码:www.wanmirbbs.com
01-25 10:01
01-25 10:01
查看: 17734|回复: 23
打印 上一主题 下一主题

[文本教程] GOM引擎key,定制功能详解!

  [复制链接]
跳转到指定楼层
楼主
发表于 2018-5-17 06:52:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,以游结友!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
-------------------------------自定义按钮-----------------------------------

格式:命令 参数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===============================

SetClientBuff  WIL文件序号 序号(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时  Ac2  Mac2  DC2  MC2  SC2 HP MP字段的值是增加的对应的7个基本属性的值
宝石DB库的字段Reserved>0时  Ac2  Mac2  DC2  MC2  SC2 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: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]
;在!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[X].INSURANCECURRENCY>  投保次数:<$BOXITEM[X].INSURANCECOUNT> 投保金额:<$BOXITEM[X].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 未知投保类型

法律声明:
1. 本站所有资源和素材来源于网络收集,如有侵权内容请联系站长删除处理!
2. 本站大部分下载资源收集于网络,版权归原作者所有,如有侵权请联系删除。
3. 本站提供的素材、源码、等等其他资源,都不包含技术服务支持!
4. 若因线路和服务器问题非本站所能控制范围的故障导致暂停服务期间造成的一切不便与损失,论坛不负任何责任。
5. 注册会员通过任何手段和方法针对论坛进行破坏,我们有权对其行为作出处理。并保留进一步追究其责任的权利。
收藏收藏 分享分享 分享淘帖 支持支持 反对反对
沙发
发表于 2018-5-21 10:48:23 | 只看该作者
确实是难得好帖啊,顶先!
板凳
发表于 2019-2-19 05:41:48 | 只看该作者
发生大所大所大所大所多
地板
发表于 2019-2-21 10:15:42 | 只看该作者
确实是难得好帖啊,顶先!
5#
发表于 2019-2-22 10:26:56 | 只看该作者
不错,楼主用心了,我等必须支持下
6#
发表于 2019-2-22 10:27:42 | 只看该作者
支持,赞一个
7#
发表于 2019-2-22 10:33:49 | 只看该作者
很干净的论坛,不错!
8#
发表于 2019-2-23 10:00:20 | 只看该作者
正需要,支持楼主大人了!
9#
发表于 2019-2-23 10:49:40 | 只看该作者
呵呵。。。不错啊
10#
发表于 2019-2-24 10:18:30 | 只看该作者
相当不错,感谢无私分享精神!
懒得打字嘛,点击右侧快捷回复 【乱回复纯数字纯字母将禁言】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

必备工具

地图查看分析转换三合一

目前地图转换 单纯的OB真彩地图转换编...号想必很多人都会, 也有很多工具

南宫地图编辑器v5.0

使用方法,放置传奇客户端DATA文件夹...

Tiles转换工具,支持支持255

支持255地图转换工具!

关于本站

玩传奇论坛 - 专业提供游戏素材、游戏工具、传奇单机、传奇服务端,致力于打造最精品的版本素材分享平台!

Archiver|小黑屋|玩传奇吉ICP备18002996号-1) |网站地图 

GMT+8, 2024-11-15 05:41 , Processed in 0.039944 second(s), 35 queries , Gzip On. 

 Powered by Discuz! X3.2

 © 2001-2013 Comsenz Inc.

返回顶部