发新话题
打印

[讨论] 初级魔力lua解析

多谢大神

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

TOP

请大佬继续更新

TOP

求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??bbs.mocwww.com6 l7 u# V5 Q, O5 x2 \# s

$ ~% Z2 q# [& b: q妖城在线论坛魔力私服,最新魔力宝贝私服技术交流0 f- V1 N4 M3 T* P' Q* X8 P5 \
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表6 B) u/ t2 r4 u
if _Select==2 or _Seqno==99999 then
" o; T  K! t- e% @2 L: d( B" M. b! q妖城在线论坛                return
/ v/ V9 [' S, J7 O: ?6 Q  H" H. W; g        end
2 p8 n0 ~4 A& H( A2 y5 }—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表4 _" C. [5 x) v$ H9 o5 N: [
        if _Seqno==10 then
$ u7 Y7 H% t. Q& Q! ]- \                --Get Session
/ a8 z9 l) E( G9 y1 }$ }0 y  mbbs.mocwww.com                SelectPetSlot[_PlayerIndex] = _Data-1bbs.mocwww.com7 u  w1 i( I& Q! }; Q
                local tItemSlot = SelectItemSlot[_PlayerIndex]妖城在线论坛- ]2 g. X* h( d) z1 p: S2 y2 B
                local tPetSlot = SelectPetSlot[_PlayerIndex]
: ^4 R9 J4 M' i( K  T魔力私服,最新魔力宝贝私服技术交流                --Get Pet Data魔力私服,最新魔力宝贝私服技术交流) y# B( o# x- p
                local tPetIndex = Char.GetPet(_PlayerIndex, tPetSlot)
/ g  N; _" y* r4 j魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                if tPetIndex<0 then
) b' ?& \" |  S. z/ T7 L" v7 K, e                        return 0
! Q) d0 F9 L: _" ?0 t—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                end
6 u$ H$ f; Z; p) |+ p1 z! @; N5 C魔力私服,最新魔力宝贝私服技术交流                local tPetName = Char.GetData(tPetIndex, %对象_名字%)
5 V  `5 D$ k: I: z1 U" r8 t                local tPetID = Char.GetData(tPetIndex, 68)魔力私服,最新魔力宝贝私服技术交流3 ^: M% h) q4 A8 A$ f
                local tPetLv = Char.GetData(tPetIndex, %对象_等级%)bbs.mocwww.com& }% n3 j  X, C
                local tPetGetLv = Char.GetData(tPetIndex, %宠物_获取时等级%)
. Y/ P9 }2 z5 Q9 q* ^0 j+ j. T魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local tPetTechSlotMax = Char.GetData(tPetIndex, %宠物_技能栏%)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: C% p' A5 n$ T! j& ]1 {5 m* \1 N
                --Get Item Data魔力私服,最新魔力宝贝私服技术交流! l6 {, W7 @- _, V
                local tItemIndex = Char.GetItemIndex(_PlayerIndex, tItemSlot)妖城在线论坛7 a4 ?" m8 U% H% L
                if tItemIndex<0 then
& g( z: k2 q5 k- `( y魔力私服,最新魔力宝贝私服技术交流                        return 0
" _6 X: p! l5 ?) K  B: `2 `—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                end
$ v- r" N. [! Q5 |  y5 E—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local tItemName = Item.GetData(tItemIndex, %道具_名字%)
, o/ v5 e) W' H& }5 nbbs.mocwww.com                local tItemID = Item.GetData(tItemIndex, %道具_ID%)
% t& K' u) p5 S6 H: @' H! {妖城在线论坛                local tTechType = Item.GetData(tItemIndex, %道具_特殊类型%) or 0—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート' t6 z+ u. k$ l/ G( ]! \! P$ A( s
                local tTechID = Item.GetData(tItemIndex, %道具_子参一%) or 0魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表) c# M# M, O# a7 t" I/ S9 ]
                local tPreTechID = Item.GetData(tItemIndex, %道具_子参二%) or 0
1 N3 _  n6 B) y0 H2 N" e: Q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        print("\n=================调试信息====================")魔力私服,最新魔力宝贝私服技术交流! ]- |; u$ ^# B, A' D4 ~5 `
                        print("tItemID=" .. tItemID)妖城在线论坛& b6 }, y! x; X: k
                        print("tItemName=" .. tItemName)
