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

GOM引擎传奇捡取鉴定脚本完整实现方法及细节说明

热度:
一、前置文件准备与路径设置

首先在服务端根目录下的QuestDiary文件夹内,新建“拾取鉴定”主文件夹,内部再分级创建子文件夹,具体结构如下:QuestDiary\拾取鉴定\装备分级\装备设置、QuestDiary\拾取鉴定\参数设置\几率设置、QuestDiary\拾取鉴定\鉴定分类。该路径需在后续脚本中精准调用,不可出现路径错误。

在装备设置文件夹内,按装备等级创建1-9级装备.txt文件,分别写入对应等级的装备名称,每行一个装备,例如1级装备.txt写入木剑、布衣等基础装备,9级装备.txt写入高阶武器与服饰。几率设置文件夹内对应创建1-9级装备鉴定几率.txt,用于定义不同等级装备触发鉴定的概率及属性条数。鉴定分类文件夹内创建武器鉴定.txt、衣服鉴定.txt、首饰鉴定.txt、项链鉴定.txt,分别存放对应部位装备的鉴定属性脚本。

二、核心触发脚本编写(QF文件配置)

打开服务端QuestDiary文件夹下的QFunction-0.txt文件,在文件末尾添加拾取触发脚本,核心作用是关联捡取物品并触发分级鉴定逻辑,脚本如下:

(@拾取鉴定前置脚本)

{

;避免捡取过快导致循环异常,先清空过往鉴定关联

#IF

CHECKCUSTOMITEMVALUE-16=0

CHECKCUSTOMITEMVALUE-15=0

CHECKCUSTOMITEMVALUE-14=0

CHECKCUSTOMITEMVALUE-13=0

CHECKCUSTOMITEMVALUE-12=0

CHECKCUSTOMITEMVALUE-11=0

CHECKCUSTOMITEMVALUE-10=0

#ACT

MOVS$当前鉴定名称

MOVS$鉴定位置-1

#ELSEACT

BREAK

;按装备等级匹配鉴定几率脚本

#IF

checktextlist..\QuestDiary\拾取鉴定\装备分级\装备设置\1级装备.txt

#act

#CALL(\拾取鉴定\参数设置\几率设置\1级装备鉴定几率.txt)@1级装备鉴定几率

#IF

checktextlist..\QuestDiary\拾取鉴定\装备分级\装备设置\2级装备.txt

#act

#CALL(\拾取鉴定\参数设置\几率设置\2级装备鉴定几率.txt)@2级装备鉴定几率

;此处省略3-8级装备匹配脚本,格式与1-2级一致

#IF

checktextlist..\QuestDiary\拾取鉴定\装备分级\装备设置\9级装备.txt

#act

#CALL(\拾取鉴定\参数设置\几率设置\9级装备鉴定几率.txt)@9级装备鉴定几率

;按装备类型匹配对应鉴定逻辑

#OR

CompareText5

CompareText6

#act

#CALL(\拾取鉴定\鉴定分类\武器鉴定.txt)@武器鉴定

#OR

CompareText66

CompareText67

CompareText10

CompareText11

#act

#CALL(\拾取鉴定\鉴定分类\衣服鉴定.txt)@衣服鉴定

#OR

CompareText15

CompareText16

CompareText53

CompareText51

CompareText30

CompareText26

CompareText22

CompareText62

CompareText64

CompareText48

CompareText65

CompareText28

CompareText63

#ACT

#CALL(\拾取鉴定\鉴定分类\首饰鉴定.txt)@首饰鉴定

#IF

CompareText19

#act

#CALL(\拾取鉴定\鉴定分类\项链鉴定.txt)@项链鉴定

;关联物品并刷新客户端显示

LINKPICKUPITEM

SENDUPGRADEITEM

CLEARLINKITEM

}

三、几率设置与属性参数配置

以1级装备鉴定几率.txt为例,脚本用于定义该等级装备鉴定成功率、属性条数及数值范围,内容如下:

(@1级装备鉴定几率)

