发新话题
打印

[讨论] 初级魔力lua解析

多谢大神

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

TOP

请大佬继续更新

TOP

求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??
& G. m7 o. K% I0 Z/ g/ d
( e' w( d* p3 ^- V4 R$ p妖城在线论坛8 a9 d' o+ X3 Y& |& n
魔力私服,最新魔力宝贝私服技术交流7 B) z1 {8 C1 h; L, r2 {9 K
if _Select==2 or _Seqno==99999 then
7 e, l8 E/ i8 V0 |/ S魔力私服,最新魔力宝贝私服技术交流                return
; P* N7 V* h5 z, v2 K3 i/ a—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        end
: L1 Z3 q6 L8 G# m魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表妖城在线论坛& \; |& p6 d- X; g$ c; l
        if _Seqno==10 then
6 H" ?- p! h6 [5 B6 o$ h% w$ b9 `                --Get Session9 @  f% b7 O, X+ g* F1 ~
                SelectPetSlot[_PlayerIndex] = _Data-1
$ d- y2 e% t1 E$ Z$ z, ^  C+ A* l                local tItemSlot = SelectItemSlot[_PlayerIndex]妖城在线论坛; \. ?3 s3 M7 u$ H- C
                local tPetSlot = SelectPetSlot[_PlayerIndex]妖城在线论坛3 ~8 u% g; _! Y6 B, p
                --Get Pet Data妖城在线论坛+ t/ @2 ]8 q* ~6 J6 ]
                local tPetIndex = Char.GetPet(_PlayerIndex, tPetSlot)魔力私服,最新魔力宝贝私服技术交流3 i9 f2 F# k' K/ P& e5 A
                if tPetIndex<0 then
5 F3 U  _1 K) ^7 k9 F) N                        return 0
: j! g) }: Y8 x2 e- ]' ]4 L, L2 M$ g                end
$ u- d; Y2 H' p0 {                local tPetName = Char.GetData(tPetIndex, %对象_名字%)
2 P; R& }* H4 Y" O/ r5 v0 cbbs.mocwww.com                local tPetID = Char.GetData(tPetIndex, 68)bbs.mocwww.com4 i- H9 L  p& Z/ u& K6 k5 g
                local tPetLv = Char.GetData(tPetIndex, %对象_等级%)
4 k: t; ]* P8 {! y, I魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local tPetGetLv = Char.GetData(tPetIndex, %宠物_获取时等级%)
) J+ s5 b  I! X' r$ R- b                local tPetTechSlotMax = Char.GetData(tPetIndex, %宠物_技能栏%)
" R6 Y" y4 C8 S  v$ d3 k) l                --Get Item Data
6 N. x' n! b1 ~1 ^+ `. {$ u- b6 O妖城在线论坛                local tItemIndex = Char.GetItemIndex(_PlayerIndex, tItemSlot)
% _+ y( s) n8 d8 ]% t- M5 q                if tItemIndex<0 then妖城在线论坛' M3 O3 Z$ d) p" u3 f
                        return 0妖城在线论坛% q! F; K" T  ^, a' k3 B, f
                end
# R  F0 d. s3 |+ b魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local tItemName = Item.GetData(tItemIndex, %道具_名字%)
% t6 E7 w. X( t$ Z4 j6 ^5 t0 G妖城在线论坛                local tItemID = Item.GetData(tItemIndex, %道具_ID%)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ ^. k* _; k. ]) T1 x+ g8 q) k0 Z
                local tTechType = Item.GetData(tItemIndex, %道具_特殊类型%) or 0bbs.mocwww.com' n# O9 F" p/ H5 [2 }: x' J+ J
                local tTechID = Item.GetData(tItemIndex, %道具_子参一%) or 0