( u: c8 m$ f! ^bbs.mocwww.com                        print("tTechType=" .. tTechType); ~$ J- i# x; u3 E7 x
                        print("tTechID=" .. tTechID)魔力私服,最新魔力宝贝私服技术交流8 D: L- F8 I: b9 n6 t
                        print("tPreTechID=" .. tPreTechID)
8 R0 A; W& B3 U: s  m/ ?6 ^6 Q                        print("NorPreTechID=" .. NorPreTechID)
0 g2 V' U, G  m# f—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        print("TechSlot=" .. #PetTechNpc_GetTechList(tPetIndex) .. "/" .. tPetTechSlotMax)
6 j5 H( f5 f" S% v* h! |—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        print("InTable=" .. PetTechNpc_GetTechPos(tPetIndex, tPreTechID))
+ ^) D& O: r' {4 [2 J( `9 `bbs.mocwww.com                --Check Type
  \  g! t8 G8 k# _) k3 s; Z- Z$ I& [妖城在线论坛                if tTechType==1 then
6 @5 U  i- ]) G* ?) t$ Cbbs.mocwww.com                        if PetTechNpc_CheckInTable(SPetListA, tPetID)~=true then5 O, T8 ?) r% _1 l# M1 _( ^, [" S5 A
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")
4 R, w: ?7 |4 T$ W: C. K魔力私服,最新魔力宝贝私服技术交流                                return 0
7 K9 I; _" A! o2 B7 P& Wbbs.mocwww.com                        end魔力私服,最新魔力宝贝私服技术交流0 T2 {' _/ d7 j+ A! p  k/ I
                elseif tTechType==2 then
2 j: N3 t/ n. l* v) T( G                        if PetTechNpc_CheckInTable(SPetListB, tPetID)~=true then
4 `# G' y- @* o( c" f                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")
& v3 ~6 ?/ j5 V9 u5 g9 z1 cbbs.mocwww.com                                return 0
/ M. D: h0 j  |0 b0 Y$ f2 Ibbs.mocwww.com                        end妖城在线论坛1 f- h; g8 M7 l. f3 t5 ?/ a( S
                elseif tTechType==3 thenbbs.mocwww.com) @4 F! u" b, y' }7 a& M# H
                        if tPetGetLv>1 then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ Y! n- w( V; l$ q
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:非野生")—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 x) Z) x) d% D$ K- I* o. x/ H, P
                                return 0妖城在线论坛, j2 \3 b# T1 k9 f! U; B; L. I
                        end- }' ?( ^3 i/ y
                elseif tTechType==4 then5 t- |+ A) n" \% B( `
                        if tPetLv<PetMaxLevel then
+ d3 E1 c+ h& f3 S魔力私服,最新魔力宝贝私服技术交流                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:满级")
* g- ?. ^' ]# i0 Z% z3 S                                return 0魔力私服,最新魔力宝贝私服技术交流, z. O% a$ ^0 O) n% ?- |1 C
                        end妖城在线论坛1 z. U7 D" W" W7 u  P9 U! D
                endbbs.mocwww.com9 i4 q7 C! h. R: h
                --Check NorPreTechID魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表( D2 R3 Z+ E8 X1 n. S, g+ }
                if tPreTechID==NorPreTechID and        #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax and PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート) E) @0 @+ v7 Q+ R4 d; k& B1 p
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:请先学习【高阶技能栏】技能")妖城在线论坛% T: B4 U4 X8 n
                                return 0
1 @* S# s% U0 p: qbbs.mocwww.com                end/ Q& w+ }# T9 v8 L3 a) @
                --Check PreTech
5 g, @% d7 w' Q0 j魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                if tPreTechID>0 and tPreTechID~=NorPreTechID then% y7 {8 ?" D* h' K8 E. G/ D3 m% T
                        if PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then
6 r0 V% k/ Z' V' P) C* tbbs.mocwww.com                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:前置技能")
0 F% L" I7 }  v  z- d$ Z妖城在线论坛                                return 0
2 S6 h% H7 f: E: J  S5 S妖城在线论坛                        end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート$ ]: \6 P9 p) ?( s
                endbbs.mocwww.com* `7 C3 h* [& j' q
                --Check Slot
6 Q6 v+ E6 v. w  t6 p; j妖城在线论坛                if tPreTechID<=0 and #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax then
! U2 n8 `: t4 ~) ]$ ^; U魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:技能栏已满")
4 _8 T# M9 c. G; a+ d- _                        return 03 A4 s1 C9 |! P# o5 x& B
                end妖城在线论坛7 z! N0 S4 r' M' v7 k, O
                --Del PreTech
