当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇GOM引擎捡取鉴定脚本配置全流程

热度:
捡取鉴定功能依赖QFunction-0.txt中的@PickUpItemEx标签触发,配合LINKPICKUPITEM命令锁定物品并修改属性。以下是具体配置步骤。

一、M2引擎开启拾取触发

在配置脚本前,需先确保引擎支持拾取触发。打开M2Server→选项→功能设置→物品触发,勾选“开启物品拾取触发脚本”。若不开启此选项,@PickUpItemEx脚本将不会执行。

二、建立装备鉴定白名单

为避免金币、药品等垃圾物品触发鉴定,需建立白名单文件。在Envir\QuestDiary目录下新建鉴定列表.txt,写入需要鉴定的装备名称(每行一个)。

裁决之杖
圣战宝甲
绿色项链


三、QFunction-0.txt主触发脚本

在Envir\Market_Def\QFunction-0.txt中添加以下脚本。其逻辑为:捡取物品时绑定该物品,若物品名在鉴定列表中,则调用鉴定函数。
[@PickUpItemEx]
#ACT
LINKPICKUPITEM
#IF
CHECKTEXTLIST..\QuestDiary\鉴定列表.txt<$CURRTEMNAME>
#ACT
#CALL[..\QuestDiary\鉴定脚本.txt]@装备鉴定
BREAK

-LINKPICKUPITEM:核心命令,将刚捡起的物品绑定到脚本上下文,后续的CHANGEITEMADDVALUE等命令才能修改它。
-CHECKTEXTLIST:检查当前物品名是否在鉴定列表.txt中。

四、鉴定脚本:随机附加属性

在Envir\QuestDiary目录下新建鉴定脚本.txt,写入具体的属性随机逻辑。
[@装备鉴定]
;---随机决定属性类型---
#ACT
RANDOM3
;---分支1:附加攻击属性---
#IF
EQUAL<$STR(R0)>0
#ACT
MOVRN115
CHANGEITEMADDVALUE-10+<$STR(N1)>
SENDMSG6鉴定成功!<$CURRTEMNAME>攻击+<$STR(N1)>
BREAK
;---分支2:附加魔法属性---
#IF
EQUAL<$STR(R0)>1
#ACT
MOVRN213
CHANGEITEMADDVALUE-11+<$STR(N2)>
SENDMSG6鉴定成功!<$CURRTEMNAME>魔法+<$STR(N2)>
BREAK
;---分支3:附加道术属性---
#IF
EQUAL<$STR(R0)>2
#ACT
MOVRN313
CHANGEITEMADDVALUE-12+<$STR(N3)>
SENDMSG6鉴定成功!<$CURRTEMNAME>道术+<$STR(N3)>
BREAK

-RANDOM3:生成0-2的随机数,决定走哪条属性分支。
-MOVRN115:生成1-5的随机数,作为属性加成点数。
-CHANGEITEMADDVALUE-10+<$STR(N1)>:为绑定的物品(-1代表当前链接物品)增加属性。参数说明:
-属性编号0:通常代表攻击下限(具体需查看引擎说明书)。
-属性编号1:通常代表魔法下限。
-属性编号2:通常代表道术下限。

五、防重复鉴定机制

为防止玩家丢地上再捡起来重复刷属性,需添加“已鉴定”标记。利用物品的自定义属性值(CustomItemValue)实现。

1.修改鉴定脚本(增加标记检测)
在鉴定脚本.txt的[@装备鉴定]开头加入判断:
[@装备鉴定]
;---检测是否已鉴定(CustomItemValue[0]为1则已鉴定)---
#IF
CHECKCUSTOMITEMVALUE-10=1
#ACT
BREAK
;---未鉴定则执行鉴定逻辑---
#IF
EQUAL<$STR(R0)>0
#ACT
...(原有属性添加代码)
;---鉴定完成后标记---
SETCUSTOMITEMVALUE-10=1
SENDMSG6鉴定成功!...
BREAK

•CHECKCUSTOMITEMVALUE-10=1:检测该物品的自定义属性0是否为1(已鉴定)。

•SETCUSTOMITEMVALUE-10=1:鉴定完成后,将自定义属性0设置为1。

六、生效与调试

1.重载脚本:修改QFunction-0.txt后,在M2上点击“重载QF脚本”;修改鉴定脚本.txt后,点击“重载NPC脚本”。
2.调试技巧:若捡取无反应,先在M2的查看→调试信息中检查是否有脚本报错。常见错误包括:
◦路径错误:..\QuestDiary\鉴定列表.txt文件不存在。

◦命令拼写错误:如LINKPICKUPITEM写错。

◦物品名称不匹配:鉴定列表.txt中的名字与StdItems.DB中的名字不一致。

通过以上配置,玩家捡起“裁决之杖”时,系统会自动为其随机附加1-5点攻击(或魔法/道术),且仅生效一次。
[顶部]