ESPHashTableCreate
4 p) Y8 \) w0 Q& {* h. C/ W1 x
* r. \$ o$ q4 z) H6 E; E% _9 e功能:写入键值到内存2 ^4 {: V" j6 Y: L) b/ L8 u- X3 T
& e& W. }" z9 ]命令:
L0 C) W" l( l# \' c+ c/ Y% w9 o # l* I4 }) j# L; j& @6 S/ O
ESPHashTableCreate 参数1 参数2
! [+ i" }: T" B 3 g3 i+ J: r/ L \6 o* L: M
参数详解:
+ B9 |* }8 ^5 T% a" M9 N# G' q5 }( Q0 b: _* D; j% M+ Q
. G0 h5 {% V- B" S& ]; u# [" A
参数1:标识字符串(不区分大小写); m( P- @1 ]' F x A8 k3 @
; J2 k% [8 w. {0 R( _' z
4 l) l9 A5 b* G
参数2:存储内容
1 Q) { Z4 N7 l1 `
$ X+ P; ~% M) I& o& ?$ c# G
- }; I+ Q& s+ \( B) k' H# Q m* ^例子:
$ [; x0 V. A0 W
~* U& U' E: q7 o. x& J% ~$ w" B& c
我们做个物品首爆提示功能
2 @* q* V5 X" a5 X& u2 E' X M7 U. U: h, e# i# I( \
( O1 r! k4 \0 p- g% m首先开启ESP功能,功能窗口二-个性化功能-开启物品爆出掉落反馈勾选后保存7 n k8 g: L$ B) O: C1 Z) c; Z
- |1 N F9 h% T! }4 \7 ~- _5 |5 Q" U( ]1 e
下面进行脚本编写
' a y# V3 O5 `4 L& l2 M+ S
$ K) d4 W$ \1 _4 X7 X( f( K1 m8 w: [( V+ l
QManage.txt
" e/ r" W' s: @7 {5 i1 [2 r6 |% {9 d1 V- X
3 `6 m$ s8 F' Q[@Startup]
* }/ H7 {7 B- e6 a5 u7 e2 l* A! a; `. y" m
8 _ W/ B& @- c9 |3 a
#ACT- T' ~- O: s; N( w+ f2 W
0 j# h( L8 E" B2 x/ }' R
& C5 V, e0 B2 `2 S
;写在这里,是因为我们要把之前的记录,载入到哈希链表里,用于查询记录
2 r8 o6 o \. l5 E6 J$ ~# J, |9 z9 ^
% X4 s; O# ^0 c# F7 s# m7 p' k
ESPHashTableLoad ..\QuestDiary\功能文件\爆出提示.txt 10 B& M/ H! t# G" [. R5 a
1 T; a+ H+ [) x" d, `; [# {6 ~
( t# _, ?4 q5 G! l/ U0 K6 M" i) s;载入文件记录,如果想每次启动M2重新计算的,这里就可以去掉,因为哈希值链表,进程每次重新启动就会初始化,他虽然是全局,但不会保存记录到下次启动M2,也不会因为玩家下线而清除之前添加的键值这一点需要理解。! y' A- R' B1 z2 K
4 o8 i8 C, f: @1 l
( _0 T9 d: }* |! ~! R' V" EQFunction-0.txt& D7 O8 B2 P4 F5 o6 n8 H. q. z/ u
9 R+ f# W. r' F
* }) ^# Q2 q' y! p
[@物品爆出反馈]. {# P( f( n9 F- D% A
* D/ k$ b; n6 \8 c
& ]! K6 o6 v% K" r4 B
#IF
% G0 B+ b# ^" a3 X* ]
1 r" M: u! q! u6 d( b. N" T7 j( @8 d" E; \3 |* O, F6 `7 m2 `
ESPHashTableContainsKey <$STR(S$当前爆出物品名称)>! l d+ {' g$ T. ]3 j9 M$ U
: _! R9 B. U1 \; p R4 ]
8 P, d/ O1 [9 e; {6 K2 [;这条是查询指令,判断有没有这条记录,因为是用内存算法查找,所以会比用Checktextlist这个命令快上百倍、上千倍,以替代消耗较大的命令,这也是开发哈希链表主要原因,
3 a& d/ J$ r* N5 f6 |: V" N: R Q' g0 B0 ^/ \7 z6 J
$ r8 y' v/ c* Q T#ACT
1 w- L6 O- v4 z6 u) m
. g: f. l. `8 l( ~1 I( A b- P! O4 }+ U( p1 v2 |6 _, K+ x
;跳到这里,说明找到此记录,那就不是首爆了,那就空着,不写代码& Y4 W' F8 K6 e
& G$ E5 L+ y& y' E, d; j( T- W6 k; ~) r, V6 X
#elseact" e! C( I& I1 ~& ~ m
1 F! d6 ~0 `* p/ j3 O* N5 g( U4 L* i% _; |! _
;跳到这块,说明没找到此记录
/ s9 O9 t$ @6 }& ~
. _% w. ?5 y: J( P$ X {
) C: R) X9 e5 R {ESPHashTableCreate <$STR(S$当前爆出物品名称)> 1/ n; a7 i# A" K7 V4 `
) B0 w& ^6 N% p5 d! R
! S5 M( y% e" d6 |: z, @) J
;加入哈希链表记录,参数2可以随便定义一个,在这里、用1就可以" ]& J/ Z$ w0 f: g9 X0 `
" F9 ]3 }4 \9 i; }5 G4 I' ^
: x0 i& N8 }- X8 x) ^* B
AddTextListEx ..\QuestDiary\功能文件\爆出提示.txt <$STR(S$当前爆出物品名称)>3 @# M( T8 ?- g2 Q& J, J
( R/ A/ A3 E+ n0 h& W
* k; D- I6 A2 G: p! c$ p;同时输出文件,下次重新启动M2也可以载入此记录,如果想每次启动M2都是初始化,这句输出文件和载入命令也可以免了7 h0 a1 f/ X& J" m
! j) j. \# L9 L. ?* `8 m2 x9 {5 D, I' Z
/ t- e) m6 Y) f- H' @3 O5 NSendCenterMsg 180 251 恭喜角色:<$USERNAME>,爆出全区第一个<$STR(S$当前爆出物品名称)> 0 3# o2 q, W- e- Q; a6 h. e& s
: r, M J. R$ Y: [1 d |