发新话题
打印

[讨论] 初级魔力lua解析

多谢大神

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

TOP

请大佬继续更新

TOP

求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??
. z/ C/ Q5 l! z8 D妖城在线论坛3 E* l  X" r( e! g5 E$ C' P! F

7 L. ?; r  |- y: q魔力私服,最新魔力宝贝私服技术交流
. {, d! o4 N2 S% }妖城在线论坛if _Select==2 or _Seqno==99999 then魔力私服,最新魔力宝贝私服技术交流, E2 [; ^6 ^# \2 k2 q
                return
4 c; T* q, S2 {6 n' J妖城在线论坛        end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート' g7 C! d1 _: ^) N" l3 ?$ v

! d6 q6 w. L, A' `  L9 H        if _Seqno==10 then
1 F5 ^! }" D0 r2 ^                --Get Session
! z: s0 v+ z. G9 N妖城在线论坛                SelectPetSlot[_PlayerIndex] = _Data-1—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! c6 x3 H- \) {( ^. A" j
                local tItemSlot = SelectItemSlot[_PlayerIndex]
$ x* T. G( R5 z) I; T妖城在线论坛                local tPetSlot = SelectPetSlot[_PlayerIndex]妖城在线论坛' _9 h& K! b! I8 b) v- S4 b: p% J
                --Get Pet Data
. E5 P6 k; i- n9 D; ^7 k—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local tPetIndex = Char.GetPet(_PlayerIndex, tPetSlot)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 R6 i) l' A7 I$ b  \
                if tPetIndex<0 then
0 ?8 R" L7 V$ [. X# U魔力私服,最新魔力宝贝私服技术交流                        return 0魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* A$ [6 \; K$ m" r
                end
) I( i" C4 I5 k+ ?4 [8 y# M; @妖城在线论坛                local tPetName = Char.GetData(tPetIndex, %对象_名字%)
( h$ h9 Z4 S' i* P& K7 @  ?5 ]                local tPetID = Char.GetData(tPetIndex, 68)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表- }& Q' p; P1 l& E  X/ p! X
                local tPetLv = Char.GetData(tPetIndex, %对象_等级%)妖城在线论坛) O/ H' M* R( ~" J; |) J  P- e
                local tPetGetLv = Char.GetData(tPetIndex, %宠物_获取时等级%)
' I) u$ I( q! z0 x                local tPetTechSlotMax = Char.GetData(tPetIndex, %宠物_技能栏%)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表4 A6 M' `& ?* Q! m3 U  i. R
                --Get Item Data—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート, Z3 E6 N, z1 s/ s/ o4 o+ z9 q
                local tItemIndex = Char.GetItemIndex(_PlayerIndex, tItemSlot)
0 i8 O: S7 s" h7 X7 I魔力私服,最新魔力宝贝私服技术交流                if tItemIndex<0 then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート, z. t- x2 e$ G7 S3 b& M6 V
                        return 0妖城在线论坛! w! y5 H( w2 o; U
                end
2 _9 i6 w* A3 p" C魔力私服,最新魔力宝贝私服技术交流                local tItemName = Item.GetData(tItemIndex, %道具_名字%)
( `& ~) h* F- \( i—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local tItemID = Item.GetData(tItemIndex, %道具_ID%)魔力私服,最新魔力宝贝私服技术交流6 i: K8 o0 ]. X6 p, y$ r1 ?
                local tTechType = Item.GetData(tItemIndex, %道具_特殊类型%) or 0魔力私服,最新魔力宝贝私服技术交流0 y1 U" x* T! D1 `- c1 `
                local tTechID = Item.GetData(tItemIndex, %道具_子参一%) or 0bbs.mocwww.com9 i4 g' D2 ^, w! B4 q
                local tPreTechID = Item.GetData(tItemIndex, %道具_子参二%) or 0妖城在线论坛1 C9 x5 i& V3 J: Q6 e2 {: C
                        print("\n=================调试信息====================")
5 @9 f! Q# R2 m—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        print("tItemID=" .. tItemID)
: @  i: f" d# [( |: e  C* T7 y* g0 D                        print("tItemName=" .. tItemName)
$ t3 b! ?- D8 C                        print("tTechType=" .. tTechType)妖城在线论坛& y' P8 q* q& n# @, b
                        print("tTechID=" .. tTechID)bbs.mocwww.com; j" V4 g6 P+ G1 O3 b% [
                        print("tPreTechID=" .. tPreTechID)妖城在线论坛( H6 h, _$ }4 x# s3 Y
                        print("NorPreTechID=" .. NorPreTechID)
& S8 K* P' l9 t4 H/ H' F9 z) A                        print("TechSlot=" .. #PetTechNpc_GetTechList(tPetIndex) .. "/" .. tPetTechSlotMax)8 b2 k" c7 \8 K' w- j0 |
                        print("InTable=" .. PetTechNpc_GetTechPos(tPetIndex, tPreTechID))
7 j0 P0 K* m. p$ L# g5 O—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                --Check Type7 b9 z4 d( \/ X. G. c9 a3 Q
                if tTechType==1 then
' A6 _" b* o2 ]$ |' ^) I0 @7 c魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        if PetTechNpc_CheckInTable(SPetListA, tPetID)~=true then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ T/ _2 P7 m7 ^. Y' k
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")
- S6 T9 E2 p) z2 u魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                                return 0
. N# p" Y1 Z4 j" W6 l4 a+ s—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        end魔力私服,最新魔力宝贝私服技术交流9 N  |/ M2 G' O+ t
                elseif tTechType==2 then
