gm下载站 发表于 2024-1-14 14:50:09

blue引擎宝石镶嵌脚本功能说明

Blue引擎宝石镶嵌说明:
由统一、简便的UI操作,打孔需要消耗金币和一定数量的耗材,镶嵌宝石、拆卸宝石(鼠标右键)默认不需要,
可以开启并使用回调脚本定制条件,回调脚本中禁用任何带HARDDISK的NPC命令!

1、NPC脚本开启宝石镶嵌功能UI:<宝石镶嵌/@@GEMSYSTEM>

2、打孔、镶嵌,相关引擎!SETUP参数:
CREATEEQUIPSOCKETRATE // 打孔成功几率
CREATEEQUIPSOCKETCHARGE // 打孔消耗金币,设置0无需求
CREATEEQUIPSOCKETMAXCOUNT // 装备开孔数限制,默认最大5
CREATEEQUIPSOCKETPROTECTITEMCOUNT // 打孔消耗的“璀璨水晶”(可更改名称),每增加一个孔位,要求的数量加1倍,设置0无需求
LIMITSAMEGEMSTONECOUNT // 镶嵌同属性宝石的个数限制,默认2
CREATEEQUIPSOCKETSCRIPTCALLBACK // 打孔脚本回调开关(0~1),见下面第7点,默认关闭
INLAYGEMSTONESCRIPTCALLBACK: BOOLEAN; // 镶嵌脚本回调开关(0~1),见下面第7点,默认关闭
DISASSEMBLEGEMSTONESCRIPTCALLBACK: BOOLEAN; // 拆卸脚本回调开关(0~1),见下面第7点,默认关闭

打孔成功触发QF:@CREATEEQUIPSOCKETOK <$PARAM(0)>第几孔,<$PARAM(1)>装备名,可临时使用GETEQUIPPROPS(位置10000)、UPGRADEDLGITEM等命令

3、引擎ENVIR目录下的SKILLPOWEROFGEMLEVEL.TXT为全身宝石等级的技能威力配置表,
同时需要将此文本更新到LUI.PKG里面,客户端才能正常显示装备的全身宝石等级属性,
见附件:SKILLPOWEROFGEMLEVEL.TXT
全身宝石等级的变量<$GEMSTONELEVEL>

4、需要使用数据工具对已经扩展到大仓库版本的MIR.DB进行扩展,以支持宝石镶嵌数据(MYSQL版本不需要扩展)
注意更新程序后,需要删除引擎下所有的商店缓存数据,不兼容!

5、GETEQUIPPROPS命令增加宝石属性的获取
N是装备位置(参考之前鉴定属性的获取),P是宝石位置,范围1~5
M_EQUIP_GEMSTONE_TYPE//宝石类型1~31,参考以往的鉴定属性对照说明
M_EQUIP_GEMSTONE_LEVEL //宝石等级0~7,0未开孔,1~6已经镶嵌了宝石的宝石等级,7开孔但是没有镶嵌宝石
S_EQUIP_GEMSTONE_NAME//宝石名称 M_EQUIP_GEMSTONE_VALUE
                           //宝石属性值:M_EQUIP_GEMSTONE_INLAY_CNT 1~21亿
                           //已镶宝石数:M_EQUIP_GEMSTONE_SOCKET_CNT //已开启孔数<BR>S_EQUIP_GEMSTONE_PROPS
                           //宝石总属性:
                            //格式:位置1,类型1=等级1|位置2,类型2=等级2...,等同于下面的“升级宝石属性格式”

6、支持更新宝石属性的NPC命令(覆盖方式)<BR> 升级宝石属性格式:1,4=3|2,9=4|5,24=5 // [第1孔][防御类宝石],[第2孔][幸运类宝石],[第5孔][合击威力类宝石]
扩展NPC命令下面NPC命令以支持宝石属性的修改:
UPGRADEITEM   //第4参数扩展为鉴定属性+宝石属性,格式:普通鉴定属性|神秘鉴定属性|特殊属性|神技|几鉴@宝石属性,注意是使用“@”作为分隔符
UPGRADEITEMEX   //第8参数为鉴定属性+宝石属性,同UPGRADEITEM的第4参数
UPGRADEDLGITEM//第6参数为鉴定属性+宝石属性,同上
GIVE、GIVEEX、SENDMAIL 等命令也支持以上扩展,查阅之前的更新说明

7、
打孔时,!SETUP参数CREATEEQUIPSOCKETSCRIPTCALLBACK开启,将会触发QF的[@ONCREATINGEQUIPSOCKET],
<$PARAM(1)>装备名,脚本中使用命令APPROVE设置执行结果,如果结果失败需要在$CALCRESULT设置失败原因字符串,
可临时使用GETEQUIPPROPS(位置10000)、UPGRADEDLGITEM等命令

