发新话题
打印

[讨论] 初级魔力lua解析

多谢大神

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

TOP

请大佬继续更新

TOP

求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??bbs.mocwww.com2 J) u: r- |" e* v; V) a, k
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& `2 ?$ ]/ x9 Y: A; t- Y
妖城在线论坛' S1 y" {  N7 J+ x
妖城在线论坛5 N- ^1 m; K& ~1 p8 Q0 m
if _Select==2 or _Seqno==99999 then
2 d$ E1 Q6 B9 i$ e: Y妖城在线论坛                return妖城在线论坛+ a# [5 v0 `. X% T
        end
* {& j  w- L' U- h
0 P7 v6 e( h  t1 x. A! }妖城在线论坛        if _Seqno==10 then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート. M9 y* y% e& i7 n. B+ w9 r
                --Get Session妖城在线论坛3 [! x8 _: L* j8 N  Q8 ~" Z/ O
                SelectPetSlot[_PlayerIndex] = _Data-1魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& o5 F1 S0 }2 f
                local tItemSlot = SelectItemSlot[_PlayerIndex]
0 ]9 E1 d+ }* I/ S# M妖城在线论坛                local tPetSlot = SelectPetSlot[_PlayerIndex]
& Y' I" S! K7 D2 \2 E8 f$ U                --Get Pet Data
( E+ i7 M* c5 r4 E! I& o魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local tPetIndex = Char.GetPet(_PlayerIndex, tPetSlot)bbs.mocwww.com; p5 X6 q. [) b- \/ y
                if tPetIndex<0 then魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表8 ]$ I, k0 Q" K' B
                        return 0