8 t) Z( z2 {" J- o0 J魔力私服,最新魔力宝贝私服技术交流                local tPreTechID = Item.GetData(tItemIndex, %道具_子参二%) or 0bbs.mocwww.com1 ^5 g: B1 `  {* z7 j! M% k
                        print("\n=================调试信息====================")妖城在线论坛9 Y5 z" _9 F9 L& u: v$ [8 D
                        print("tItemID=" .. tItemID)
" \, Z+ e) l/ N7 W' O$ |- B                        print("tItemName=" .. tItemName)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# Z1 H2 D; y1 p6 S% C: \' g+ D
                        print("tTechType=" .. tTechType)
) w! K! |! M$ o5 }1 b' |, `, t3 C—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        print("tTechID=" .. tTechID)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表9 j" x5 L7 x, r3 {3 ~6 q+ a
                        print("tPreTechID=" .. tPreTechID)
9 _# n, l! _& m) X4 n魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        print("NorPreTechID=" .. NorPreTechID)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% p) \  |) ^* W( B% F0 Q; {( O  S
                        print("TechSlot=" .. #PetTechNpc_GetTechList(tPetIndex) .. "/" .. tPetTechSlotMax)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% _' ^' I  ~+ R7 Q6 \
                        print("InTable=" .. PetTechNpc_GetTechPos(tPetIndex, tPreTechID))9 I$ i; T0 A  C
                --Check Typebbs.mocwww.com' f( f; _& A7 g# e* [: N
                if tTechType==1 then
( @2 S6 x" I7 i1 Q. C) ~. r+ }8 ^bbs.mocwww.com                        if PetTechNpc_CheckInTable(SPetListA, tPetID)~=true then
% ]! B# f$ {$ s魔力私服,最新魔力宝贝私服技术交流                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")
. U- ]0 b7 P- {) z4 p                                return 0bbs.mocwww.com1 G6 ]" r: e4 d* {4 A
                        end
+ `6 _4 o2 S! _% a4 \bbs.mocwww.com                elseif tTechType==2 then
, R/ i& e! X& q魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        if PetTechNpc_CheckInTable(SPetListB, tPetID)~=true then妖城在线论坛/ k0 R" T3 Z5 y
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")
( e7 F  f4 c0 S. m9 X! h魔力私服,最新魔力宝贝私服技术交流                                return 0
: e1 I8 R6 c9 m# G4 h5 p妖城在线论坛                        end
- p3 `* D( e0 v$ s7 S/ Z/ q5 O6 Abbs.mocwww.com                elseif tTechType==3 thenbbs.mocwww.com% l% G6 y$ n& ]6 Q1 H) g+ f
                        if tPetGetLv>1 then
6 ?! _2 Z) o( |9 }6 R魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:非野生")妖城在线论坛2 V4 J( v$ ]5 P" w- ?: S
                                return 0
# R- }. G, }0 x( g, O8 W7 k# |                        end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表1 N8 O' @& U+ U5 C8 W/ n+ \' V
                elseif tTechType==4 then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート4 e0 `* P+ M9 A% @( ^' f
                        if tPetLv<PetMaxLevel then
* a6 Y* O7 x$ s9 {& A! U! p+ L                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:满级")
& k; Y: U/ R9 J3 ~' _  Q                                return 0魔力私服,最新魔力宝贝私服技术交流: W+ b/ B$ ]9 q6 C' T5 o7 X
                        endbbs.mocwww.com: L( S# o  Y5 z4 Z7 |1 X1 a
                end1 r8 ]( s% c  i4 N) \
                --Check NorPreTechIDbbs.mocwww.com% g. n7 ]: }( J& r
                if tPreTechID==NorPreTechID and        #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax and PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then
4 g2 l) a9 n- b  u魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:请先学习【高阶技能栏】技能")
0 ^& W% d( g& C6 P' G1 lbbs.mocwww.com                                return 0
/ M/ l3 ]7 C, }/ F# F—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                end魔力私服,最新魔力宝贝私服技术交流; \" M  @# ~3 I, Q
                --Check PreTech
3 v/ z/ f  Y3 d- h/ U. O                if tPreTechID>0 and tPreTechID~=NorPreTechID then: P- M- e$ P- W/ U3 H
                        if PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% w0 \8 t8 \4 X  J
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:前置技能")—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート: h7 J8 b7 B% A" q8 G
                                return 0—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート0 M" i3 C* `# G# F  ?6 r
                        end
