发新话题
打印

[讨论] 初级魔力lua解析

多谢大神

虽然不是很明白,但还是灰常感谢

TOP

请大佬继续更新

TOP

求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??
# E! J- H; k$ X8 P$ O
8 K% Q3 g4 v& m* L$ n魔力私服,最新魔力宝贝私服技术交流- K# \- i2 s' ~
魔力私服,最新魔力宝贝私服技术交流* Y! a. f/ c3 c8 ~0 o7 J/ q1 e( M  L
if _Select==2 or _Seqno==99999 then
- Y! E; F/ G# V# {* [0 }! a% q妖城在线论坛                return
4 x/ D2 `& _8 O( x7 z- w+ U—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        end! ?4 V4 H# [/ W/ U7 h
' g: Y$ }5 e$ D! Q  r1 y
        if _Seqno==10 then
0 V) E3 o5 k3 b6 c$ l4 j—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                --Get Session0 b- Z1 t& n2 c1 Y
                SelectPetSlot[_PlayerIndex] = _Data-1  J* e4 c  x1 P) y0 ?
                local tItemSlot = SelectItemSlot[_PlayerIndex]—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 A4 D3 q/ g3 D1 c& k
                local tPetSlot = SelectPetSlot[_PlayerIndex]魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表+ V8 N/ D4 e* t/ W+ a: H5 [- `
                --Get Pet Data
( U) |/ ~, b4 A% P9 ]7 t魔力私服,最新魔力宝贝私服技术交流                local tPetIndex = Char.GetPet(_PlayerIndex, tPetSlot)魔力私服,最新魔力宝贝私服技术交流7 Q' ^. c9 D" D/ r- t$ K
                if tPetIndex<0 then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! F2 }$ c2 L! r; T* F8 c% p: W
                        return 0bbs.mocwww.com. i' j( t' q/ B& P3 Y
                end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート  ~, c8 e# D. s* x8 A7 ^
                local tPetName = Char.GetData(tPetIndex, %对象_名字%)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 y% s8 R' i6 S6 I! k
                local tPetID = Char.GetData(tPetIndex, 68)妖城在线论坛5 q$ }  b6 h1 ]8 r/ T$ ^' T6 c
                local tPetLv = Char.GetData(tPetIndex, %对象_等级%)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート3 w9 b6 ?6 P# n9 j/ t
                local tPetGetLv = Char.GetData(tPetIndex, %宠物_获取时等级%)