镶嵌时,!SETUP参数INLAYGEMSTONESCRIPTCALLBACK开启,将会触发QF的[@ONINLAYINGGEMSTONE],
<$PARAM(1)>装备名,<$PARAM(2)>宝石名,<$PARAM(3)>宝石类型,<$PARAM(4)>宝石等级,
脚本中使用命令APPROVE设置执行结果,如果结果失败需要在$CALCRESULT设置失败原因字符串,
可临时使用GETEQUIPPROPS(位置10000)、UPGRADEDLGITEM等命令

拆卸时,!SETUP参数DISASSEMBLEGEMSTONESCRIPTCALLBACK开启,将会触发QF的[@ONDISASSEMBLINGGEMSTONE],
$PARAM(1)装备名,$PARAM(2)宝石名,$PARAM(3)宝石类型,$PARAM(4)宝石等级,
脚本中使用命令APPROVE设置执行结果,如果结果失败需要在$CALCRESULT设置失败原因字符串,
可临时使用GETEQUIPPROPS(位置10000)、UPGRADEDLGITEM等命令

例如:

[装备开始打孔触发]命令增加操作结果于QF的[@ONCREATINGEQUIPSOCKET]

[@ONCREATINGEQUIPSOCKET]
#ACT
SETRANDOMNO 100
#IF
COMPVAL <$RANDOMNO> < 75
#ACT
SENDMSG 7 <$USERNAME>:将:<$PARAM(1)>、进行打孔!
#ELSEACT
APPROVE 0
CALCVAL 缺少XX材料! =

[装备开始镶嵌触发]命令增加操作结果于QF的[@ONINLAYINGGEMSTONE]

[@ONINLAYINGGEMSTONE]
#ACT
SETRANDOMNO 100
#IF
COMPVAL <$RANDOMNO> < 75
#ACT
SENDMSG 7 <$USERNAME>:将:<$PARAM(1)>,镶嵌:<$PARAM(2)>,<$PARAM(3)>,<$PARAM(4)>、宝石数量:<$H.GEMSTONELEVEL>
#ELSEACT
TAKE <$PARAM(2)> 1
APPROVE 0
SENDMSG 7 <$PARAM(1)>:镶嵌失败!<$PARAM(2)>已破损!


[装备拆卸宝石触发]命令增加操作结果于QF的[@ONDISASSEMBLINGGEMSTONE]

[@ONDISASSEMBLINGGEMSTONE]
#ACT
SETRANDOMNO 100
#IF
COMPVAL <$RANDOMNO> < 75
#ACT
SENDMSG 7 <$USERNAME>:拆卸:<$PARAM(1)>,宝石:<$PARAM(2)>,<$PARAM(3)>,<$PARAM(4)>
#ELSEACT
APPROVE 0
CALCVAL 缺少XX材料! =

[装备开孔成功触发]命令增加操作结果于QF的[@CREATEEQUIPSOCKETOK]

[@CREATEEQUIPSOCKETOK]
#IF
#ACT
SENDMSG 7 <$USERNAME>、将:<$PARAM(1)>、开启:<$PARAM(0)>孔、物品ID:<$CURITEMID>、宝石数量:<$H.GEMSTONELEVEL>
#ELSEACT
APPROVE 0
CALCVAL 缺少XX材料! = 111

====================================================================
镶嵌相关检测
====================================================================
[@查武器宝石]
#ACT
GETEQUIPPROPS 1