1 N# G8 m, c3 Y5 r+ S! B魔力私服,最新魔力宝贝私服技术交流                end
! V( O  j- P0 D魔力私服,最新魔力宝贝私服技术交流                local tPetName = Char.GetData(tPetIndex, %对象_名字%)妖城在线论坛! C9 i, H4 Z& N7 m6 `3 ^
                local tPetID = Char.GetData(tPetIndex, 68)
' T  ^; L% X- C( r  ]0 B魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local tPetLv = Char.GetData(tPetIndex, %对象_等级%)9 |  x# m* D# i* y+ g
                local tPetGetLv = Char.GetData(tPetIndex, %宠物_获取时等级%)
% l' Z2 E1 R( k& P, t( O                local tPetTechSlotMax = Char.GetData(tPetIndex, %宠物_技能栏%)
. b4 p9 a8 M( l+ j# U                --Get Item Data
9 J9 P1 r) t, {魔力私服,最新魔力宝贝私服技术交流                local tItemIndex = Char.GetItemIndex(_PlayerIndex, tItemSlot)魔力私服,最新魔力宝贝私服技术交流7 m4 Q' `  D0 l- `
                if tItemIndex<0 then魔力私服,最新魔力宝贝私服技术交流  R0 j* ?  `( T5 W- H1 q5 U7 y' M; _
                        return 0
& a6 @# k. Y+ c+ q2 g( S妖城在线论坛                end
: r9 Q6 h7 _. q, T魔力私服,最新魔力宝贝私服技术交流                local tItemName = Item.GetData(tItemIndex, %道具_名字%)
, x; w2 N& m& R, W! K, G: |1 h3 S                local tItemID = Item.GetData(tItemIndex, %道具_ID%)
  {& V/ a4 L! ~; v, {0 Tbbs.mocwww.com                local tTechType = Item.GetData(tItemIndex, %道具_特殊类型%) or 0—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート( N5 B9 g" s; N
                local tTechID = Item.GetData(tItemIndex, %道具_子参一%) or 0—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート0 e) a( f/ t) T+ U+ k
                local tPreTechID = Item.GetData(tItemIndex, %道具_子参二%) or 0
. L2 N' e# ?9 G) E1 Q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        print("\n=================调试信息====================")5 f" s5 R0 Y- E. h
                        print("tItemID=" .. tItemID)
# I3 x1 F/ z* j  t—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        print("tItemName=" .. tItemName)妖城在线论坛' t9 J# r' _! M. B! v
                        print("tTechType=" .. tTechType)
7 D+ c2 u% I  w0 d5 vbbs.mocwww.com                        print("tTechID=" .. tTechID)
( m) r0 v5 j& O0 b) ^/ ]( ~—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        print("tPreTechID=" .. tPreTechID)
9 ]+ p5 P- [) n  g( X# o" a魔力私服,最新魔力宝贝私服技术交流                        print("NorPreTechID=" .. NorPreTechID)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# a4 D; J7 o% V2 d+ V
                        print("TechSlot=" .. #PetTechNpc_GetTechList(tPetIndex) .. "/" .. tPetTechSlotMax)bbs.mocwww.com4 n- V) n/ c# c/ L% [. q% m" T
                        print("InTable=" .. PetTechNpc_GetTechPos(tPetIndex, tPreTechID))
) T0 |  H! n% X" @                --Check Type5 t1 \" {9 Q% x  {8 B, o
                if tTechType==1 thenbbs.mocwww.com( \; |, g6 h: ^
                        if PetTechNpc_CheckInTable(SPetListA, tPetID)~=true then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート( [  k- ^, c7 n7 I/ g) J+ _" N
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")
4 W" ?8 y0 O) H4 o, b) V* J4 Y7 ]3 J魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                                return 0魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ ~8 z8 Y1 y) w' t2 L. [3 T
                        end妖城在线论坛# h; a# k( e" z( p1 }8 D: J4 e' V
                elseif tTechType==2 then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! Z0 I! q+ K- n+ G) k0 _! q* R
                        if PetTechNpc_CheckInTable(SPetListB, tPetID)~=true then. C6 F9 \+ c3 s' H* I7 _2 R4 W
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")bbs.mocwww.com# n9 s/ V# u- W) o0 S3 o+ {% t3 a
                                return 0bbs.mocwww.com" a' x) `0 S+ w" ?/ D" y
                        endbbs.mocwww.com/ |7 x$ ]4 H4 a
                elseif tTechType==3 then
, B/ ^% h$ c0 l' {( q/ z魔力私服,最新魔力宝贝私服技术交流                        if tPetGetLv>1 then妖城在线论坛* a( o/ n7 I3 s  G
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:非野生")! G' \/ T2 l, k; }
                                return 0
: d+ e$ i, e6 }  f0 o. n! ~0 s—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        end
7 S1 B! d" A& y4 d4 m妖城在线论坛                elseif tTechType==4 then
9 m) O7 P/ `* F+ ~8 O魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        if tPetLv<PetMaxLevel then
1 e3 h  }9 M/ k+ {魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:满级")
) \: C8 t3 O3 D* k妖城在线论坛                                return 0
  G' T; i3 w% V$ Ibbs.mocwww.com                        end妖城在线论坛/ b1 ?) |! z5 Y, j! {" z2 D
                end
, z7 F7 q  L  [1 a$ V魔力私服,最新魔力宝贝私服技术交流                --Check NorPreTechID
7 {3 ^+ X7 p/ X魔力私服,最新魔力宝贝私服技术交流                if tPreTechID==NorPreTechID and        #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax and PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表3 G' {3 S; y+ H% ?" I$ A$ u9 X
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:请先学习【高阶技能栏】技能")- E7 D7 ]: w3 z) m
                                return 0魔力私服,最新魔力宝贝私服技术交流  G( Y, E" f9 F
                endbbs.mocwww.com* c' g, P4 t5 V. \& }+ _6 _
                --Check PreTech妖城在线论坛5 Q, q2 `9 v: C0 `; O
                if tPreTechID>0 and tPreTechID~=NorPreTechID then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート- S- c* b9 h/ J! o; V
                        if PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then
' _' z# h4 \5 Z  H  L) o- [: p—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:前置技能")
( v) C2 U; z# K7 z; t; d魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                                return 0魔力私服,最新魔力宝贝私服技术交流4 [  _5 h# q' q! J6 C# Y! K
                        end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表$ G7 ^7 [' ^. a0 \- ^- C& ?
                end
% i. y4 @1 w/ |& E# ^魔力私服,最新魔力宝贝私服技术交流                --Check Slot
" W% q3 j: F& a" B) Y6 q魔力私服,最新魔力宝贝私服技术交流                if tPreTechID<=0 and #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax then魔力私服,最新魔力宝贝私服技术交流) |( ?& v8 A+ m5 [* V( N
                        NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:技能栏已满")妖城在线论坛/ o; H! z* H' e4 `- I
                        return 0
- N6 d  a& e2 X: _" A妖城在线论坛                end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート( k9 b: S$ K5 S, ]$ G# \" }
                --Del PreTech
+ U4 Q  x! c4 j  k; xbbs.mocwww.com                if tPreTechID>0 then% T) @; V8 {! a) z
                        local tPreTechPos = PetTechNpc_GetTechPos(tPetIndex, tPreTechID)
