发新话题
打印

[讨论] 初级魔力lua解析

多谢大神

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

TOP

请大佬继续更新

TOP

求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??
0 N9 K) u1 I7 ]- H妖城在线论坛
( T) j1 x* c" {/ w; Gbbs.mocwww.com
: A  P: _) c) m8 l% w4 i9 r魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
2 v1 L9 V6 [  G$ \6 D! B& [妖城在线论坛if _Select==2 or _Seqno==99999 then
! u2 y+ r0 }$ f- Q4 lbbs.mocwww.com                return
$ r$ ~- j9 G& i  n2 Z' _. B' H6 \        end
/ r& u4 j& ?, E. n' A" h+ |魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表bbs.mocwww.com7 @) I7 n2 `/ [
        if _Seqno==10 thenbbs.mocwww.com  \6 k& x7 `& A& b0 W
                --Get Session妖城在线论坛2 {/ b' a) B) p) t0 v" r1 \. z$ h
                SelectPetSlot[_PlayerIndex] = _Data-1
1 i# {5 s' a; |3 u5 e—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local tItemSlot = SelectItemSlot[_PlayerIndex]
3 D. H% m5 l9 k% ^# o妖城在线论坛                local tPetSlot = SelectPetSlot[_PlayerIndex]
# P2 M- j; T. n' ?& O4 H魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                --Get Pet Data
, B: j" w! N$ s2 K6 G* j: u魔力私服,最新魔力宝贝私服技术交流                local tPetIndex = Char.GetPet(_PlayerIndex, tPetSlot)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" w; w9 N) z6 J1 \
                if tPetIndex<0 then
% h2 V6 O' e4 M* b- x( {' K魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        return 0
& E) R; l- O8 J1 r+ h魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                end
& v* v- d/ |8 S; P- I% ]0 Q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local tPetName = Char.GetData(tPetIndex, %对象_名字%)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 f- ]' b. x) J- N  I6 `. q# v
                local tPetID = Char.GetData(tPetIndex, 68)
8 }5 u7 R; J) r' [- `—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local tPetLv = Char.GetData(tPetIndex, %对象_等级%)
7 w: z8 u5 ~/ c0 V妖城在线论坛                local tPetGetLv = Char.GetData(tPetIndex, %宠物_获取时等级%)妖城在线论坛3 f- H( c2 `. l2 w
                local tPetTechSlotMax = Char.GetData(tPetIndex, %宠物_技能栏%)
& j& U8 t7 V0 o魔力私服,最新魔力宝贝私服技术交流                --Get Item Data
3 ]. U7 s& n5 h! ~  ~魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local tItemIndex = Char.GetItemIndex(_PlayerIndex, tItemSlot)
0 y$ p7 d7 r5 A/ c—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                if tItemIndex<0 then
- y# Z; d& N' t                        return 0妖城在线论坛: U) s% }' V* Z/ w
                end
6 M; h- i1 n& [" ?9 x4 C1 p! R魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local tItemName = Item.GetData(tItemIndex, %道具_名字%)
! l  C; H% Y  B/ R% }9 e# B: E妖城在线论坛                local tItemID = Item.GetData(tItemIndex, %道具_ID%)妖城在线论坛3 B" j' _3 N, Z5 T: \( S" L
                local tTechType = Item.GetData(tItemIndex, %道具_特殊类型%) or 0
5 M" V1 o; m* n) ]5 c, @魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local tTechID = Item.GetData(tItemIndex, %道具_子参一%) or 0魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表( t6 Y& i3 N1 ^6 Z
                local tPreTechID = Item.GetData(tItemIndex, %道具_子参二%) or 0魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表9 ]% C* T+ X8 n* Z4 T
                        print("\n=================调试信息====================")
( e) T* I1 W2 ^$ l                        print("tItemID=" .. tItemID)
3 `( w! U7 v$ b' i" H$ t魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        print("tItemName=" .. tItemName)
* t; H. L3 p1 b7 h8 a7 ]bbs.mocwww.com                        print("tTechType=" .. tTechType)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% E7 d' o2 M* i9 J/ V% d4 b% D
                        print("tTechID=" .. tTechID)
3 w% k$ O) @) N0 y8 F% ^. {: t妖城在线论坛                        print("tPreTechID=" .. tPreTechID)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ s8 y( _& k5 Z$ Z! ^+ l* R
                        print("NorPreTechID=" .. NorPreTechID)魔力私服,最新魔力宝贝私服技术交流" W8 L3 D8 A9 P& l5 q  a
                        print("TechSlot=" .. #PetTechNpc_GetTechList(tPetIndex) .. "/" .. tPetTechSlotMax)
( z* J2 K; Q' i" C5 j( I魔力私服,最新魔力宝贝私服技术交流                        print("InTable=" .. PetTechNpc_GetTechPos(tPetIndex, tPreTechID))
+ d6 f2 w  l8 m$ ]/ |4 k; ?1 I: Q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                --Check Typebbs.mocwww.com2 H3 w% f- V1 P* w. N- p
                if tTechType==1 then
2 Q. X, i$ Q! q0 g7 w  y8 B魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        if PetTechNpc_CheckInTable(SPetListA, tPetID)~=true then魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表1 }9 ^3 Y3 ~" t7 I1 n
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート8 e7 V- I0 a+ d8 n8 l7 n
                                return 0
/ a- S2 D8 t( h' Y9 Q( P. Q$ W                        end, V0 m& b6 B# f9 u1 A" U
                elseif tTechType==2 then魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表, {8 O. X1 P& h2 {
                        if PetTechNpc_CheckInTable(SPetListB, tPetID)~=true then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート8 l: M1 l7 l8 P: P; P+ c$ K
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")
! q3 o7 `. K* x' E  P/ A! J妖城在线论坛                                return 0bbs.mocwww.com$ S; h' i+ R  v* ]  s$ v
                        end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2 J9 B3 _% \8 ]6 W+ D
                elseif tTechType==3 then魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表( Z! k; e4 f3 A. ?% I
                        if tPetGetLv>1 then
# r0 f7 G* ]: \, ~魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:非野生")
/ `2 M+ Q, w. Z8 b) U( e1 ?7 n' n. K# D魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                                return 08 N' P* C$ i$ u5 ]0 v
                        end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート  N$ m) O6 Q# R7 M% N, C: S
                elseif tTechType==4 then: {- \1 l# j) z, _9 M/ W
                        if tPetLv<PetMaxLevel then魔力私服,最新魔力宝贝私服技术交流- ]- J  V/ M  g  [: g% ^
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:满级")
" j3 V5 y2 \7 l" i7 Bbbs.mocwww.com                                return 0
+ Z8 Z9 e- e3 \! j                        end
. p0 o9 j: j. K3 O" u% v+ {bbs.mocwww.com                end
. \" f6 C. h. k% E2 p' E7 f( W魔力私服,最新魔力宝贝私服技术交流                --Check NorPreTechID魔力私服,最新魔力宝贝私服技术交流( Q/ C3 ]4 z! q7 n' Y
                if tPreTechID==NorPreTechID and        #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax and PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then9 ]1 w- {% y, G3 G& `; ]& o
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:请先学习【高阶技能栏】技能")  R& S1 F5 a) D7 B+ A
                                return 0
! @5 N$ F0 s1 ^—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                end
& U9 p  z& ?- R( x妖城在线论坛                --Check PreTech—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート8 C& }" F& U- f
                if tPreTechID>0 and tPreTechID~=NorPreTechID then
9 }* m; S8 g5 ~. u& `; Kbbs.mocwww.com                        if PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then
1 }6 C' e, m: H8 O* p7 ?—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:前置技能")—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート( \' z1 f$ @; P* [) E
                                return 0: c' p! u: C, o: H
                        endbbs.mocwww.com' e' @1 h  U6 t# ^4 V/ f
                end
: z9 Q$ V, D" Q, c3 ]魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                --Check Slot
' ?0 D# {: {8 ~9 O8 z/ b: lbbs.mocwww.com                if tPreTechID<=0 and #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax then
6 N# y+ k5 c6 S魔力私服,最新魔力宝贝私服技术交流                        NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:技能栏已满")4 }( H" Z3 f. D7 a
                        return 0
6 b6 Y! X5 `# s  d—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表, e- X, {% {3 e4 d: ?' @4 x
                --Del PreTech妖城在线论坛7 m1 h" z0 K1 G0 m% o
                if tPreTechID>0 then
1 @& K+ C; G9 I+ T6 r6 ~6 d& Y- S' o妖城在线论坛                        local tPreTechPos = PetTechNpc_GetTechPos(tPetIndex, tPreTechID)
+ M) r/ ~1 v/ }魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        Pet.DelSkill(tPetIndex, tPreTechPos)
6 m. `7 [' Y! u3 D: |                endbbs.mocwww.com6 B+ {$ g( ~0 u( w1 X7 x* f
                --Add Tech
: J2 l) |7 d( O妖城在线论坛                local rt = Pet.AddSkill(tPetIndex, tTechID)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& ?- p5 }1 |/ d' _6 B2 s5 L# e# ]
                if rt~=1 then妖城在线论坛2 W8 y* T! z! m( j1 o/ v
                        NLG.SystemMessage(_PlayerIndex, "[错误] 未知原因错误")
6 s( J* |8 m9 m7 I/ j—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        return 0
2 [6 f; ~$ s5 \% ^- h: }- u. g/ W魔力私服,最新魔力宝贝私服技术交流                end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* O7 j( k" ]$ I) `
                --Del Item. @, {/ F0 v" a' u9 z: O* \
                Char.DelItem(_PlayerIndex, tItemID, 1)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表6 {$ k: M- i7 K
                --Up Pet—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 [, l2 ^; d5 l" S9 I" M* Q- j2 i1 F
                Pet.UpPet(_PlayerIndex, tPetIndex)
- ?2 `% Z5 ?! P8 G& H, |( B魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                NLG.SystemMessage(_PlayerIndex, "你的宠物" .. tPetName .. "学会了新技能。")—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 Y$ i3 H7 }$ p+ |
        return 1bbs.mocwww.com& R" p1 V  g/ r. p
        end
3 }+ s( Q0 v2 |" |6 w9 B魔力私服,最新魔力宝贝私服技术交流endbbs.mocwww.com7 R& U, W+ S$ {& p% P9 n
bbs.mocwww.com% C2 r( M2 j# k& k0 v
--使用道具
1 L" W' v- C9 Z9 O( f  `& A) {bbs.mocwww.comNL.RegItemString(nil, "PetTechNpc_ItemUse", "LUA_usePetTech");
# B( C0 _$ s4 `2 ^# e3 u! K* i- q5 W妖城在线论坛function PetTechNpc_ItemUse(_PlayerIndex, _ToPlayerIndex, _Slot)魔力私服,最新魔力宝贝私服技术交流# `/ U" H# B" d: |8 D' B! x" L
        SelectItemSlot[_PlayerIndex] = _Slot
, L+ E. b- X& j: l魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表        PetTechNpc_Talked( tbl_LuaNpcIndex["PetTechNpc"], _PlayerIndex, 1)bbs.mocwww.com; M/ v5 F. V$ x, B! l% c
        return 1
4 V1 c( @/ _- d, Z( B# s" Q魔力私服,最新魔力宝贝私服技术交流end

TOP

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

TOP

引用:
原帖由 wangjun1127 于 2019-5-30 19:56 发表 魔力私服,最新魔力宝贝私服技术交流& [* ?% W3 n, L7 J
求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??
- ]+ _  {1 G- {7 B  I; i7 g2 I. E$ c, l- A3 ~  J
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表4 x7 G4 x$ A$ H/ M
魔力私服,最新魔力宝贝私服技术交流1 q! X6 l8 Q  a% @" h
if _Select==2 or _Seqno==99999 thenbbs.mocwww.com8 v/ m9 X1 y: I; c& V+ d) ^( \5 S
                returnbbs.mocwww.com( v" ?) O! U6 A7 U
        end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート- H/ ?% E+ q: ?: M8 w4 F  N9 \
bbs.mocwww.com2 D; p0 O2 Q2 o0 J! a
        if _Seqno==10 then
7 \7 w  ~# o( b& I# q. o6 o" L魔力私服,最新魔力宝贝私服技术交流                --Get Session
8 @- D; u0 y4 T魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                SelectPetSlot[_Pla ...
+ H( y  F% |& @" Ubbs.mocwww.com这是一个luac+lua结合的功能,你只迁移了lua部分,没有迁移luac部分(道具部分)

TOP

6.如何创立MSG指令(例:/1 /2)
$ ~: X3 F0 W, d  m. i$ p—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート今天先来讲点简单的知识,顺便复习一下旧知识点中比较重要的获取(get)函数和设置(set)函数的区别,本帖停更也是由于深感自身讲的知识点先后顺序有些问题bbs.mocwww.com6 N6 R4 ]9 ?& v1 ?, F1 e
魔力lua包含了三大块知识点—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ A8 X8 I% H' \
1:lua编程基础知识(不需要太深入的lua技术即可)
- l9 z  ~2 I) S$ E/ @; K2:mysql基础知识(不需要太深入的mysql技术,但要会节省资源和防止疯狂读写)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表6 [/ B6 i( ]) x9 t: r
3:魔力封包知识(高端lua开发必备)
4 N" v3 d! q$ L妖城在线论坛bbs.mocwww.com$ `( a  D) i, s
本帖只讲述lua在魔力中是如何运行的,这三块知识点都需要你们自己去学习
" a* m4 p1 Z- n  X; o8 r5 q2 s, y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
; V% K9 |$ `$ ^) s: q& e4 u' r妖城在线论坛下面我们进入今天的教学妖城在线论坛4 O$ {) E. E( K1 M/ f! U
lua的远程指令主要依靠NL.RegTalkEvent(Dofile, FuncName)达成魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ n/ g6 l, q+ a# f3 ?6 m% t
该函数的作用是[创建对话事件],它可以全局框架注册0 ?4 l1 N3 s* A
一般使用Delegate.RegDelTalkEvent("XXX")创建全局对话事件
1 k7 p) F6 M. R& c魔力私服,最新魔力宝贝私服技术交流NL.RegTalkEvent的返回函数明细:妖城在线论坛# w2 Y9 C$ y5 y: ~
TalkEventCallBack(CharIndex, Msg, Color, Range, Size)
2 u/ A! _3 p# d: x魔力私服,最新魔力宝贝私服技术交流参数说明
6 \/ Y. D8 n, _+ vbbs.mocwww.comCharIndex: 数值型 响应事件的对象index,该值由Lua引擎传递给本函数。
# T  k' {$ A' N魔力私服,最新魔力宝贝私服技术交流Msg: 文本型 话的内容,该值由Lua引擎传递给本函数。—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート; [4 M+ E4 s# @
Color: 数值型 说话颜色,该值由Lua引擎传递给本函数。
5 j( o9 U2 L/ c, M, M" ?$ z& Ubbs.mocwww.comRange: 数值型 说话音量(范围),该值由Lua引擎传递给本函数。
  r: o0 C, M& d7 p+ L妖城在线论坛Size: 数值型 说话字体大小,该值由Lua引擎传递给本函数。妖城在线论坛0 ~% ~; x- y+ @4 J
返回值
2 W. }% ^/ e6 Y# q' v妖城在线论坛返回0拦截说话内容,返回1正常发送妖城在线论坛' r, B+ J+ }. U

6 s5 a. I) S  ]' z/ Ybbs.mocwww.com小知识复习:当形参由lua引擎传递一个可用实参时,你不需要填写形参具体值,并且可以传递给其他函数的空白形参,让其拥有实际数值,传递时候要注意传参的类型,空白形参的函数中,空白形参若只能填写数值型
$ e6 R3 w0 w9 B( a5 v5 q; r+ c9 A7 h传递过来的数值就必须是数值型(这种情况可以先设置一个变量   a=tonumber(lua引擎传递的字符串型传参) 然后把变量a填入空白形参的函数形参中)
5 j+ f- e$ e/ o. D8 i5 O& u. G. R* h7 ]) n  ~魔力私服,最新魔力宝贝私服技术交流) h% M7 y4 g8 e. M
文字太过干涩,下面用实例解释今天的知识点—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! R$ S; w% b6 |: O4 h. o4 l  n; n
该例实现了用指令整理身上的道具的功能—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート3 ^5 S4 B( _* s
妖城在线论坛; X" q( G% F1 {7 U7 ?
local zhengli = "/zl"--整理指令,此处需要""把内容定义为字符串—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート, ?8 \3 _0 p1 s
--  ***************************************************************************************************** --妖城在线论坛- _- _, G9 q6 N$ x7 V+ H
Delegate.RegDelTalkEvent("zlTalkEvent");--全局注册对话事件函数—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 o3 f- l5 h( M% ?4 ~) u
4 p7 m, r; F" d# p) H0 x6 h  U8 y, F
function zlTalkEvent(player,msg,color,range,size)--调用对话事件函数的返回函数
" H/ x1 I% y# i% _        if(msg==zhengli) then--检测MSG=整理指令时则执行下述函数块内容bbs.mocwww.com+ X8 x# e3 M* I( D3 [- X
                NLG.SortItem(player)--调用GA封装的整理道具函数,其中NLG.SortItem(player)的(player)值由function zlTalkEvent(player,msg,color,range,size)这个返回函数赋予—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート: I3 [6 e( J; X" B5 h8 N
        end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート0 }: M$ x0 U( V# i3 c% I# Z' }7 d
end
% Y7 ~( R) e: k4 Fbbs.mocwww.combbs.mocwww.com) b) x; P+ B" b9 H5 X+ {
上述实例中,如果单独拿NLG.SortItem(player)出来,(player)的值会是nil,是没有任何数值的,它是一个标准的设置函数,需要从获取函数中获得形参的实值(魔力lua的函数的形参分为2种,获取函数(get)和设置函数(set))魔力私服,最新魔力宝贝私服技术交流* X" \. r6 G% _+ v& s
教学用指令整理道具.7z (453 Bytes) —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート, Z! u$ E% ^* G) G, W% U; X
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表" f& I- l! J' d# @) O# A: j: G
[ 本帖最后由 王宫召唤士盖兹 于 2019-5-31 02:07 编辑 ]

TOP

6666666666666666

TOP

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

TOP

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

TOP

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

TOP

引用:
原帖由 staki 于 2019-8-3 03:12 发表
3 K% m9 X" [2 V. N/ x6 n魔力私服,最新魔力宝贝私服技术交流建议出个GP的 GA好像在这身败名裂了
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート' {, v) H9 N  M0 y! E
魔力私服,最新魔力宝贝私服技术交流( b+ ~  d6 q3 u5 n' I. G
GP没2键端无法操作,只是学lua基础都一样的& z8 Q& H& d, O" F9 D/ x. E
我不更新就是涉及的具体操作太多,通用性不高,没有更新的必要魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ t8 z- U% ?/ b0 A. @
我本身秉持授人与鱼不如授人于渔的想法,才写了这个帖子
0 v6 V4 [% g+ h% R5 i, g魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表能看懂本帖之前写的内容,足够了魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表' y$ x  g  P/ Y/ A6 S
魔力私服,最新魔力宝贝私服技术交流% }6 t  r6 E4 E, |* Q& i
备注:魔力私服,最新魔力宝贝私服技术交流6 {4 b& o3 n+ |5 K+ K3 u. h
既然回帖了,就再讲一下魔力lua的基础运行流程:bbs.mocwww.com' Y4 h; w  @+ H. I5 N5 u* @  W7 ^
1:GMSV启动时加载GMSV内置的魔力lua模块魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表  H. C4 B% s2 m$ z
2:GMSV自动加载初始lua-init.lua   该lua是由GMSV自动加载的(无需写dofile加载)bbs.mocwww.com/ |! ]0 T( }( b# u# p8 ?% H
3:init.lua 加载运行内部代码    此时会有大量dofile,一般是加载基础框架相关的东西 有兴趣可以参考init.lua内部代码,包括框架全局注册这类关键脚本,都是此时加载的妖城在线论坛$ \* E" n  b) Q
4:init.lua中有一行dofile(Lua_Path.."Config.lua"),加载Cofig.lua
7 C. @. \( g4 q. H5 V魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5:Cofig.lua加载各种Module文件夹内的lua  (至于Cofig.lua内用于加载lua的Loadlua函数究竟是GA哪个脚本内写的,可以给大家当成一个最后的课后考题,找出他,能找到他,我相信你就会发现魔力LUA的运行逻辑是如此简单)
: }& Z8 R3 x* x. n提示:GP的Loadlua函数在  lua\include\Global.lua 这个文件内
0 i# K' h. z6 v% u- v% u! Fbbs.mocwww.com提示2:GA的Loadlua函数在 lua\System某个文件夹内
) W. }( \% w- ybbs.mocwww.com
1 p  [4 P; t+ t* @" t/ C: p( B. `—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート[ 本帖最后由 王宫召唤士盖兹 于 2019-8-3 12:59 编辑 ]

TOP

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

TOP

我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表2 `  f$ i  Z; [% O, [
- I& H6 e8 c6 T7 Z7 U5 q
                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_PlayerIndex,%对象_账号%).."' and Name='"..Char.GetData(_PlayerIndex,%对象_原名%).."'";
/ }' D( g- d; J. ]  Q, _                local ret = SQL.Run(query);! E3 I  H+ |% L0 g
        魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 ^1 }7 \+ u) R7 {% Q
                Char.SetData(_PlayerIndex,%对象_原名%,_data);
! S1 G. @, |. y- H" v1 D# @- |魔力私服,最新魔力宝贝私服技术交流                NLG.UpChar(_PlayerIndex);魔力私服,最新魔力宝贝私服技术交流8 f* l& u( c% Z6 h0 \0 \. t

5 [  P1 {, ~+ l3 D魔力私服,最新魔力宝贝私服技术交流如果没有最后这两行,SQL改的数据库,人物退出还是原来的名字。
! J8 M* ]& s8 [0 p—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 y8 y1 ~8 {" Z. r& g. w- m
[ 本帖最后由 rolser 于 2019-8-20 20:52 编辑 ]

TOP

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

TOP

引用:
原帖由 rolser 于 2019-8-20 20:44 发表
( b* X) G3 ^/ j( e$ N) S) @4 P—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表1 y2 F' s! y9 v4 V8 [* ?5 k, a
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート$ X# Z' o- \9 B% ^
                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_Pl ...
! {" l1 u( e& {, g8 F魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表) F+ u0 E3 o) f. R/ d$ Z+ x! z
lua修改玩家内存只是修改了GMSV内的内存,在玩家客户端内并没有显示,因此需要用UpChar函数更新玩家客户端显示魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表1 K0 ~! Q9 c( m0 o2 H; @3 F  r
同理还有NPC创建时候使用的UpChar函数,这个函数如果是由全局注册init来触发的,会导致你即使重载脚本,NPC也加载不出来,必须重启服务器(重新加载init)才行
& Y, {5 Z& _. N) R0 p: t( V/ b妖城在线论坛备注:创建NPC也可以用其他函数或者if,GE不要使用if,会有奇怪的错误
7 f1 I$ K$ F, y) N4 g% k魔力私服,最新魔力宝贝私服技术交流
* F* N0 v  p5 Y8 Z; t/ @+ ?—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートGE的教程和GA是互通的,他们只不过是文件夹不一样,文件名不一样,函数名不一样,但运行逻辑都是一样的,只是WIN7和WIN10的区别而已,只要能看懂本帖说的GA的内容,GE和GP自然就懂了3 M1 c2 N/ V! k: ^

# M4 |' W. [7 ]5 {* l& @魔力私服,最新魔力宝贝私服技术交流[ 本帖最后由 王宫召唤士盖兹 于 2019-8-30 11:22 编辑 ]

TOP

发新话题