传奇部落

M2引擎提示Npc:QFunction禁止点击该NPC触发字段处理方法

[复制链接]
发表于 2022-11-27 17:07:32 | 显示全部楼层 |阅读模式
传奇GOM引擎关于脚本安全相关,部分新手写脚本不严谨,导致游戏脚本被封包利用造成损失,再这里给大家举例说明几个脚本安全相关示例4 q  J, o5 d0 a7 E4 U7 B$ i
; E. ]5 |0 {) Z  ?+ |, z3 _  ~! f
首先涉及到GOTO,CALL,和非NPC界面使用鼠标点击的脚本,我们可以利用引擎禁止点击字符进行强化安全,下面我们就使用系统禁止点击触发命令 :PlayDie ,这个命令是死亡触发命令,引擎文档也提到只要脚本头前缀涉及包含PlayDie 那么不允许点击,这个可以搜索引擎文档进行了解,搜索关键词:为什么提示禁止点击该NPC触发字段
* J' ~* |4 ^2 \1 [; ^$ X3 y0 ^+ q: Y4 d9 Q0 ?) K8 R
QQ截图20221127170252.jpg 0 G  k( `3 d" H& k; t
0 Y4 G3 _' U  T

$ R. _6 Z$ R# l, f' `+ l. A风险脚本示例1------------下面----------看讲解为什么是风险----------------------------------" \$ p0 e0 x5 v, g+ ?8 n
;下面是NPC脚本:7 s0 Y1 k5 e4 d' t# x; w4 y
[@main]
) S3 T& a. @; r( _\( `% u" J) B" J5 @' ~5 c2 D9 T& I9 M
[@正常开始回收]/ ^' c4 P  _9 u' r3 m
#IF1 P; t/ E6 k/ x+ B8 u5 C1 |) E
EQUAL U108 0
2 ?. @! e* [$ E+ S#ACT4 D: J: U8 G- r6 h' j
#CALL [\回收元宝系列\装备回收价格.txt] @回收装备正常
8 ^+ z  ]1 U# @) fCLOSE; u! `+ J- [; M
break9 s. ^& ~  K$ k4 S( Y& G) O
;下面....QuestDiary\回收元宝系列\装备回收价格.txt脚本(因为上面NPC脚本已经将脚本CALL到这里了)
/ c+ v9 m4 e7 _: j& s9 s; Z;执行条件为  检测 U108变量不等于0则CALL到下面脚本执行
  K0 K. W1 }, ~# u, r[@回收装备正常]
+ o8 T6 C9 V: Q% D) j{# Y9 G8 ?0 ]# W2 [  H! z
#IF% }$ v9 u( }! |; E7 O9 q  y
check [100] 1
( U/ D/ x9 S$ t0 X, R, W: t#ACT
) K! P2 {! ?* K& X7 Zgoto @战狂回收检测A  o' [3 ], _3 p4 F2 n( n5 @
#IF" j4 w4 u& W# M6 `) C9 m% ]
check [101] 1& O$ b4 Q5 a- y4 v
#ACT
( S0 G2 y7 w6 G  ggoto @神武回收检测B3 z  q5 I) }" j/ s) d8 P1 r7 b' v* m
#IF/ Z+ L0 I) N4 Q& K
check [102] 1. |3 R9 ~  F# M
#ACT
5 v/ }) f: ]& ~6 s% Ygoto @烈火回收检测C- y0 b6 u' H) b" a6 k2 T
break, d- B( J) F( z% H, U* s
;--下面是上方GOTO执行脚本,5 a6 U6 X, t8 a; k8 x
;执行条件为  分别检测个人标识100  101  102等于1则GOTO进行执行下面对应脚本
3 |* }6 h  ^) o2 u  x[@战狂回收检测A]' X6 k( d( R0 w" ^
#OR! \5 F+ \4 V! O
Checkitem 战狂精铁剑 1" x$ @2 D/ _" \8 o/ O. B4 b5 Y
Checkitem 战狂精铁铠 1
% [; a$ H& [/ M, \Checkitem 战狂头盔 1
) s# z  `7 Q6 m) aCheckitem 战狂项链 1
' q& B0 M; }0 KCheckitem 战狂手镯 1
5 p' d! i8 \; h4 c8 X) c) w' L0 [Checkitem 战狂护腕 1
! M( ^) V& O9 _4 \) @* @; B" d  PCheckitem 战狂戒指 1
2 o2 x9 \/ ], N/ N) |Checkitem 战狂指环 1
! ~3 @$ Y9 I3 m% bCheckitem 战狂腰带 14 ]: Y; c0 P# `( Q* a6 w
Checkitem 战狂靴子 1
! H, ]/ W6 t3 X0 K#ACT
& B% q2 Z( E8 gTakeBagItem 战狂头盔|战狂项链|战狂手镯|战狂护腕|战狂戒指|战狂指环|战狂腰带|战狂靴子 46 20 0 0 38000 N0 1
0 H& W1 k7 I0 e9 U9 lTakeBagItem 战狂精铁剑|战狂精铁铠 46 40 0 0 76000 N1 19 O  F+ p& i' m* x; I! G+ r
MOV N$回收金额A2 q9 `+ s8 O- S
MUL N$回收金额A 20
0 f" z9 f6 e9 K" |. C/ D  `MOV N$回收金额B3 H9 w- C/ y7 {: y
MUL N$回收金额B 40
% Y  h5 Q- u9 nINC U89, b% {2 w" @  r6 o
INC U895 [# z7 U4 [5 N+ s! K- [, n2 F
SENDMSG 0 【装备回收】:恭喜{[]|250:0:1}成功回收{战狂套装|254:0:1},获得海量[{元宝,经验|254:0:255}]...!!! 31 0- F  I) [  `, {
break
: Z; x+ i- {( s5 o4 J; m' t7 h0 ~7 g[@神武回收检测B]
4 H) z1 b# o# `1 F#OR$ o6 t( ~  N% b* }7 P
Checkitem 神武嗜血剑 1& I& W' s3 w: |4 [4 ~
Checkitem 神武嗜血铠 1
+ G' M$ v0 c. H+ l5 K3 ~) Z6 x! WCheckitem 神武头盔 13 Z7 Y6 }! c& Q) \; T  L5 a+ A
Checkitem 神武项链 1
& Z, U! ?% D* Z( l. z4 |Checkitem 神武手镯 1
" R$ k- \2 N" |! XCheckitem 神武护腕 1( x& U( R( S! h" N
Checkitem 神武戒指 1  @( y9 y& k* P
Checkitem 神武指环 1
" _  \1 L5 T# P$ T- K; y+ GCheckitem 神武腰带 1- d4 S7 ?, q, _5 o" r
Checkitem 神武靴子 1
7 `" _) f2 s3 [+ d: S) `2 ~#ACT, v# _' U0 |0 b0 _3 ^) W
TakeBagItem 神武头盔|神武项链|神武手镯|神武护腕|神武戒指|神武指环|神武腰带|神武靴子 46 40 0 0 40000 N0 1  L) Z; V$ O4 ?4 D
TakeBagItem 神武嗜血剑|神武嗜血铠 46 80 0 0 80000 N1 1; g  @1 O- n# a4 I% n7 F0 D
MOV N$回收金额A0 _% X' {* p* T) J$ D
MUL N$回收金额A 408 `! i: E1 \5 `  n
MOV N$回收金额B7 E1 A0 f! i/ F# w
MUL N$回收金额B 804 t+ u8 _6 N* c% q/ Q0 W0 e
INC U89) i% m! P8 j" n! {
INC U89
% m/ Y# @. [' U- |SENDMSG 0 【装备回收】:恭喜{[]|250:0:1}成功回收{神武套装|254:0:1},获得海量[{元宝,经验|254:0:255}]...!!! 31 0
$ ?5 A. V, L) g7 Fbreak. q0 i) j$ L9 i7 I% o) l
[@烈火回收检测C]- t$ M. P7 i' {. `- Q3 y
#OR
; y5 d4 `+ j& L/ v1 d# d7 ?3 zCheckitem 烈火焚天剑 18 K: {* Q6 A/ k: P6 t
Checkitem 烈火焚天铠 1
( }. N& K1 i, a5 ~3 U4 ~Checkitem 烈火头盔 1
! d1 F1 N0 l! x* ]4 w' GCheckitem 烈火项链 1
" v6 N# O! x9 y6 A' VCheckitem 烈火手镯 1' N4 L# }: r# t6 c  N  y( K' N& U
Checkitem 烈火护腕 1! R: g8 M( L# p# B
Checkitem 烈火戒指 19 V' z5 l6 x/ \$ z8 z( m: [% ~
Checkitem 烈火指环 1  E' q4 h. ~3 A- W3 ~% K7 x+ s
Checkitem 烈火腰带 1
/ |2 W7 V! c: V- n3 ^Checkitem 烈火靴子 19 X4 r3 T; N, K/ t2 U- I5 Z  k) N
#ACT
; A1 l9 y- b1 J% F* y& L, ]. lTakeBagItem 烈火头盔|烈火项链|烈火手镯|烈火护腕|烈火戒指|烈火指环|烈火腰带|烈火靴子 46 60 0 0 45000 N0 11 w8 q7 c- T8 t4 v9 ^
TakeBagItem 烈火焚天剑|烈火焚天铠 46 120 0 0 90000 N1 1, ?) L1 c- `, q2 D. l# ~) L# c
MOV N$回收金额A
* ~) b  E% R* h3 h! QMUL N$回收金额A 60
- }& W) i# M4 v. pMOV N$回收金额B
5 S8 _* g/ A  ^5 E2 uMUL N$回收金额B 120) J/ W+ p! x/ ~8 J& G) I
INC U89
, Y0 f" x9 S) W: O  YINC U89
- {' [+ N" h6 t/ p2 ?# WSENDMSG 0 【装备回收】:恭喜{[]|250:0:1}成功回收{烈火套装|254:0:1},获得海量[{元宝,经验|254:0:255}]...!!! 31 0
+ ]9 S" y( ~8 c: L! W' u# i* Y) _break
& X" a) R# L. l
# C' Z3 M2 ?& e6 H0 M" g
- T# H2 y( f+ g8 Y7 x1 y: G% I
% H! I2 V# W8 j

