传奇部落

[端游教程] ESPHashTableCreate写入键值到内存详细说明

[复制链接]
发表于 2023-7-29 22:48:31 | 显示全部楼层 |阅读模式
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|小黑屋|网站地图|皖ICP备18020244号-7|传奇部落

GMT+8, 2024-11-23 19:01 , Processed in 皖公网安备:34112402000394号 0.105400 second(s), 22 queries , Gzip On.