传奇服务端HGE引擎自定义OK框相关详细说明

[复制链接]
查看990 | 回复0 | 2019-5-1 01:17:03 | 显示全部楼层 |阅读模式
自定义OK框

默认OK框自定义->也就是卖物品那框,一般用于原生的OK框自定义
[默认OK框]
;打开可以放物品的对话框,也就是装备修理或出售物品的那个对话框
OPENUPGRADEDLG 显示文字
;更新框文字显示
SHOWUPGRADEDLGMSG 显示文字
;收回OK框中的物品
TAKEDLGITEM
;返回OK框中的物品到包裹
RECLAIMITEM

点击OK键后触发字段[@UpgradeDlgItem]
[@UpgradeDlgItem]
#SAY
OK框中物品的名称:<$DLGITEM.NAME>\
OK框中物品的StdMode:<$DLGITEM.STDMODE>\
OK框中物品的持久:<$DLGITEM.DURA>\
OK框中物品的最大持久:<$DLGITEM.DURAMAX>\
<升级/@升级>\
[@升级]
#ACT
升级操作...
---------------------------------------------------------------
[脚本命令]
supermake 位置(-1)表示默认OK框上物品 100..107表示自定义OK框上物品
UPGRADEITEM 位置(-1)表示默认OK框上物品 100..107表示自定义OK框上物品
UPGRADEITEMEX 位置(-1)表示默认OK框上物品 100..107表示自定义OK框上物品

<$DLGITEM.INDEX> DB里的IDX字段值加1,例如DB里的IDX值是1,这个变量获取到的值就是2
<$DLGITEM.MAKEINDEX> 当前OK框中的物品序列号
<$DLGITEM.DURA> 当前OK框中的物品持久
<$DLGITEM.DURAMAX> 当前OK框中的物品持久上限
<$DLGITEM.MAINPOINT> 当前OK框中的物品钢纹主属性
<$DLGITEM.STEELLEVEL> 当前OK框中的物品钢纹等级
<$DLGITEM.SMELTLEVEL> 当前OK框中的物品熔练类型(1寒芒 2玄冰 3落星 4正阳 5天成 6惊雷 7白月 8破浪 9紫电 10飞虹 11赤云..)
<$DLGITEM.SMELTLEVELEX>当前OK框中的物品开孔熔练类型(1寒芒 2玄冰 3落星 4正阳 5天成 6惊雷 7白月 8破浪 9紫电 10飞虹 11赤云 255-已开孔)
<$DLGITEM.UPGRADECOUNT>当前OK框中的物品升级次数
<$DLGITEM.NAME> 当前OK框中物品的名称
<$DLGITEM.NAME_G> 当前OK框中的物品改名名称
<$DLGITEM.STDMODE> 当前OK框中的物品StdMode字段值
<$DLGITEM.SHAPE> 当前OK框中的物品Shape字段值
<$DLGITEM.WEIGHT> 当前OK框中的物品Weight字段值
<$DLGITEM.LOOKS> 当前OK框中的物品Looks字段值
<$DLGITEM.LAC> 当前OK框中的物品AC字段值
<$DLGITEM.HAC> 当前OK框中的物品AC2字段值
<$DLGITEM.LMAC> 当前OK框中的物品MAC字段值
<$DLGITEM.HMAC> 当前OK框中的物品MAC2字段值
<$DLGITEM.DC> 当前OK框中的物品DC字段值
<$DLGITEM.DC2> 当前OK框中的物品DC2字段值
<$DLGITEM.MC> 当前OK框中的物品MC字段值
<$DLGITEM.MC2> 当前OK框中的物品MC2字段值
<$DLGITEM.SC> 当前OK框中的物品SC字段值
<$DLGITEM.SC2> 当前OK框中的物品SC2字段值
<$DLGITEM.TC> 当前OK框中的物品TC字段值
<$DLGITEM.TC2> 当前OK框中的物品TC2字段值
<$DLGITEM.HP> 当前OK框中的物品HP字段值
<$DLGITEM.MP> 当前OK框中的物品MP字段值
<$DLGITEM.MX> 当前OK框中的物品MX字段值
<$DLGITEM.ATTACH> 当前OK框中的物品ATTACH字段值
<$DLGITEM.ATTACH1> 当前OK框中的物品ATTACH1字段值
<$DLGITEM.HEART> 当前OK框中的物品HEART字段值
<$DLGITEM.HEART2> 当前OK框中的物品HEART2字段值
<$DLGITEM.JOB> 当前OK框中的物品JOB字段值
附加值对应属性(参考“属性位置详解”)
<$DLGITEM.VALUE1> 当前自定义OK框中的物品 附加值0
<$DLGITEM.VALUE2> 当前自定义OK框中的物品 附加值1
<$DLGITEM.VALUE3> 当前自定义OK框中的物品 附加值2
<$DLGITEM.VALUE4> 当前自定义OK框中的物品 附加值17
<$DLGITEM.VALUE5> 当前自定义OK框中的物品 附加值3
<$DLGITEM.VALUE6> 当前自定义OK框中的物品 附加值4
<$DLGITEM.VALUE7> 当前自定义OK框中的物品 附加值14
<$DLGITEM.VALUE8> 当前自定义OK框中的物品 附加值11(武器暴击等级,只对武器有效,即附加的暴击等级)


