自定义属性说明

———————————–自定义属性说明—————————

自定义属性说明书

自定义装备属性 该数据保存在人物Mir.DB里
功能说明:每个装备最多可以支持10个属性同时显示并生效,每个属性必须绑定属性才会显示。
自定义装备属性的名称控制(M2-选项-自定义装备属性设置)
自定义装备属性支持的装备位置如下:
-1 升级框
0–25:装备栏
30-35:首饰盒
40-51:神佑袋
boxitem0-boxitem7:OK框

注意 武器没有防御 魔防 生命 魔法值 属性 是不加可以加绑定这些属性的 装备有什么属性 才可以绑定增加什么自定义属性
[@设置自定义装备文字内容:(最大128个字符 支持特殊字符:\=换行) 支持无任何属性的情况下仅显示自定义装备文字内容]
#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 值位置(0,1,2;0或空表示设置第一个值) 变量3
属性位置 (1绑定AC 2绑定MAC 3绑定DC 4绑定MC 5绑定SC 6绑定MaxHP 7绑定MaxMP 8~57为49个无属性的 更多属性持续增加中)
变量1:非百分比值和
变量2:所有物品之单件物品百分比值之和
变量3: 所有物品之全身物品百分比值之和

示范脚本:

[@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”!

;写入一个自定义属性到武器上面的示范
mov n$装备位置 1
;1表示武器位置
mov n$属性位置 0
;第几个属性(0-19)
mov n$属性类型 1
;属性类型(0~4 参数3) ,值0时表示修改属性的颜色,为1时表示绑定哪个属性(参考自定义属性面板,1-60)为2时属性显示的位置(数值小的显示再前面),属性3时(是否百分比,0=非百分比,1=单件装备属性百分比,2=全身属性百分比)注意:该参数与参数4挂钩
mov n$本条属性定义 3
SetCustomItemAbil <$str(n$装备位置)> <$str(n$属性位置)> <$str(n$属性类型)> <$str(n$本条属性定义)>
;定义了一条自定义属性的类型, 通常该命令会被定义几次
mov n$输出属性$$1 100
mov n$输出属性$$2 200
mov n$输出属性$$3 300
SetCustomItemValueEX <$str(n$装备位置)> <$str(n$属性位置)> = <$str(n$输出属性$$1)> <$str(n$输出属性$$2)> <$str(n$输出属性$$3)>
;给这属性赋值

;获取上面属性的示范=======================================================================================
GetCustomItemValueEx <$str(n$装备位置)> <$str(n$属性位置)> <$str(n$该条属性是否百分比)> <$str(n$获取属性$$1)> <$str(n$获取属性$$2)> <$str(n$获取属性$$3)>
;n$该条属性是否百分比,0=该条属性非百分比类型,1等于该属性为单件装备属性百分比类型,2等于该属性为全身属性百分比类型(这个值只能获取到0-2)

根据Text变量行数查看全身无绑定属性的合计值
GetAllCustomItemValueByTextLine 属性位置 属性值类型 Text变量行数 变量1 变量2 变量3
属性位置 (1绑定AC 2绑定MAC 3绑定DC 4绑定MC 5绑定SC 6绑定MaxHP 7绑定MaxMP 8-60:绑定无属性)
属性值类型(-1:不限; 0:点数; 1: 单件百分比; 2:全身百分比)
变量1:属性值1合计
变量2:属性值2合计
变量3:属性值3合计
GetAllCustomItemValueByTextLine 22 -1 3 N1 N2 N3
SendMsg 6 合计(值1:<$Str(N1)>;值2:<$Str(N2)>;值3:<$Str(N3)>)

=====================================================================================================================

文字支持单行文字颜色自定义 插入:{文字内容|文字颜色0-255}

=====================================================================================================================

相关说明:
涉及修改属性先LockAbil ,如果修改物品的属性会影响人物的属性,先LOCKUPDATEABIL,如果没有影响人物的属性,只改了物品的属性,就用LOCKUPDATEITEM
———
物品在人物身上。
LOCKUPDATEABIL
LOCKUPDATEITEM XX
UPDATEITEM
UPDATEABIL

————–
物品不在人物身上
LOCKUPDATEITEM XX
UPDATEITEM

如:
如果是修改 衣服位置的。就要这样写:

LOCKUPDATEABIL
LockUpdateItem 0
;………………………..对身上的衣服进行一堆的操作 …………………………
updateitem 0
UPDATEABIL

————2019年更新扩展————-
扩展:自定义属性扩展为60个
扩展:自定义属性的值扩展为3个
扩展:自定义属性绑定显示扩展为80个字符
修改:自定义属性显示变量$$修改为$$1, $$2, $$3,如果有显示中有变量,请将$$改为$$1
—————————————————————————————————————–
GetCustomItemValue 装备位置 属性位置(0~9) 变量1 变量2 值位置(0,1,2;0或空表示设置第一个值)
获取装备的自定义属性值:
GetCustomItemValue 装备位置 属性位置(0~9) 变量1 变量2 值位置(0,1,2;0或空表示设置第一个值)
变量1为保存属性值
变量2是否为百分比,是为1,否为0

GetAllCustomItemValue 属性位置 变量1 变量2 值位置(0,1,2;0或空表示设置第一个值)
属性位置 (1绑定AC 2绑定MAC 3绑定DC 4绑定MC 5绑定SC 6绑定MaxHP 7绑定MaxMP 8~57为49个无属性的 更多属性持续增加中)
变量1:非百分比值和
变量2:百分比值之和

CheckCustomItemValue 装备位置 属性位置(0~9) (检测符><=) 检测值 值位置(0,1,2;0或空表示设置第一个值)
———————————————————————————————————————-
设置自定义装备属性值扩展:
SetCustomItemValueEx 装备位置 属性位置(0-19) 属性值1 属性值2 属性值3
获自定义装备属性值扩展:
GetCustomItemValueEx 装备位置 属性位置(0-19) 百分比变量 属性值1变量 属性值2变量 属性值3变量

示例:
;设置衣服自定义装备属性0的值1,值2,值3
SetCustomItemValueEx 0 0 = 1 2 3
;获取衣服自定义装备属性0的:百分比显示、值1、值2、值3
GetCustomItemValueEx 0 0 N1 N2 N3 N4
SENDMSG 6 衣服自定义属性0的:百分比显示(<$STR(N1)>) 值1(<$STR(N2)>) 值2(<$STR(N3)>) 值3(<$STR(N4)>)
———————————————————————————————————————-
自定义属性增加了参数控制是否隐藏显示
———————————————————————————————————————-
自定义装备属性高级显示 text在M2-选项-自定义装备属性设置text处设置

支持TEXT变量显示
<text:$$2>:{[$$1-$$3]|249}
无属性支持:<text:$$1><text:$$2><text:$$3> 多个text变量显示
text支持:$$变量显示


例如:
无属性18,<text:$$1>
假设:
$$1=1
$$2=10
text变量内容如下:
第1行={攻击时,有|146}{[$$2%]|021}{机率使目标冰冻|146}
第2行={攻击时,有|146}{[$$2%]|021}{几率偷去敌人$$3生命值|146}
“那么实际的效果就是, 攻击时,有10%机率使目标冰冻”
这样 无属性18的 的功能 就可以非固定 可以是吸血,可以是冰冻

支持颜色自定义:
默认颜色{红色文字|249}

^分隔,当分隔内容中的变量值为0时不显示
攻击:$$1 ^魔法:$$2 ^道术:$$3

自定义属性增加分行“\”显示

———————————————————————————————————————-

</text:$$1></text:$$3></text:$$2></text:$$1></text:$$2>

发表评论

共有 0 条评论