一、自定义进度条和属性示例脚本

以下是一个简单的示例脚本,展示了如何在传奇游戏中自定义装备进度条和属性。

[@main]

#SAY

\\\\

<开启自定义装备进度条 <开启/@开启装备进度条>>

<值+20【带98%触发】/@装备进度条值+>

<检测/@检测装备进度条>

<取值/@取装备进度条值>\\\\

<开启自定义装备属性 <开启/@开启装备属性>>

<值+20/@装备属性值+>

<检测/@检测装备属性值>

<取值/@取装备属性值>\\\\

Copy

二、小地图边框设计

在小地图设计中,边框是一个重要的组成部分。以下是设计边框的步骤:

在M2客户端设置中选择小地图,并进入页游模式。

在自定义UI编辑中,仿照页游小地图设计边框。

雷达标识代码:

怪物:1650

NPC:1651

守卫:1652

其他玩家:1653

英雄:1654

BOSS:1655

自己:1656

三、小地图自动寻路功能

自动寻路功能可以通过以下触发器进行控制:

开始寻路:[@FindPathBegin]

中断寻路:[@FindPathStop]

到达目的地:[@FindPathEnd]

此外,您可以通过小地图预留按钮前往触发功能,按钮序号为1-14。

四、新小地图计算方法

新小地图的计算方法涉及将地图文件与对应的代码关联。以下是部分示例:

Data\\minimap\\301.mmap -> 小地图代码 9901

Data\\minimap\\302.mmap -> 小地图代码 9902



Data\\minimap\\330.mmap -> 小地图代码 9928

Data\\minimap\\331.mmap -> 小地图代码 9929

Copy

五、NPC对话框动态进度条功能

NPC对话框中的动态进度条功能可以通过以下标签实现:

<ProgressBar:X:Y:F:B:P:C:T:X2:Y2:N:X:V:D:L:X3:Y3:显示文字:备注信息>

Copy

其中,X, Y 为微调坐标,F 为WIL文件序号,B 为进度条背景图片序号,P 为进度条进度部分图片序号,C 为进度条进度部分播放张数,T 为播放间隔,X2, Y2 为进度条进度部分坐标偏移,N 为进度条最小值,X 为进度条最大值,V 为当前值,D 为方向,L 为文字颜色,X3, Y3 为文字偏移。

六、自定义装备进度条说明书

自定义装备进度条功能允许为装备添加自定义进度条,支持两个进度条。以下是进度条的相关说明:

显示位置:显示在升级星星的下一行。

资源位置:需要补丁NewopUI.PAK。

进度条图片:背景图片和进度部分图片大小不同,进度部分需要偏移。

七、锁定装备更新

在进行装备更新时,需要使用LockUpdateItem来锁定装备,以防止在批量操作过程中向客户端发送过多网络包。在完成操作后,使用UpdateItem来更新装备到客户端。

LockUpdateItem 装备位置

— 进行一系列装备操作

UpdateItem 装备位置

Copy

注意: 当使用LockUpdateItem锁定装备后,所有对装备的操作都不会立即发送到客户端,直到调用UpdateItem为止。如果连续调用LockUpdateItem,则需要在每次之后都调用UpdateItem来确保装备更新到客户端。

自定义进度条和自定义属性示例脚本

[@main]

#SAY

\\

自定义装备进度条 <开启/@开启装备进度条> <值+20【带98%触发】/@装备进度条值+> <检测/@检测装备进度条> <取值/@取装备进度条值>\\

自定义装备属性 <开启/@开启装备属性> <值+20/@装备属性值+> <检测/@检测装备属性值> <取值/@取装备属性值>\\

;==============================================================

[@开启装备进度条]

#ACT

; 开启自定义装备进度条0

SETCUSTOMITEMPROGRESSBAR 1 0 0 1

; 设置自定义装备进度条0的名称

SETCUSTOMITEMPROGRESSBAR 1 0 1 刀魂%p-%m:

; 设置自定义装备进度条0的名称

SETCUSTOMITEMPROGRESSBAR 1 0 1 刀魂%r%:

; 设置自定义装备进度条0的颜色

SETCUSTOMITEMPROGRESSBAR 1 0 2 255

; 设置自定义装备进度条0的图片播放张数

SETCUSTOMITEMPROGRESSBAR 1 0 3 15

; 设置自定义装备进度条0上的值按数值方式显示

SETCUSTOMITEMPROGRESSBAR 1 0 4 2

; 设置自定义装备进度条0的大值为 1000

SETCUSTOMITEMPROGRESSBARVALUE 1 0 0 = 1000

; 设置自定义装备进度条0的当前值为 60%

SETCUSTOMITEMPROGRESSBARVALUE 1 0 2 = 60

;==============================================================

[@取装备进度条值]

#ACT

GetCustomItemProgressbarValue 1 0 0 <$STR(N1)>

GetCustomItemProgressbarValue 1 0 1 <$STR(N2)>