NPC对话框中的自定义OK框
对话框写法参考:NPC对话编辑
[@main]
请放入需要升级的装备\
<{type=3;idx=0;mic=253;w=32;h=32;fil=2,3,4,10;ht=只能放入2 3 4 10物品分类}>\
<{type=3;idx=1;mic=252;w=32;h=32;ht=不限制}>\

功能:检测自定义OK框中是否有物品
格式:CheckBoxItemCount OK框编号(0-7) 物品数量(叠加物品时才会有效) 物品名
功能:检测包裹中物品的数量(不包含已放入自定义OK框的物品)
格式:CheckBagItemCountEx 物品名称 数量

功能:把包裹指定物品放入指定自定义OK框中
格式:BagItemInToBox 物品名 OK框编号(0-7)
功能:把自定义OK框中物品返回到包裹
格式:ReturnBoxItem OK框编号(0-7)
功能:刷新自定义OK框物品属性
格式:RefBoxItem 位置(0-7)
说明: -1为默认OK框 0-7为自定义OK框
功能:删除自定义OK框物品
格式:DelBoxItem OK框编号(0-7) 删除数量
说明:删除数量-只有是叠加物品时才会有效
功能:清空自定义OK框物品(删除所有OK框相关控件,物品返回至背包)
格式:ClearBoxItem
自定义OK框放入物品后在当前NPC脚本中触发,X值为0-7
[@ItemIntoBoxX]
把自定义OK框中的物品放入包裹后,在当前NPC脚本中触发,X值为0-7
[@ItemOutBoxX]


<$BoxItem(X).INDEX> DB里的IDX字段值加1,例如DB里的IDX值是1,这个变量获取到的值就是2
<$BoxItem(X).MAKEINDEX> 当前OK框中的物品序列号
<$BoxItem(X).DURA> 当前OK框中的物品持久
<$BoxItem(X).DURAMAX> 当前OK框中的物品持久上限
<$BoxItem(X).MAINPOINT> 当前OK框中的物品钢纹主属性
<$BoxItem(X).STEELLEVEL> 当前OK框中的物品钢纹等级
<$BoxItem(X).SMELTLEVEL> 当前OK框中的物品熔练类型(1寒芒 2玄冰 3落星 4正阳 5天成 6惊雷 7白月 8破浪 9紫电 10飞虹 11赤云..)
<$BoxItem(X).SMELTLEVELEX>当前OK框中的物品开孔熔练类型(1寒芒 2玄冰 3落星 4正阳 5天成 6惊雷 7白月 8破浪 9紫电 10飞虹 11赤云 255-已开孔)
<$BoxItem(X).UPGRADECOUNT>当前OK框中的物品升级次数
<$BoxItem(X).NAME> 当前OK框中物品的名称
<$BoxItem(X).NAME_G> 当前OK框中的物品改名名称
<$BoxItem(X).STDMODE> 当前OK框中的物品StdMode字段值
<$BoxItem(X).SHAPE> 当前OK框中的物品Shape字段值
<$BoxItem(X).WEIGHT> 当前OK框中的物品Weight字段值
<$BoxItem(X).LOOKS> 当前OK框中的物品Looks字段值
<$BoxItem(X).LAC> 当前OK框中的物品AC字段值
<$BoxItem(X).HAC> 当前OK框中的物品AC2字段值
<$BoxItem(X).LMAC> 当前OK框中的物品MAC字段值
<$BoxItem(X).HMAC> 当前OK框中的物品MAC2字段值
<$BoxItem(X).DC> 当前OK框中的物品DC字段值
<$BoxItem(X).DC2> 当前OK框中的物品DC2字段值
<$BoxItem(X).MC> 当前OK框中的物品MC字段值
<$BoxItem(X).MC2> 当前OK框中的物品MC2字段值
<$BoxItem(X).SC> 当前OK框中的物品SC字段值
<$BoxItem(X).SC2> 当前OK框中的物品SC2字段值
<$BoxItem(X).TC> 当前OK框中的物品TC字段值
<$BoxItem(X).TC2> 当前OK框中的物品TC2字段值
<$BoxItem(X).HP> 当前OK框中的物品HP字段值
<$BoxItem(X).MP> 当前OK框中的物品MP字段值
<$BoxItem(X).MX> 当前OK框中的物品MX字段值
<$BoxItem(X).ATTACH> 当前OK框中的物品ATTACH字段值
<$BoxItem(X).ATTACH1> 当前OK框中的物品ATTACH1字段值
<$BoxItem(X).HEART> 当前OK框中的物品HEART字段值
<$BoxItem(X).HEART2> 当前OK框中的物品HEART2字段值
<$BoxItem(X).JOB> 当前OK框中的物品JOB字段值
附加值对应属性(参考“属性位置详解”)
<$BoxItem(X).VALUE1> 当前自定义OK框中的物品 附加值0
<$BoxItem(X).VALUE2> 当前自定义OK框中的物品 附加值1
<$BoxItem(X).VALUE3> 当前自定义OK框中的物品 附加值2
<$BoxItem(X).VALUE4> 当前自定义OK框中的物品 附加值17
<$BoxItem(X).VALUE5> 当前自定义OK框中的物品 附加值3
<$BoxItem(X).VALUE6> 当前自定义OK框中的物品 附加值4
<$BoxItem(X).VALUE7> 当前自定义OK框中的物品 附加值14
<$BoxItem(X).VALUE8> 当前自定义OK框中的物品 附加值11((武器暴击等级,只对武器有效,即附加的暴击等级))
X范围=0~7