, U/ S" w. t0 E9 ^讲解风险:以上脚本可以使用封包工具直接执行@回收装备正常  @MAIN  和 @战狂回收检测A  @神武回收检测B @烈火回收检测C ,因为这才是整段脚本的核心,前面所做一切检测就是为了这段核心执行脚本所准备,反而到了执行脚本可以忽略前面所做的一切检测,如果在执行脚本or下执行检测好像又不好做,那么我们就可以利用引擎禁用点击字段进行设置,比如上面所说的死亡触发字段PlayDie,因为这段执行脚本是不需要NPC点击,所以可以使用禁止点击字符来进行规避风险% y7 k- q- d" l0 ^
下面修正脚本进行讲解,
% e6 d, u0 g0 u7 X% K, g风险2.CALL过来的脚本第一个字段是[@回收装备正常] ,再QFunction-0.txt 是有检测U108变量值的,但是封包可以无视NPC脚本中的[@正常开始回收]检测字段,依然可以直接点击@回收装备正常],解决方式有2个,第一个就是把检测U108放入到@回收装备正常]内如下:
! J2 o8 N" {3 R  [3 P[@回收装备正常]
. W% m& d% E+ K, y{1 P/ i6 T5 u2 [4 E4 Z: J* _
#IF
7 Z! u3 p$ g. I  W6 I( ]EQUAL U108 0' R- c0 o) Y: u) ]& J
check [100] 1
% L6 w; o! r9 x#ACT  ]+ |( }* a/ X; \; j% d3 ~
goto @战狂回收检测A6 w2 \0 H' \: Q, Z8 M
#IF8 _! U& ]3 v! q
EQUAL U108 0
% A/ u0 F* v6 {0 d, A7 echeck [101] 1, m* `3 ]8 z  P6 d4 J/ r
#ACT: N% p6 i6 i2 x$ |6 o1 M
goto @神武回收检测B7 Y2 \' T: W  Z5 C" L
#IF
  b/ U$ }+ w0 {1 U. }3 cEQUAL U108 0# g! [% b& J0 F' Q
check [102] 1
5 |( `# ~- `7 G9 c$ q" p3 z3 B#ACT
& Y) @, B5 z; L: X% O% fgoto @烈火回收检测C
* u  s5 z+ a& G8 Hbreak
' T: D- N% ]4 _这样处理就可以了,当时封包依然可以跳过上面的检测直接执行@战狂回收检测A @神武回收检测B @烈火回收检测C,因为这三段脚本都OR检测,所以不好做检测,我们我们可以利用禁止点击字符进行规避风险,因为@回收装备正常 属于引擎内部跳转脚本,也是不需要NPC点击的,所以我们可以使用禁止点击字符来进行规避(关于禁止点击字段,下面讲解)
: y: d: j% J1 }0 `# N9 O( f讲解那么多现在来说如何正确使用系统禁止点击字段来规避风险,下面脚本演示" L! Y& B7 w# z+ X! E* ?
[@main]2 E) p! \, ~0 w3 f* E1 V2 u- V
\% o, L, @, _7 o, |( G$ w
[@正常开始回收]5 @8 D# [6 ^  m, l
#IF
- @  ^& b4 {5 G: ~4 XEQUAL U108 02 q5 {) j/ v8 T
#ACT7 H* W# W: O# ]4 s
#CALL [\回收元宝系列\装备回收价格.txt] @PlayDie回收装备正常6 G6 N, h3 o. Z( _7 M1 ]
CLOSE( X( ]7 O; N6 Y; J0 u, H
break
* ~: N/ Y; h% @4 z[@PlayDie回收装备正常]
7 [% R! K% O& a; b4 f{
: C$ B) M$ g, T8 `* l#IF% \( ?$ E( f3 h( I
check [100] 18 n7 u4 v& L" l3 q! o; \
#ACT- X3 h: I) ?% K( D. I
goto @PlayDie战狂回收检测A+ R: L$ e( n6 e  P: f$ g0 _
#IF
3 Y8 m! A; F- Ccheck [101] 1
! {7 I) T( @9 G- l#ACT
! X/ u2 V. h0 d& ggoto @PlayDie神武回收检测B
# {& y& r* s( w, w' _. p3 u  i#IF
, |) u+ E4 n+ |check [102] 13 Y' D2 X! i4 R
#ACT$ U1 W3 E! O  u/ T2 m
goto @PlayDie烈火回收检测C
, {$ ?# y% A1 E# _break$ t' `" ?( Q. t, P. v( Y
[@PlayDie战狂回收检测A]
: \2 ~- ?# O7 \% i+ i0 j#OR/ Z$ P- C6 U8 {  x% f& R
Checkitem 战狂精铁剑 1# N( `& @  z- O1 [- x
Checkitem 战狂精铁铠 11 ^8 Q& F2 a3 C' M! u% X% u
Checkitem 战狂头盔 1# D: ?0 w$ C" d" ^, F/ j+ X" v( i# Z
Checkitem 战狂项链 1" _+ @9 d( R3 q, V% v% a
Checkitem 战狂手镯 1
$ n* C' A: B6 X' @9 G/ P4 _( M% qCheckitem 战狂护腕 1
% M  r% R; G1 _8 n0 n9 D8 DCheckitem 战狂戒指 1
1 E2 E% Z4 k, v; H5 U! pCheckitem 战狂指环 1
9 F* _. G' n% M8 {  x2 K+ ~Checkitem 战狂腰带 10 s1 B! I& p5 H8 @
Checkitem 战狂靴子 1" [  z: t0 a6 F$ `& l
#ACT" @; l, c" {8 w) K8 _+ S1 L
TakeBagItem 战狂头盔|战狂项链|战狂手镯|战狂护腕|战狂戒指|战狂指环|战狂腰带|战狂靴子 46 20 0 0 38000 N0 1
% s9 \: }1 i' A, y' tTakeBagItem 战狂精铁剑|战狂精铁铠 46 40 0 0 76000 N1 1
$ K! x2 l$ P* y) `! H" Z5 aMOV N$回收金额A
' Z6 {( |- t# W3 k. j1 mMUL N$回收金额A 203 E% K! d7 K% w% E
MOV N$回收金额B6 f+ W" q  u' O6 p  x
MUL N$回收金额B 406 ?( o& A( o1 b' P' L, L) _
INC U89
  _3 M  P9 }% O# qINC U89
2 U. B, l! F3 |. R& b1 H( LSENDMSG 0 【装备回收】:恭喜{[]|250:0:1}成功回收{战狂套装|254:0:1},获得海量[{元宝,经验|254:0:255}]...!!! 31 0
" ]/ T4 C  l' W9 v/ j& @break
3 y$ t8 x8 B: r. f# P  g[@PlayDie神武回收检测B]
+ X( r6 n' b  U+ \#OR7 H4 b- R5 u: X  p+ [
Checkitem 神武嗜血剑 1
; ]5 i3 q6 c+ _8 Z7 u- N6 sCheckitem 神武嗜血铠 14 [! _+ J- c5 H, [& s0 t! J9 N0 o
Checkitem 神武头盔 1/ ~& ?" N: H. ]7 e
Checkitem 神武项链 1
2 y! w' P8 m! lCheckitem 神武手镯 1- R: Y% w, ~8 U1 P2 y$ h
Checkitem 神武护腕 1
! n3 t1 I( X& {& }# YCheckitem 神武戒指 1
- g$ W8 t7 m  j; R5 rCheckitem 神武指环 1
( {  h9 K# y# _& I2 qCheckitem 神武腰带 1: Y& N( k# p3 _* O- W2 F
Checkitem 神武靴子 1% y, M: f0 I3 ^# l2 {9 F6 r
#ACT5 m) e) m. s' |$ @' I  L( I  [% K, C
TakeBagItem 神武头盔|神武项链|神武手镯|神武护腕|神武戒指|神武指环|神武腰带|神武靴子 46 40 0 0 40000 N0 15 ~; p/ i9 k% E8 N( U( `; Z% s
TakeBagItem 神武嗜血剑|神武嗜血铠 46 80 0 0 80000 N1 1
: [6 i/ O! F3 O7 lMOV N$回收金额A! o* D& d* G; D: Q# t" Q$ Y8 |4 S
MUL N$回收金额A 40
) q" q+ O0 B6 K, gMOV N$回收金额B( D% y4 r9 t0 ]6 j
MUL N$回收金额B 80" [/ x; h* _  S+ s
INC U89' p- [  v  k& I# F
INC U89. [" ?6 R! @" w+ N/ Q
SENDMSG 0 【装备回收】:恭喜{[]|250:0:1}成功回收{神武套装|254:0:1},获得海量[{元宝,经验|254:0:255}]...!!! 31 0
" g1 v, z5 F: I3 N9 ~; ]break% B, [  U" c- }
[@PlayDie烈火回收检测C]
# Q& }9 E+ A: p: B1 w/ Z#OR
1 D  t+ _2 d/ {. E' xCheckitem 烈火焚天剑 1
  A- F2 v7 d- SCheckitem 烈火焚天铠 1$ `: R- [) u, W# b( \- B) V- u
Checkitem 烈火头盔 15 t8 D( x  q$ B) e% i: L! ?$ H
Checkitem 烈火项链 1
7 @5 B0 r: n% ^$ p( x: xCheckitem 烈火手镯 1
$ {% u) I5 ?- l+ JCheckitem 烈火护腕 12 t4 Z- e, r% Z/ R: Z7 k: e
Checkitem 烈火戒指 1
* |: q$ V6 p/ }2 d3 j1 ?- FCheckitem 烈火指环 1% V1 a( Z7 |% L! k+ J
Checkitem 烈火腰带 1
$ A  p0 C& _- C# }6 cCheckitem 烈火靴子 13 U8 O# p% s* q8 Q5 N, l* s7 a
#ACT
9 U& `0 w& A! o7 ]0 iTakeBagItem 烈火头盔|烈火项链|烈火手镯|烈火护腕|烈火戒指|烈火指环|烈火腰带|烈火靴子 46 60 0 0 45000 N0 1
! O; h9 x1 X( k9 \* PTakeBagItem 烈火焚天剑|烈火焚天铠 46 120 0 0 90000 N1 1
+ t! Y% _$ l5 |& Y( _* t  IMOV N$回收金额A
& K! Z# Q0 S  h' d( o4 ]' YMUL N$回收金额A 60
2 T  X3 Q2 {8 {  LMOV N$回收金额B
! }+ I; e' Z) X% q) j; P7 a' aMUL N$回收金额B 1202 }5 l! G  ~  p" I/ i! J
INC U89
1 Y1 s. \/ L" z" T$ R6 D- j3 k3 OINC U89
6 O$ n7 M8 }6 E; zSENDMSG 0 【装备回收】:恭喜{[]|250:0:1}成功回收{烈火套装|254:0:1},获得海量[{元宝,经验|254:0:255}]...!!! 31 0
; B$ c6 [# d* t. _# ~) s, pbreak
4 x' x5 Z& C* H
9 Q# N) a% p3 {/ o- A

* O' ?% Z" ~& z& t, i" F以上脚本为修复脚本,因为脚本前缀包含了系统禁止点击字段PlayDie,那么这脚本只能引擎内部跳转使用,严禁外部点击的,任何脚本字段只要不是靠NPC去点击的都可以使用引擎禁止点击字段作为前缀,当玩家使用封包工具进行点击时候,引擎上会显示日志:      用户:人物名称; NPCFunction 禁止点用该NPC触发字段playdie回收装备正常!反正只要不是需要鼠标点击的都可以使用禁止点击字符来做脚本头!!!!这样就无视封包工具刷包了,那么需要NPC点击的下面讲解!
& {( L) F, H6 q' F
7 ~* w0 m! ~% K) v% Z+ E
站长承接传奇一切业务,小问题免费咨询。站长QQ137919001
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-9-10 19:55 , Processed in 皖公网安备:34112402000394号 0.206529 second(s), 26 queries .