自定义装备属性 该数据保存在人物Mir.DB里
功能说明:每个装备可以可以支持10个属性同时显示并生效,每个属性须绑定属性才会显示。
可以给装备自定义进度条,支持2个进度条。
显示位置:显示在升级星星的下一行
自定义装备属性的名称控制(M2-选项-客户端设置-装备信息显示)
自定义装备属性支持的装备位置如下:
-1 升级框
0–25:装备栏
30-35:首饰盒
40-51:神佑袋
boxitem0-boxitem7:OK框
注意 武器没有防御 魔防 生命 魔法值 属性 是不加可以加绑定这些属性的 装备有什么属性 才可以绑定增加什么自定义属性
[@设置自定义装备文字内容:(大64个字符 支持特殊字符:\=换行) 支持没有属性的情况下仅显示自定义装备文字内容]
#IF
#ACT
SetCustomItemText 装备位置 名字内容
[@设置自定义装备文字内容显示的颜色:]
#IF
#ACT
SetCustomItemTextColor 装备位置 文字颜色(0~255)
例:
[@main]
<设置衣服自定义文字(不超过10个汉字)/@@InputString1>\
<设置衣服自定义文字颜色(0~255)/@@InputInteger1>\
[@InputString1]
#ACT
SetCustomItemTextColor 0 S1
[@InputInteger1]
#ACT
SetCustomItemTextColor 0 N1
获取自定义装备文字内容:
GetCustomItemText 装备位置 变量
[@获取武器自定义装备文字内容:]
#IF
#ACT
GetCustomItemText 1 <$STR(S1)>
SENDMSG 6 武器自定义文字内容为<$STR(S1)>
获取自定义装备文字内容显示的颜色:
GetCustomItemTextColor 装备位置 变量(0~255)
[@获取武器自定义装备文字内容的颜色:]
#IF
#ACT
GetCustomItemTextColor 1 <$STR(N1)>
SENDMSG 6 武器自定义文字内容的颜色为<$STR(N1)>
检测自定义装备属性值:
CheckCustomItemValue 装备位置 属性位置(0~9) (检测符><=) 检测值
[@检测武器的一号条自定义属性值:]
#IF
#ACT
CheckCustomItemValue 1 0 > 10
SENDMSG 6 武器的一号个自定义属性值大于10
检测自定义装备属性绑定类型:
CheckCustomItemBindType 装备位置 属性位置(0~9) (检测符><=) 绑定类型值(0~17)
绑定类型值
0没有绑定
1绑定AC
2绑定MAC
3绑定DC
4绑定MC
5绑定SC
6绑定MaxHP
7绑定MaxMP
8~17为10个无属性的
[@检测武器的一号个自定义装备属性的绑定类型]
#IF
CheckCustomItemBindType 1 0 = 1
#ACT
SENDMSG 6 你的武器的一号个自定义属性绑定的是AC增加人物防御
设置自定义装备属性值:
SetCustomItemValue 装备位置 属性位置(0~9) (控制符+-=) 属性值
[@设定武器一号个绑定属性的属性值:]
#IF
#ACT
SetCustomItemValue 1 0 + 10
SENDMSG 6 武器的一号个绑定属性值+10
获取装备的自定义属性值:
GetCustomItemValue 装备位置 属性位置(0~9) 变量1 变量2
变量1为保存属性值
变量2是否为百分比,是为1,否为0
[@获取武器一号个绑定属性的属性值:]
#IF
#ACT
GetCustomItemValue 1 0 <$STR(N1)>
SENDMSG 6 武器的一号个绑定属性的属性值为:<$STR(N1)>
[@获取武器一号个绑定属性的属性值+百分比状态:]
#IF
#ACT
GetCustomItemValue 1 0 <$STR(N1)> <$STR(N2)>
SENDMSG 6 武器的一号个绑定属性的属性值为:<$STR(N1)>是否为百分比:<$STR(N2)> 
修改自定义装备属性:
SetCustomItemAbil装备位置 属性位置(0~9) 属性类型(0~4) 属性值
属性类型(0~4 参数3) :
0:参数4表示该属性显示的颜色(0~255)
1:参数4表示该属性绑定哪个属性(0~17),须绑定,否则该属性无效,登陆器不会显示
参数4绑定类型值:
0没有绑定
1绑定AC
2绑定MAC
3绑定DC
4绑定MC
5绑定SC
6绑定MaxHP
7绑定MaxMP
8~17为10个无属性的
2:参数4表示在属性框里的显示位置值(0~255;显示位置值相同的显示在同一行)
3:参数4表示该属性是否是百分比属性(0~1;0=非百分比;1=百分比)
[@修改武器一号个自定义属性的颜色]
#IF
#ACT
SetCustomItemAbil 1 0 0 249
SENDMSG 6 修改武器的一号个自定义属性的颜色修改为红色
[@修改武器一号个自定义属性的绑定属性]
#IF
#ACT
SetCustomItemAbil 1 0 1 1
SENDMSG 6 修改武器的一号个自定义属性的绑定属性修改AC增加人物防御
[@修改武器一号个自定义属性的显示位置]
#IF
#ACT
SetCustomItemAbil 1 0 2 0
SENDMSG 6 修改武器的一号个自定义属性的显示位置为一号位显示
[@修改武器的自定义属性显示在同一行]
#ACT
SetCustomItemAbil 1 0 2 0
SetCustomItemAbil 1 1 2 0
;第四个参数相同的会显示在同一行
SENDMSG 6 修改武器的一号个自定义属性和第二个自定义属性显示在同一行
[@修改武器一号个自定义属性的显示为数值]
#IF
#ACT
SetCustomItemAbil 1 0 3 0
SENDMSG 6 修改武器的一号个自定义属性的属性为数值方式增加
[@修改武器一号个自定义属性的显示为百分比]
#IF
#ACT
SetCustomItemAbil 1 0 3 1
SENDMSG 6 修改武器的一号个自定义属性的属性为百分比方式增加
获取自定义装备属性:
GetCustomItemAbil装备位置 属性位置(0~9) 属性类型(0~4) 变量名
0:获取该属性显示的颜色(0~255)
1:获取该属性绑定哪个属性(0~17)
2:获取在属性框里的显示位置值(0~255;显示位置值相同的显示在同一行)
3:获取该属性是否是百分比属性(0~1;0=非百分比;1=百分比)
[@获取武器一号个自定义属性的颜色]
#IF
#ACT
GetCustomItemAbil 1 0 0 <$STR(N1)>
SENDMSG 6 获取武器的一号个自定义属性的颜色为<$STR(N1)>
[@获取武器一号个自定义属性的绑定属性]
#IF
#ACT
GetCustomItemAbil 1 0 1 <$STR(S1)>
SENDMSG 6 获取武器的一号个自定义属性的绑定属性为<$STR(S1)>
[@获取武器一号个自定义属性的显示位置]
#IF
#ACT
GetCustomItemAbil 1 0 2 <$STR(N1)>
SENDMSG 6 获取武器的一号个自定义属性的显示位置为<$STR(N1)>
[@获取武器一号个自定义属性的显示方式(0~1;0=非百分比;1=百分比)]
#IF
#ACT
GetCustomItemAbil 1 0 3 <$STR(N1)>
SENDMSG 6 获取武器的一号个自定义属性的属性增加方式为<$STR(N1)>
============================================================================================
锁定人物属性更新 LockUpdateAbil
更新人物属性 UpdateAbil
锁定装备更新:LockUpdateItem 装备位置
更新装备到客端: UpdateItem 装备位置
【★★注意★★:有 LockUpdateAbil 须要有 UpdateAbil;有 LockUpdateItem 须有 UpdateItem;反过来说,UpdateAbil和UpdateItem可以单独使用】
【★★注意★★:当调用两次锁定武器更新 LockUpdateItem 1; LockUpdateItem 1 时,须调用两次 UpdateItem 1; UpdateItem 1 武器才会刷新到客户端】
【★★★★★★脚本实例:★★★★★★】
;★★★★锁定人物属性更新
LockUpdateAbil
;★★★★ 锁定头盔更新 由于下面是对头盔的批量操作,锁定后,对头盔进行操作不会向客户端发包,直到 UpdateItem 4的出现,减少网络包的流量
LockUpdateItem 4
SetCustomItemText 4 [高级属性]
SetCustomItemTextColor 4 146
SetCustomItemAbil 4 2 1 3
SetCustomItemAbil 4 3 1 4
SetCustomItemAbil 4 4 1 5
SetCustomItemAbil 4 5 1 6
SetCustomItemAbil 4 6 1 7
SetCustomItemAbil 4 2 0 250
SetCustomItemAbil 4 3 0 250
SetCustomItemAbil 4 4 0 250
SetCustomItemAbil 4 5 0 250
SetCustomItemAbil 4 6 0 250
;★★★★解锁并更新头盔到客户端
UpdateItem 4
;★★★★解锁重新计算并更新人物属性到客户端
UpdateAbil
=====================================================================================================================
无绑定属性函数总和的常量
NPC命令,计算人物大部分装备绑定属性之和(主要计算“绑定无属性”的属性值):
GetAllCustomItemValue 属性位置 变量1 变量2
属性位置 (1绑定AC 2绑定MAC 3绑定DC 4绑定MC 5绑定SC 6绑定MaxHP 7绑定MaxMP 8~17为10个无属性的 更多属性持续增加中)
变量1:非百分比值和
变量2:百分比值之和
示范脚本:
[@main]
<查看人物共有的多少点:【自定义属性1】/@查看自定义属性1总和>
<查看人物共有的多少点:【绑定无属性1】/@查看绑定无属性1总和>
[@查看绑定无属性1总和]
#act
;命令 属性位置(0-17) 当前人物值 当前人物百分比
GetAllCustomItemValue 0 N$自定义属性1值 N$自定义属性1百分比
SENDMSG 6 提示:您一共拥有“<$STR(N$自定义属性1值)>点自定义防御属性”和“<$STR(N$自定义属性1百分比)>%自定义防御属性”!
[@查看绑定无属性1总和]
#act
;命令 属性位置(0-17) 当前人物值 当前人物百分比
GetAllCustomItemValue 8 N$绑定无属性1值 N$绑定无属性1百分比
SENDMSG 6 提示:您一共拥有“<$STR(N$绑定无属性1值)>点绑定无属性1”和“<$STR(N$绑定无属性1百分比)>%绑定无属性1”!
=====================================================================================================================
文字支持单行文字颜色自定义 插入:{文字内容|文字颜色0-255} 
=====================================================================================================================
相关说明:
涉及修改属性先LockAbil ,如果修改物品的属性会影响人物的属性,先LOCKUPDATEABIL,如果没有影响人物的属性,只改了物品的属性,就用LOCKUPDATEITEM
———
物品在人物身上。
LOCKUPDATEABIL
LOCKUPDATEITEM XX
UPDATEITEM
UPDATEABIL
————–
物品不在人物身上
LOCKUPDATEITEM XX
UPDATEITEM
如:
如果是修改 衣服位置的。就要这样写:
LOCKUPDATEABIL
LockUpdateItem 0
………………………..
对身上的衣服进行一堆的操作 …………………………
updateitem 0
UPDATEABIL
————————-
功能说明:可以给装备自定义进度条,支持2个进度条。
显示位置:显示在升级星星的下一行
资源位置:要备补丁NewopUI.PAK 
进度条1:620 背景图片 621~629 为静态的进度条图 630~639 为动态的进度条图
进度条2:640 背景图片 641~649 为静态的进度条图 650~659 为动态的进度条图 
自定义进度条的支持的装备位置如下:
-1 升级框
0–25:装备栏
30-35:首饰盒
40-51:神佑袋
boxitem0-boxitem7:OK框
M2 其他设置 可以设置关闭提示没有佩戴装备的提示
@KillMonGetExp 人物杀怪获得经验触发 可以配合进度条使用
@HeroKillMonGetExp 英雄杀怪获得经验触发 可以配合进度条使用
检测进度条是否开启:CheckCustomItemProgressBar装备位置 进度条序号(0=进度条1;1=进度条2) 
检测类型说明(参数3):
0:进度条大值
1:进度当前值
2:进度条当前百分比
3:进度条等级 
[@检测武器的一号个进度条是否开启]
#IF
CHECKCUSTOMITEMPROGRESSBAR 1 0
#ACT
SENDMSG 6 武器的一号个进度条已经开启
#ELSEACT
SENDMSG 6 武器的一号个进度条没有开启
检测进度条值:CheckCustomItemProgressbarValue 装备位置 进度条序号(0,1) 检测值类型(0,1,2,3) 检测符(<,>,=) 检测值
检测值类型说明(参数3):
0:进度条大值
1:进度当前值
2:进度条当前百分比
3:进度条等级 
[@检测武器的一号个进度条大值]
#IF
CheckCustomItemProgressbarValue 1 0 0 > 99
#ACT
SENDMSG 6 武器的一号个进度条大值大于99
#ELSEACT
SENDMSG 6 武器的一号个进度条大值不大于99
[@检测武器的一号个进度条当前值]
#IF
CheckCustomItemProgressbarValue 1 0 1 > 99
#ACT
SENDMSG 6 武器的一号个进度条当前值大于99
#ELSEACT
SENDMSG 6 武器的一号个进度条当前值不大于99
[@检测武器的一号个进度条百分比]
#IF
CheckCustomItemProgressbarValue 1 0 2 > 99
#ACT
SENDMSG 6 武器的一号个进度条百分比为98%
[@检测武器的一号个进度条等级]
#IF
CheckCustomItemProgressbarValue 1 0 3 > 99
#ACT
SENDMSG 6 武器的一号个进度条等级大于99
#ELSEACT
SENDMSG 6 武器的一号个进度条等级不大于99
设置进度条值:SetCustomItemProgressbarValue 装备位置 进度条序号(0,1) 设置值类型(0,1,2,3) 设置符(+,-,=) 设置值
设置值类型说明(参数3):
0:进度条大值
1:进度当前值
2:进度条当前百分比
3:进度条等级 
[@修改武器的一号个进度条的大值]
#ACT
SetCustomItemProgressbarValue 1 0 0 = 100
;当前进度值不能超过进度条大值,一般先要修改进度条大值,然后在修改当前进度值。这里大值设置为100
[@修改武器的一号个进度条的当前进度值]
#ACT
SetCustomItemProgressbarValue 1 0 1 + 10 
;当前进度值不能超过进度条大值,一般先要修改进度条大值,然后在修改当前进度值。
[@修改武器的一号个进度条的百分比]
#ACT
SetCustomItemProgressbarValue 1 0 2 + 10 
;百分比大建议 98% 。
[@修改武器的一号个进度条的等级]
#ACT
SetCustomItemProgressbarValue 1 0 3 + 10 
;进度条的等级可以用 %i 显示在进度条名称后面,用于进度条的值满后提升进度条的等级。
获取自定义装备进度条属性值
GetCustomItemProgressbarValue 装备位置 进度条序号(0,1) 获取值类型(0,1,2,3) 变量
获取值类型说明(参数3):
0:进度条大值
1:进度当前值
2:进度条当前百分比
3:进度条等级 
[@获取武器的一号个进度条的大值]
#ACT
GetCustomItemProgressbarValue 1 0 0 <$STR(N1)>
SENDMSG 6 武器一号个进度条的大值<$STR(N1)>
[@获取武器的一号个进度条的当前进度值]
#ACT
GetCustomItemProgressbarValue 1 0 1 <$STR(N2)>
SENDMSG 6 武器一号个进度条的当前值<$STR(N2)>
[@获取武器的一号个进度条的百分比]
#ACT
GetCustomItemProgressbarValue 1 0 2 <$STR(N3)>
SENDMSG 6 武器一号个进度条的当前百分比<$STR(N2)>
[@获取武器的一号个进度条的等级]
#ACT
GetCustomItemProgressbarValue 1 0 3 <$STR(N4)>
SENDMSG 6 武器一号个进度条的等级<$STR(N4)>
设置自定义装备进度条各种属性
SetCustomItemProgressbar装备位置 进度条序号(0,1) 属性类型(0~4) 参数4 
属性类型(0~4;参数3):
0:参数4表示是否开启进度条:参数4=0时,关闭进度条; 参数4=1时,开启进度条
1:参数4表示设置进度条名称【进度条名称会显示在进度条的左边,长度30字符】,名称可以使用特殊字符
特殊字符:\=换行; %p=当前进度值; %m=大值; %r=进度百分比; %i:当前等级
2:参数4表示进度条名称颜色(0~255)
3:参数4表示设置进度条图片播放数量(0:不显示进度条;1~9:单张绘制;10~19:循环绘制)
用进度条0来举例:
如果参数4=1就会绘制621,
如果参数4=2就会绘制622。
如果参数4=11 表示在630~631之间循环绘制
如果参数4=12 表示在630~632之间循环绘制
4:参数4表示进度条数值显示方式【0=不显示;1=百分比显示(10%);2=数值显示(10/100);3=等级显示】
[@显示武器的一号个进度条]
#ACT
SetCustomItemProgressbar 1 0 0 1
[@显示武器的第二个进度条]
#ACT
SetCustomItemProgressbar 1 1 0 1
[@关闭武器的一号个进度条]
#ACT
SetCustomItemProgressbar 1 0 0 0
[@关闭武器的第二个进度条]
#ACT
SetCustomItemProgressbar 1 1 0 0
[@设置武器的一号个进度条的名称]
#ACT
SetCustomItemProgressbar 1 0 1 刀魂
;支持显示进度值、百分比、进度条等级 %p表示当前进度值 %m表进度条大值 %r表示进度条百分比 %i表示进度条等级 特殊字符:\=换行;
;例如:
;SetCustomItemProgressbar 1 0 1 刀魂: %p-%m
;SetCustomItemProgressbar 1 0 1 刀魂: %m
;SetCustomItemProgressbar 1 0 1 刀魂: %r
;SetCustomItemProgressbar 1 0 1 老猫神剑\老猫剑魂: %i级
[@设置武器的一号个进度条的名称颜色]
#ACT
SetCustomItemProgressbar 1 0 2 254
[@设置武器的一号个进度条,不显示图片和背景,这样的情况下只显示进度条名称和数值]
#ACT
SetCustomItemProgressbar 1 0 3 0
[@设置武器的一号个进度条静态图片素材]
#ACT
SetCustomItemProgressbar 1 0 3 1
SENDMSG 6 武器的一号个进度条静态图片素材,使用NewopUI.PAK第621号
[@设置武器的一号个进度条动态图片素材]
#ACT
SetCustomItemProgressbar 1 0 3 19
SENDMSG 6 武器的一号个进度条动态图片素材,使用NewopUI.PAK第630~639号之间循环播放
[@设置武器的第二个进度条静态图片素材]
#ACT
SetCustomItemProgressbar 1 1 3 1
SENDMSG 6 武器的第二个进度条静态图片素材,使用NewopUI.PAK第641号
[@设置武器的第二个进度条动态图片素材]
#ACT
SetCustomItemProgressbar 1 1 3 19
SENDMSG 6 武器的第二个进度条动态图片素材,使用NewopUI.PAK第650~659号之间循环播放
[@设置武器的一号个进度条,不显示数值,这样的情况下只显示进度条名称和图片]
#ACT
SetCustomItemProgressbar 1 0 4 0
[@设置武器的一号个进度条百分比显示]
#ACT
SetCustomItemProgressbar 1 0 4 1
[@设置武器的一号个进度条数值显示]
#ACT
SetCustomItemProgressbar 1 0 4 2
[@设置武器的一号个进度条等级显示]
#ACT
SetCustomItemProgressbar 1 0 4 3
获取自定义进度条各种属性
GetCustomItemProgressbar装备位置 进度条序号(0,1) 属性类型(0~4) 变量 
属性类型(0~4;参数3):
0:获取进度条是否开启进度条:0=关闭进度条; 1=开启进度条
1:获取进度条显示名称
2:获取进度条名称颜色(0~255)
3:获取进度条图片播放数量(0:不显示进度条;1~9:单张绘制;10~19:循环绘制)
4:获取进度条数值显示方式【0=不显示;1=百分比显示(10%);2=数值显示(10/100);3=等级显示】
[@获取武器一号个自定义进度条开启状态:0未开启 或 1开启]
#ACT
GetCustomItemProgressbar 1 0 0 <$STR(N1)>
SENDMSG 6 武器一号个进度条状态<$STR(N1)>
[@获取武器一号个自定义进度条名称]
#ACT
GetCustomItemProgressbar 1 0 1 <$STR(S2)>
SENDMSG 6 武器一号个进度条名称<$STR(S2)>
[@获取武器一号个自定义进度条名称的颜色值]
#ACT
GetCustomItemProgressbar 1 0 2 <$STR(N1)>
SENDMSG 6 武器一号个进度条名称的颜色值<$STR(N1)>
[@获取武器一号个自定义进度条图片的参数]
#ACT
GetCustomItemProgressbar 1 0 3 <$STR(N1)>
SENDMSG 6 武器一号个进度条图片的参数<$STR(N1)>
[@获取武器一号个自定义进度条数值的参数]
#ACT
GetCustomItemProgressbar 1 0 4 <$STR(N1)>
SENDMSG 6 武器一号个进度条数值的参数<$STR(N1)>
============================================================================================
锁定人物属性更新 LockUpdateAbil
更新人物属性 UpdateAbil
锁定装备更新:LockUpdateItem 装备位置
更新装备到客端: UpdateItem 装备位置
【★★注意★★:有 LockUpdateAbil 须要有 UpdateAbil;有 LockUpdateItem 须有 UpdateItem;反过来说,UpdateAbil和UpdateItem可以单独使用】
【★★注意★★:当调用两次锁定武器更新 LockUpdateItem 1; LockUpdateItem 1 时,须调用两次 UpdateItem 1; UpdateItem 1 武器才会刷新到客户端】
【★★★★★★脚本实例:★★★★★★】
;★★★★锁定人物属性更新
LockUpdateAbil
;★★★★ 锁定头盔更新 由于下面是对头盔的批量操作,锁定后,对头盔进行操作不会向客户端发包,直到 UpdateItem 4的出现,减少网络包的流量
LockUpdateItem 4
SetCustomItemText 4 [高级属性]
SetCustomItemTextColor 4 146
SetCustomItemAbil 4 2 1 3
SetCustomItemAbil 4 3 1 4
SetCustomItemAbil 4 4 1 5
SetCustomItemAbil 4 5 1 6
SetCustomItemAbil 4 6 1 7
SetCustomItemAbil 4 2 0 250
SetCustomItemAbil 4 3 0 250
SetCustomItemAbil 4 4 0 250
SetCustomItemAbil 4 5 0 250
SetCustomItemAbil 4 6 0 250
;★★★★解锁并更新头盔到客户端
UpdateItem 4
;★★★★解锁重新计算并更新人物属性到客户端
UpdateAbil
=====================================================================================================================
相关说明:
涉及修改属性先LockAbil ,如果修改物品的属性会影响人物的属性,先LOCKUPDATEABIL,如果没有影响人物的属性,只改了物品的属性,就用LOCKUPDATEITEM
———
物品在人物身上。
LOCKUPDATEABIL
LOCKUPDATEITEM XX
UPDATEITEM
UPDATEABIL
————–
物品不在人物身上
LOCKUPDATEITEM XX
UPDATEITEM

声明:本站所有文章,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们(hljlife@vip.qq.com)进行处理。

本站所有资源来源于网络,本站未参与任何dump或hack活动。若有侵犯您的权益请提供相关证明致邮hljlife@vip.qq.com,我将及时撤下该资源。

All resources come from the network, this site does not participate in any dump or hack activities, if there is any violation of your rights, please provide relevant proof and email hljlife@vip.qq.com, I will promptly delete it.

如果下载资源文件后缀为.PDF,请删除后缀.PDF之后运行。

部分失效链接可通过文末填写有效邮箱到Email输入框留言索取。

免责声明:游戏资源均来自网络收集购买,不保证BUG,不保证病毒,不解答游戏问题(传奇服务端提供付费架设服务),为了安全,请尽量选择虚拟机运行服务端。