脚本例子:
[@main]
<默认OK框测试/@默认OK框>\
<自定义OK框测试/@自定义OK框>\
[@默认OK框]
#IF
#ACT
OPENUPGRADEDLG 装备升级(显示的名称)
[@ItemInUpgradeDlg]
#IF
#ACT
INC D0 <$DLGITEM.DC2>
INC D0 <$DLGITEM.MC2>
INC D0 <$DLGITEM.SC2>
INC D0 <$DLGITEM.TC2>
;检查是否为护身属性
#IF
equal <$DLGITEM.SHAPE> 118
#ACT
INC D0 10000
#IF
#ACT
SHOWUPGRADEDLGMSG 装备分值:<$STR(D0)>
#SAY
OK框中物品的名称:<$DLGITEM.NAME>\
OK框中物品的StdMode:<$DLGITEM.STDMODE>\
OK框中物品的持久:<$DLGITEM.DURA>\
OK框中物品的最大持久:<$DLGITEM.DURAMAX>\
[@UpgradeDlgItem]
#IF
#ACT
UPGRADEITEMEX -1 16 0 10
RECLAIMITEM
#SAY
升级成功!

;--------------------------------------------------------------------
[@自定义OK框]
请放入需要升级的装备\ \
<把包裹物品自动放OK框/@自动放物品>\ \
<{type=3;idx=0;mic=253;w=32;h=32;fil=2,3,4,10;ht=只能放入2 3 4 10物品分类}>\
<{type=3;idx=1;mic=252;w=32;h=32;ht=不限制}>\
<开始升级/@开始升级>\
[@ItemIntoBox0]
#IF
#ACT
SENDMSG 7 1号自定义框放入物品:<$BoxItem(0).Name>
[@ItemOutBox0]
#IF
#ACT
SENDMSG 7 把1号自定义框物品:<$BoxItem(0).Name>,放入包裹

[@自动放物品]
#IF
CHECKBAGITEMCOUNTEX 布衣(男)1
#ACT
BAGITEMINTOBOX 布衣(男)1 0
#IF
CHECKBAGITEMCOUNTEX 凤天魔甲
#ACT
BAGITEMINTOBOX 凤天魔甲 1


[@开始升级]
#IF
;检测OK框中是否有物品
CheckBoxItemCount 0 1
#ACT
;删除2号框物品
DELBOXITEM 1 10
;升级1号位置物品
UPGRADEITEMEX 100 16 0 10
;物品返回到包裹
ReturnBoxItem 0
#ELSEACT
SENDMSG 6 请放入需要升级的装备

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则