ESPHashTableCreate& l$ e( v, V* U8 G" x
4 F8 f; g4 P& V' X+ T( L
功能:写入键值到内存; |3 v2 g2 f' }8 M
7 F1 I; A) G7 b
命令:" s" r4 D/ W- ~- Q
- u" J( C3 _' l! y6 s: v% ]ESPHashTableCreate 参数1 参数2
2 h6 @- v" Y9 e/ J
- r8 ?7 A7 a" Q1 O+ m' ]参数详解:7 m2 M' a% q+ b O/ e/ ]5 D! W
9 U7 R, i' V9 Z" C, F# z# j" \+ q4 @ B' V! d# c; ~
参数1:标识字符串(不区分大小写), Z' T/ n. h s5 p j3 H
: t. p/ p2 _: Q; Y$ G: J8 ?
1 l6 r4 p+ m# Q; T! e J7 y6 z参数2:存储内容9 g( N/ v$ Z, B" J
3 l, ?& \+ @" b6 L8 Z# T
T: K, }: |. A% j/ o
例子:
5 f# }# h" I- y" x* X# M" u
; ` W+ c& P: L" m$ v) @3 K# K, n: L0 K. ^+ c# e9 t8 R
我们做个物品首爆提示功能
% U2 l' z' N, y9 _
1 e6 _" `' v- }7 e& ~6 h; r& a! I/ _( I: Q) F
首先开启ESP功能,功能窗口二-个性化功能-开启物品爆出掉落反馈勾选后保存* P. n7 @5 C' V3 n
% A2 x% J. A0 n. S$ A- K. d p: C F, a/ w; w- b
下面进行脚本编写% G/ g; {& ?6 ?- \# E8 O
2 E0 D4 Q) t& x$ J! ?* f+ Y
" t' ]5 ~; A. c7 }1 d
QManage.txt
/ b1 F- \- Z, @$ [# w2 s" o) R/ v" Z; }9 b2 k! c2 F# ^
- R' ^& h% i( B' e
[@Startup]% w' G$ \8 O7 X9 G3 Z
0 S3 S0 } D8 I) F% {" H7 b4 {7 s5 ]# ~1 }! S+ }$ @0 d9 f0 N
#ACT* ~( I0 h2 M/ {" t" p7 _
( m4 s, f* ?- ^& |3 h; y. U: }; Q
2 P9 u/ L$ ~4 T3 v ^* W;写在这里,是因为我们要把之前的记录,载入到哈希链表里,用于查询记录
! Q: [" g; b5 Y) D$ G' g" K1 o
8 o- r% x+ B8 F9 `7 @. R+ H5 ^8 T" m# S
ESPHashTableLoad ..\QuestDiary\功能文件\爆出提示.txt 1/ B! f3 k( m% _& k# o8 M3 V" W
6 X; c. r! W. q) A* i) a, n c J" ]
;载入文件记录,如果想每次启动M2重新计算的,这里就可以去掉,因为哈希值链表,进程每次重新启动就会初始化,他虽然是全局,但不会保存记录到下次启动M2,也不会因为玩家下线而清除之前添加的键值这一点需要理解。! l- ?* O( u9 F h
/ K& B. }* x3 E, i2 O/ g4 |/ ~
, K) Z( d4 q" S; c2 Z3 EQFunction-0.txt
1 |. C& ~- `+ x- `! g& Z. c- ~- R
& @) { |, M: M( m" l% a) b3 B" _9 h2 }4 a/ n+ |
[@物品爆出反馈]; E/ ^- h& G& l% U, D! B
4 P) I$ o# n) Z# _5 Z# J6 K7 P4 b4 l. Q( r/ {" w7 ^. E) z! r0 u, A/ y
#IF
( M# h3 }% B& O: ^% ]
! q2 ~# b- r2 }/ c
, Z; I8 W' H; R/ |8 PESPHashTableContainsKey <$STR(S$当前爆出物品名称)>
' {! l* X, [7 a) k0 [$ u2 U! f% g1 N5 s* Z
( B1 q- v' @6 l% }0 [: D2 {
;这条是查询指令,判断有没有这条记录,因为是用内存算法查找,所以会比用Checktextlist这个命令快上百倍、上千倍,以替代消耗较大的命令,这也是开发哈希链表主要原因,) g- z/ `& {9 m" q0 q
9 r& P3 k5 \. B( C! P3 g' K/ U' b8 k( | Q( a. J
#ACT5 \: I, G: a2 l" m! @+ T9 N6 u* S
) U. f& Q6 s. B$ r; M
7 [) |$ [0 X" r8 Z1 t- E* B+ z% Q' \3 m
;跳到这里,说明找到此记录,那就不是首爆了,那就空着,不写代码 R8 j3 J; {4 i2 N% ~
( ~$ u/ y% M$ I) U
, O9 c6 q( A& D4 F: m+ k
#elseact
# w# m7 S. @7 @$ |' P. D" k! U, t, N
/ `( r) I" q1 O& `" d* Z& E6 N9 ];跳到这块,说明没找到此记录8 Y) Z0 q, s6 E2 ^. U
# Z' o& [4 P* \! y9 ~& o3 p
) w2 i% d; ~, K& r' eESPHashTableCreate <$STR(S$当前爆出物品名称)> 1& i. `, i3 ^ C3 l& k7 f
, x9 ]2 U! I- H1 M% j
) H" N' m% P; Q
;加入哈希链表记录,参数2可以随便定义一个,在这里、用1就可以
# p' w1 T `( c. v7 Z w8 F9 m4 f t; h' Q5 e; d
- b/ h% `! x# i$ @6 k9 @5 r/ L6 [AddTextListEx ..\QuestDiary\功能文件\爆出提示.txt <$STR(S$当前爆出物品名称)>
2 U( _+ h; Q1 d; {# @+ a) z# j4 ~
k: b& T/ G8 b, h
- ~- S. e; O# J, N; ^' G/ M;同时输出文件,下次重新启动M2也可以载入此记录,如果想每次启动M2都是初始化,这句输出文件和载入命令也可以免了! V$ j/ u9 ?- N2 o$ v
+ c2 z/ g5 n, g" k" L2 V* D4 Y! B; b' `0 `$ p& t# C+ ?* x
SendCenterMsg 180 251 恭喜角色:<$USERNAME>,爆出全区第一个<$STR(S$当前爆出物品名称)> 0 3
- K8 t' x9 N# U( G4 E8 C' M' e6 U0 e+ Y* y- o. S9 U
|