# k# t9 B  `+ J4 i: u, E7 j) P1 Abbs.mocwww.com                end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. M) @: a3 C3 e8 F3 O" s% z) f
                --Check Slotbbs.mocwww.com9 ]" G" J; I% k* Q0 g5 V6 ^3 v
                if tPreTechID<=0 and #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax thenbbs.mocwww.com# u$ `# |1 n- V4 k1 m# o7 b2 ]
                        NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:技能栏已满")妖城在线论坛, M% ]( }# l' Q. p% t, T" E! R" Q* [
                        return 0bbs.mocwww.com2 t2 s# ?' q4 S# d, q- [
                end
0 W9 z( t3 R5 z0 p) A' u1 [1 ?魔力私服,最新魔力宝贝私服技术交流                --Del PreTech
/ T4 b$ F: W' {" ^) y) q6 Y+ v魔力私服,最新魔力宝贝私服技术交流                if tPreTechID>0 then妖城在线论坛4 ~  B, k# _" I9 ?0 r! m$ q
                        local tPreTechPos = PetTechNpc_GetTechPos(tPetIndex, tPreTechID)bbs.mocwww.com' s$ q/ Y( A- T9 j3 {" T4 N% \
                        Pet.DelSkill(tPetIndex, tPreTechPos)
( x) ]) u5 T6 n; h$ S* n+ B; t' j3 q' D魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; {0 M. t9 g1 m; T# Y5 I# M6 D
                --Add Tech
7 u( B1 E0 }& G& b5 }- p  sbbs.mocwww.com                local rt = Pet.AddSkill(tPetIndex, tTechID)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 f4 s4 Q. Q$ S, ^% _
                if rt~=1 thenbbs.mocwww.com) T/ B& D0 {0 G* B: U8 |1 Y2 c7 ?
                        NLG.SystemMessage(_PlayerIndex, "[错误] 未知原因错误")妖城在线论坛- A+ w8 C; l6 J- u
                        return 0
9 l: q% a" S2 b$ ]2 _1 n: y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                end
/ b. J3 M$ j  L* P" h% A—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                --Del Item魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表3 E- {) D2 q4 Z4 E  ^
                Char.DelItem(_PlayerIndex, tItemID, 1)
1 K% `) R9 J& |! s妖城在线论坛                --Up Pet
" \: V+ ?# T. x5 i0 q                Pet.UpPet(_PlayerIndex, tPetIndex)
; ?( X4 H% `  \/ B  h$ D/ K魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                NLG.SystemMessage(_PlayerIndex, "你的宠物" .. tPetName .. "学会了新技能。")
& Y" u! ^" ?; ^8 W2 D! q& b7 g        return 1魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表3 V( t$ ]  I$ n+ U
        end
: n! p# i- ?, ~( H妖城在线论坛end2 p* y5 v" u2 v- [4 S  C

, h, N; o7 _& w魔力私服,最新魔力宝贝私服技术交流--使用道具—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート: F9 r- P7 k$ P! J# r8 P
NL.RegItemString(nil, "PetTechNpc_ItemUse", "LUA_usePetTech");妖城在线论坛9 }, E" s& d# {( ]& D
function PetTechNpc_ItemUse(_PlayerIndex, _ToPlayerIndex, _Slot)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# u1 G$ g1 r# M1 L/ j! d/ h
        SelectItemSlot[_PlayerIndex] = _Slot
) g- ?3 s7 m8 r( t+ V) R, d) {        PetTechNpc_Talked( tbl_LuaNpcIndex["PetTechNpc"], _PlayerIndex, 1)
6 b/ K7 b& z) Q魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表        return 17 Q/ P+ y" t( R* u- P
end

TOP

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

TOP

