发新话题
打印

[讨论] 初级魔力lua解析

多谢大神

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

TOP

请大佬继续更新

TOP

求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??( I9 c5 c  Y+ |, ^# I

5 }2 [$ O7 C( Y妖城在线论坛. g* d1 d4 E  N* O7 }3 d: z5 B" _' z# s5 X
魔力私服,最新魔力宝贝私服技术交流: |- h- B% _/ K
if _Select==2 or _Seqno==99999 then
  N1 B7 k% {2 [  \bbs.mocwww.com                returnbbs.mocwww.com; l: F8 N% k4 d! a: k
        endbbs.mocwww.com; b( h9 f- M: O* x
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表3 Z" l) F& O5 Y1 f" _. F9 e; H# e7 h" y
        if _Seqno==10 thenbbs.mocwww.com8 c* ~' I5 K0 B+ V/ A' ]+ z# H
                --Get Session魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& I' V' n9 s; J: ^8 Q
                SelectPetSlot[_PlayerIndex] = _Data-1
( ~4 ]# f' I4 x! a4 |, ^9 J魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local tItemSlot = SelectItemSlot[_PlayerIndex]妖城在线论坛; C) _2 r0 e! ]) I6 K2 m8 b
                local tPetSlot = SelectPetSlot[_PlayerIndex]
( t4 F9 P. ^( X) f( L, U妖城在线论坛                --Get Pet Data( G# B2 a; U9 Z, f$ L- G
                local tPetIndex = Char.GetPet(_PlayerIndex, tPetSlot)
* N7 A3 b7 H8 \- K! Y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                if tPetIndex<0 then
  P0 J* y4 b% b/ X1 A  P魔力私服,最新魔力宝贝私服技术交流                        return 0
8 Q- v+ e8 |2 ]! u6 w+ u魔力私服,最新魔力宝贝私服技术交流                end
; N0 t* V6 k, @3 _bbs.mocwww.com                local tPetName = Char.GetData(tPetIndex, %对象_名字%)bbs.mocwww.com  t3 c" s* |# e
                local tPetID = Char.GetData(tPetIndex, 68)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 {$ F- G5 O. ~  ?# i/ d
                local tPetLv = Char.GetData(tPetIndex, %对象_等级%)
4 W$ V6 G0 r/ `7 n/ \+ ~; q9 ybbs.mocwww.com                local tPetGetLv = Char.GetData(tPetIndex, %宠物_获取时等级%)
+ P- D" H2 w' U' t8 `& mbbs.mocwww.com                local tPetTechSlotMax = Char.GetData(tPetIndex, %宠物_技能栏%)
4 v' i7 }# ~4 h                --Get Item Data
2 X) h+ l, F2 Y7 c) e( u1 _, E" S魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local tItemIndex = Char.GetItemIndex(_PlayerIndex, tItemSlot)
! J" v6 S- \+ m& v! m魔力私服,最新魔力宝贝私服技术交流                if tItemIndex<0 then魔力私服,最新魔力宝贝私服技术交流: }3 f1 U. i# ~5 _; G
                        return 0
5 p" a8 C) M& d2 x7 z魔力私服,最新魔力宝贝私服技术交流                end7 C( ]% e6 ?6 P# q- |& \
                local tItemName = Item.GetData(tItemIndex, %道具_名字%)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" H  n0 q/ a8 U0 o, Q  {
                local tItemID = Item.GetData(tItemIndex, %道具_ID%)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2 J. V: F- ~' \5 h
                local tTechType = Item.GetData(tItemIndex, %道具_特殊类型%) or 0bbs.mocwww.com9 j8 A5 H. W: V' o# w! n" a+ a
                local tTechID = Item.GetData(tItemIndex, %道具_子参一%) or 0
! J1 D& m; T# N" d8 |1 X7 o- C, g魔力私服,最新魔力宝贝私服技术交流                local tPreTechID = Item.GetData(tItemIndex, %道具_子参二%) or 0魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表+ q3 O( A' x0 P' m6 B
                        print("\n=================调试信息====================")
9 f- P3 G: P4 B                        print("tItemID=" .. tItemID)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ T1 B, o! U4 S3 W$ z
                        print("tItemName=" .. tItemName)
! u; j7 I4 B) N7 |+ m魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        print("tTechType=" .. tTechType)
4 D/ Y# l* L* Tbbs.mocwww.com                        print("tTechID=" .. tTechID)妖城在线论坛- M3 _8 N/ W0 I+ V7 M" V
                        print("tPreTechID=" .. tPreTechID)
; ]! a/ t- ^# Y# }$ F2 \bbs.mocwww.com                        print("NorPreTechID=" .. NorPreTechID)魔力私服,最新魔力宝贝私服技术交流6 i3 o7 j4 }. ~& t
                        print("TechSlot=" .. #PetTechNpc_GetTechList(tPetIndex) .. "/" .. tPetTechSlotMax)
* t# f* `! q' _& A1 k0 j                        print("InTable=" .. PetTechNpc_GetTechPos(tPetIndex, tPreTechID))
/ _, O) i, W. b+ X& n- ^妖城在线论坛                --Check Type
8 c: S0 G9 ]9 s0 ~+ u魔力私服,最新魔力宝贝私服技术交流                if tTechType==1 then- s: n% L: r  m* a
                        if PetTechNpc_CheckInTable(SPetListA, tPetID)~=true then
0 E* e! A* G. B4 J  p5 Y% S                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")
0 Y3 ]$ }( S1 u5 A0 N% C3 w; F妖城在线论坛                                return 0魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表! y4 b8 r5 O. g) Y0 G0 i
                        end妖城在线论坛9 Y4 _6 _; _" A6 U( e. [7 o
                elseif tTechType==2 then魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: Y& |  R+ }5 i4 Z4 \3 J
                        if PetTechNpc_CheckInTable(SPetListB, tPetID)~=true then