, H0 j- a9 {" t7 t; H( w) `—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local tPetTechSlotMax = Char.GetData(tPetIndex, %宠物_技能栏%)
, d: T: Z2 M. e; ~+ N$ L—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                --Get Item Data妖城在线论坛2 U) ]( w' ^' U- S8 t5 L
                local tItemIndex = Char.GetItemIndex(_PlayerIndex, tItemSlot)bbs.mocwww.com6 {3 f0 Z1 ^$ P
                if tItemIndex<0 then
: Q( S" _  T3 A) I$ Nbbs.mocwww.com                        return 0—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% [8 }* }) `7 g- N6 Z
                end
" B/ l+ R* r4 j$ f) I9 T+ cbbs.mocwww.com                local tItemName = Item.GetData(tItemIndex, %道具_名字%)
7 y/ t6 D9 ^- Y, k2 p0 C妖城在线论坛                local tItemID = Item.GetData(tItemIndex, %道具_ID%)
% K: r7 R' w+ q2 J; s# W                local tTechType = Item.GetData(tItemIndex, %道具_特殊类型%) or 0bbs.mocwww.com3 K/ ?. J/ R9 ?% u! D; k  b( M
                local tTechID = Item.GetData(tItemIndex, %道具_子参一%) or 0bbs.mocwww.com! l3 w: j+ L5 I3 B
                local tPreTechID = Item.GetData(tItemIndex, %道具_子参二%) or 0—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ }. M5 t" I4 q9 N4 B  X! e
                        print("\n=================调试信息====================")魔力私服,最新魔力宝贝私服技术交流: b2 P" N8 L* S( J$ j* n$ q& i* d
                        print("tItemID=" .. tItemID)
( g$ y1 y3 `8 L0 s; {! c3 O妖城在线论坛                        print("tItemName=" .. tItemName)7 l% J; T& C1 r! O. E
                        print("tTechType=" .. tTechType)bbs.mocwww.com8 ~6 c/ k9 x3 r0 x. i
                        print("tTechID=" .. tTechID)bbs.mocwww.com7 |0 t6 U  i8 f! u8 T
                        print("tPreTechID=" .. tPreTechID)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表2 \( ~& ~2 ~) k3 B( J3 D- g9 X
                        print("NorPreTechID=" .. NorPreTechID)
) w9 B5 q1 \# \, g% W6 P$ M# R+ @魔力私服,最新魔力宝贝私服技术交流                        print("TechSlot=" .. #PetTechNpc_GetTechList(tPetIndex) .. "/" .. tPetTechSlotMax)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% a0 \  O# M& O2 C% p, o
                        print("InTable=" .. PetTechNpc_GetTechPos(tPetIndex, tPreTechID))妖城在线论坛# h' A' C6 j& Y1 k4 H8 p4 x4 W
                --Check Type
4 E0 I* V3 `& ?) m- {/ {. ~                if tTechType==1 thenbbs.mocwww.com, Z! p; t7 u' I* L# \
                        if PetTechNpc_CheckInTable(SPetListA, tPetID)~=true then$ s' Y6 z: b4 C1 Q. w
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")魔力私服,最新魔力宝贝私服技术交流: _& F1 I4 L: Q' D, h8 g6 o. Q
                                return 0魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: I0 O4 }0 Q! j. J1 _2 G
                        endbbs.mocwww.com8 V$ E. L1 i* {; I
                elseif tTechType==2 thenbbs.mocwww.com& e- _( O; Y6 h$ h. P5 ]$ G
                        if PetTechNpc_CheckInTable(SPetListB, tPetID)~=true then
0 [+ L6 C( H# Q$ `6 \+ R# ]7 U—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")
, {: U) j; i: g! |/ `6 fbbs.mocwww.com                                return 0妖城在线论坛4 Y. c* E4 }1 A* s4 C
                        end
7 q$ z* i9 `: a3 E' r3 _2 N1 @魔力私服,最新魔力宝贝私服技术交流                elseif tTechType==3 then
2 ~2 M8 h. x+ y0 w7 G—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        if tPetGetLv>1 then
" x9 C  D: l% a4 p0 Z, G魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:非野生")
/ }5 C8 v' ?& d% I2 a$ a—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                                return 0bbs.mocwww.com  j+ \  d) |: ]: Y9 U4 r
                        endbbs.mocwww.com" \1 H# E5 ^' v5 O. s
                elseif tTechType==4 then魔力私服,最新魔力宝贝私服技术交流: b; O) X& T) b% X+ E, ?
                        if tPetLv<PetMaxLevel then
  M- A9 Q8 Q  w& w* X: fbbs.mocwww.com                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:满级")
: P; K3 u/ r3 L6 X  S! X* P魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                                return 0
* h/ V; v# W' r: l0 e/ v8 @/ _魔力私服,最新魔力宝贝私服技术交流                        end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表6 h! K' O7 M: Q# o1 g
                end+ u$ k9 l9 ?2 m" y. n. Q  j
                --Check NorPreTechID
9 r! w7 q; m. j) r                if tPreTechID==NorPreTechID and        #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax and PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート8 S1 Y" c' t5 L, V" q5 N
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:请先学习【高阶技能栏】技能")魔力私服,最新魔力宝贝私服技术交流: j% l8 @( L* e0 S4 [( K
                                return 0妖城在线论坛0 R; K$ Y5 m( Y$ S4 e0 e! W
                end
8 R; q5 o0 T. n1 r9 N. }( j魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                --Check PreTechbbs.mocwww.com6 t, a+ v8 k" c$ h2 X( W
                if tPreTechID>0 and tPreTechID~=NorPreTechID then
9 b, H+ s. b2 n- p0 S6 l; W4 Z—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        if PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then妖城在线论坛+ ^8 ]4 H9 D. S, z
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:前置技能")
; P( S+ t; d9 ~3 m' R( N魔力私服,最新魔力宝贝私服技术交流                                return 0
3 [4 C  L+ {  [& c9 N+ P, tbbs.mocwww.com                        end
: j. S( N" [7 i# b' G妖城在线论坛                end
, f# R3 r# m9 o& z5 o7 p( @魔力私服,最新魔力宝贝私服技术交流                --Check Slot# s1 l! P. x% A1 b9 ~" |
                if tPreTechID<=0 and #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax then
. o2 U% t; S. }1 n魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:技能栏已满")bbs.mocwww.com& \6 d/ l, @* {" W
                        return 0bbs.mocwww.com1 K3 W0 z2 L! Z
                end
  n5 ~# J/ v! r* v7 g                --Del PreTechbbs.mocwww.com* w6 y1 z7 d8 N% @9 y# b' ~) s
                if tPreTechID>0 then) U& }% P3 U/ [% t; q; w7 O3 H5 Q0 j, s
                        local tPreTechPos = PetTechNpc_GetTechPos(tPetIndex, tPreTechID)
2 L4 L0 Z* A5 _* D# V+ E  X妖城在线论坛                        Pet.DelSkill(tPetIndex, tPreTechPos)
$ Y+ \: o5 F" L0 rbbs.mocwww.com                end
: @9 j) l( M  p魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                --Add Tech
( A) V. G; [7 _; Pbbs.mocwww.com                local rt = Pet.AddSkill(tPetIndex, tTechID)
" m2 K/ K" L) J0 f1 C% n/ D魔力私服,最新魔力宝贝私服技术交流                if rt~=1 then
; c, K2 Q: f/ k0 W8 f( d                        NLG.SystemMessage(_PlayerIndex, "[错误] 未知原因错误")—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート. T+ s& [" W, A4 K1 S$ A; i3 P3 V
                        return 0—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート* I; ?- j  [* c+ P7 H2 q
                end
9 k0 O# ~8 H8 Y! S" A0 d  G魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                --Del Item
$ I( k( E/ }3 @9 |—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                Char.DelItem(_PlayerIndex, tItemID, 1)
" Q! M, T- n: s, i- q0 q6 z魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                --Up Petbbs.mocwww.com) P% I5 ]; i( s; l! A( p! g9 f& s
                Pet.UpPet(_PlayerIndex, tPetIndex)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! N2 q5 k6 q: [1 r! E5 A9 T$ J9 }' N
                NLG.SystemMessage(_PlayerIndex, "你的宠物" .. tPetName .. "学会了新技能。")# I5 W1 L1 r. Z% i5 g+ j
        return 1
/ Z* a" L0 |$ r—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        end
0 v, N) }7 m# g7 Y4 Kend
% k, W0 N- Q5 k9 w! h1 V! }魔力私服,最新魔力宝贝私服技术交流魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% @( q' ~+ ^) W- k# q2 ?6 K+ K
--使用道具魔力私服,最新魔力宝贝私服技术交流9 f2 L) P* a$ }. ?& `
NL.RegItemString(nil, "PetTechNpc_ItemUse", "LUA_usePetTech");
" h% e7 S' G6 U$ S9 E' p% }bbs.mocwww.comfunction PetTechNpc_ItemUse(_PlayerIndex, _ToPlayerIndex, _Slot)bbs.mocwww.com$ P, d& R, E! w& \2 N1 \
        SelectItemSlot[_PlayerIndex] = _Slot
4 [5 p+ T7 a2 G( Y5 n妖城在线论坛        PetTechNpc_Talked( tbl_LuaNpcIndex["PetTechNpc"], _PlayerIndex, 1)5 W( t7 }3 B- q' Q  q) @
        return 1
) z- j' V" @" V: z: I魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表end

TOP

收藏了,得空学一学,感谢

TOP

引用:
原帖由 wangjun1127 于 2019-5-30 19:56 发表
; [; A, ~, X; U求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表  y5 `* r  S! }0 v
bbs.mocwww.com& N% ?$ i% ~. G1 t+ H. k5 K
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表8 E& ^: n, N: y
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート3 S; X# E2 t5 J% A1 @: q
if _Select==2 or _Seqno==99999 then
- @$ Z8 G2 S6 @) k6 h  l魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                return
* @! J) J7 h1 z/ p' Nbbs.mocwww.com        end
6 }+ T; ^9 H" g+ t( l: x% o1 @5 {9 I; q
        if _Seqno==10 then
