传奇部落

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

[复制链接]
发表于 2023-7-29 22:48:31 | 显示全部楼层 |阅读模式
ESPHashTableCreate. G- a* r( E& y4 w+ Y) I) y

7 e9 t7 P1 d, T2 V& n6 L, C功能:写入键值到内存. a- e# z# M% x& j8 F# O

7 X8 P; ?8 m/ o! T# L命令:
4 {9 z8 F& s: d( b ) A2 r( h3 q# M5 s; Q$ o5 Q$ z0 {
ESPHashTableCreate 参数1 参数2
0 m% W, o6 R7 `1 S: ]; C
) F3 S7 [# n, K7 d( h- W3 U1 G参数详解:
* X* @# E9 T9 {0 q( C1 h0 c
% z" Y  F6 X! a7 T
/ {- W. ~& G7 a4 {! x7 c+ }& z2 d
参数1:标识字符串(不区分大小写)$ Y5 S  Z+ ]7 t- Z! N2 ]7 j

0 c; a: J- @3 a$ p4 V+ P! h

; I+ w; I" L* B) J! l: h* \6 f' x/ ?参数2:存储内容' T7 f" r  n5 V1 H. b( m- d: u

- R, r. B# t* ]/ e; F
! n0 j5 z1 [9 M
例子:
% {) }' B$ R# g& j: \1 d2 w+ Z* s! `  l$ z8 ~0 P, e% ]/ L

1 }2 e" z4 s, L$ E0 M+ k5 O" }我们做个物品首爆提示功能
3 E" C, m: u) u6 V" H8 Z& @: Y3 p2 {9 c/ ^" _5 M) H
" i/ Y: Y% T# k7 ]6 D1 B9 l
首先开启ESP功能,功能窗口二-个性化功能-开启物品爆出掉落反馈勾选后保存( C& {) o: \* S" W
$ B. U# T" }$ S

3 {1 d4 Z- H6 {# K. T0 p6 g下面进行脚本编写- ?* o2 b5 ~  J* d

) K" U8 V# @) G
& w2 O2 p# N0 s* Z' ~5 Z; Z6 [" V3 m
QManage.txt0 q4 g6 X: N/ i6 x, L" i

, L# K) u9 o; Z6 W' O
' T! G3 g4 V8 [5 |% ]" u
[@Startup]7 Y: f4 P8 d# l0 h
7 s7 _0 X3 T( E- D3 i3 N9 U
8 o2 }' e; ]7 W# K0 x0 N
#ACT( R/ N( M7 j- @2 e! v, S  r
% j4 }) i, R! i4 \) V

! X* i- M* a" d;写在这里,是因为我们要把之前的记录,载入到哈希链表里,用于查询记录
  |0 E8 {% s" f& H; f- U
- P  H, S% N& B1 ?0 E0 l

9 A' e9 n! w1 n" _. @/ o) J- a% KESPHashTableLoad ..\QuestDiary\功能文件\爆出提示.txt 15 M# e& v# y. \1 z- P

6 l3 p2 Q: d: l5 Y( ~; x
9 X' K# f* h7 Y  C, b  C) c7 R
;载入文件记录,如果想每次启动M2重新计算的,这里就可以去掉,因为哈希值链表,进程每次重新启动就会初始化,他虽然是全局,但不会保存记录到下次启动M2,也不会因为玩家下线而清除之前添加的键值这一点需要理解。- i: y7 k$ P- Z( _& x8 q; [
/ O5 m/ c9 |* m5 p3 h* U2 a
, Y' R* K- H& }; J0 P6 [
QFunction-0.txt
4 s, |; e; e7 L9 T
$ E2 F/ Q1 K) s- ^
- n3 L; g" O& P& @/ k1 U
[@物品爆出反馈]6 [! m- z+ i6 j- a' M' b' C% V

2 J7 S; y3 a" C+ D
$ i+ S$ {% w: e7 e. E
#IF
$ v" w$ f! Q% u! J) P8 R, r- `( z/ Y) W6 h' x' q: e1 x: b

, e. L4 r# Z0 L6 [ESPHashTableContainsKey <$STR(S$当前爆出物品名称)>
* ?7 n3 `4 w/ Y. T& _+ H9 E4 n1 \4 T2 a" d3 ?) N% [. N9 x
' }6 F8 a* ~( O8 ?2 g
;这条是查询指令,判断有没有这条记录,因为是用内存算法查找,所以会比用Checktextlist这个命令快上百倍、上千倍,以替代消耗较大的命令,这也是开发哈希链表主要原因,
; k/ L, w$ _9 N9 w$ D7 k4 D& l
/ M0 m# x  M6 I0 j
0 g/ \3 J% ~/ r+ N9 K
#ACT* \( Q6 X" K" S! d* s1 i$ h

7 L4 Y/ Y8 x( q" G

( n9 f/ g- h  a# K9 o: Q, ~;跳到这里,说明找到此记录,那就不是首爆了,那就空着,不写代码& S+ G6 U$ o! q

* P# F5 D: ?8 O* ~' F' d1 `

. m# D( g8 t; ]9 o% c$ b#elseact
; L0 V* c4 B, X! @0 X8 q0 c4 _4 c) C" V2 e
9 u; a5 c& O1 ]3 g0 h
;跳到这块,说明没找到此记录" P: D# q- R  o( d( f5 X, G1 n

' A1 r" g& `" A- N* m1 F) P
& Q" j9 ^5 L- h/ s
ESPHashTableCreate <$STR(S$当前爆出物品名称)> 1; T3 v9 I6 n  {$ Y- ]" X2 t8 \6 o

. k/ Z; ~. D4 R) T

5 V" d  e3 c- |2 F; l8 C;加入哈希链表记录,参数2可以随便定义一个,在这里、用1就可以
8 o' D2 H0 E& ?+ ~+ X8 z. C+ D! r; L; W! S

. y8 F% _) Q6 h6 ~( _* M1 Q/ {, ?AddTextListEx ..\QuestDiary\功能文件\爆出提示.txt  <$STR(S$当前爆出物品名称)>
/ Z0 D3 T% H6 G' l) V" J0 A9 N' y/ v

6 ^: ~. s1 `& Y6 b;同时输出文件,下次重新启动M2也可以载入此记录,如果想每次启动M2都是初始化,这句输出文件和载入命令也可以免了
6 J7 I/ S( l! q7 Y! |. ]9 _# h
5 V+ \! Y. ]% ^* e% s3 O- y
: N# j, @# {( B7 |; J! d
SendCenterMsg 180 251 恭喜角色:<$USERNAME>,爆出全区第一个<$STR(S$当前爆出物品名称)> 0 3
7 R( o5 c) f7 w+ P$ ?* I9 X7 Q
1 D5 m! q* H) o& D8 y
站长承接传奇一切业务,小问题免费咨询。站长QQ137919001
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|网站地图|皖ICP备18020244号-7|传奇部落

GMT+8, 2026-9-18 12:44 , Processed in 皖公网安备:34112402000394号 0.182581 second(s), 23 queries .