3 ^" V/ ^9 `1 ]魔力私服,最新魔力宝贝私服技术交流                        if PetTechNpc_CheckInTable(SPetListB, tPetID)~=true then
+ l8 x3 @, r4 ~- r4 H—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")
! ~+ A- R9 s* v3 n—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                                return 0
' b3 }! T2 O, V8 k" {7 v妖城在线论坛                        end
$ L5 w% x7 m# n2 G+ Qbbs.mocwww.com                elseif tTechType==3 then魔力私服,最新魔力宝贝私服技术交流( ~! N0 ^) n9 D5 l1 x
                        if tPetGetLv>1 then7 X6 S& b' U1 ~$ k* n
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:非野生")
' G' C1 k, f7 U# D. _& f' G魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                                return 0
& r) n; n+ N8 B7 n1 s0 G7 P魔力私服,最新魔力宝贝私服技术交流                        end
! X& L9 n9 V% ?—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                elseif tTechType==4 then
# y: ]; J+ z! d* B+ Z8 s                        if tPetLv<PetMaxLevel then魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表$ O. d  K: }% \% k2 M/ c* T
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:满级")
( G( n2 `  D& o( K) Z魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                                return 0bbs.mocwww.com) l' u; M8 D# J# P
                        end
9 z% ?+ S( ?" [& I, K# L3 H. H9 `                end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート, E$ r2 n8 H) t6 i
                --Check NorPreTechID魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表) T' B' w, M7 Z. r2 L
                if tPreTechID==NorPreTechID and        #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax and PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then
; k  o" n8 U1 Z4 s; @$ S+ E魔力私服,最新魔力宝贝私服技术交流                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:请先学习【高阶技能栏】技能"): G2 G3 a2 a& L9 M+ A
                                return 04 k+ _1 @) x. K8 Q7 y& }3 C
                end
1 A* s7 c2 v# y                --Check PreTech# ^2 I$ z  B3 q% o- W5 T% Z
                if tPreTechID>0 and tPreTechID~=NorPreTechID thenbbs.mocwww.com1 r6 |- n# v7 }5 X/ A
                        if PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then魔力私服,最新魔力宝贝私服技术交流0 ]' n3 y6 P1 p8 B8 L5 Y9 {
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:前置技能")
0 ?' H4 G+ Z1 _                                return 0
' I* f' t1 y+ M9 I- i6 O( z2 D' ibbs.mocwww.com                        endbbs.mocwww.com& p1 ]1 v1 t, `# F9 r5 x  z
                end
% v' Y" T5 U6 z& h  N魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                --Check Slot魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& F4 g1 J2 U; |- L( S
                if tPreTechID<=0 and #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax then
& b/ G& e3 R2 Q- s* K+ z魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:技能栏已满")妖城在线论坛8 D3 f! O2 ], Z. P0 ]) ^1 E; k4 m9 y
                        return 0
8 J+ x' i; ^# H9 x* M魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                end魔力私服,最新魔力宝贝私服技术交流8 D8 G7 j& R5 N+ j) V
                --Del PreTechbbs.mocwww.com5 e3 M7 @  Y! l7 Z' B" H
                if tPreTechID>0 then
1 _: g5 x# k6 C0 q* V% j- E+ ]" \魔力私服,最新魔力宝贝私服技术交流                        local tPreTechPos = PetTechNpc_GetTechPos(tPetIndex, tPreTechID)
6 }+ d6 a9 H/ ]; n7 [* y  w, a8 I; Gbbs.mocwww.com                        Pet.DelSkill(tPetIndex, tPreTechPos)魔力私服,最新魔力宝贝私服技术交流* R! Y4 \) }' |( N6 N4 A" X
                end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% i) k5 M, |* E$ k4 |6 E* T/ T
                --Add Tech
