• QQ:15656018

    工作时间

    周一至周五:9:00-23:00

    周末及节日:9:00-23:00

  • 手机版二维码

    随时手机查素材

    gm下载站
  • 扫描二维码

    加入官方QQ群

    gm下载站
发布资源赚元宝
gm下载站 管理员
  • 未知地域
  • 9033发帖数
  • 9012主题数
  • 0关注数
  • 0粉丝
开通vip会员

[引擎功能] 写入键值高速哈希表功能

[复制链接]
gm下载站 发表于 昨天 14:35 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

马上注册,查看更多内容,丰富传奇GM资源等你下载探索。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
写入键值(包含物品首爆例子)
GOMHashTableCreate

功能:写入键值到内存
GOMHashTableCreate 参数1 参数2

参数详解:
参数1:标识字符串(不区分大小写)
参数2:存储内容

例子:
我们做个物品首爆提示功能

QManage.txt

[@Startup]
#ACT
;写在这里,是因为我们要把之前的记录,载入到哈希链表里,用于查询记录
GOMHashTableLoad ..\QuestDiary\功能文件\爆出提示.txt 1

;载入文件记录,如果想每次启动M2重新计算的,这里就可以去掉,因为哈希值链表,每次重新启动就会初始化,虽然是全局,但不会保存记录到下次启动M2,也不会因为玩家下线而清除之前添加的键值。


QFunction-0.txt

[@PickUpItemEx] ;这是拾取物品触发 爆物品触发看这里
#IF
;这条是查询指令,判断有没有这条记录,因为是用内存算法查找,所以会比用Checktextlist这个命令快上百倍、上千倍
GOMHashTableContainsKey <$CURRTEMNAME>

#ACT
;跳到这里,说明找到此记录,那就不是首爆了,那就空着,不写代码

#elseact
;跳到这块,说明没找到此记录
;加入哈希链表记录,参数2可以随便定义一个,在这里、用1就可以
GOMHashTableCreate <$CURRTEMNAME> 1
;同时输出文件,下次重新启动M2也可以载入此记录,如果想每次启动M2都是初始化,这句输出文件和载入命令也可以免了
AddTextListEx ..\QuestDiary\功能文件\爆出提示.txt  <$CURRTEMNAME>
SendMsg 1 恭喜玩家:<$USERNAME> 爆出全区第一个<$CURRTEMNAME>

查找键值(逻辑判读命令)
GOMHashTableContainsKey

功能:查找键值

GOMHashTableContainsKey 参数1
参数详解:

参数1:标识字符串(不区分大小写)

例子:

#IF
GOMHashTableContainsKey 标识字符串
#ACT
sendmsg 6 找到此记录!

功能:读取键值
GOMHashTableGet

GOMHashTableGet 参数1 参数2
参数详解:

参数1:标识字符串(不区分大小写)

参数2:存储的变量

例子:

#ACT
GOMHashTableGet 标识字符串 <$STR(D1)>
;有没有内容,取决于这个标识字符串有没有写入数据
sendmsg 6 内容为:<$STR(D1)>

功能:删除键值
GOMHashTableRemove

命令:

GOMHashTableRemove 参数1
参数详解:

参数1:标识字符串(不区分大小写)

#ACT
GOMHashTableRemove 标识字符串
;删除后,再查找或读取这个标识字符串,就不会有这个记录


功能:删除所有键值
GOMHashTableClear

命令:

GOMHashTableClear

例子:

#ACT
GOMHashTableClear
;全部删除后,此前添加的记录也会全部没有


功能:载入文件到键值
GOMHashTableLoad

命令:

GOMHashTableLoad 参数1 参数2 参数3
参数详解:

参数1:载入的文件路径

参数2:存储内容(载入的键,全部赋予此存储内存)

参数3:分割符号(留空代表换行符)

例子:

QManage.txt

[@Startup]
#ACT
GOMHashTableLoad ..\QuestDiary\功能文件\爆出提示.txt 1
;我们这个txt以行作为分隔符,所以参数3留空。

功能:载入文件到键值加强
GOMHashTableLoadEx

命令:

GOMHashTableLoadEx 参数1 参数2 参数3 参数4
参数详解:

参数1:载入的文件路径

参数2:标识字符串附加值(这个内容加上文件读取分割的内容,用于区分用途)

参数3:存储内容(载入的键,全部赋予此存储内存)

参数4:分割符号(留空代表换行符)

例子:

QManage.txt

[@Startup]

#ACT
GOMHashTableLoadEx ..\QuestDiary\功能文件\爆出提示.txt ABC 1
;我们这个txt以行作为分隔符,所以参数4留空。

;比GOMHashTableLoad多了标识字符串附加值
#ACT
GOMHashTableGet ABC金项链 <$STR(D1)>
sendmsg 6 内容为:<$STR(D1)>

;那读取到的内容就是1,ABC是自己定义的,用于区分不同用途


上传梦想,下载希望,为传奇爱好者添砖加瓦!
世界上能用金钱兑换时间的机会不多,这里就有一个!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

猜你喜欢
全国统一客服QQ
QQ:15656018

24x7小时免费咨询

  • 官方在线客服

    QQ客服:小西

    点击交谈

    QQ客服:良子

    点击交谈

    QQ客服:闵月

    点击交谈
  • 上海市虹口区海伦中心B座4F4055-4056室

  • 手机查找资源更方便

    手机扫码查看手机版

    手机查找资源更方便

  • 传奇QQ群

    扫一扫关注传奇Q群

    加入传奇QQ群

传奇游戏资源分享基地 gm下载站 ©2010-2024 传奇版本网站传奇游戏源码资源下载中心( 鄂ICP备2024043260号-1 )网站地图