# d- u5 W+ _: s( \3 Z7 e—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                --Get Session—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2 ?. N# _6 L& T1 K( Q/ C, `) t  W( ^
                SelectPetSlot[_Pla ...
魔力私服,最新魔力宝贝私服技术交流7 r; S9 a; P6 F# s; T) L
这是一个luac+lua结合的功能,你只迁移了lua部分,没有迁移luac部分(道具部分)

TOP

6.如何创立MSG指令(例:/1 /2)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表6 t' }" ~, D* Y& w
今天先来讲点简单的知识,顺便复习一下旧知识点中比较重要的获取(get)函数和设置(set)函数的区别,本帖停更也是由于深感自身讲的知识点先后顺序有些问题妖城在线论坛5 v6 p9 K* b/ ]# Z  q8 ]
魔力lua包含了三大块知识点$ D6 }  S1 |4 Z3 }* W
1:lua编程基础知识(不需要太深入的lua技术即可)
& K- j: Z9 X1 }. k# h) r; S9 O; e魔力私服,最新魔力宝贝私服技术交流2:mysql基础知识(不需要太深入的mysql技术,但要会节省资源和防止疯狂读写)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% ]; N4 P: F. l( j* J' m
3:魔力封包知识(高端lua开发必备)
7 e  F" m; j8 e妖城在线论坛妖城在线论坛: U. C! b0 |0 W' S$ |
本帖只讲述lua在魔力中是如何运行的,这三块知识点都需要你们自己去学习妖城在线论坛, n# t1 R3 Q1 B# d5 G1 O
妖城在线论坛! @& T1 _) }; t( \  C  P
下面我们进入今天的教学魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ S2 t! q6 b* K" n* V/ b8 a
lua的远程指令主要依靠NL.RegTalkEvent(Dofile, FuncName)达成
' a, A8 f7 A9 o' i9 _$ Y—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート该函数的作用是[创建对话事件],它可以全局框架注册魔力私服,最新魔力宝贝私服技术交流3 F" ^8 I% E5 E! e
一般使用Delegate.RegDelTalkEvent("XXX")创建全局对话事件魔力私服,最新魔力宝贝私服技术交流8 t7 k" }0 g* e+ I3 \! H: o5 q
NL.RegTalkEvent的返回函数明细:7 j. L7 M6 \: @/ Z8 ?
TalkEventCallBack(CharIndex, Msg, Color, Range, Size)
4 ^; i" X- H7 z% d—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート参数说明
0 \* U5 n- h: J! Y7 K% n8 vCharIndex: 数值型 响应事件的对象index,该值由Lua引擎传递给本函数。
/ k9 ^7 V" F% j: W& xMsg: 文本型 话的内容,该值由Lua引擎传递给本函数。
# V8 R4 m3 P( m2 u妖城在线论坛Color: 数值型 说话颜色,该值由Lua引擎传递给本函数。魔力私服,最新魔力宝贝私服技术交流; I7 |5 d6 l9 I' Y: A
Range: 数值型 说话音量(范围),该值由Lua引擎传递给本函数。
8 `! E. v8 F. k/ U—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートSize: 数值型 说话字体大小,该值由Lua引擎传递给本函数。—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ A  W% d  V5 h1 M
返回值bbs.mocwww.com1 R& U- }$ U  W
返回0拦截说话内容,返回1正常发送
1 h1 V% V4 g0 B8 i/ P5 j" obbs.mocwww.com魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& f. F; r5 s; ]5 ]7 S( O% M  S
小知识复习:当形参由lua引擎传递一个可用实参时,你不需要填写形参具体值,并且可以传递给其他函数的空白形参,让其拥有实际数值,传递时候要注意传参的类型,空白形参的函数中,空白形参若只能填写数值型
1 ~7 l% g  ^8 M2 W妖城在线论坛传递过来的数值就必须是数值型(这种情况可以先设置一个变量   a=tonumber(lua引擎传递的字符串型传参) 然后把变量a填入空白形参的函数形参中)
" G$ h: y; q; l9 b6 o5 D+ h魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
! _& Z* t& @$ |  `—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート文字太过干涩,下面用实例解释今天的知识点妖城在线论坛( Q8 e3 }  k& ~! t& M, _" l
该例实现了用指令整理身上的道具的功能bbs.mocwww.com$ M+ C; K" z* f
bbs.mocwww.com1 p+ ]8 n% q9 o
local zhengli = "/zl"--整理指令,此处需要""把内容定义为字符串
1 s, j4 v! x: Z& e/ h1 H- h/ u; ^) h妖城在线论坛--  ***************************************************************************************************** --魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& J- {3 Y* S; |
Delegate.RegDelTalkEvent("zlTalkEvent");--全局注册对话事件函数妖城在线论坛1 T9 D! A, \6 t) {( o# b% ]1 |
魔力私服,最新魔力宝贝私服技术交流3 g( d: \" p8 I) F6 v" d
function zlTalkEvent(player,msg,color,range,size)--调用对话事件函数的返回函数bbs.mocwww.com" u. `4 G* F$ |% `. C6 M" V! w7 }
        if(msg==zhengli) then--检测MSG=整理指令时则执行下述函数块内容魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表8 d7 Q& X3 Q7 v+ s- {! F& M
                NLG.SortItem(player)--调用GA封装的整理道具函数,其中NLG.SortItem(player)的(player)值由function zlTalkEvent(player,msg,color,range,size)这个返回函数赋予
, y4 l. Z4 F: |0 {. }$ `; T; y- M魔力私服,最新魔力宝贝私服技术交流        end妖城在线论坛* `* W  p* f; w4 S
end4 S# j# l# n& y5 n6 E
魔力私服,最新魔力宝贝私服技术交流, c# a' F' @, ^" i
上述实例中,如果单独拿NLG.SortItem(player)出来,(player)的值会是nil,是没有任何数值的,它是一个标准的设置函数,需要从获取函数中获得形参的实值(魔力lua的函数的形参分为2种,获取函数(get)和设置函数(set))
3 @7 R7 W+ h. z1 O7 P- |0 Zbbs.mocwww.com 教学用指令整理道具.7z (453 Bytes) bbs.mocwww.com  \0 l: F, d. V% L. x" ]

/ b2 v2 q; H1 l, f. ][ 本帖最后由 王宫召唤士盖兹 于 2019-5-31 02:07 编辑 ]

TOP

6666666666666666

TOP

提示lua道具被重复注册怎么处理啊????

TOP

这种好帖子真的不多了!!!!

TOP

建议出个GP的 GA好像在这身败名裂了

TOP

引用:
原帖由 staki 于 2019-8-3 03:12 发表
4 d. ?6 N' O& u* ~- D2 J4 V+ l魔力私服,最新魔力宝贝私服技术交流建议出个GP的 GA好像在这身败名裂了
  i' N! g4 Q3 `) ^$ y3 h' E/ B魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
1 w% F# d6 L& b5 l  ZGP没2键端无法操作,只是学lua基础都一样的
& q" n5 Z; l1 @& A, \—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート 我不更新就是涉及的具体操作太多,通用性不高,没有更新的必要
2 |/ N8 K+ ~+ v! P' Lbbs.mocwww.com我本身秉持授人与鱼不如授人于渔的想法,才写了这个帖子
# W& X2 z/ v+ O, e' [—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート能看懂本帖之前写的内容,足够了魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 |& X. W4 ^+ C

* U2 @( X1 D1 D6 a2 ?$ k备注:
6 J5 _2 X2 d" O* s+ A魔力私服,最新魔力宝贝私服技术交流既然回帖了,就再讲一下魔力lua的基础运行流程:bbs.mocwww.com$ \. t: U8 c" N
1:GMSV启动时加载GMSV内置的魔力lua模块妖城在线论坛7 C5 s$ [* |6 o& c# I% o9 d
2:GMSV自动加载初始lua-init.lua   该lua是由GMSV自动加载的(无需写dofile加载)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2 n6 H0 M7 g; h4 _0 Q7 o  T& ^+ @
3:init.lua 加载运行内部代码    此时会有大量dofile,一般是加载基础框架相关的东西 有兴趣可以参考init.lua内部代码,包括框架全局注册这类关键脚本,都是此时加载的魔力私服,最新魔力宝贝私服技术交流; S7 H3 [7 A) i, c- V% A* W
4:init.lua中有一行dofile(Lua_Path.."Config.lua"),加载Cofig.lua
. C3 h+ W) C6 ]3 S2 u( l5:Cofig.lua加载各种Module文件夹内的lua  (至于Cofig.lua内用于加载lua的Loadlua函数究竟是GA哪个脚本内写的,可以给大家当成一个最后的课后考题,找出他,能找到他,我相信你就会发现魔力LUA的运行逻辑是如此简单)
0 @4 T" e. ?; g: B( F. _—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート提示:GP的Loadlua函数在  lua\include\Global.lua 这个文件内
* g2 |8 I2 N3 z1 O5 @魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表提示2:GA的Loadlua函数在 lua\System某个文件夹内
8 B1 Y  k1 m. C" t, Abbs.mocwww.com
) ?2 l* s; l0 h( `9 P3 {3 A" w3 I' \bbs.mocwww.com[ 本帖最后由 王宫召唤士盖兹 于 2019-8-3 12:59 编辑 ]

TOP

GE  用Run(SQL脚本),Update tbl_character 数据库是修改成功了,但是人物退出,又变成修改前的数据了。数据库保存是人物最后退出的状态。

TOP

我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。妖城在线论坛4 N/ f9 ^3 ~3 h. G) B3 Z6 t  n
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 b) n# A; }$ ]% T/ e" _
                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_PlayerIndex,%对象_账号%).."' and Name='"..Char.GetData(_PlayerIndex,%对象_原名%).."'";
. f! A. F: V8 ^3 J# c2 t2 K3 Abbs.mocwww.com                local ret = SQL.Run(query);
4 j5 o3 N+ Z3 Z+ Z6 b4 D4 D妖城在线论坛       
$ [: }. S; B0 [2 m9 Sbbs.mocwww.com                Char.SetData(_PlayerIndex,%对象_原名%,_data);魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表) ~8 X" G! j' |, g5 F( H, U$ c
                NLG.UpChar(_PlayerIndex);妖城在线论坛- C) ?& ~2 {9 H' J6 j- Y3 i

& c( k, S$ j" I( z6 z! I—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート如果没有最后这两行,SQL改的数据库,人物退出还是原来的名字。
+ C% x" f4 U7 t0 `4 [魔力私服,最新魔力宝贝私服技术交流
0 U+ d8 W: e! O3 l3 c* ?/ |[ 本帖最后由 rolser 于 2019-8-20 20:52 编辑 ]

TOP

受教了!希望更新关于GE方面的

TOP

引用:
原帖由 rolser 于 2019-8-20 20:44 发表 bbs.mocwww.com* {0 u( m; M8 h/ l  P& J& e- \
我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。
5 B0 I) ^+ a4 Z3 S$ X—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& ~$ Y7 P8 O9 O  w( [( Z9 T$ N
                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_Pl ...
魔力私服,最新魔力宝贝私服技术交流- C" f! @- d+ j+ W! V& x! e
7 a: Z' s( X6 m$ O
lua修改玩家内存只是修改了GMSV内的内存,在玩家客户端内并没有显示,因此需要用UpChar函数更新玩家客户端显示魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表9 J3 n& f: V7 n: s$ I
同理还有NPC创建时候使用的UpChar函数,这个函数如果是由全局注册init来触发的,会导致你即使重载脚本,NPC也加载不出来,必须重启服务器(重新加载init)才行
3 U' l: p& e: |6 V妖城在线论坛备注:创建NPC也可以用其他函数或者if,GE不要使用if,会有奇怪的错误bbs.mocwww.com1 O8 u" ^& d, h/ Q3 A8 @* c2 x1 k
bbs.mocwww.com% F5 K: A- Z9 [! y$ j! z
GE的教程和GA是互通的,他们只不过是文件夹不一样,文件名不一样,函数名不一样,但运行逻辑都是一样的,只是WIN7和WIN10的区别而已,只要能看懂本帖说的GA的内容,GE和GP自然就懂了魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 w) m) v- T* {5 O
% E& v, D4 W# U  U" L6 B
[ 本帖最后由 王宫召唤士盖兹 于 2019-8-30 11:22 编辑 ]

TOP

发新话题