- i" \/ s6 k2 ], L9 C2 z0 \: T魔力私服,最新魔力宝贝私服技术交流                local rt = Pet.AddSkill(tPetIndex, tTechID)
; L9 P5 ?: j% C, O; _( K5 I! y) H魔力私服,最新魔力宝贝私服技术交流                if rt~=1 then
* Y$ n) T+ D  p: \; p妖城在线论坛                        NLG.SystemMessage(_PlayerIndex, "[错误] 未知原因错误")
9 {  h3 d& d. ^8 ?; d, Jbbs.mocwww.com                        return 0bbs.mocwww.com& r+ H; h7 }4 h* C1 w
                end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 z+ m7 r. u# L$ H
                --Del Item妖城在线论坛0 c% w% f  X/ e* l  z/ n" G0 I, A, x
                Char.DelItem(_PlayerIndex, tItemID, 1)
8 z# F. u$ y/ V1 w0 e( T魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                --Up Pet- o- u6 j% }7 G" p
                Pet.UpPet(_PlayerIndex, tPetIndex)
2 z. H# j* f$ w7 a: s3 k% X& O! G魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                NLG.SystemMessage(_PlayerIndex, "你的宠物" .. tPetName .. "学会了新技能。")妖城在线论坛' R) [; i8 e" Q: n# w/ ^
        return 1魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表6 [. g! d2 N. M5 G. Z6 \
        end
0 F9 \- d' ]' p3 p' Z% n8 g—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートend
! A& a5 o8 ~+ E# B& z: N$ G—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート妖城在线论坛; J1 b2 X+ f( a. r$ g/ o7 G- X; I
--使用道具魔力私服,最新魔力宝贝私服技术交流/ s% @+ v; U& F2 M" ~1 q
NL.RegItemString(nil, "PetTechNpc_ItemUse", "LUA_usePetTech");魔力私服,最新魔力宝贝私服技术交流- n2 K5 b# g1 r! Y
function PetTechNpc_ItemUse(_PlayerIndex, _ToPlayerIndex, _Slot)
! M, t2 {, R1 t, c  E( }" P        SelectItemSlot[_PlayerIndex] = _Slot; n' E/ q# B7 F
        PetTechNpc_Talked( tbl_LuaNpcIndex["PetTechNpc"], _PlayerIndex, 1)5 t5 H+ r) @7 e0 J
        return 1
' V% W6 i. w- P. ?  ~bbs.mocwww.comend

TOP

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

TOP

引用:
原帖由 wangjun1127 于 2019-5-30 19:56 发表
: m4 d* ?3 c/ T5 P  L妖城在线论坛求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??
/ ?" f+ `# ?  Dbbs.mocwww.com魔力私服,最新魔力宝贝私服技术交流3 k1 o$ h* b: C6 x6 M+ G( [

3 C9 I3 j5 w" b( @* _7 e! R魔力私服,最新魔力宝贝私服技术交流
- g# U6 [7 E; |' a& n& K( t—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートif _Select==2 or _Seqno==99999 then/ u* u/ S0 T* u& p( ~9 c; j+ Q. l! s
                return妖城在线论坛  e0 E8 G9 n6 G. v4 n) U
        end