8 K9 e- y3 {8 c3 v! A魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")
4 ]9 I! ^- w5 K7 d# [妖城在线论坛                                return 0妖城在线论坛0 N/ C( h- ]7 `. o+ F1 T
                        end
% P5 W3 O" a0 N6 {魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                elseif tTechType==3 then妖城在线论坛, W+ v) c  ]* B6 |1 u
                        if tPetGetLv>1 then
: C, g- P0 Z: @: e妖城在线论坛                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:非野生")
; E- f4 f! b* F% B0 y5 @% j魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                                return 0魔力私服,最新魔力宝贝私服技术交流4 F, N3 s, Y4 X$ V- o8 d8 Y
                        endbbs.mocwww.com) |* d  n! Z, m$ A
                elseif tTechType==4 then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート$ ~2 Q) O, [, M$ B. F( N
                        if tPetLv<PetMaxLevel then
" U& c7 I: \( l3 z5 V魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:满级")
5 y; Z1 M. E$ P+ G0 F                                return 0
  ?5 y1 O" {' q8 e2 O: [妖城在线论坛                        end
: y' M3 E6 W8 x妖城在线论坛                end
. D% G. F* z* e5 H1 G—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                --Check NorPreTechID
; E$ e& z* J' V* U" P1 \1 Mbbs.mocwww.com                if tPreTechID==NorPreTechID and        #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax and PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then魔力私服,最新魔力宝贝私服技术交流) G3 \5 j, H; o
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:请先学习【高阶技能栏】技能")* \& J, ?& w3 y! S3 J, o& L: Z9 T3 j
                                return 0bbs.mocwww.com( _1 V6 ~* a& m. t0 w4 `
                end
  A& z& O1 Q8 D  O2 C: S6 B妖城在线论坛                --Check PreTech
4 R0 n. J  E  d( @* a魔力私服,最新魔力宝贝私服技术交流                if tPreTechID>0 and tPreTechID~=NorPreTechID thenbbs.mocwww.com* }7 X4 Z: U  e- Z% `' j5 x
                        if PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then
5 i( N5 H. E, \7 E1 I—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:前置技能")魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: t) M" C/ v0 z' V( _6 b- c8 I
                                return 0
: S. M! w' x- _妖城在线论坛                        end
3 d, B/ X# L5 j                end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表2 s1 c6 ^1 ]1 D2 a
                --Check Slot
+ Y* u$ y0 U9 g+ Q3 j. k/ [6 _妖城在线论坛                if tPreTechID<=0 and #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax then妖城在线论坛( m# Y. i) [" h) P: z; K' k
                        NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:技能栏已满")魔力私服,最新魔力宝贝私服技术交流. R5 b% C4 j9 v/ Q
                        return 0bbs.mocwww.com" w+ b8 @# K$ F; z  G+ T
                end, G. U2 B8 W, v3 Z" s  ^! F
                --Del PreTech
' i$ N8 _4 f& h" K. {( L妖城在线论坛                if tPreTechID>0 then
2 W7 {) i- h# C6 Q2 [9 ybbs.mocwww.com                        local tPreTechPos = PetTechNpc_GetTechPos(tPetIndex, tPreTechID)
! c7 J9 @6 X. O魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        Pet.DelSkill(tPetIndex, tPreTechPos)
+ j9 d; V8 T5 |3 z5 ^8 y                end魔力私服,最新魔力宝贝私服技术交流% x% v5 t% E! ^6 C2 p- F8 X5 S
                --Add Tech4 t+ j) ?, n5 K1 d
                local rt = Pet.AddSkill(tPetIndex, tTechID)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート: l$ R. R1 Y$ Y5 @8 C
                if rt~=1 then
  z$ m* H$ T8 j2 a4 b/ p; W/ B% L% J                        NLG.SystemMessage(_PlayerIndex, "[错误] 未知原因错误")魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表) {# l( v: J* t2 X
                        return 0
6 n* S7 |$ R& B妖城在线论坛                end
( _* {0 m* [7 b7 j- A7 |5 G魔力私服,最新魔力宝贝私服技术交流                --Del Item
9 O3 L/ I& b/ d3 j! p" |魔力私服,最新魔力宝贝私服技术交流                Char.DelItem(_PlayerIndex, tItemID, 1)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート0 w& u* I: a0 Z2 x/ i$ h
                --Up Pet
# J; K4 u- L1 X; x4 @' d7 m妖城在线论坛                Pet.UpPet(_PlayerIndex, tPetIndex)
1 }' z; }2 ]& E1 q# `—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                NLG.SystemMessage(_PlayerIndex, "你的宠物" .. tPetName .. "学会了新技能。")
% M9 N- L7 l7 r% G魔力私服,最新魔力宝贝私服技术交流        return 1bbs.mocwww.com& c$ y- s; z! T1 n
        end魔力私服,最新魔力宝贝私服技术交流! I9 y0 J3 l* ?
end
, t" k  s" }  w3 ubbs.mocwww.com
# E7 h" m6 a( B& C! [6 U& k魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表--使用道具魔力私服,最新魔力宝贝私服技术交流3 [' L; ~* k. l, ^3 ]4 y: b: m' s
NL.RegItemString(nil, "PetTechNpc_ItemUse", "LUA_usePetTech");
! s9 R2 m3 A$ r& b' F魔力私服,最新魔力宝贝私服技术交流function PetTechNpc_ItemUse(_PlayerIndex, _ToPlayerIndex, _Slot)魔力私服,最新魔力宝贝私服技术交流/ ~2 M9 ?/ b, @+ N% O4 i' @" I5 E* x
        SelectItemSlot[_PlayerIndex] = _Slot—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート) n9 `' H4 m% r5 n: n& f( i9 e0 l
        PetTechNpc_Talked( tbl_LuaNpcIndex["PetTechNpc"], _PlayerIndex, 1)
' x: n& O5 z4 |8 N; u魔力私服,最新魔力宝贝私服技术交流        return 1
) Q, o6 K  X9 G; ]end

TOP

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

TOP

引用:
原帖由 wangjun1127 于 2019-5-30 19:56 发表
+ v/ S7 k9 v# H2 e- N; Y. K求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??魔力私服,最新魔力宝贝私服技术交流# L+ S2 H( b7 k+ ^  b- y

6 _9 n  M- Y( N7 x! l魔力私服,最新魔力宝贝私服技术交流
* T, ]$ ]1 `6 \5 Z3 l  ?bbs.mocwww.com魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表8 Y/ i' x% e4 e; s& t8 U
if _Select==2 or _Seqno==99999 then3 Y+ M6 y4 \; j
                return魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 `4 `3 e1 Y! L4 p- i
        end
8 L7 f2 B) C/ F, x. w, u1 ?6 {魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
7 U' `: {2 G  `# H8 J2 Z/ c0 r魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表        if _Seqno==10 then
( y6 m5 B& U+ _  K, s                --Get Session
, h' @& s+ @0 j% {魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                SelectPetSlot[_Pla ...
魔力私服,最新魔力宝贝私服技术交流9 u! x; m8 h$ _4 T& X7 T
这是一个luac+lua结合的功能,你只迁移了lua部分,没有迁移luac部分(道具部分)

TOP

6.如何创立MSG指令(例:/1 /2)
# Z! y2 M! z* Q3 Y7 ^" d- J魔力私服,最新魔力宝贝私服技术交流今天先来讲点简单的知识,顺便复习一下旧知识点中比较重要的获取(get)函数和设置(set)函数的区别,本帖停更也是由于深感自身讲的知识点先后顺序有些问题' G$ x3 ~9 Q! `, f  v
魔力lua包含了三大块知识点bbs.mocwww.com/ [5 y6 V' l: h3 _# `
1:lua编程基础知识(不需要太深入的lua技术即可)
* b' K. l* I3 a5 e  h( P2:mysql基础知识(不需要太深入的mysql技术,但要会节省资源和防止疯狂读写)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート8 m6 r* d, x/ r4 }/ H* ^
3:魔力封包知识(高端lua开发必备)
' m7 Z/ U$ U, k5 C! T) B$ N—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートbbs.mocwww.com  J# o. j5 Z9 r7 L
本帖只讲述lua在魔力中是如何运行的,这三块知识点都需要你们自己去学习
$ S( j6 V7 Q/ Y9 {魔力私服,最新魔力宝贝私服技术交流# ?0 a+ F. y' q/ S( r# O1 P
下面我们进入今天的教学+ F: ~# l) h0 a. y/ R0 j
lua的远程指令主要依靠NL.RegTalkEvent(Dofile, FuncName)达成妖城在线论坛" p, V# G: M5 ]# k
该函数的作用是[创建对话事件],它可以全局框架注册
( Z. A, T# t. _3 q# b' g; ~一般使用Delegate.RegDelTalkEvent("XXX")创建全局对话事件
& H5 a; N' g2 t7 G% D# T, m魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表NL.RegTalkEvent的返回函数明细:魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 S9 A/ z" i$ s  h
TalkEventCallBack(CharIndex, Msg, Color, Range, Size)
; ?. i) X; S: ~$ }5 M: t9 N魔力私服,最新魔力宝贝私服技术交流参数说明魔力私服,最新魔力宝贝私服技术交流# H' b. s9 f1 a" V( Z! z: x
CharIndex: 数值型 响应事件的对象index,该值由Lua引擎传递给本函数。—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 D7 b' P5 g. ?8 c  L
Msg: 文本型 话的内容,该值由Lua引擎传递给本函数。
& k! P1 U9 n# V1 f/ W9 ^: E  Z0 BColor: 数值型 说话颜色,该值由Lua引擎传递给本函数。$ Q" T4 c+ n- m1 P3 [8 i
Range: 数值型 说话音量(范围),该值由Lua引擎传递给本函数。& }1 [7 M6 j! q' n! w/ H+ u: g
Size: 数值型 说话字体大小,该值由Lua引擎传递给本函数。—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! N. f4 A9 z( j  W
返回值魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表( s0 C# H7 g% W0 R8 |# O8 A
返回0拦截说话内容,返回1正常发送0 h; O4 W, j' r) }. j3 D

1 f+ R# |( u" ^1 I- H3 p. U  M) n6 P3 d—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート小知识复习:当形参由lua引擎传递一个可用实参时,你不需要填写形参具体值,并且可以传递给其他函数的空白形参,让其拥有实际数值,传递时候要注意传参的类型,空白形参的函数中,空白形参若只能填写数值型妖城在线论坛+ n' D" b9 W: [. ]. J- _
传递过来的数值就必须是数值型(这种情况可以先设置一个变量   a=tonumber(lua引擎传递的字符串型传参) 然后把变量a填入空白形参的函数形参中)
  F) F- r7 F$ d6 V3 l魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表妖城在线论坛0 m" x6 D/ L9 X; D! h; _) s
文字太过干涩,下面用实例解释今天的知识点
7 y. K8 L! ]' V  F+ H% `+ ], A—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート该例实现了用指令整理身上的道具的功能魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表2 b; y; E" j8 Q4 Z" {! L% `
妖城在线论坛0 H# n/ U$ [+ ^) n; X3 U. U% Q' k
local zhengli = "/zl"--整理指令,此处需要""把内容定义为字符串
3 [9 ?" h% c" `! b. |5 p% [% X妖城在线论坛--  ***************************************************************************************************** --—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート: h! m' B. j; g. N) q- U* I/ F
Delegate.RegDelTalkEvent("zlTalkEvent");--全局注册对话事件函数
, i7 n4 X7 o% v# l
" N5 v# D& a  W; o魔力私服,最新魔力宝贝私服技术交流function zlTalkEvent(player,msg,color,range,size)--调用对话事件函数的返回函数
- k5 @0 _. C+ u( s/ q! [9 [8 g        if(msg==zhengli) then--检测MSG=整理指令时则执行下述函数块内容) O4 d2 \: @  I: y& z, T
                NLG.SortItem(player)--调用GA封装的整理道具函数,其中NLG.SortItem(player)的(player)值由function zlTalkEvent(player,msg,color,range,size)这个返回函数赋予
% ]+ g% f$ n# r魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表        end
" M4 H3 k/ [9 C6 ^) [& x妖城在线论坛endbbs.mocwww.com' O* x8 }" p/ W. P  H- S
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表8 E. t' K' ]+ \! I
上述实例中,如果单独拿NLG.SortItem(player)出来,(player)的值会是nil,是没有任何数值的,它是一个标准的设置函数,需要从获取函数中获得形参的实值(魔力lua的函数的形参分为2种,获取函数(get)和设置函数(set))
0 r( b. k7 P$ p: J: B4 d2 _1 [—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート 教学用指令整理道具.7z (453 Bytes)
  }# |6 E( @/ Q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
' h; r( \4 W& [+ |. ]4 j魔力私服,最新魔力宝贝私服技术交流[ 本帖最后由 王宫召唤士盖兹 于 2019-5-31 02:07 编辑 ]

TOP

6666666666666666

TOP

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

TOP

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

TOP

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

TOP

引用:
原帖由 staki 于 2019-8-3 03:12 发表
" Z& G- k* c* [$ vbbs.mocwww.com建议出个GP的 GA好像在这身败名裂了
魔力私服,最新魔力宝贝私服技术交流  _3 Y3 j1 M, i: d' i9 ~! F

8 H' Y. R% K$ W) S) j/ a3 J—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートGP没2键端无法操作,只是学lua基础都一样的
9 |1 a0 @  }# x9 D) Y- r0 i, ?. Y8 f4 M 我不更新就是涉及的具体操作太多,通用性不高,没有更新的必要妖城在线论坛5 r( v% o8 E# @  _
我本身秉持授人与鱼不如授人于渔的想法,才写了这个帖子魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表- B, d/ {3 h7 s; q
能看懂本帖之前写的内容,足够了
# e# ]" n+ G9 S% D4 d- ?bbs.mocwww.com
+ @6 _: H; x/ u备注:—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート( m7 t: H, r4 U1 U/ L3 Q6 W+ C
既然回帖了,就再讲一下魔力lua的基础运行流程:
- a3 ?  F, z: E6 U! _* D  ]% o# V1:GMSV启动时加载GMSV内置的魔力lua模块
' F6 N) t" v" _bbs.mocwww.com2:GMSV自动加载初始lua-init.lua   该lua是由GMSV自动加载的(无需写dofile加载)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート, a; z7 X" H$ E' D
3:init.lua 加载运行内部代码    此时会有大量dofile,一般是加载基础框架相关的东西 有兴趣可以参考init.lua内部代码,包括框架全局注册这类关键脚本,都是此时加载的
, `4 n  B, O* M. C0 A) v6 V6 qbbs.mocwww.com4:init.lua中有一行dofile(Lua_Path.."Config.lua"),加载Cofig.luabbs.mocwww.com# B, B( N# N6 k/ c
5:Cofig.lua加载各种Module文件夹内的lua  (至于Cofig.lua内用于加载lua的Loadlua函数究竟是GA哪个脚本内写的,可以给大家当成一个最后的课后考题,找出他,能找到他,我相信你就会发现魔力LUA的运行逻辑是如此简单)
% u4 }3 v) b, o: G8 c4 S3 O. I$ D—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート提示:GP的Loadlua函数在  lua\include\Global.lua 这个文件内魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& r2 ]- l+ C  U# a& w
提示2:GA的Loadlua函数在 lua\System某个文件夹内魔力私服,最新魔力宝贝私服技术交流7 w! G$ [: B1 [# i
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表$ A) r3 K; p0 r* S7 p4 a
[ 本帖最后由 王宫召唤士盖兹 于 2019-8-3 12:59 编辑 ]

TOP

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

TOP

我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。bbs.mocwww.com" i4 I1 P2 p/ b' ^

9 f' s2 B8 O$ i. S: D' q! Q# E妖城在线论坛                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_PlayerIndex,%对象_账号%).."' and Name='"..Char.GetData(_PlayerIndex,%对象_原名%).."'";
, F4 e3 d3 a5 v3 Q" h; Y, E$ R3 j$ t魔力私服,最新魔力宝贝私服技术交流                local ret = SQL.Run(query);bbs.mocwww.com$ p! j3 |  ?  J' ^* H
       
- E' q0 q$ z% k: `! V9 H—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                Char.SetData(_PlayerIndex,%对象_原名%,_data);
# U. D1 _6 d+ ?% c1 z; [, V, c7 Y妖城在线论坛                NLG.UpChar(_PlayerIndex);魔力私服,最新魔力宝贝私服技术交流1 w; R# I7 i; e7 e

; {6 _# o. l% s2 u! y/ Y如果没有最后这两行,SQL改的数据库,人物退出还是原来的名字。bbs.mocwww.com# a$ R; D2 D3 e" a8 s

5 s+ r9 D: c' T' o% I: l, ?—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート[ 本帖最后由 rolser 于 2019-8-20 20:52 编辑 ]

TOP

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

TOP

引用:
原帖由 rolser 于 2019-8-20 20:44 发表 魔力私服,最新魔力宝贝私服技术交流4 C  m2 Q% _! X9 w& X" o9 t
我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。
5 r" W& z( a8 V6 }9 k—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート' t  c+ P* j  J& i8 n
                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_Pl ...
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート- T! Z$ H+ `$ X0 n- w8 i3 s  \2 I
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: m0 I5 F$ d1 T2 L; p) ]; Y; f# t% v2 V
lua修改玩家内存只是修改了GMSV内的内存,在玩家客户端内并没有显示,因此需要用UpChar函数更新玩家客户端显示魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# E3 e* w8 [) e9 P) N
同理还有NPC创建时候使用的UpChar函数,这个函数如果是由全局注册init来触发的,会导致你即使重载脚本,NPC也加载不出来,必须重启服务器(重新加载init)才行魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# h. h# a# R' Z. T; s' y
备注:创建NPC也可以用其他函数或者if,GE不要使用if,会有奇怪的错误
( [9 Y2 w) p' t6 d  ]+ J% _
/ @% o  I7 a$ pGE的教程和GA是互通的,他们只不过是文件夹不一样,文件名不一样,函数名不一样,但运行逻辑都是一样的,只是WIN7和WIN10的区别而已,只要能看懂本帖说的GA的内容,GE和GP自然就懂了
5 L' x* Y$ X2 Q1 e) e% K魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表bbs.mocwww.com0 N  {1 K6 a2 U6 ?
[ 本帖最后由 王宫召唤士盖兹 于 2019-8-30 11:22 编辑 ]

TOP

发新话题