[@ONGETEQUIPPROPS]
#ACT
SENDMSG 7 武器宝石1孔类型:<$STR(M_EQUIP_GEMSTONE_TYPE>
SENDMSG 7 武器宝石2孔类型:<$STR(M_EQUIP_GEMSTONE_TYPE>
SENDMSG 7 武器宝石3孔类型:<$STR(M_EQUIP_GEMSTONE_TYPE>
SENDMSG 7 武器宝石4孔类型:<$STR(M_EQUIP_GEMSTONE_TYPE>
SENDMSG 7 武器宝石5孔类型:<$STR(M_EQUIP_GEMSTONE_TYPE>
====================================================================
SENDMSG 7 1孔宝石等级:<$STR(M_EQUIP_GEMSTONE_LEVEL>
SENDMSG 7 2孔宝石等级:<$STR(M_EQUIP_GEMSTONE_LEVEL>
SENDMSG 7 3孔宝石等级:<$STR(M_EQUIP_GEMSTONE_LEVEL>
SENDMSG 7 4孔宝石等级:<$STR(M_EQUIP_GEMSTONE_LEVEL>
SENDMSG 7 5孔宝石等级:<$STR(M_EQUIP_GEMSTONE_LEVEL>
====================================================================
SENDMSG 7 1孔宝石名称:<$STR(S_EQUIP_GEMSTONE_NAME>
SENDMSG 7 2孔宝石名称:<$STR(S_EQUIP_GEMSTONE_NAME>
SENDMSG 7 3孔宝石名称:<$STR(S_EQUIP_GEMSTONE_NAME>
SENDMSG 7 4孔宝石名称:<$STR(S_EQUIP_GEMSTONE_NAME>
SENDMSG 7 5孔宝石名称:<$STR(S_EQUIP_GEMSTONE_NAME>
====================================================================
注意:魔法躲避和魔法恢复的数值需要除以10比如魔法躲避装备显示120.实际数值为12
SENDMSG 7 1孔宝石数值:<$STR(M_EQUIP_GEMSTONE_VALUE>
SENDMSG 7 2孔宝石数值:<$STR(M_EQUIP_GEMSTONE_VALUE>
SENDMSG 7 3孔宝石数值:<$STR(M_EQUIP_GEMSTONE_VALUE>
SENDMSG 7 4孔宝石数值:<$STR(M_EQUIP_GEMSTONE_VALUE>
SENDMSG 7 5孔宝石数值:<$STR(M_EQUIP_GEMSTONE_VALUE>
SENDMSG 7 武器已镶嵌宝石数:<$STR(M_EQUIP_GEMSTONE_INLAY_CNT>
SENDMSG 7 武器已开启孔数:<$STR(M_EQUIP_GEMSTONE_SOCKET_CNT>
====================================================================
[@升宝石]
#ACT
UPGRADEITEMEX
第一参数 物品位置(0-12)
第二参数 属性位置(0-22)
第三参数 成功机率(0-100)
第四参数 点数机率(0-255)
第五参数 是否破碎或还原(0,1,2)(2代表还原)// 第5参数设置为99时,忽略普通属性的升级,只升级神秘属性和宝石属性
第六参数 非空时,不显示成功、失败、破碎等信息 如果需要为空可留空或 ""
第七参数 为1时,点数几率参数将不随机,直接赋予点数(第4参数的点数)
第八参数 普通鉴定属性
第九参数 神秘鉴定属性
第十参数 特殊属性
====================================================================
特殊属性参考
1 八卦护身
2 战意麻痹
4 复活
8 探测
16 传送
32 麻痹
64 魔道麻痹
127=所有特殊属性均包含,1+2=3就是 八卦和战意麻痹
====================================================================
第十一参数:神技
固定神技代码为:
01 五岳独尊
02 召唤巨魔
04 神龙附体
08 倚天劈地
====================================================================
同样道理:代码相加
第十二参数,几鉴(注意如果有鉴定属性必须给几鉴不然属性不生效)
第十三参数 @宝石属性,注意是使用“@”作为分隔符必须跟在 [几鉴@宝石属性 ]后
1,4=3|2,9=4|5,24=5//[第1孔][防御类宝石]
                  //[第2孔][幸运类宝石]
                  //[第5孔][合击威力类宝石]
                   //[当宝石等级=0时默认删除装备上的宝石及孔洞,=7时表示只打孔]
UPGRADEITEMEX 1 0 0 0 99 0 0 0|0|0|0|0@1,4=3|2,9=4|5,24=5
====================================================================
UPGRADEDLGITEM
第一参数 属性位置(0-23)
第二参数 成功机率(0-100)
第三参数 点数机率(0-255)
第四参数 是否破碎或还原(0,1,2)(2代表还原)// 第4参数设置为99时,忽略普通属性的升级,只升级神秘属性和宝石属性
第五参数 非空时,不显示成功、失败、破碎等信息 如果需要为空可留空或 ""
第六参数 为鉴定属性+宝石属性,同上(8-13参数)
UPGRADEDLGITEM 0 0 0 0 0 0|0|0|0|0@1,4=3|2,9=4|5,24=5
====================================================================
UPGRADEITEM
第一参数 物品位置(0-12)
第二参数 属性位置(0-22)
第三参数 点数(0-255)
第四参数 为鉴定属性+宝石属性,同上(8-13参数)
第五参数 设置为99时,忽略普通属性的升级,只升级神秘属性和宝石属性
UPGRADEITEM 1 0 0 0|2|0|0|0@1,4=3|2,9=4|5,24=5 99
====================================================================
如需调整鉴定属性自行改更改
0|0|0|0|0
格式:普通鉴定属性|神秘鉴定属性|特殊属性|神技|几鉴(注意如果有鉴定属性必须给几鉴不然属性不生效)
====================================================================
GIVE
第一参数 物品名
第二参数 数量
第三参数 属性位置(0-22)
第四参数 属性值(0-255)
第五参数 为鉴定属性+宝石属性,同上(8-13参数)
GIVE 屠龙1 0 0 0|0|0|0|0@1,4=3|2,9=4|5,24=5
====================================================================
GIVE 聚灵珠 1 满
====================================================================
GIVEEX
第一参数 物品名
第二参数 数量
第三参数批量附加属性比如:0=11,1=12,2=13,3=15,4=11,5=12,6=13,8=15,9=15,16=15,17=15,18=15,19=15,20=15,21=15,22=15,23=1
第四参数 为鉴定属性+宝石属性,同上(8-13参数)
GIVEEX 屠龙1 0 0|0|0|0|0@1,4=3|2,9=4|5,24=5
页: [1]
查看完整版本: blue引擎宝石镶嵌脚本功能说明