, F0 n9 B! E3 D3 k魔力私服,最新魔力宝贝私服技术交流
. n# w9 V2 a# r0 I0 L. G妖城在线论坛        if _Seqno==10 then
' i3 a% L  M2 V4 [' _! A* o6 H. o魔力私服,最新魔力宝贝私服技术交流                --Get Session
/ o% D$ J! T$ a8 G% L—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                SelectPetSlot[_Pla ...
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 r" W5 C$ E; x" C
这是一个luac+lua结合的功能,你只迁移了lua部分,没有迁移luac部分(道具部分)

TOP

6.如何创立MSG指令(例:/1 /2)
2 P3 z" |6 K9 U2 ]  t/ {: h魔力私服,最新魔力宝贝私服技术交流今天先来讲点简单的知识,顺便复习一下旧知识点中比较重要的获取(get)函数和设置(set)函数的区别,本帖停更也是由于深感自身讲的知识点先后顺序有些问题
; |4 ]2 r3 \' F' E4 w魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表魔力lua包含了三大块知识点魔力私服,最新魔力宝贝私服技术交流4 B6 E: @5 Y2 Q# |7 p
1:lua编程基础知识(不需要太深入的lua技术即可)
6 G3 X: J1 D8 d4 W. n—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2:mysql基础知识(不需要太深入的mysql技术,但要会节省资源和防止疯狂读写)bbs.mocwww.com/ h1 }" l2 I4 Q- e( T: G2 M7 ~& f8 B
3:魔力封包知识(高端lua开发必备)
6 O, K0 E* ~2 q8 P# @1 |- Q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 Y9 m2 i7 S# p+ p) {  E* y
本帖只讲述lua在魔力中是如何运行的,这三块知识点都需要你们自己去学习: K4 M# \  k7 E1 d7 c