, H3 l* v, o4 u- v                        Pet.DelSkill(tPetIndex, tPreTechPos)
' h& N& q7 ]1 G" n妖城在线论坛                end妖城在线论坛# Q9 Z, D8 d" f% U2 L
                --Add Tech" r5 `& Y7 O% `+ d; Y' Z
                local rt = Pet.AddSkill(tPetIndex, tTechID)bbs.mocwww.com9 M+ H. E+ r6 X
                if rt~=1 then
2 w8 F+ t8 P/ ^4 L) D2 H' Q! Q, U! i                        NLG.SystemMessage(_PlayerIndex, "[错误] 未知原因错误")bbs.mocwww.com( ?) [  ^: ~/ k! r9 `' q# Y! G8 ?
                        return 0bbs.mocwww.com/ |9 m& C7 \# @3 h0 g
                end
6 _; ]3 _5 ?6 \, I6 m; d8 j% o+ |魔力私服,最新魔力宝贝私服技术交流                --Del Itembbs.mocwww.com+ E! `" f! w6 X: |; N5 p
                Char.DelItem(_PlayerIndex, tItemID, 1)" O/ d. Q* s2 W% X
                --Up Petbbs.mocwww.com0 m, c/ O; o% l# w- L4 e
                Pet.UpPet(_PlayerIndex, tPetIndex)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& s4 T* s. H5 S0 L
                NLG.SystemMessage(_PlayerIndex, "你的宠物" .. tPetName .. "学会了新技能。")
# ]: i- j* f0 _" c, Fbbs.mocwww.com        return 1' N1 K; w- F: ]2 q0 E, Z! \! N4 V
        end
! Q) A/ S2 h% }妖城在线论坛end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# {6 ], N0 G$ V
妖城在线论坛' ^- |* @$ \3 j. e; Y
--使用道具
3 j5 `3 E! Q  {" \4 |妖城在线论坛NL.RegItemString(nil, "PetTechNpc_ItemUse", "LUA_usePetTech");
7 n* [* a% X% \function PetTechNpc_ItemUse(_PlayerIndex, _ToPlayerIndex, _Slot)
' f1 w+ t& H; c; ?! H魔力私服,最新魔力宝贝私服技术交流        SelectItemSlot[_PlayerIndex] = _Slot
) R( y; K- I% J& o. hbbs.mocwww.com        PetTechNpc_Talked( tbl_LuaNpcIndex["PetTechNpc"], _PlayerIndex, 1)妖城在线论坛2 w, J% j( w5 S2 u0 p# r0 N
        return 1
7 D% f2 R: ~/ Q4 i—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートend

TOP

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

TOP

引用:
原帖由 wangjun1127 于 2019-5-30 19:56 发表 魔力私服,最新魔力宝贝私服技术交流9 A4 O/ }/ j5 w% R8 c
求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??
$ D* \. `) q! T* p9 @2 e8 v妖城在线论坛
* A  p" [/ T3 e% [bbs.mocwww.com魔力私服,最新魔力宝贝私服技术交流6 q" c+ w# [/ c; e: A- `1 }

5 O4 T0 E' U6 b# b1 `6 Kif _Select==2 or _Seqno==99999 then
* Y  T+ d/ R1 @& n! G                return
% a3 v- D) G# ]% k' V, e. g—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        endbbs.mocwww.com1 X: b1 ?- A, m! n( V' t

) |1 c8 D- q" T. @# w0 x4 T& ^/ S魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表        if _Seqno==10 then魔力私服,最新魔力宝贝私服技术交流0 x( \9 t0 z/ @9 n4 |4 ^9 E
                --Get Session
