一、前期准备:明确脚本文件与工具
找到脚本存放路径
打开 GOM 引擎客户端安装目录,依次进入 “Envir→QuestDiary” 文件夹,所有自定义脚本需放在此目录下(建议新建 “PickIdentify” 文件夹单独存放,避免与其他脚本冲突)。
必备工具
记事本 / Notepad++(用于编写脚本,推荐 Notepad++,支持代码高亮,避免语法错误);
GOM 引擎配套的 “物品 DB 编辑器”(用于查看装备编号,确保脚本精准识别装备类型)。
二、捡取鉴定脚本核心制作步骤
(一)第一步:创建触发脚本(捡取事件触发鉴定)
新建脚本文件
在 “PickIdentify” 文件夹中新建文本文档,重命名为 “PickUpAutoIdentify.txt”(文件名可自定义,后缀必须为.txt)。
写入触发事件命令
脚本开头需设置 “捡取装备” 触发条件,GOM 引擎固定用 “@PickUpItem” 命令触发,代码如下:
[@PickUpItem]
#IF
// 条件1:筛选需鉴定的装备类型(排除药水、金币等非装备物品)
CHECKITEMTYPE 武器 // 识别武器类装备(如 sword、axe)
OR CHECKITEMTYPE 首饰 // 识别首饰类装备(如 ring、necklace)
OR CHECKITEMTYPE 衣服 // 识别衣服类装备(如 armor、robe)
#ACT
// 执行鉴定操作(调用后续鉴定子程序)
GOTO @DoIdentify
#ELSEACT
// 非装备物品,不执行鉴定,直接结束
RETURN
(二)第二步:编写鉴定逻辑子程序(核心属性随机)
在上述脚本下方继续添加 “@DoIdentify” 子程序,实现 “随机属性加成 + 鉴定结果提示”,关键代码及说明如下:
[@DoIdentify]
#ACT
// 1. 记录当前捡取的装备名称(用于后续提示)
MOV S1 <$ITEMNAME> // 将捡取的装备名存入变量S1
// 2. 随机生成鉴定品质(分普通/优秀/极品,概率可调整)
RANDOM 100 // 生成0-99的随机数
#IF
CHECKRANDOM 10 // 10%概率出极品
#ACT
// 极品装备:添加高属性(以武器为例,魔法攻击+5-8,其他类型装备需对应调整属性名)
MODIFYITEMATTRIBUTE 魔法攻击 + <RANDOM(5,8)>
SENDMSG 6 恭喜!您捡取的【<$S1>】鉴定为极品装备,属性大幅提升! // 发送系统提示(6为黄色字体)
#ELSEIF
CHECKRANDOM 30 // 30%概率出优秀
#ACT
// 优秀装备:添加中属性(魔法攻击+2-4)
MODIFYITEMATTRIBUTE 魔法攻击 + <RANDOM(2,4)>
SENDMSG 6 您捡取的【<$S1>】鉴定为优秀装备,属性小幅提升!
#ELSE
// 普通装备:添加低属性(魔法攻击+1-2)或不添加(根据需求调整)
MODIFYITEMATTRIBUTE 魔法攻击 + <RANDOM(1,2)>
SENDMSG 6 您捡取的【<$S1>】鉴定为普通装备,获得基础属性加成!
#ENDIF
// 3. 标记装备已鉴定(避免重复鉴定,需在物品DB中添加“鉴定标记”字段)
MODIFYITEMATTRIBUTE 鉴定状态 1 // 自定义属性“鉴定状态”,1表示已鉴定
RETURN
(三)第三步:设置装备类型过滤(避免垃圾装备鉴定)
若需排除低等级装备(如新手木剑、布衣),可在 “@PickUpItem” 的 #IF 条件中添加 “装备等级判断”,代码示例:
#IF
// 仅鉴定等级≥20级的装备(需先在物品DB中确认装备等级编号)
CHECKITEMLEVEL ≥ 20
AND (CHECKITEMTYPE 武器 OR CHECKITEMTYPE 首饰 OR CHECKITEMTYPE 衣服)
#ACT
GOTO @DoIdentify
#ELSEACT
SENDMSG 6 【<$S1>】等级过低,无需鉴定!
RETURN
三、完整脚本示例(带注释)
// GOM引擎装备捡取自动鉴定脚本
// 存放路径:Envir\QuestDiary\PickIdentify\PickUpAutoIdentify.txt
[@PickUpItem]
#IF
// 条件:等级≥20级的武器/首饰/衣服
CHECKITEMLEVEL ≥ 20
AND (CHECKITEMTYPE 武器 OR CHECKITEMTYPE 首饰 OR CHECKITEMTYPE 衣服)
// 条件:未鉴定过的装备(避免重复鉴定)
CHECKITEMATTRIBUTE 鉴定状态 ≠ 1
#ACT
MOV S1 <$ITEMNAME> // 记录装备名
GOTO @DoIdentify
#ELSEACT
// 不符合条件时的提示
#IF
CHECKITEMATTRIBUTE 鉴定状态 = 1
#ACT
SENDMSG 6 【<$S1>】已鉴定过,无需重复操作!
#ELSE
SENDMSG 6 【<$S1>】不符合鉴定条件!
#ENDIF
RETURN
[@DoIdentify]
#ACT
// 随机鉴定品质(10%极品/30%优秀/60%普通)
RANDOM 100
#IF
CHECKRANDOM 10
#ACT
// 极品属性:根据装备类型调整属性名(武器用“物理攻击/魔法攻击”,首饰用“防御/魔防”)
#IF
CHECKITEMTYPE 武器
#ACT
MODIFYITEMATTRIBUTE 物理攻击 + <RANDOM(6,10)>
MODIFYITEMATTRIBUTE 魔法攻击 + <RANDOM(5,8)>
#ELSEIF
CHECKITEMTYPE 首饰
#ACT
MODIFYITEMATTRIBUTE 防御 + <RANDOM(3,5)>
MODIFYITEMATTRIBUTE 魔防 + <RANDOM(2,4)>
#ELSE
MODIFYITEMATTRIBUTE 防御 + <RANDOM(4,6)>
MODIFYITEMATTRIBUTE 魔防 + <RANDOM(3,5)>
#ENDIF
SENDMSG 6 【<$S1>】鉴定为【极品】!属性大幅提升!
#ELSEIF
CHECKRANDOM 30
#ACT
#IF
CHECKITEMTYPE 武器
#ACT
MODIFYITEMATTRIBUTE 物理攻击 + <RANDOM(3,5)>
MODIFYITEMATTRIBUTE 魔法攻击 + <RANDOM(2,4)>
#ELSEIF
CHECKITEMTYPE 首饰
#ACT
MODIFYITEMATTRIBUTE 防御 + <RANDOM(1,3)>
MODIFYITEMATTRIBUTE 魔防 + <RANDOM(1,2)>
#ELSE
MODIFYITEMATTRIBUTE 防御 + <RANDOM(2,4)>
MODIFYITEMATTRIBUTE 魔防 + <RANDOM(1,3)>
#ENDIF
SENDMSG 6 【<$S1>】鉴定为【优秀】!属性小幅提升!
#ELSE
#IF
CHECKITEMTYPE 武器
#ACT
MODIFYITEMATTRIBUTE 物理攻击 + <RANDOM(1,2)>
MODIFYITEMATTRIBUTE 魔法攻击 + <RANDOM(1,2)>
#ELSE
MODIFYITEMATTRIBUTE 防御 + <RANDOM(1,2)>
MODIFYITEMATTRIBUTE 魔防 + <RANDOM(1,1)>
#ENDIF
SENDMSG 6 【<$S1>】鉴定为【普通】!获得基础属性加成!
#ENDIF
// 标记已鉴定
MODIFYITEMATTRIBUTE 鉴定状态 1
RETURN
四、关键参数调整(根据需求自定义)
鉴定概率调整
修改 “RANDOM 100” 后的 “CHECKRANDOM” 数值:如想提高极品概率,可将 “CHECKRANDOM 10” 改为 “CHECKRANDOM 15”(15% 概率)。
属性范围调整
改变 “<RANDOM (X,Y)>” 中的 X 和 Y:如武器物理攻击加成,可从 “<RANDOM (6,10)>” 改为 “<RANDOM (8,12)>”(更高加成)。
装备类型增减
在 “CHECKITEMTYPE” 后添加 / 删除类型:如想鉴定头盔,可加 “OR CHECKITEMTYPE 头盔”(需确认物品 DB 中 “头盔” 的正确类型名)。
五、常见问题解决
脚本不触发
检查路径:确认脚本放在 “Envir→QuestDiary” 下,且文件名后缀为.txt;
语法错误:用 Notepad++ 打开,查看是否有遗漏的 “#IF/#ACT/#ENDIF”,命令后是否加空格(如 “MODIFYITEMATTRIBUTE 魔法攻击 + 5”,“攻击” 后需空格)。
装备重复鉴定
确保脚本中添加了 “CHECKITEMATTRIBUTE 鉴定状态 ≠ 1” 条件,且 “MODIFYITEMATTRIBUTE 鉴定状态 1” 命令正常执行(需在物品 DB 中提前添加 “鉴定状态” 字段,类型设为 “整数”)。
属性不显示
检查属性名是否与 GOM 引擎一致:如 “魔法攻击” 在部分版本中可能叫 “法术攻击”,需用物品 DB 编辑器确认正确名称。
六、实操注意事项
备份文件
修改前复制 “Envir→QuestDiary” 文件夹,避免脚本错误导致游戏异常。
测试验证
脚本写完后,进入游戏捡取符合条件的装备,查看系统提示是否正常,打开装备栏确认属性是否添加成功。
DB 匹配
所有装备类型、等级、属性名,需与 GOM 引擎 “物品 DB”(通常为 “Item.DB”)中的数据完全一致,否则脚本无法识别。
GOM 引擎传奇脚本:装备捡取自动鉴定实现教程
来源:
作者:
点击:

