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