( Z/ I1 a0 k$ [7 q- ]5 L3 A妖城在线论坛                if tPreTechID>0 then
# U9 F; w' ?5 X" i魔力私服,最新魔力宝贝私服技术交流                        local tPreTechPos = PetTechNpc_GetTechPos(tPetIndex, tPreTechID)
/ f' X$ R: L( I" u4 t魔力私服,最新魔力宝贝私服技术交流                        Pet.DelSkill(tPetIndex, tPreTechPos)魔力私服,最新魔力宝贝私服技术交流- {6 q% `$ X/ |3 B' x1 f/ Z/ |
                end
( z: Z+ {+ j* e0 C, a9 k; n! d魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                --Add Techbbs.mocwww.com: }4 R1 Y. J- n. W
                local rt = Pet.AddSkill(tPetIndex, tTechID)
& C: L/ u2 l, h: ~1 u8 [% [妖城在线论坛                if rt~=1 then
+ o$ r3 f+ M& x1 n6 F4 I5 |1 v2 i/ ^bbs.mocwww.com                        NLG.SystemMessage(_PlayerIndex, "[错误] 未知原因错误")魔力私服,最新魔力宝贝私服技术交流9 G9 N+ r* f) u$ H* i+ P
                        return 0
: r- y) I% x. ?( s9 a" w: F; H魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                end妖城在线论坛) T1 L% ~  O8 @: t5 o4 [
                --Del Item* C' I. Z3 O* a( r4 i
                Char.DelItem(_PlayerIndex, tItemID, 1)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表4 P: h# F/ V, n& }
                --Up Pet
' m4 h0 f" L3 Q( R5 L/ L. {4 S) d2 ]9 P妖城在线论坛                Pet.UpPet(_PlayerIndex, tPetIndex)
5 c1 Q; G3 v; F' k5 Z3 B) `魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                NLG.SystemMessage(_PlayerIndex, "你的宠物" .. tPetName .. "学会了新技能。")
+ A: \- x+ l7 A( l6 h8 d—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        return 1魔力私服,最新魔力宝贝私服技术交流- O1 r5 ~& E3 Y8 g1 w4 A% s
        end魔力私服,最新魔力宝贝私服技术交流) |. a/ X# A# ]8 H. l# A& ]- r
end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2 j* O6 @8 [: o) G

% H, t  M6 e1 m6 }3 j" U! T魔力私服,最新魔力宝贝私服技术交流--使用道具bbs.mocwww.com+ Z+ Y* k/ B$ E2 L& @7 B$ E! H
NL.RegItemString(nil, "PetTechNpc_ItemUse", "LUA_usePetTech");妖城在线论坛, u* L# x. P" e: h
function PetTechNpc_ItemUse(_PlayerIndex, _ToPlayerIndex, _Slot)
( J( K! L0 ]$ Q: a/ S, I—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        SelectItemSlot[_PlayerIndex] = _Slot魔力私服,最新魔力宝贝私服技术交流9 x# k: Z8 \' L# `& q& w
        PetTechNpc_Talked( tbl_LuaNpcIndex["PetTechNpc"], _PlayerIndex, 1)
( ~1 G" G$ a& w7 Y3 Y4 j4 s6 R2 i  A5 s1 a        return 1魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# Z: |  F! f) t3 q
end

TOP

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

TOP

引用:
原帖由 wangjun1127 于 2019-5-30 19:56 发表 bbs.mocwww.com1 R) P8 _0 H" P
求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??
6 z+ ?" N" t; M# ?0 [) V. x$ O妖城在线论坛—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート5 k' ?* M, l" a; K3 j* U

/ {" K: G3 ~  r) N) p, q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
- m! w- f& G& c  A. R0 bif _Select==2 or _Seqno==99999 then
8 A' U/ U3 Q4 s: j—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                return
2 i/ a1 m# A' E5 V, F3 ^5 N+ h魔力私服,最新魔力宝贝私服技术交流        end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 h( J/ N9 ]) i, N% n+ e

: Q" l3 p& X$ H; O3 r( q9 i* H9 `妖城在线论坛        if _Seqno==10 then魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表' D% u( p8 w: n$ W
                --Get Sessionbbs.mocwww.com0 x* E8 b1 J) c8 ^
                SelectPetSlot[_Pla ...
8 s  L( P/ W. \1 T* O, Y
这是一个luac+lua结合的功能,你只迁移了lua部分,没有迁移luac部分(道具部分)

TOP

6.如何创立MSG指令(例:/1 /2)妖城在线论坛. d4 Q0 _4 `: D0 G5 T( r, m
今天先来讲点简单的知识,顺便复习一下旧知识点中比较重要的获取(get)函数和设置(set)函数的区别,本帖停更也是由于深感自身讲的知识点先后顺序有些问题妖城在线论坛% w/ E$ K" y% \  R3 t" x
魔力lua包含了三大块知识点魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表' R- c) {; x( \1 `% v8 f. x
1:lua编程基础知识(不需要太深入的lua技术即可)魔力私服,最新魔力宝贝私服技术交流! u  S* A4 l5 y3 {0 h; B
2:mysql基础知识(不需要太深入的mysql技术,但要会节省资源和防止疯狂读写)
& J1 m+ ^: d& j. E0 _. u  A2 r3:魔力封包知识(高端lua开发必备)
% E: V. D1 l: F
, s/ v5 y% Y4 t魔力私服,最新魔力宝贝私服技术交流本帖只讲述lua在魔力中是如何运行的,这三块知识点都需要你们自己去学习魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# o9 v: `: U. b
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート$ w, N; t- v" U# Q. O
下面我们进入今天的教学
- ~$ z) S, _& J1 k3 U9 `+ K8 y—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートlua的远程指令主要依靠NL.RegTalkEvent(Dofile, FuncName)达成
  W! U9 _7 V- w" U魔力私服,最新魔力宝贝私服技术交流该函数的作用是[创建对话事件],它可以全局框架注册魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; y4 v- X) q5 _  k9 F
一般使用Delegate.RegDelTalkEvent("XXX")创建全局对话事件
6 f" U0 Z- F. X7 l/ a* `7 n2 u—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートNL.RegTalkEvent的返回函数明细:
) [- i' l, j. B8 q& A—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートTalkEventCallBack(CharIndex, Msg, Color, Range, Size)
2 _4 X$ ]9 \' B魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表参数说明魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% L2 ~4 }7 D% A* v8 v& ?9 h
CharIndex: 数值型 响应事件的对象index,该值由Lua引擎传递给本函数。
9 M5 r) F; w: q. D% g# |魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表Msg: 文本型 话的内容,该值由Lua引擎传递给本函数。" y4 R7 t8 t% S+ G8 U
Color: 数值型 说话颜色,该值由Lua引擎传递给本函数。—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート' y! N6 K& |: ~  d! o6 X/ T& g
Range: 数值型 说话音量(范围),该值由Lua引擎传递给本函数。bbs.mocwww.com; T' {# d) S8 T( S1 P6 y
Size: 数值型 说话字体大小,该值由Lua引擎传递给本函数。—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート0 z1 q% P! @$ {5 D" v! c' P
返回值—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート. _" N7 H; x* T9 t0 i  B
返回0拦截说话内容,返回1正常发送bbs.mocwww.com0 b* h4 Q& S2 Y9 V

" e. H9 ]# o, h7 T! {7 W, J  @6 p9 q/ e2 Q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート小知识复习:当形参由lua引擎传递一个可用实参时,你不需要填写形参具体值,并且可以传递给其他函数的空白形参,让其拥有实际数值,传递时候要注意传参的类型,空白形参的函数中,空白形参若只能填写数值型
) x1 a' H+ T. D2 f; g6 ]4 x; X" I$ m妖城在线论坛传递过来的数值就必须是数值型(这种情况可以先设置一个变量   a=tonumber(lua引擎传递的字符串型传参) 然后把变量a填入空白形参的函数形参中)
. [6 \! [; d" B2 g3 m魔力私服,最新魔力宝贝私服技术交流
4 o! d" \# K/ O, J& ]9 j魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表文字太过干涩,下面用实例解释今天的知识点妖城在线论坛" g0 L* T, v, s1 e
该例实现了用指令整理身上的道具的功能bbs.mocwww.com" n5 R4 H0 j. O- B+ L

- i" x/ c2 r+ r7 Y$ ^, j—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートlocal zhengli = "/zl"--整理指令,此处需要""把内容定义为字符串魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表) k$ N$ ]' f' F% A% {0 B
--  ***************************************************************************************************** --
/ D+ t+ l* G4 IDelegate.RegDelTalkEvent("zlTalkEvent");--全局注册对话事件函数
4 S2 Q+ r! O3 `妖城在线论坛
( J9 D4 ]1 L# P% @8 N* Vbbs.mocwww.comfunction zlTalkEvent(player,msg,color,range,size)--调用对话事件函数的返回函数
! _) `4 q- L4 ]魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表        if(msg==zhengli) then--检测MSG=整理指令时则执行下述函数块内容魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: x; _  [$ b- m0 |
                NLG.SortItem(player)--调用GA封装的整理道具函数,其中NLG.SortItem(player)的(player)值由function zlTalkEvent(player,msg,color,range,size)这个返回函数赋予bbs.mocwww.com0 l1 }: D% K8 y6 X3 S: Z
        end魔力私服,最新魔力宝贝私服技术交流/ Y! j# c, Z- @1 t1 U
endbbs.mocwww.com, W$ G% S( Q# @5 z
魔力私服,最新魔力宝贝私服技术交流5 A" F$ p- c! X* e9 e) X- t! F% ^
上述实例中,如果单独拿NLG.SortItem(player)出来,(player)的值会是nil,是没有任何数值的,它是一个标准的设置函数,需要从获取函数中获得形参的实值(魔力lua的函数的形参分为2种,获取函数(get)和设置函数(set))
( E4 d6 |& ?" g) M9 Q7 [* D3 y8 ~—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート 教学用指令整理道具.7z (453 Bytes) 魔力私服,最新魔力宝贝私服技术交流6 L' g2 z& V0 P3 F$ t" L
5 e: ^% l; g. f9 u
[ 本帖最后由 王宫召唤士盖兹 于 2019-5-31 02:07 编辑 ]

TOP

6666666666666666

TOP

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

TOP

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

TOP

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

TOP

引用:
原帖由 staki 于 2019-8-3 03:12 发表
/ c; U9 ^% A' e6 _8 D) d5 _0 V妖城在线论坛建议出个GP的 GA好像在这身败名裂了
( R* J7 q3 y8 _- I  k7 `. r% M8 @9 b" G* w5 D! O) o  ~
GP没2键端无法操作,只是学lua基础都一样的妖城在线论坛) s( C' M6 @) k0 M- i
我不更新就是涉及的具体操作太多,通用性不高,没有更新的必要bbs.mocwww.com' g0 h3 {& P9 Y( B& V- d1 t+ C
我本身秉持授人与鱼不如授人于渔的想法,才写了这个帖子—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート( [7 T/ f2 `1 _% R( T/ C
能看懂本帖之前写的内容,足够了—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート; |' _, W/ M3 L* @8 H
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 w  u% G1 q- m$ c
备注:
- F+ j: A& |6 @- ?. Q. cbbs.mocwww.com既然回帖了,就再讲一下魔力lua的基础运行流程:
  ~+ k( W' n! F" P/ Abbs.mocwww.com1:GMSV启动时加载GMSV内置的魔力lua模块
  ]& s3 O' m  c: f% d! X3 @6 O2:GMSV自动加载初始lua-init.lua   该lua是由GMSV自动加载的(无需写dofile加载)
5 \' z* W4 e, @  ^' T9 ~魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表3:init.lua 加载运行内部代码    此时会有大量dofile,一般是加载基础框架相关的东西 有兴趣可以参考init.lua内部代码,包括框架全局注册这类关键脚本,都是此时加载的魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% b! }- H/ H" H& d$ H' G  z
4:init.lua中有一行dofile(Lua_Path.."Config.lua"),加载Cofig.lua+ \5 N, C& s  `$ h/ i6 a
5:Cofig.lua加载各种Module文件夹内的lua  (至于Cofig.lua内用于加载lua的Loadlua函数究竟是GA哪个脚本内写的,可以给大家当成一个最后的课后考题,找出他,能找到他,我相信你就会发现魔力LUA的运行逻辑是如此简单)
& t& G$ U) f; T—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート提示:GP的Loadlua函数在  lua\include\Global.lua 这个文件内6 A) j9 c4 k" M- n9 C8 h8 _
提示2:GA的Loadlua函数在 lua\System某个文件夹内% ^# e9 a- [% O% d
; ?# o, v; Y2 {- ~: p& l
[ 本帖最后由 王宫召唤士盖兹 于 2019-8-3 12:59 编辑 ]

TOP

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

TOP

我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。
! g1 Z% A3 U  b+ {bbs.mocwww.com
' Y, \' B& Q9 H9 }% F- ]魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_PlayerIndex,%对象_账号%).."' and Name='"..Char.GetData(_PlayerIndex,%对象_原名%).."'";
3 {, Q: k2 ~! Q" ~$ I魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local ret = SQL.Run(query);—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" F6 s5 `' q" O
        bbs.mocwww.com' _" T; Y& z2 [' W; c6 @* m- F* R
                Char.SetData(_PlayerIndex,%对象_原名%,_data);bbs.mocwww.com* l; d0 |. h9 `
                NLG.UpChar(_PlayerIndex);
5 |' ~( N2 H! Z4 G7 X' M: e魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 {) ^2 p5 E2 _, f, d- O3 f) r/ \7 T
如果没有最后这两行,SQL改的数据库,人物退出还是原来的名字。
! ~0 K0 ~7 F# F# D! K, o魔力私服,最新魔力宝贝私服技术交流
  n$ E. _' X6 n' _: ?魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表[ 本帖最后由 rolser 于 2019-8-20 20:52 编辑 ]

TOP

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

TOP

引用:
原帖由 rolser 于 2019-8-20 20:44 发表
, X7 U' W$ K$ W" J# x% |魔力私服,最新魔力宝贝私服技术交流我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。
8 j; |  Q( l9 ^8 W5 p魔力私服,最新魔力宝贝私服技术交流
* x0 ~# B' \6 c9 Sbbs.mocwww.com                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_Pl ...
妖城在线论坛/ x8 O0 f% i  M
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表1 o5 v' s" D- Z1 r6 R+ V" a2 X/ s- F3 M
lua修改玩家内存只是修改了GMSV内的内存,在玩家客户端内并没有显示,因此需要用UpChar函数更新玩家客户端显示
8 i% D$ w; _$ @$ d0 S. m. C: g同理还有NPC创建时候使用的UpChar函数,这个函数如果是由全局注册init来触发的,会导致你即使重载脚本,NPC也加载不出来,必须重启服务器(重新加载init)才行
' e3 I7 @4 {' Q5 O. N% ^6 Z3 P魔力私服,最新魔力宝贝私服技术交流备注:创建NPC也可以用其他函数或者if,GE不要使用if,会有奇怪的错误
0 ], N6 @$ A  K. w# d魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表7 v9 k& u0 ~, K( ^
GE的教程和GA是互通的,他们只不过是文件夹不一样,文件名不一样,函数名不一样,但运行逻辑都是一样的,只是WIN7和WIN10的区别而已,只要能看懂本帖说的GA的内容,GE和GP自然就懂了妖城在线论坛% L& h# m* E2 ]

% A7 k, `( x/ Dbbs.mocwww.com[ 本帖最后由 王宫召唤士盖兹 于 2019-8-30 11:22 编辑 ]

TOP

发新话题