{

#IF

RANDOM80

#ACT

MOVN$属性条数1

MOVN$属性值下限1

MOVN$属性值上限3

#ELSEIF

RANDOM95

#ACT

MOVN$属性条数2

MOVN$属性值下限1

MOVN$属性值上限2

#ELSE

#ACT

MOVN$属性条数0

BREAK

}

高阶装备可提高属性条数上限与数值范围,例如9级装备可设置3-5条属性,数值上限提升至10以上,同时调整RANDOM参数控制高属性出现概率,数值越小概率越低。

四、分部位鉴定脚本编写

1.武器鉴定脚本(武器鉴定.txt)

核心为武器添加攻击、魔法、道术等专属属性,同时修改名称颜色与品质标注,脚本如下:

(@武器鉴定)

{

#IF

N$属性条数>0

#ACT

;第一条属性(攻击)

CHANGECUSTOMITEMABIL-110253

CHANGECUSTOMITEMABIL-111攻击

CHANGECUSTOMITEMVALUE-11=<$STR(N$属性值A1)>

;第二条属性(随机魔法/道术)

#IF

N$属性条数>1

RANDOM50

#ACT

CHANGECUSTOMITEMABIL-120253

CHANGECUSTOMITEMABIL-121魔法

CHANGECUSTOMITEMVALUE-12=<$STR(N$属性值A2)>

#ELSEIF

N$属性条数>1

#ACT

CHANGECUSTOMITEMABIL-120253

CHANGECUSTOMITEMABIL-121道术

CHANGECUSTOMITEMVALUE-12=<$STR(N$属性值A2)>

;修改武器名称颜色为红色,标注品质

CHANGECUSTOMITEMTEXT-1(普通品质)

CHANGECUSTOMITEMTEXTCOLOR-1254

SENDMSG6拾取到可鉴定武器,已自动完成鉴定!

}

2.衣服鉴定脚本(衣服鉴定.txt)

聚焦防御、魔防等属性,脚本逻辑与武器鉴定一致,适配衣服专属属性:

(@衣服鉴定)

{

#IF

N$属性条数>0

#ACT

CHANGECUSTOMITEMABIL-110253

CHANGECUSTOMITEMABIL-111防御

CHANGECUSTOMITEMVALUE-11=<$STR(N$属性值A1)>

#IF

N$属性条数>1

#ACT

CHANGECUSTOMITEMABIL-120253

CHANGECUSTOMITEMABIL-121魔防

CHANGECUSTOMITEMVALUE-12=<$STR(N$属性值A2)>

CHANGECUSTOMITEMTEXT-1(普通品质)

CHANGECUSTOMITEMTEXTCOLOR-1252

SENDMSG6拾取到可鉴定衣服,已自动完成鉴定!

}

首饰与项链鉴定脚本可参考上述格式,分别添加准确、敏捷、生命值等对应部位属性,确保属性与装备类型匹配。

五、引擎设置与脚本加载

打开GOM引擎M2服务器控制器,依次进入“选项-客户端控制-列表信息二”,找到拾取触发相关设置,勾选“拾取物品触发脚本”选项,确保触发命令能够正常生效。若需批量加载装备列表,可将装备.txt文件集成到登录器,打开登录器生成器,在集成配置中添加对应文件路径,放入补丁文件夹Resources/data目录内,重新生成登录器。

脚本编写完成后,保存所有文件,在M2控制器中执行“脚本-加载所有脚本”命令,加载完成后无报错即代表基础配置生效。可通过调整脚本中RANDOM参数、属性数值范围,优化鉴定效果与体验。

六、常见问题排查

1.捡取物品不触发鉴定:检查QFunction-0.txt中触发脚本路径是否正确,确保装备名称已添加至对应等级.txt文件,M2中拾取触发选项已勾选。

2.鉴定后属性不显示:需添加SENDUPGRADEITEM命令刷新客户端,同时检查CLEARLINKITEM命令是否添加,避免关联残留导致显示异常。

3.批量捡取出现异常:优化脚本结构,减少多重GOTO调用,采用分段检测逻辑,避免一次性鉴定过多物品导致的异常,必要时减少单怪掉落数量。

4.属性重复或错乱:在鉴定脚本中添加属性去重逻辑,按装备类型严格划分属性范围,避免跨部位属性错误添加。
[顶部]