当前位置:首页 > 引擎 > GOM引擎

传奇GOM高速哈希表全套脚本命令用法 物品首爆功能实例教程

admin2天前10
一、传奇GOM高速哈希表整体介绍传奇GOM引擎高速哈希表是适配传奇脚本开发的高效内存数据运算工具,相较于传统Checktextlist命令,内存检索速度提升百倍甚至千倍,广泛用于传奇物品首爆判定、数据记录存储、键值查询、数据清理等常用功能场景。该工具依托内存链表存储数据,支持键值写入、查找、读取、删…

一、传奇GOM高速哈希表整体介绍

传奇GOM引擎高速哈希表是适配传奇脚本开发的高效内存数据运算工具,相较于传统Checktextlist命令,内存检索速度提升百倍甚至千倍,广泛用于传奇物品首爆判定、数据记录存储、键值查询、数据清理等常用功能场景。

该工具依托内存链表存储数据,支持键值写入、查找、读取、删除、批量清空、文件载入等全套操作,可实现M2启动数据持久化、玩家操作实时判定等需求,是传奇版本制作、功能修改必备的核心脚本工具。下面为大家详细拆解每一条GOM哈希表命令参数及实战脚本案例。

二、写入键值(物品首爆实战案例)GOMHashTableCreate

1、命令功能

将自定义键值数据写入服务器内存,生成临时内存记录,可用于传奇各类唯一性判定、数据标记场景,最常用的就是全区物品首爆提示功能。

2、命令格式

GOMHashTableCreate 参数1 参数2

3、参数详解

参数1:标识字符串,不区分大小写,一般填写物品名称、自定义标记字符等核心判定内容;

参数2:自定义存储内容,可随意赋值,常用数字1作为默认存储值,用于标记数据存在。

4、传奇实战案例(物品首爆提示功能)

该功能可实现传奇全区物品首次爆出提示,精准判定首爆记录,速度远超传统文本检索脚本,分为载入记录和拾取判定两个脚本文件配置。

QManage.txt 启动载入配置】

[@Startup]

#ACT

;载入历史爆出记录到哈希链表,重启M2后可读取历史数据,避免首爆记录重置

GOMHashTableLoad ..\QuestDiary\功能文件\爆出提示.txt 1

;注释:若无需持久化记录,每次M2重启重新计算首爆数据,可删除该行载入命令

;哈希表为全局内存数据,玩家下线不会清除记录,仅重启M2会初始化(无文件载入时)

QFunction-0.txt 拾取物品触发配置】

[@PickUpItemEx] ;拾取物品触发脚本,用于判定物品首爆

#IF

;查询内存中是否存在该物品爆出记录,内存检索效率极高

GOMHashTableContainsKey <$CURRTEMNAME>

#ACT

;查询到记录,说明非首爆,无执行代码

#elseact

;无记录,判定为全区首爆,写入内存键值

GOMHashTableCreate <$CURRTEMNAME> 1

;写入文本文件,实现数据持久化,重启M2不丢失记录

AddTextListEx ..\QuestDiary\功能文件\爆出提示.txt <$CURRTEMNAME>

;发送全区首爆提示公告

SendMsg 1 恭喜玩家:<$USERNAME> 爆出全区第一个<$CURRTEMNAME>

三、查找键值(逻辑判定命令)GOMHashTableContainsKey

1、命令功能

检索哈希表内存中是否存在指定标识字符串的键值数据,用于各类脚本逻辑判定,是传奇功能判定的核心辅助命令。

2、命令格式

GOMHashTableContainsKey 参数1

3、参数详解

参数1:需要检索的标识字符串,不区分大小写,与写入键值的标识内容对应。

4、基础使用案例

#IF

GOMHashTableContainsKey 标识字符串

#ACT

sendmsg 6 找到此记录!

四、读取键值命令 GOMHashTableGet

1、命令功能

读取哈希表中指定标识字符串对应的存储数据,可将内存数据调取到脚本变量中,用于后续逻辑调用、文字展示等场景。

2、命令格式

GOMHashTableGet 参数1 参数2

3、参数详解

参数1:待读取的标识字符串,不区分大小写;

参数2:存储数据的自定义变量,用于接收读取结果。

4、基础使用案例

#ACT

GOMHashTableGet 标识字符串 <$STR(D1)>

;读取成功则变量D1存储对应数据,无记录则变量为空

sendmsg 6 内容为:<$STR(D1)>

五、删除单个键值命令 GOMHashTableRemove

1、命令功能

精准删除哈希表内存中指定标识的单条键值数据,删除后无法再查询、读取该条记录。

2、命令格式

GOMHashTableRemove 参数1

3、参数详解

参数1:需要删除的标识字符串,不区分大小写。

4、基础使用案例

#ACT

GOMHashTableRemove 标识字符串

;执行后,该标识对应的内存数据彻底清除,查询、读取均无效

六、清空所有键值命令 GOMHashTableClear

1、命令功能

一键清空哈希表内存中所有已存储的键值数据,批量清除全部记录,无需逐个删除。

2、命令格式

GOMHashTableClear

3、基础使用案例

#ACT

GOMHashTableClear

;执行后,哈希表内所有历史数据全部清空,重置为初始状态

七、载入文件键值命令 GOMHashTableLoad

1、命令功能

将本地文本文件数据批量载入哈希表内存,实现数据持久化,解决M2重启后内存数据初始化丢失的问题。

2、命令格式

GOMHashTableLoad 参数1 参数2 参数3

3、参数详解

参数1:本地文件载入路径,适配传奇QuestDiary功能目录;

参数2:统一赋予载入键值的存储内存内容;

参数3:数据分割符号,留空默认以换行符分割文本内容。

4、实战使用案例

QManage.txt 启动载入配置】

[@Startup]

#ACT

GOMHashTableLoad ..\QuestDiary\功能文件\爆出提示.txt 1

;文本文件以换行分割数据,参数3留空,批量载入所有物品首爆记录

八、文件载入加强命令 GOMHashTableLoadEx

1、命令功能

进阶版文件载入命令,在基础载入功能上增加标识附加值,可区分同文件不同数据用途,适配复杂传奇多功能并行场景。

2、命令格式

GOMHashTableLoadEx 参数1 参数2 参数3 参数4

3、参数详解

参数1:本地载入文件路径;

参数2:标识字符串附加值,自定义字符,用于区分不同功能数据;

参数3:载入键值的统一存储内容;

参数4:数据分割符号,留空默认换行符分割。

4、实战使用案例

QManage.txt 启动载入配置】

[@Startup]

#ACT

GOMHashTableLoadEx ..\QuestDiary\功能文件\爆出提示.txt ABC 1

;自定义附加值ABC,区分该组数据的功能用途

#ACT

GOMHashTableGet ABC金项链 <$STR(D1)>

sendmsg 6 内容为:<$STR(D1)>

;读取结果为1,通过附加值精准区分不同功能的同名数据。

扫描二维码推送至手机访问。

本文章九路游发布,如需转载请注明出处。如有侵权请联系站长删除。

本文链接:https://www.9luu.com/492.html

分享给朋友: