传奇版本库 发表于 2019-3-2 22:31:28

传奇GOM引擎装备打孔镶嵌宝石系统脚本

GOM引擎版本镶嵌宝石制作方法,在数据库增加宝石的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=22
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 衣服第一个位置没有镶嵌宝石

[@main]
#IF
CHECKLEVELEX > 0
#ACT
CloseBigDialogBox
RECLAIMITEM
OPENUPGRADEDLG 注意:开始打孔
#SAY
<═══════════*> <装备打孔系统/SCOLOR=251> <*═══════════>\
<打孔说明:/SCOLOR=250>\
1、所有装备全部可以开孔,最多可以开<四个孔>!\
2、装备开孔只需要<10万元宝>即可开启一个孔!\
3、装备开孔后就可以镶嵌<不同的宝石>,极大地提高装备属性!\ \
<操作说明:/SCOLOR=254>\
<直接拖拽包裹中需要打孔的装备放在圆框内!点击OK开始打孔!/SCOLOR=251>\

[@UpgradeDlgItem]
#IF
CHECKDRILLHOLECOUNT -1 = 5
#ACT
RECLAIMITEM
MESSAGEBOX 【打孔失败】:您的装备已经打完五个孔了,不需要再次打孔!
BREAK
#IF
CHECKGAMEGOLD > 100000
CHECKDRILLHOLECOUNT -1 = 0
#ACT
GAMEGOLD - 100000
DRILLHOLE 8 8 -1 8 8 0 8 1 8 8
SENDMSG 5 {你的:<$DLGITEM.NAME>成功开启第一个孔..|251:0:1}
RECLAIMITEM
BREAK
#IF
CHECKGAMEGOLD > 100000
CHECKDRILLHOLECOUNT -1 = 1
#ACT
GAMEGOLD - 100000
DRILLHOLE 8 8 -1 8 8 1 8 1 8 8
SENDMSG 5 {你的:<$DLGITEM.NAME>成功开启第二个孔..|251:0:1}
RECLAIMITEM
BREAK
#IF
CHECKGAMEGOLD > 100000
CHECKDRILLHOLECOUNT -1 = 2
#ACT
GAMEGOLD - 100000
DRILLHOLE 8 8 -1 8 8 2 8 1 8 8
SENDMSG 5 {你的:<$DLGITEM.NAME>成功开启第三个孔..|251:0:1}
RECLAIMITEM
BREAK
#IF
CHECKGAMEGOLD > 100000
CHECKDRILLHOLECOUNT -1 = 3
#ACT
GAMEGOLD - 100000
DRILLHOLE 8 8 -1 8 8 3 8 1 8 8
SENDMSG 5 {你的:<$DLGITEM.NAME>成功开启第四个孔..|251:0:1}
RECLAIMITEM
BREAK
#ELSEACT
RECLAIMITEM
MESSAGEBOX 【打孔失败】:元宝不足或者其他问题导致打孔失败!
BREAK


服务器小繁 发表于 2019-3-4 11:26:02

页: [1]
查看完整版本: 传奇GOM引擎装备打孔镶嵌宝石系统脚本