找回密码
 立即注册
查看: 170|回复: 0

ESPHashTableCreate写入键值到内存详细说明

[复制链接]
  • 打卡等级:无名新人
  • 打卡总天数:2
  • 打卡月天数:0
  • 打卡总奖励:32
  • 最近打卡:2023-03-12 13:14:18

813

主题

0

回帖

813

积分

高级会员

积分
813
发表于 2023-11-8 23:58:47 | 显示全部楼层 |阅读模式
ESPHashTableCreate

功能:写入键值到内存

命令:

ESPHashTableCreate 参数1 参数2

参数详解:


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


参数2:存储内容


例子:


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


首先开启ESP功能,功能窗口二-个性化功能-开启物品爆出掉落反馈勾选后保存


下面进行脚本编写


QManage.txt


[@Startup]


#ACT


;写在这里,是因为我们要把之前的记录,载入到哈希链表里,用于查询记录


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


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


QFunction-0.txt


[@物品爆出反馈]


#IF


ESPHashTableContainsKey <$STR(S$当前爆出物品名称)>


;这条是查询指令,判断有没有这条记录,因为是用内存算法查找,所以会比用Checktextlist这个命令快上百倍、上千倍,以替代消耗较大的命令,这也是开发哈希链表主要原因,


#ACT


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


#elseact


;跳到这块,说明没找到此记录


ESPHashTableCreate <$STR(S$当前爆出物品名称)> 1


;加入哈希链表记录,参数2可以随便定义一个,在这里、用1就可以


AddTextListEx ..\QuestDiary\功能文件\爆出提示.txt  <$STR(S$当前爆出物品名称)>


;同时输出文件,下次重新启动M2也可以载入此记录,如果想每次启动M2都是初始化,这句输出文件和载入命令也可以免了


SendCenterMsg 180 251 恭喜角色:<$USERNAME>,爆出全区第一个<$STR(S$当前爆出物品名称)> 0 3


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|白黑论坛 |网站地图

GMT+8, 2024-11-11 03:43 , Processed in 0.013270 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表