, Q# u) N5 f! B( J; |3 A8 N& _3 ]—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                SelectPetSlot[_Pla ...
妖城在线论坛% t6 C2 h( H+ D* k/ B
这是一个luac+lua结合的功能,你只迁移了lua部分,没有迁移luac部分(道具部分)

TOP

6.如何创立MSG指令(例:/1 /2)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. d/ g! L9 t/ e( s& {
今天先来讲点简单的知识,顺便复习一下旧知识点中比较重要的获取(get)函数和设置(set)函数的区别,本帖停更也是由于深感自身讲的知识点先后顺序有些问题bbs.mocwww.com. M/ C2 s4 B; @5 l- |
魔力lua包含了三大块知识点+ N* M0 c+ o- Z. J
1:lua编程基础知识(不需要太深入的lua技术即可)bbs.mocwww.com! ^# N! L5 k% U) ^0 \) M
2:mysql基础知识(不需要太深入的mysql技术,但要会节省资源和防止疯狂读写)
5 v. ]- H- u0 R: ?0 I- j) Cbbs.mocwww.com3:魔力封包知识(高端lua开发必备)
6 U7 Y, [! f- l0 I- ^bbs.mocwww.com
8 S) L5 }' x! I' {, S- \- ?6 i5 U+ d魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表本帖只讲述lua在魔力中是如何运行的,这三块知识点都需要你们自己去学习
- U+ W, g( z  [) [5 l. {+ D+ m魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
" J; [6 {# {% R( w$ Q魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表下面我们进入今天的教学bbs.mocwww.com$ I- r$ Q- l; h/ A+ G- g/ u' Y
lua的远程指令主要依靠NL.RegTalkEvent(Dofile, FuncName)达成
. B; Y) N# I4 K6 C( Q" W( ?妖城在线论坛该函数的作用是[创建对话事件],它可以全局框架注册
* w$ S  T9 s4 K9 q8 X妖城在线论坛一般使用Delegate.RegDelTalkEvent("XXX")创建全局对话事件
. g6 Z! k3 q% |# xNL.RegTalkEvent的返回函数明细:妖城在线论坛3 c; Q+ ], h5 E1 |7 P
TalkEventCallBack(CharIndex, Msg, Color, Range, Size)妖城在线论坛$ s2 K- Q# o. L( Z7 _
参数说明
2 U4 ~& k+ i7 @0 D—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートCharIndex: 数值型 响应事件的对象index,该值由Lua引擎传递给本函数。—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート( x6 F1 u, t8 Q9 l& E' M1 U1 s$ ?  ~% Q
Msg: 文本型 话的内容,该值由Lua引擎传递给本函数。bbs.mocwww.com+ x+ i, F4 o2 X8 s
Color: 数值型 说话颜色,该值由Lua引擎传递给本函数。魔力私服,最新魔力宝贝私服技术交流& a/ q7 N. n. J& x
Range: 数值型 说话音量(范围),该值由Lua引擎传递给本函数。
: N" f) j- x* s* I4 K& P+ }—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートSize: 数值型 说话字体大小,该值由Lua引擎传递给本函数。魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表  r6 q# o/ p% d' S
返回值
5 t$ }; y6 V. a) ]3 q+ w/ N5 N—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート返回0拦截说话内容,返回1正常发送bbs.mocwww.com- V1 V: o4 w; i: U& V
妖城在线论坛% S5 @3 j1 x' p. h; N
小知识复习:当形参由lua引擎传递一个可用实参时,你不需要填写形参具体值,并且可以传递给其他函数的空白形参,让其拥有实际数值,传递时候要注意传参的类型,空白形参的函数中,空白形参若只能填写数值型魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表" R0 M( o: j; W9 v( b& G
传递过来的数值就必须是数值型(这种情况可以先设置一个变量   a=tonumber(lua引擎传递的字符串型传参) 然后把变量a填入空白形参的函数形参中)
! A6 q% a! h- u/ \2 _魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
6 X0 E* a$ O; }  M3 }bbs.mocwww.com文字太过干涩,下面用实例解释今天的知识点
1 U% D% P! h1 }' R—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート该例实现了用指令整理身上的道具的功能bbs.mocwww.com/ b1 F8 T9 o/ _& {0 t