GetCustomItemProgressbarValue 1 0 2 <$STR(N3)>

SENDMSG 6 大值<$STR(N1)>

SENDMSG 6 当前值<$STR(N2)>

SENDMSG 6 百分比值<$STR(N2)>%

;==============================================================

[@武器进度条0满98%]

#ACT

SENDMSG 6 进度条满了。。。。。

[@装备进度条值+]

#IF

CheckCustomItemProgressbarValue 1 0 2 < 100

#ACT

; 设置自定义装备进度条0的当前值+20

SETCUSTOMITEMPROGRESSBARVALUE 1 0 1 + 20

#ELSEACT

BREAK

;判断进度条是否达到98%

#IF

CheckCustomItemProgressbarValue 1 0 2 = 100

#ACT

goto @武器进度条0满98%

;==============================================================

[@检测装备进度条]

#IF

CheckCustomItemProgressbarValue 1 0 2 > 40

#ACT

SENDMSG 6 检测成功

;==============================================================

[@开启装备属性]

#IF

#ACT

SetCustomItemText 1 我的自定义属性显示

SetCustomItemTextColor 1 249

;设置自定义装备属性0的颜色

SetCustomItemAbil 1 0 0 250

;设置自定义装备属性0绑定属性1

SetCustomItemAbil 1 0 1 1

;设置自定义装备属性0的显示位置为1

SetCustomItemAbil 1 0 2 1

;设置自定义装备属性0为百分比显示

SetCustomItemAbil 1 0 3 1

;设置自定义装备属性0的值

SetCustomItemValue 1 0 = 20

;——————————-

;设置自定义装备属性1的颜色

SetCustomItemAbil 1 1 0 249

;设置自定义装备属性1绑定属性2

SetCustomItemAbil 1 1 1 2

;设置自定义装备属性1的显示位置为2

SetCustomItemAbil 1 1 2 2

;设置自定义装备属性1为非百分比

SetCustomItemAbil 1 1 3 0

;设置自定义装备属性1的值

SetCustomItemValue 1 1 = 40

;================================================================

[@装备属性值+]

#ACT

SetCustomItemValue 1 0 + 20

;================================================================

[@检测装备属性值]

#IF

CheckCustomItemValue 1 0 > 100

#ACT

SENDMSG 6 装备属性值0大于100

;================================================================

[@取装备属性值]

#ACT

GetCustomItemValue 1 0 <$STR(N1)> <$STR(N2)>

; 第2个变量不为0时,表示百分比

#IF

Equal <$STR(N2)> 0

#ACT

SENDMSG 6 装备属性值0为<$STR(N1)>

#ELSEACT

SENDMSG 6 装备属性值0为<$STR(N1)>%

相关说明:

改物品的属性,需用LOCKUPDATEITEM锁定要修改的装备

———

功能:

Npc对话框动态进度条功能

<测试2/@测试2>

 \<ProgressBar:0:0:1:620:630:6:100:4:1:100:200:190:0:249:0:0:%p/%m:NewopUI.pak中/@Label>

 \<ProgressBar:0:0:24:770:771:1:100:0:0:100:200:170:3:255:0:0:%r%:ui_n.pak中/@Label>

[@aaa]

;<ProgressBar:X:Y:F:B:P:C:T:X2:Y2:N:X:V:D:L:X3:Y3:显示文字:备注信息>

X, Y: 微调坐标

F: WIL文件序号(详见引擎:查看-列表信息(二)-WIL资源)

B: 进度条背景为文件中的第几个图片

P: 进度条进度部分为文件中的第几个图片

C: 进度条进度部分播放张数

T: 进度条进度部分播放间隔

X2: 进度条进度部分X坐标偏移

Y2: 进度条进度部分Y坐标偏移

N: 进度条醉小值

X: 进度条大值

V: 进度条当前值

D: 进度条方向(0:左向右, 1:右向左, 2:上向下, 3:下向上)

L: 进度条文字颜色(0-255)

X3: 进度条文字偏移X

Y3: 进度条文字偏移Y

显示文字:%p当前值, %m大值, %r百分比

进度部分解释

如要备补丁的620 621图片,一个是背景,一个是进度部分,2个图片大小不一样,背景大些,进度部分小些,进度部分要偏移

自定义装备进度条说明书

功能说明:可以给装备自定义进度条,支持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)>

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

锁定装备更新:LockUpdateItem 装备位置

更新装备到客端: UpdateItem 装备位置

【注意:有 LockUpdateItem 须有 UpdateItem;反过来说UpdateItem可以单独使用】

【注意:当调用两次锁定武器更新 LockUpdateItem 1; LockUpdateItem 1 时,须调用两次 UpdateItem 1; UpdateItem 1 武器才会刷新到客户端】

【脚本实例:】

; 锁定头盔更新 由于下面是对头盔的批量操作,锁定后,对头盔进行操作不会向客户端发包,直到 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

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