$ o+ o/ W3 z# L* t, lbbs.mocwww.com下面我们进入今天的教学魔力私服,最新魔力宝贝私服技术交流9 d# f5 ?: p" o/ Y
lua的远程指令主要依靠NL.RegTalkEvent(Dofile, FuncName)达成—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート. P+ ~, I1 O4 g' T9 k9 L
该函数的作用是[创建对话事件],它可以全局框架注册
4 b4 g' X" G& j) ?8 ]' {' U妖城在线论坛一般使用Delegate.RegDelTalkEvent("XXX")创建全局对话事件7 B  ~$ b# U2 F3 I
NL.RegTalkEvent的返回函数明细:  {3 z3 w5 y( `9 |
TalkEventCallBack(CharIndex, Msg, Color, Range, Size)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表3 s$ L8 G1 ?" L% s* A
参数说明& X) V; n/ T5 A
CharIndex: 数值型 响应事件的对象index,该值由Lua引擎传递给本函数。—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 y6 y9 P& d, `" _. J
Msg: 文本型 话的内容,该值由Lua引擎传递给本函数。
1 f) X0 Z# \! W+ i& K% D魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表Color: 数值型 说话颜色,该值由Lua引擎传递给本函数。bbs.mocwww.com. y4 z% D6 I. a9 c& D/ }
Range: 数值型 说话音量(范围),该值由Lua引擎传递给本函数。bbs.mocwww.com# p& ^4 \$ p/ {. U* h) x8 ?! A+ k
Size: 数值型 说话字体大小,该值由Lua引擎传递给本函数。bbs.mocwww.com. f2 q0 x2 j# X, p; N" x
返回值
7 Q0 S+ f$ Q" r& p5 q' K—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート返回0拦截说话内容,返回1正常发送
6 Q3 F- [: W* E: h6 ~! V3 {! p! a4 \& m妖城在线论坛
9 Z  h; r; e/ U/ J" ?魔力私服,最新魔力宝贝私服技术交流小知识复习:当形参由lua引擎传递一个可用实参时,你不需要填写形参具体值,并且可以传递给其他函数的空白形参,让其拥有实际数值,传递时候要注意传参的类型,空白形参的函数中,空白形参若只能填写数值型
3 \. M8 m$ A# s" Y) r# k. m传递过来的数值就必须是数值型(这种情况可以先设置一个变量   a=tonumber(lua引擎传递的字符串型传参) 然后把变量a填入空白形参的函数形参中)魔力私服,最新魔力宝贝私服技术交流5 [1 P6 w4 m9 Q* p* q4 }' m9 q! s1 v

- `$ U7 N5 y" |! x, _魔力私服,最新魔力宝贝私服技术交流文字太过干涩,下面用实例解释今天的知识点bbs.mocwww.com; [7 M; G0 E# j0 _7 Q- Q2 F8 b. @
该例实现了用指令整理身上的道具的功能魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& b, R. E8 _4 G9 g
妖城在线论坛5 |; T8 O% ]3 o/ O
local zhengli = "/zl"--整理指令,此处需要""把内容定义为字符串
) Q3 Y' N5 x, }& I. }  _7 {; B妖城在线论坛--  ***************************************************************************************************** --魔力私服,最新魔力宝贝私服技术交流: |9 f" W, c9 e+ M7 \* u! r
Delegate.RegDelTalkEvent("zlTalkEvent");--全局注册对话事件函数妖城在线论坛; T% a' D) k- y# w  n# \+ s
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 V/ A! a+ m8 W5 Z+ @
function zlTalkEvent(player,msg,color,range,size)--调用对话事件函数的返回函数
  u0 [; \8 ^! y, Z, J! e魔力私服,最新魔力宝贝私服技术交流        if(msg==zhengli) then--检测MSG=整理指令时则执行下述函数块内容" \, [, S9 [( z: K
                NLG.SortItem(player)--调用GA封装的整理道具函数,其中NLG.SortItem(player)的(player)值由function zlTalkEvent(player,msg,color,range,size)这个返回函数赋予
- t1 ?& V0 U! n3 f$ ^魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表        end
6 A' _2 t  G( X+ \& V魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表8 n) }' o. F0 \# i2 [  N

/ G' I7 M9 {8 q5 U8 C' B6 qbbs.mocwww.com上述实例中,如果单独拿NLG.SortItem(player)出来,(player)的值会是nil,是没有任何数值的,它是一个标准的设置函数,需要从获取函数中获得形参的实值(魔力lua的函数的形参分为2种,获取函数(get)和设置函数(set))
! T1 c* h' x; x妖城在线论坛 教学用指令整理道具.7z (453 Bytes)
. N, F. w$ |. ?  D8 d  u2 B  Y% H妖城在线论坛
9 B, q. S5 c8 y' ~0 L/ w2 Abbs.mocwww.com[ 本帖最后由 王宫召唤士盖兹 于 2019-5-31 02:07 编辑 ]

TOP

6666666666666666

TOP

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

TOP

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

TOP

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

TOP

引用:
原帖由 staki 于 2019-8-3 03:12 发表
1 B2 Z2 D" T8 b- N8 J8 x魔力私服,最新魔力宝贝私服技术交流建议出个GP的 GA好像在这身败名裂了
9 l2 A  Q; x& e7 B; W+ v5 t3 ]bbs.mocwww.com' M; @6 P+ p/ U. C* ~
GP没2键端无法操作,只是学lua基础都一样的
. z2 }$ S' d8 y, X" L1 t魔力私服,最新魔力宝贝私服技术交流 我不更新就是涉及的具体操作太多,通用性不高,没有更新的必要
& y. Q+ Y9 t. v; y1 [$ Z, |, J我本身秉持授人与鱼不如授人于渔的想法,才写了这个帖子bbs.mocwww.com: I0 E/ V: Y: N! X, ~/ s! G
能看懂本帖之前写的内容,足够了魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% C* j1 d) Y& F. d5 U" A- T+ x1 B
bbs.mocwww.com, G5 x- w9 A* z$ d# t
备注:bbs.mocwww.com' b8 E2 z7 _) S8 _  k
既然回帖了,就再讲一下魔力lua的基础运行流程:
, i2 z: f! @% Q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1:GMSV启动时加载GMSV内置的魔力lua模块
2 Y% I( W5 P# j, ~, \' Jbbs.mocwww.com2:GMSV自动加载初始lua-init.lua   该lua是由GMSV自动加载的(无需写dofile加载)魔力私服,最新魔力宝贝私服技术交流1 x+ k' Y; z/ O( `, A
3:init.lua 加载运行内部代码    此时会有大量dofile,一般是加载基础框架相关的东西 有兴趣可以参考init.lua内部代码,包括框架全局注册这类关键脚本,都是此时加载的魔力私服,最新魔力宝贝私服技术交流2 A+ p3 i* `; P3 r" R6 Q
4:init.lua中有一行dofile(Lua_Path.."Config.lua"),加载Cofig.lua
. [, `6 V' y6 ?妖城在线论坛5:Cofig.lua加载各种Module文件夹内的lua  (至于Cofig.lua内用于加载lua的Loadlua函数究竟是GA哪个脚本内写的,可以给大家当成一个最后的课后考题,找出他,能找到他,我相信你就会发现魔力LUA的运行逻辑是如此简单)
. {3 Q8 `7 i6 y* i# {; i# Sbbs.mocwww.com提示:GP的Loadlua函数在  lua\include\Global.lua 这个文件内
4 S* [2 E6 \: O" P魔力私服,最新魔力宝贝私服技术交流提示2:GA的Loadlua函数在 lua\System某个文件夹内
" z* A; ?( \1 Q+ T3 Z2 p魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表妖城在线论坛" H( Q; c. l! |) x) T6 ^% [+ j+ ?
[ 本帖最后由 王宫召唤士盖兹 于 2019-8-3 12:59 编辑 ]

TOP

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

TOP

我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート: ~8 y) z+ d! M( ~8 f  [5 H% h
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート, E) w4 r7 l/ _0 r. m2 d
                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_PlayerIndex,%对象_账号%).."' and Name='"..Char.GetData(_PlayerIndex,%对象_原名%).."'";
" s5 y/ I/ J0 M3 V& hbbs.mocwww.com                local ret = SQL.Run(query);+ w" R5 E& T1 K. W- b+ T
        魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; H$ R1 D0 l: N
                Char.SetData(_PlayerIndex,%对象_原名%,_data);魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表6 l4 o/ w# {6 L- u* q* m+ L! y% O8 f
                NLG.UpChar(_PlayerIndex);
1 J+ Z7 m# }' R" c0 T/ A' ]魔力私服,最新魔力宝贝私服技术交流
8 A9 {" d& W/ H4 s魔力私服,最新魔力宝贝私服技术交流如果没有最后这两行,SQL改的数据库,人物退出还是原来的名字。
" [$ V& F% ^6 K, I" I+ }
! r% f. }; S" w& r0 u- x& X魔力私服,最新魔力宝贝私服技术交流[ 本帖最后由 rolser 于 2019-8-20 20:52 编辑 ]

TOP

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

TOP

引用:
原帖由 rolser 于 2019-8-20 20:44 发表
  F: O; X6 K9 d魔力私服,最新魔力宝贝私服技术交流我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表, d) h% |, h: o; L; |
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート$ F& s- h" I% F9 `
                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_Pl ...
% x4 |" V9 h0 u妖城在线论坛—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 F! D! H* M1 t( E+ s6 m$ v3 |
lua修改玩家内存只是修改了GMSV内的内存,在玩家客户端内并没有显示,因此需要用UpChar函数更新玩家客户端显示妖城在线论坛* I' p, J# n% x: L& o% ?  O
同理还有NPC创建时候使用的UpChar函数,这个函数如果是由全局注册init来触发的,会导致你即使重载脚本,NPC也加载不出来,必须重启服务器(重新加载init)才行bbs.mocwww.com5 E7 D) ~! Z* C' G" n- ?
备注:创建NPC也可以用其他函数或者if,GE不要使用if,会有奇怪的错误bbs.mocwww.com% Z& Q0 q6 K1 f  V# X
4 W, g1 B! m2 I# e) Q
GE的教程和GA是互通的,他们只不过是文件夹不一样,文件名不一样,函数名不一样,但运行逻辑都是一样的,只是WIN7和WIN10的区别而已,只要能看懂本帖说的GA的内容,GE和GP自然就懂了—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 y7 r3 m) m5 \; j  w3 x8 r8 F

  ]9 i4 r  T% w1 |7 h" s妖城在线论坛[ 本帖最后由 王宫召唤士盖兹 于 2019-8-30 11:22 编辑 ]

TOP

发新话题