引用:
原帖由 wangjun1127 于 2019-5-30 19:56 发表
( b: o  j, q8 J' R2 O妖城在线论坛求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??; U1 v/ M/ ^" t2 u
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 k/ U& v- U* R  p, o$ \8 t6 w) r
魔力私服,最新魔力宝贝私服技术交流, J: w) H2 l0 M& i) o' C/ \# }) Q
妖城在线论坛0 F" j9 h4 U" l/ m8 T) j
if _Select==2 or _Seqno==99999 then
5 z7 Z( T6 C8 C6 X+ ?8 k4 N8 ?—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                return
4 |1 B" l# j+ t( Z9 _9 g—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        end
% e' D' u+ L. L. X% E! _8 a—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート- z1 f, C! y# \' ^; y* }1 |, a+ ]
        if _Seqno==10 then妖城在线论坛; q; @' C2 s; B. n$ N7 p, D
                --Get Session魔力私服,最新魔力宝贝私服技术交流# q$ o+ X$ M# i: B
                SelectPetSlot[_Pla ...
+ F  c) X0 e( a
这是一个luac+lua结合的功能,你只迁移了lua部分,没有迁移luac部分(道具部分)

TOP

6.如何创立MSG指令(例:/1 /2)妖城在线论坛5 z6 p( h0 c5 x: I- P
今天先来讲点简单的知识,顺便复习一下旧知识点中比较重要的获取(get)函数和设置(set)函数的区别,本帖停更也是由于深感自身讲的知识点先后顺序有些问题/ p) ]9 d, b; `4 Z% @2 T
魔力lua包含了三大块知识点$ w- S6 U) Z) e) o# y, G3 F
1:lua编程基础知识(不需要太深入的lua技术即可)
/ s5 w* G( K: Q' g& q2:mysql基础知识(不需要太深入的mysql技术,但要会节省资源和防止疯狂读写)
- e" E* c- o% w3:魔力封包知识(高端lua开发必备)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& \+ O: d* G9 `4 [$ ~

, W& G/ N1 y% u; }$ T魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表本帖只讲述lua在魔力中是如何运行的,这三块知识点都需要你们自己去学习魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* O7 z* K$ P; X( w7 R- C* r

4 w: w& I. H* q2 U. P: w" k妖城在线论坛下面我们进入今天的教学8 w8 Z! e4 E6 ?& v
lua的远程指令主要依靠NL.RegTalkEvent(Dofile, FuncName)达成
2 k8 N8 x, t* V, j% V. I妖城在线论坛该函数的作用是[创建对话事件],它可以全局框架注册
+ P4 j8 s7 H( J3 z& n魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表一般使用Delegate.RegDelTalkEvent("XXX")创建全局对话事件bbs.mocwww.com) Q7 m1 ~6 _6 n6 t
NL.RegTalkEvent的返回函数明细:魔力私服,最新魔力宝贝私服技术交流9 P, p* F8 Z* v) o. Y4 r
TalkEventCallBack(CharIndex, Msg, Color, Range, Size)
6 X9 p+ {& c9 w* S9 E* E1 y魔力私服,最新魔力宝贝私服技术交流参数说明
9 h& q  Y7 H8 O6 e/ H妖城在线论坛CharIndex: 数值型 响应事件的对象index,该值由Lua引擎传递给本函数。
, c, R+ ^: y. @  l0 JMsg: 文本型 话的内容,该值由Lua引擎传递给本函数。—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート5 h7 I& E* @* f& K6 R
Color: 数值型 说话颜色,该值由Lua引擎传递给本函数。8 E7 c0 g" `/ o5 v6 I$ \- v+ ^
Range: 数值型 说话音量(范围),该值由Lua引擎传递给本函数。妖城在线论坛- R: R8 w& `6 w9 h- D
Size: 数值型 说话字体大小,该值由Lua引擎传递给本函数。
) A* n' K, K  N! C( q8 R& f" Q魔力私服,最新魔力宝贝私服技术交流返回值
3 {; ^; |+ i3 W% h: c7 D& ^返回0拦截说话内容,返回1正常发送魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表$ \( q; f5 ~' X) L( Y7 M3 y

$ d1 K/ b3 v/ w5 _: L! ~2 C小知识复习:当形参由lua引擎传递一个可用实参时,你不需要填写形参具体值,并且可以传递给其他函数的空白形参,让其拥有实际数值,传递时候要注意传参的类型,空白形参的函数中,空白形参若只能填写数值型
- ?% O8 D; ]8 V; P, K; P—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート传递过来的数值就必须是数值型(这种情况可以先设置一个变量   a=tonumber(lua引擎传递的字符串型传参) 然后把变量a填入空白形参的函数形参中)
1 |6 Z7 q) l& m4 B5 M魔力私服,最新魔力宝贝私服技术交流妖城在线论坛) y+ {4 n' U0 i
文字太过干涩,下面用实例解释今天的知识点
  m- x2 C2 Z! F2 O+ ibbs.mocwww.com该例实现了用指令整理身上的道具的功能魔力私服,最新魔力宝贝私服技术交流& c  b. o+ Y: v4 b  [( l9 D

. t5 I/ ^7 c6 r9 c7 E2 ~' slocal zhengli = "/zl"--整理指令,此处需要""把内容定义为字符串
) ~( D, q" W1 P0 X4 h; U7 Z, ~4 {魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表--  ***************************************************************************************************** --妖城在线论坛4 l7 E! B# I: I
Delegate.RegDelTalkEvent("zlTalkEvent");--全局注册对话事件函数—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ ]8 d' N) a/ p# J3 {2 F
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ L* R" U1 Q, ~. W
function zlTalkEvent(player,msg,color,range,size)--调用对话事件函数的返回函数
) R6 A( h0 t, `; |        if(msg==zhengli) then--检测MSG=整理指令时则执行下述函数块内容
* @+ i  r+ P; X- H                NLG.SortItem(player)--调用GA封装的整理道具函数,其中NLG.SortItem(player)的(player)值由function zlTalkEvent(player,msg,color,range,size)这个返回函数赋予' d# }7 C" b# g% \! O
        end
& M/ m8 y& b+ R魔力私服,最新魔力宝贝私服技术交流end
+ ]# b1 G& i6 g$ g4 V% X妖城在线论坛
& E1 c6 q0 _* n# t0 D2 u& w: P上述实例中,如果单独拿NLG.SortItem(player)出来,(player)的值会是nil,是没有任何数值的,它是一个标准的设置函数,需要从获取函数中获得形参的实值(魔力lua的函数的形参分为2种,获取函数(get)和设置函数(set))bbs.mocwww.com  d( v0 j  V  Q5 q
教学用指令整理道具.7z (453 Bytes) 妖城在线论坛/ D5 o2 o: L1 W* R8 B# \3 a
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: j0 C# _8 D* b' N
[ 本帖最后由 王宫召唤士盖兹 于 2019-5-31 02:07 编辑 ]

TOP

6666666666666666

TOP

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

TOP

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

TOP

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

TOP

引用:
原帖由 staki 于 2019-8-3 03:12 发表 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表4 L/ N( G- r9 P, z9 w
建议出个GP的 GA好像在这身败名裂了
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 z- f: k  c/ P; z

# y( O; V. X1 L5 x8 Z( ^—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートGP没2键端无法操作,只是学lua基础都一样的2 l, K' a6 H4 @$ t, ?
我不更新就是涉及的具体操作太多,通用性不高,没有更新的必要—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート$ `4 o3 E% ~* c% X8 q9 v
我本身秉持授人与鱼不如授人于渔的想法,才写了这个帖子
+ G- g$ @3 `8 B( }1 t魔力私服,最新魔力宝贝私服技术交流能看懂本帖之前写的内容,足够了
/ Q' m" I( i8 T魔力私服,最新魔力宝贝私服技术交流魔力私服,最新魔力宝贝私服技术交流+ P0 [% _) J: K- w
备注:—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート; S4 t( q$ M: Q% z3 T1 V5 J& k
既然回帖了,就再讲一下魔力lua的基础运行流程:
0 |" Y+ J4 F1 i4 e; w魔力私服,最新魔力宝贝私服技术交流1:GMSV启动时加载GMSV内置的魔力lua模块魔力私服,最新魔力宝贝私服技术交流& L  t3 q9 X' m/ z8 M# `. m- t' n$ q' k
2:GMSV自动加载初始lua-init.lua   该lua是由GMSV自动加载的(无需写dofile加载)
) b" u1 a' m: `5 z; T& }魔力私服,最新魔力宝贝私服技术交流3:init.lua 加载运行内部代码    此时会有大量dofile,一般是加载基础框架相关的东西 有兴趣可以参考init.lua内部代码,包括框架全局注册这类关键脚本,都是此时加载的+ Q6 V9 _- [3 }: K9 L9 X* j
4:init.lua中有一行dofile(Lua_Path.."Config.lua"),加载Cofig.lua
' M- ]2 ~* b/ P# n4 c7 O9 M妖城在线论坛5:Cofig.lua加载各种Module文件夹内的lua  (至于Cofig.lua内用于加载lua的Loadlua函数究竟是GA哪个脚本内写的,可以给大家当成一个最后的课后考题,找出他,能找到他,我相信你就会发现魔力LUA的运行逻辑是如此简单)
5 h: ^% R* H. z0 N4 Q$ u; h魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表提示:GP的Loadlua函数在  lua\include\Global.lua 这个文件内妖城在线论坛, \9 R3 m* x* j" T
提示2:GA的Loadlua函数在 lua\System某个文件夹内  n- m7 o- L8 \: ~8 p  K6 }; P

  j. |. h' R' q魔力私服,最新魔力宝贝私服技术交流[ 本帖最后由 王宫召唤士盖兹 于 2019-8-3 12:59 编辑 ]

TOP

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

TOP

我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。bbs.mocwww.com! E1 N2 r$ k  }% R0 X, k
bbs.mocwww.com7 H- H( b( @/ A9 A/ J
                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_PlayerIndex,%对象_账号%).."' and Name='"..Char.GetData(_PlayerIndex,%对象_原名%).."'";妖城在线论坛/ c8 u) R: O5 H7 G( m
                local ret = SQL.Run(query);妖城在线论坛# o& d4 C$ ]/ V) U
       
8 g/ H) n9 h# s; p2 b; C5 v* s                Char.SetData(_PlayerIndex,%对象_原名%,_data);
9 C6 h' z* J: S" j魔力私服,最新魔力宝贝私服技术交流                NLG.UpChar(_PlayerIndex);魔力私服,最新魔力宝贝私服技术交流2 t. J% U2 q* G# f
妖城在线论坛7 x* t9 K8 V+ F0 i
如果没有最后这两行,SQL改的数据库,人物退出还是原来的名字。bbs.mocwww.com( n' a* @  y, U' p4 [6 {$ R" {9 I, A& l
魔力私服,最新魔力宝贝私服技术交流, w, j) S4 W& \# i- x+ ^3 |% P
[ 本帖最后由 rolser 于 2019-8-20 20:52 编辑 ]

TOP

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

TOP

引用:
原帖由 rolser 于 2019-8-20 20:44 发表
9 i8 I- M2 ~% C我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. d& u" }2 J& R4 C2 Q+ E, x1 E! m

1 F1 \5 M: O. K/ u8 x  B6 g魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_Pl ...
4 c; @$ j' B' t. j6 K6 e魔力私服,最新魔力宝贝私服技术交流魔力私服,最新魔力宝贝私服技术交流/ P# a; |0 s4 ~/ u
lua修改玩家内存只是修改了GMSV内的内存,在玩家客户端内并没有显示,因此需要用UpChar函数更新玩家客户端显示bbs.mocwww.com5 h! j# T2 H. {
同理还有NPC创建时候使用的UpChar函数,这个函数如果是由全局注册init来触发的,会导致你即使重载脚本,NPC也加载不出来,必须重启服务器(重新加载init)才行
- p- R& E+ ?, F6 X( }# q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート备注:创建NPC也可以用其他函数或者if,GE不要使用if,会有奇怪的错误—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート) U% X; i6 D1 ^0 ^2 G3 ~5 @% Z$ S# d
魔力私服,最新魔力宝贝私服技术交流0 }. l3 `* V0 R7 E  `
GE的教程和GA是互通的,他们只不过是文件夹不一样,文件名不一样,函数名不一样,但运行逻辑都是一样的,只是WIN7和WIN10的区别而已,只要能看懂本帖说的GA的内容,GE和GP自然就懂了
% w' v. s0 N! Z* s7 s. H" r+ G! A+ l1 s: y—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
% K7 R) e  J4 a! Q3 O7 @bbs.mocwww.com[ 本帖最后由 王宫召唤士盖兹 于 2019-8-30 11:22 编辑 ]

TOP

发新话题