% `! T) A6 ?2 ~/ Qbbs.mocwww.comlocal zhengli = "/zl"--整理指令,此处需要""把内容定义为字符串
4 ~, y5 b1 Y! x' l- T0 z" t$ w--  ***************************************************************************************************** --
( s2 z" t- T, X魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表Delegate.RegDelTalkEvent("zlTalkEvent");--全局注册对话事件函数bbs.mocwww.com+ v0 ^/ B4 `/ \1 w# y) I

, t  P  Y: [! I2 @/ I; _function zlTalkEvent(player,msg,color,range,size)--调用对话事件函数的返回函数" q7 _, ]4 g7 S2 S# ^
        if(msg==zhengli) then--检测MSG=整理指令时则执行下述函数块内容—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート; i8 s# f! x0 _; X
                NLG.SortItem(player)--调用GA封装的整理道具函数,其中NLG.SortItem(player)的(player)值由function zlTalkEvent(player,msg,color,range,size)这个返回函数赋予
4 g- s+ C: v5 S, ], o. f. r魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表        end
4 j5 @% s$ F* ^. \) vend妖城在线论坛% [) J% X8 z8 a1 H0 V# C+ p+ _7 n
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ p: e! R/ w) T) S* C1 u  \5 [# x: y
上述实例中,如果单独拿NLG.SortItem(player)出来,(player)的值会是nil,是没有任何数值的,它是一个标准的设置函数,需要从获取函数中获得形参的实值(魔力lua的函数的形参分为2种,获取函数(get)和设置函数(set))
4 b4 ?* \; N2 H魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表 教学用指令整理道具.7z (453 Bytes) bbs.mocwww.com$ z* \7 x$ H: Q$ A: i

+ p! ]* ^" p7 h妖城在线论坛[ 本帖最后由 王宫召唤士盖兹 于 2019-5-31 02:07 编辑 ]

TOP

6666666666666666

TOP

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

TOP

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

TOP

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

TOP

引用:
原帖由 staki 于 2019-8-3 03:12 发表
) Q. n4 m/ U* u- @/ b2 Z—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート建议出个GP的 GA好像在这身败名裂了
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 D, A" m1 ~! U& \+ o' A1 g

