发新话题
打印

[讨论] 初级魔力lua解析

多谢大神

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

TOP

请大佬继续更新

TOP

求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??
7 l0 l" C2 }& Q7 |  a; X—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
7 @! [) s: O2 s. j5 P5 j, T% I
+ |" C% l' c4 L0 U
1 r7 {7 x2 h3 Y8 Z3 M: d6 l/ xbbs.mocwww.comif _Select==2 or _Seqno==99999 then
: Q1 R& T9 L! {' ^: [—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                return妖城在线论坛  X. \6 V2 u" h
        end. P5 o. z( N/ M. _- K7 U& b
妖城在线论坛4 J6 C  s- K4 s. m3 {: P
        if _Seqno==10 then
& b4 l4 A0 W# J9 B8 ~* I+ D                --Get Session魔力私服,最新魔力宝贝私服技术交流, a6 h% `2 f2 `# y0 O
                SelectPetSlot[_PlayerIndex] = _Data-1
8 ?: x6 e# J. y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local tItemSlot = SelectItemSlot[_PlayerIndex]
1 V2 o* R' e( U妖城在线论坛                local tPetSlot = SelectPetSlot[_PlayerIndex]
/ ?* B; J7 i# R: k0 T  n                --Get Pet Data魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表9 G9 J0 x3 I, z1 |) J
                local tPetIndex = Char.GetPet(_PlayerIndex, tPetSlot)魔力私服,最新魔力宝贝私服技术交流+ F. n3 V  F4 t" l2 Y
                if tPetIndex<0 then
6 ~9 Z% {- x$ t7 U# S6 |- K妖城在线论坛                        return 0
- Z' X% w, [9 g: i—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& y9 B, q2 f& B: d9 ~
                local tPetName = Char.GetData(tPetIndex, %对象_名字%)
  B+ A; D* N# Qbbs.mocwww.com                local tPetID = Char.GetData(tPetIndex, 68)bbs.mocwww.com5 B, ?" A% {# w
                local tPetLv = Char.GetData(tPetIndex, %对象_等级%)魔力私服,最新魔力宝贝私服技术交流+ c3 c: M7 V  U% m" z; e
                local tPetGetLv = Char.GetData(tPetIndex, %宠物_获取时等级%)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* m+ j* }. I7 x
                local tPetTechSlotMax = Char.GetData(tPetIndex, %宠物_技能栏%)bbs.mocwww.com+ p! P( v1 C0 U/ f& _
                --Get Item Data! ?8 W: |5 N. C# A' b5 F8 {
                local tItemIndex = Char.GetItemIndex(_PlayerIndex, tItemSlot)
: z3 [9 K* r3 z魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                if tItemIndex<0 then
. v# C, A, h& @/ L5 h% ]; v1 T                        return 0
# ^' N! Y0 n4 h2 W% S5 Q妖城在线论坛                end
- S( ^- n- I; c3 o# ~bbs.mocwww.com                local tItemName = Item.GetData(tItemIndex, %道具_名字%)
  `$ G5 D$ ]2 P                local tItemID = Item.GetData(tItemIndex, %道具_ID%)魔力私服,最新魔力宝贝私服技术交流' \9 T; I0 z9 `8 v2 C
                local tTechType = Item.GetData(tItemIndex, %道具_特殊类型%) or 0—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート' t$ b5 l2 N* ?. L$ l( f
                local tTechID = Item.GetData(tItemIndex, %道具_子参一%) or 0bbs.mocwww.com+ g/ ]0 A8 _' f9 g0 d
                local tPreTechID = Item.GetData(tItemIndex, %道具_子参二%) or 0
. g3 j0 ?0 p; P5 j( X魔力私服,最新魔力宝贝私服技术交流                        print("\n=================调试信息====================")
' g0 r' L' k& U5 w                        print("tItemID=" .. tItemID), S. q; T9 j# N8 g3 `/ E# L8 g
                        print("tItemName=" .. tItemName)bbs.mocwww.com6 d. Y6 ~. o. w( M. L
                        print("tTechType=" .. tTechType)魔力私服,最新魔力宝贝私服技术交流7 n" P: u6 Z+ B* ?' _; S1 p
                        print("tTechID=" .. tTechID)
/ i% B8 G0 ]+ ^  t# T1 k                        print("tPreTechID=" .. tPreTechID)
, O/ \, n( L/ N' e/ T魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        print("NorPreTechID=" .. NorPreTechID)
/ X* ?4 \0 U; I* V. q. W( M魔力私服,最新魔力宝贝私服技术交流                        print("TechSlot=" .. #PetTechNpc_GetTechList(tPetIndex) .. "/" .. tPetTechSlotMax)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート  i4 b/ R7 j$ {
                        print("InTable=" .. PetTechNpc_GetTechPos(tPetIndex, tPreTechID))妖城在线论坛7 b* R+ s$ _& b/ w
                --Check Type
; u0 r3 O: B  w3 K$ X: J魔力私服,最新魔力宝贝私服技术交流                if tTechType==1 then
# F6 k5 d* @; ~7 |5 @0 N; d& i! z魔力私服,最新魔力宝贝私服技术交流                        if PetTechNpc_CheckInTable(SPetListA, tPetID)~=true then
2 X( o$ V0 y: @8 V. `—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")/ P: q/ h- P" O/ ]: D  w! g! i
                                return 0—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート' f# J; @: f1 q7 N2 X8 g5 Q) q0 f& ^
                        end
' W. t& d+ x4 e3 G, x! Kbbs.mocwww.com                elseif tTechType==2 then
6 `2 i8 C4 R, `, z9 B妖城在线论坛                        if PetTechNpc_CheckInTable(SPetListB, tPetID)~=true then
  G) f1 N% L4 B& M1 X$ i& L. G—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")
3 O' Y4 ]! d" O妖城在线论坛                                return 0
0 U6 M% W2 h# r" @0 X& T& m魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        end
1 v  t5 N0 W6 I魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                elseif tTechType==3 then
  V* }, x5 K) |. ]7 h魔力私服,最新魔力宝贝私服技术交流                        if tPetGetLv>1 then
7 ]0 H2 }, I, k5 W) b0 V妖城在线论坛                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:非野生")
/ D6 Z3 w& e0 M+ f9 Q7 gbbs.mocwww.com                                return 0妖城在线论坛& p2 _/ ]$ E6 q% N9 [6 S
                        end
! [- q) B! E; D) P% e7 a) I. G# _' P7 Fbbs.mocwww.com                elseif tTechType==4 then魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% ^0 G$ K" p$ W" ~
                        if tPetLv<PetMaxLevel then
, [1 h  D3 b4 A4 N& v' E8 {魔力私服,最新魔力宝贝私服技术交流                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:满级")bbs.mocwww.com' D. X' b2 A  m& q  v. e
                                return 0
) ?; _2 I6 W/ k( o妖城在线论坛                        end
( C1 g& \2 u8 ubbs.mocwww.com                end
1 g  Y% P0 [2 e1 X# D—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                --Check NorPreTechID
# R5 ]9 C- y$ x. F6 p—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                if tPreTechID==NorPreTechID and        #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax and PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 Q4 Q( i4 @2 r# ^& i) `
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:请先学习【高阶技能栏】技能")魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% k/ t$ U7 n/ Y* g( A
                                return 0
0 w+ m' r8 J, i妖城在线论坛                end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート3 ^9 j  S4 i  o
                --Check PreTech$ R. i( k1 Q" E/ \! [
                if tPreTechID>0 and tPreTechID~=NorPreTechID then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート  _7 `" |- k3 I
                        if PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート: O" f8 |# |5 d8 [/ G( k) T) d6 x
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:前置技能")
% Q/ O% Q5 W) A—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                                return 0
' x; Z  e+ c! y" B* f# D  j5 Z—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        end妖城在线论坛* k1 J9 _  t1 `. G; O& W8 I1 g' F8 K
                end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% E: s, S* X) @; s( n
                --Check Slot—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ I+ |3 x8 x5 w3 x
                if tPreTechID<=0 and #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax then
, m6 H; O, G. R) R0 w: O; C魔力私服,最新魔力宝贝私服技术交流                        NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:技能栏已满")
) i1 M( ?7 m0 S, Z" U* t—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        return 0魔力私服,最新魔力宝贝私服技术交流9 h; H$ X0 i& G: }8 r
                end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート: P, r5 X8 X& c# o* M7 v' X) l
                --Del PreTech魔力私服,最新魔力宝贝私服技术交流# |# W) S6 ~! t! U: w8 ]9 \
                if tPreTechID>0 then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート* ]0 k4 r9 i& ^4 o+ v
                        local tPreTechPos = PetTechNpc_GetTechPos(tPetIndex, tPreTechID)
4 J0 m5 K+ y- _! w8 F% P魔力私服,最新魔力宝贝私服技术交流                        Pet.DelSkill(tPetIndex, tPreTechPos)
/ k( |3 }+ G% b: t9 N8 O0 B妖城在线论坛                end
' Z6 C+ R- n: [—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                --Add Tech魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表) }$ T9 \, v& h* r, t$ t' |
                local rt = Pet.AddSkill(tPetIndex, tTechID)妖城在线论坛5 ^% B. S: E; I% Q
                if rt~=1 then
3 ?- r/ Q7 S3 T, [/ s$ l—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        NLG.SystemMessage(_PlayerIndex, "[错误] 未知原因错误")—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& g; v; n; Z) ^$ k( R/ l, _
                        return 0
9 V8 H( m0 |& I* u) _  D1 Y/ a* U5 g魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表6 b  n) _1 R8 V) X# w2 z$ d- }
                --Del Item
3 s5 ?0 f5 A' M% I: |魔力私服,最新魔力宝贝私服技术交流                Char.DelItem(_PlayerIndex, tItemID, 1)
% G7 d# l: k9 Y& l: M妖城在线论坛                --Up Pet妖城在线论坛% d) ^7 E9 C. i$ u6 f- @9 F! O
                Pet.UpPet(_PlayerIndex, tPetIndex)+ c' E$ e$ ^" w
                NLG.SystemMessage(_PlayerIndex, "你的宠物" .. tPetName .. "学会了新技能。")
; o2 W: o& F! n% |  Q8 Y魔力私服,最新魔力宝贝私服技术交流        return 1
* x: e3 v6 y1 `- S- Y7 E        end
! J) B1 L( q0 W* S8 C* z—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートend—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート$ E$ L8 `& s* G

' N* m  c3 [! j' h! q. Z魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表--使用道具
$ z* M5 B2 O2 _- g2 J妖城在线论坛NL.RegItemString(nil, "PetTechNpc_ItemUse", "LUA_usePetTech");魔力私服,最新魔力宝贝私服技术交流- D7 I: F7 E9 r( E7 I  N
function PetTechNpc_ItemUse(_PlayerIndex, _ToPlayerIndex, _Slot)
9 j# Q/ V8 b( i9 e1 e—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        SelectItemSlot[_PlayerIndex] = _Slot
6 i  D& j+ T: J5 n" K2 x—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        PetTechNpc_Talked( tbl_LuaNpcIndex["PetTechNpc"], _PlayerIndex, 1)魔力私服,最新魔力宝贝私服技术交流% W# T! }; a* X9 W
        return 1
5 o5 S3 L& g( f6 O3 g# U妖城在线论坛end

TOP

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

TOP

引用:
原帖由 wangjun1127 于 2019-5-30 19:56 发表 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 u7 C; S; f' P+ x
求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??妖城在线论坛& j0 i3 i3 t) L8 k) v0 I( S! K! t- A6 S1 p
bbs.mocwww.com6 b' K' N" G* m6 v3 T- r

6 h! `0 Q; H7 x. |; N; _' q( ?) n2 Q妖城在线论坛魔力私服,最新魔力宝贝私服技术交流5 E3 x7 q9 K& g) d2 M% _+ T
if _Select==2 or _Seqno==99999 then妖城在线论坛/ b+ j) [0 L- q- O( y
                return魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表" G; j, g0 _2 J% \, b9 l9 Y
        end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表  j! u+ ?2 o7 t* g3 R

3 V; o! O3 j- M3 Q( G        if _Seqno==10 then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート; n  T" v" E% Q( j. X
                --Get Sessionbbs.mocwww.com: ^9 u% R: d; S5 Z
                SelectPetSlot[_Pla ...
bbs.mocwww.com" H  J( l8 _( M) m9 O2 t/ O
这是一个luac+lua结合的功能,你只迁移了lua部分,没有迁移luac部分(道具部分)

TOP

6.如何创立MSG指令(例:/1 /2)
* c  E; h" [  i0 ^$ m* G7 {魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表今天先来讲点简单的知识,顺便复习一下旧知识点中比较重要的获取(get)函数和设置(set)函数的区别,本帖停更也是由于深感自身讲的知识点先后顺序有些问题2 r5 @6 ]' Q) D) E# i
魔力lua包含了三大块知识点魔力私服,最新魔力宝贝私服技术交流& h/ U5 f, ~0 z. R' h
1:lua编程基础知识(不需要太深入的lua技术即可)妖城在线论坛) }' [  s3 H3 C& v- f
2:mysql基础知识(不需要太深入的mysql技术,但要会节省资源和防止疯狂读写)
" r$ }5 f: T5 ^妖城在线论坛3:魔力封包知识(高端lua开发必备)
8 v2 \( G7 B3 {9 m魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
/ \8 m+ J" J: k7 r$ t# R6 ^0 X8 v* y9 S, ~本帖只讲述lua在魔力中是如何运行的,这三块知识点都需要你们自己去学习
! s" p# M  A* P; v: \—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& L/ _8 B) B6 n3 Y- M, d" F1 d
下面我们进入今天的教学
' q  E; r  n! U6 C8 ?6 Zlua的远程指令主要依靠NL.RegTalkEvent(Dofile, FuncName)达成妖城在线论坛8 o( a- v- u6 I% W
该函数的作用是[创建对话事件],它可以全局框架注册
( S( A9 C9 w. O  h% {3 k  O—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート一般使用Delegate.RegDelTalkEvent("XXX")创建全局对话事件妖城在线论坛; t' w( `, H' q6 z
NL.RegTalkEvent的返回函数明细:0 j5 p3 y' i- p+ Z& z
TalkEventCallBack(CharIndex, Msg, Color, Range, Size)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表2 D  n! b& c2 a/ }& [
参数说明妖城在线论坛/ ?2 m2 k2 O0 S1 Z$ f& m  N
CharIndex: 数值型 响应事件的对象index,该值由Lua引擎传递给本函数。
" o9 E( T1 F2 ]魔力私服,最新魔力宝贝私服技术交流Msg: 文本型 话的内容,该值由Lua引擎传递给本函数。
1 W7 l8 x, k9 v$ b. @; P魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表Color: 数值型 说话颜色,该值由Lua引擎传递给本函数。
& j7 o& k" |. J+ y2 D/ vRange: 数值型 说话音量(范围),该值由Lua引擎传递给本函数。
3 B: w$ `  b; p3 o$ ~魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表Size: 数值型 说话字体大小,该值由Lua引擎传递给本函数。( A5 x6 I+ X3 r% ?% z. K
返回值妖城在线论坛5 Z2 M: K! ~7 g9 H# @; ^2 i1 u
返回0拦截说话内容,返回1正常发送—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 a: \& @, P: i( W1 ?1 X; X9 [

  w8 c: m1 l# z( q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート小知识复习:当形参由lua引擎传递一个可用实参时,你不需要填写形参具体值,并且可以传递给其他函数的空白形参,让其拥有实际数值,传递时候要注意传参的类型,空白形参的函数中,空白形参若只能填写数值型
8 T: R& Z( R  r/ Y3 ]魔力私服,最新魔力宝贝私服技术交流传递过来的数值就必须是数值型(这种情况可以先设置一个变量   a=tonumber(lua引擎传递的字符串型传参) 然后把变量a填入空白形参的函数形参中), i/ R  ^- c* F) a6 Y
妖城在线论坛% G, I+ C+ V4 w, [) }
文字太过干涩,下面用实例解释今天的知识点妖城在线论坛( q2 j3 E9 {4 a7 ~; G) ]
该例实现了用指令整理身上的道具的功能. {% [1 `) u9 i5 @0 k. i) u. n

9 J% v0 r. M0 Q7 Z! T魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表local zhengli = "/zl"--整理指令,此处需要""把内容定义为字符串魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表' {: ]- U3 \9 r  @& @
--  ***************************************************************************************************** --
! z: Y& d4 z. K- z, oDelegate.RegDelTalkEvent("zlTalkEvent");--全局注册对话事件函数魔力私服,最新魔力宝贝私服技术交流* Y: {2 i$ I  o: N" n, V, i; Y

/ I) j9 N8 H; p, V9 x2 f魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表function zlTalkEvent(player,msg,color,range,size)--调用对话事件函数的返回函数魔力私服,最新魔力宝贝私服技术交流. j& U  C2 p0 v* [! Q
        if(msg==zhengli) then--检测MSG=整理指令时则执行下述函数块内容
; G  J$ f  Z$ D; Z5 \* L: O; ?                NLG.SortItem(player)--调用GA封装的整理道具函数,其中NLG.SortItem(player)的(player)值由function zlTalkEvent(player,msg,color,range,size)这个返回函数赋予
. n; J; _7 I5 N) ?8 ]魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表        end妖城在线论坛, T0 ^0 q  |3 o) z% g; W
end$ _2 `& Y* o4 c. k1 h; i; x% _
bbs.mocwww.com( n. s1 |& b$ ]
上述实例中,如果单独拿NLG.SortItem(player)出来,(player)的值会是nil,是没有任何数值的,它是一个标准的设置函数,需要从获取函数中获得形参的实值(魔力lua的函数的形参分为2种,获取函数(get)和设置函数(set))
1 h6 L. g0 ]' _0 K+ E 教学用指令整理道具.7z (453 Bytes)
; ~1 }" y" p" y% I& Z, a3 N( @妖城在线论坛魔力私服,最新魔力宝贝私服技术交流% q1 Z+ @3 m$ c. H$ c
[ 本帖最后由 王宫召唤士盖兹 于 2019-5-31 02:07 编辑 ]

TOP

6666666666666666

TOP

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

TOP

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

TOP

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

TOP

引用:
原帖由 staki 于 2019-8-3 03:12 发表 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート- p+ D+ s0 F* W/ `# q' ?
建议出个GP的 GA好像在这身败名裂了
bbs.mocwww.com: F' V" J5 b( ?" Y+ q* m* [. [
: S9 r1 x1 Z9 \2 p" Y- l
GP没2键端无法操作,只是学lua基础都一样的bbs.mocwww.com! f& B8 m( O! x* D$ I7 c; C
我不更新就是涉及的具体操作太多,通用性不高,没有更新的必要
- W" t, W' ~$ n  H# r) @* S9 m我本身秉持授人与鱼不如授人于渔的想法,才写了这个帖子
$ T- m- ^4 z6 @+ t) t6 |% N. x魔力私服,最新魔力宝贝私服技术交流能看懂本帖之前写的内容,足够了bbs.mocwww.com: @) [' Z; D! P4 {% R
妖城在线论坛4 O8 Y9 `0 N1 ]
备注:
$ U8 n2 ^$ l+ r% X1 e0 X4 n4 A既然回帖了,就再讲一下魔力lua的基础运行流程:
2 J' j, _! O; F2 a- G  }9 T1:GMSV启动时加载GMSV内置的魔力lua模块
2 w( U+ v2 @( O- h" Ybbs.mocwww.com2:GMSV自动加载初始lua-init.lua   该lua是由GMSV自动加载的(无需写dofile加载)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 }& }! G$ a- o2 E
3:init.lua 加载运行内部代码    此时会有大量dofile,一般是加载基础框架相关的东西 有兴趣可以参考init.lua内部代码,包括框架全局注册这类关键脚本,都是此时加载的
9 f5 f; I: v0 \+ B- d魔力私服,最新魔力宝贝私服技术交流4:init.lua中有一行dofile(Lua_Path.."Config.lua"),加载Cofig.lua! w9 i7 @8 J) Q
5:Cofig.lua加载各种Module文件夹内的lua  (至于Cofig.lua内用于加载lua的Loadlua函数究竟是GA哪个脚本内写的,可以给大家当成一个最后的课后考题,找出他,能找到他,我相信你就会发现魔力LUA的运行逻辑是如此简单)
; l% c1 f/ s$ J/ N; @妖城在线论坛提示:GP的Loadlua函数在  lua\include\Global.lua 这个文件内bbs.mocwww.com- g) w6 {; ^8 n$ F& k! L* h
提示2:GA的Loadlua函数在 lua\System某个文件夹内bbs.mocwww.com* C! n- C5 b0 T3 \5 Z8 b

5 k+ x, n& b0 W* C9 T- qbbs.mocwww.com[ 本帖最后由 王宫召唤士盖兹 于 2019-8-3 12:59 编辑 ]

TOP

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

TOP

我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。
% w$ A& C' w0 `/ `+ [& U魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% @* q) U6 v' _1 g1 L0 x, V
                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_PlayerIndex,%对象_账号%).."' and Name='"..Char.GetData(_PlayerIndex,%对象_原名%).."'";妖城在线论坛4 b5 d3 k4 S) |. c* [5 P# c" I
                local ret = SQL.Run(query);魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表1 H5 b4 p0 m* I. e4 [+ _. T( {# U
       
. e' @) J' i2 C/ r1 x  H  d妖城在线论坛                Char.SetData(_PlayerIndex,%对象_原名%,_data);bbs.mocwww.com: R' p0 x: p2 z0 b! E  L, ~# r
                NLG.UpChar(_PlayerIndex);—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート4 q$ q& f8 [* }% F  e  f
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 r( O% A$ n" z+ ?
如果没有最后这两行,SQL改的数据库,人物退出还是原来的名字。魔力私服,最新魔力宝贝私服技术交流' j& ~6 p9 B& H+ Z8 O' y

$ w; {: l; t6 q; U' W+ dbbs.mocwww.com[ 本帖最后由 rolser 于 2019-8-20 20:52 编辑 ]

TOP

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

TOP

引用:
原帖由 rolser 于 2019-8-20 20:44 发表 —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート: v8 F( g2 {6 ?  V$ I  t
我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。bbs.mocwww.com( E% z' \' W" q. S8 Q( A# C, t
魔力私服,最新魔力宝贝私服技术交流. `- w7 z* s2 L6 d3 O& C  U2 E, o
                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_Pl ...
, H8 {' K; E: S2 P7 A+ t; F0 `* qbbs.mocwww.com+ h2 h  v8 @4 @- c
lua修改玩家内存只是修改了GMSV内的内存,在玩家客户端内并没有显示,因此需要用UpChar函数更新玩家客户端显示
, y, _- u1 F9 ?: s3 ^—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート同理还有NPC创建时候使用的UpChar函数,这个函数如果是由全局注册init来触发的,会导致你即使重载脚本,NPC也加载不出来,必须重启服务器(重新加载init)才行魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 M. P$ Q" W' N6 |
备注:创建NPC也可以用其他函数或者if,GE不要使用if,会有奇怪的错误
6 ]/ x- I% k* l. S9 H% v8 Bbbs.mocwww.com魔力私服,最新魔力宝贝私服技术交流0 I% i5 h' [1 @0 l! D
GE的教程和GA是互通的,他们只不过是文件夹不一样,文件名不一样,函数名不一样,但运行逻辑都是一样的,只是WIN7和WIN10的区别而已,只要能看懂本帖说的GA的内容,GE和GP自然就懂了魔力私服,最新魔力宝贝私服技术交流- \1 B: r- v" v; }* a3 g

) p, {5 C' B/ k& t- c, z妖城在线论坛[ 本帖最后由 王宫召唤士盖兹 于 2019-8-30 11:22 编辑 ]

TOP

发新话题