/ N, F/ p$ J2 e) ^妖城在线论坛GP没2键端无法操作,只是学lua基础都一样的bbs.mocwww.com" H1 x+ l4 b' A$ p
我不更新就是涉及的具体操作太多,通用性不高,没有更新的必要
7 o4 ?$ ~! M* |4 A% o魔力私服,最新魔力宝贝私服技术交流我本身秉持授人与鱼不如授人于渔的想法,才写了这个帖子3 C& R: @! G1 F. }6 f4 w+ `
能看懂本帖之前写的内容,足够了魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; _9 o' U/ T6 u% ]9 P; W7 ?) U/ R6 V

, p- O$ d, b. |& W1 }7 v2 X魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表备注:
5 e2 K9 V2 O* {—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート既然回帖了,就再讲一下魔力lua的基础运行流程:
, t5 I+ B8 U$ b5 n; j+ O妖城在线论坛1:GMSV启动时加载GMSV内置的魔力lua模块( H; U& e* X1 r" \$ V4 f
2:GMSV自动加载初始lua-init.lua   该lua是由GMSV自动加载的(无需写dofile加载)妖城在线论坛+ x% x5 s2 w, H+ A( S/ R
3:init.lua 加载运行内部代码    此时会有大量dofile,一般是加载基础框架相关的东西 有兴趣可以参考init.lua内部代码,包括框架全局注册这类关键脚本,都是此时加载的; A0 U- ^: ]  [$ E$ p- k0 l
4:init.lua中有一行dofile(Lua_Path.."Config.lua"),加载Cofig.lua妖城在线论坛3 ]3 C6 |2 ^0 D2 g& e0 G# f! C8 ^; \
5:Cofig.lua加载各种Module文件夹内的lua  (至于Cofig.lua内用于加载lua的Loadlua函数究竟是GA哪个脚本内写的,可以给大家当成一个最后的课后考题,找出他,能找到他,我相信你就会发现魔力LUA的运行逻辑是如此简单)8 U, M3 ]. N8 r; {1 _9 o) c2 ?
提示:GP的Loadlua函数在  lua\include\Global.lua 这个文件内
- x( k# h8 Q  q提示2:GA的Loadlua函数在 lua\System某个文件夹内妖城在线论坛4 x  W; j) \( n# h! s, K  u2 g

; a! n$ l( w0 n7 \, @8 ^妖城在线论坛[ 本帖最后由 王宫召唤士盖兹 于 2019-8-3 12:59 编辑 ]

TOP

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

TOP

我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。bbs.mocwww.com, o# w( ^* h  f" K0 E2 e& i

# O0 D- _1 q% v2 g* l% Q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_PlayerIndex,%对象_账号%).."' and Name='"..Char.GetData(_PlayerIndex,%对象_原名%).."'";魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表+ `& j1 |( M. a3 a& i
                local ret = SQL.Run(query);
! F. P5 m: j' U1 |! C4 y; X7 ]8 U# y       
' f- e: D2 _5 y2 r" M( f; P                Char.SetData(_PlayerIndex,%对象_原名%,_data);
( Q2 i; s+ h" U. |1 ~/ s* ]1 M" abbs.mocwww.com                NLG.UpChar(_PlayerIndex);bbs.mocwww.com( n2 a$ F; g1 X( d& J

. N+ S2 U! ^  l- ]' [( x' @/ ]如果没有最后这两行,SQL改的数据库,人物退出还是原来的名字。
* o; q( y6 R+ ^7 B: j8 q: A* e
3 N! h) t/ h+ E. q6 _[ 本帖最后由 rolser 于 2019-8-20 20:52 编辑 ]

TOP

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

TOP

引用:
原帖由 rolser 于 2019-8-20 20:44 发表 " l% Y6 _3 t: D% m& x6 t7 N
我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。
% J6 b- }: f8 }
( S" @% b: j7 }0 a0 f—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_Pl ...
) w8 u. H4 v0 t' P! Q: R3 nbbs.mocwww.com
6 h0 N. K3 V7 ]) @# b1 obbs.mocwww.comlua修改玩家内存只是修改了GMSV内的内存,在玩家客户端内并没有显示,因此需要用UpChar函数更新玩家客户端显示
7 x4 n7 }7 _5 |. }" w魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表同理还有NPC创建时候使用的UpChar函数,这个函数如果是由全局注册init来触发的,会导致你即使重载脚本,NPC也加载不出来,必须重启服务器(重新加载init)才行魔力私服,最新魔力宝贝私服技术交流2 V1 o# n  v4 `
备注:创建NPC也可以用其他函数或者if,GE不要使用if,会有奇怪的错误—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート' G( l5 B  Y$ ~6 S7 [& ?" N* a; F9 h8 \
bbs.mocwww.com) B* s2 X  f, Q5 L: ~/ V
GE的教程和GA是互通的,他们只不过是文件夹不一样,文件名不一样,函数名不一样,但运行逻辑都是一样的,只是WIN7和WIN10的区别而已,只要能看懂本帖说的GA的内容,GE和GP自然就懂了% H) Y" o" K% r- q% m- m
8 S4 U5 t8 C/ t
[ 本帖最后由 王宫召唤士盖兹 于 2019-8-30 11:22 编辑 ]

TOP

发新话题