发新话题
打印

[讨论] 初级魔力lua解析

多谢大神

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

TOP

请大佬继续更新

TOP

求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表4 E& t: _5 J% s4 v+ _# o
bbs.mocwww.com; @3 K  ?" E) `! e  G0 ~  J

8 o* J8 F2 P8 @bbs.mocwww.com
, t0 D# u( A$ K" l0 @( K+ i—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートif _Select==2 or _Seqno==99999 then
& R: S  i" B! N  M* n妖城在线论坛                return
3 z  ]5 q. [3 D9 u  O" q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        end
' D& E  s: E0 M" |  L魔力私服,最新魔力宝贝私服技术交流; A8 @2 l' }% W3 K2 S% D
        if _Seqno==10 then
' j, M3 ?: G0 }& Ubbs.mocwww.com                --Get Session魔力私服,最新魔力宝贝私服技术交流; i: M/ m: b0 @$ {* w- r& z
                SelectPetSlot[_PlayerIndex] = _Data-1* M" p2 D; D9 _' F
                local tItemSlot = SelectItemSlot[_PlayerIndex]bbs.mocwww.com: |' j  S: c$ g( O# b
                local tPetSlot = SelectPetSlot[_PlayerIndex]
0 m( n( d4 e( \9 d- r7 J妖城在线论坛                --Get Pet Databbs.mocwww.com0 F& W# k; i# M- t
                local tPetIndex = Char.GetPet(_PlayerIndex, tPetSlot)
3 @1 |7 L, A# O. Z- Dbbs.mocwww.com                if tPetIndex<0 then$ E5 u$ b) x, Y& F- A1 Z2 [' P6 b
                        return 0—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& H/ s  D/ n3 ]6 L, C+ B# v
                end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 l8 z: k# y, ]& u6 l1 U
                local tPetName = Char.GetData(tPetIndex, %对象_名字%)bbs.mocwww.com1 `+ p2 ~5 X0 _" f0 [
                local tPetID = Char.GetData(tPetIndex, 68)
" d" s+ U/ |2 nbbs.mocwww.com                local tPetLv = Char.GetData(tPetIndex, %对象_等级%)妖城在线论坛* n# M. v( Q; p0 S% b7 G
                local tPetGetLv = Char.GetData(tPetIndex, %宠物_获取时等级%)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 |6 O- R! s5 |7 ~8 j# B
                local tPetTechSlotMax = Char.GetData(tPetIndex, %宠物_技能栏%)
. N5 Z$ q2 I0 o& Z, A4 u/ w4 j/ t                --Get Item Databbs.mocwww.com: M: d$ j, Q' T4 x: f
                local tItemIndex = Char.GetItemIndex(_PlayerIndex, tItemSlot)
: z( W7 h+ H" J/ k魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                if tItemIndex<0 then
( F! |* b) E4 }3 e0 Abbs.mocwww.com                        return 0$ X2 O3 E; q# ]. p" J$ ^% R
                end
! Y2 n" }  _" ^$ ]( |/ t—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local tItemName = Item.GetData(tItemIndex, %道具_名字%)
0 e  A; B/ S9 w% R$ K6 f妖城在线论坛                local tItemID = Item.GetData(tItemIndex, %道具_ID%)妖城在线论坛6 _7 C0 ^3 n* K; I0 y
                local tTechType = Item.GetData(tItemIndex, %道具_特殊类型%) or 0
8 a7 u4 f: f4 p7 E1 K3 r—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local tTechID = Item.GetData(tItemIndex, %道具_子参一%) or 0魔力私服,最新魔力宝贝私服技术交流! j( U+ x4 L9 \* J: i3 H2 K
                local tPreTechID = Item.GetData(tItemIndex, %道具_子参二%) or 0妖城在线论坛+ R1 s8 ?4 P3 I8 O& |/ y/ {
                        print("\n=================调试信息====================")" H( F  p# Y0 z& f$ V3 N* [
                        print("tItemID=" .. tItemID)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート' l% {/ K* r# P% w8 o8 x7 [
                        print("tItemName=" .. tItemName)
6 A9 D/ K" e& H. R: m. s魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        print("tTechType=" .. tTechType)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表8 U& i$ W7 Q, A# W
                        print("tTechID=" .. tTechID)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; p8 A/ A9 }7 j! ^4 F8 a
                        print("tPreTechID=" .. tPreTechID)bbs.mocwww.com7 M3 T3 m( m0 E# ]
                        print("NorPreTechID=" .. NorPreTechID)
) t: ?7 P& {" f: c" C  [! T" m魔力私服,最新魔力宝贝私服技术交流                        print("TechSlot=" .. #PetTechNpc_GetTechList(tPetIndex) .. "/" .. tPetTechSlotMax)
! n$ T2 \5 P+ v" \7 R( ]3 Z) G妖城在线论坛                        print("InTable=" .. PetTechNpc_GetTechPos(tPetIndex, tPreTechID))魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; d& n: K6 O. q7 ?' h% ?- V! y
                --Check Type
5 ^- y* S5 C& O% O; Z+ ~—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                if tTechType==1 then
" k/ {* J9 ]8 C8 P& ?% t$ w! y                        if PetTechNpc_CheckInTable(SPetListA, tPetID)~=true then
/ L9 Q7 q  O1 s& V* q& i5 u魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")
. ^0 l* o; M7 m& [妖城在线论坛                                return 0魔力私服,最新魔力宝贝私服技术交流& ?5 W/ C6 y5 F6 B: U# s/ c
                        endbbs.mocwww.com) R* N" i5 }0 I
                elseif tTechType==2 thenbbs.mocwww.com3 r  f  a: B, _2 J) {2 L/ b
                        if PetTechNpc_CheckInTable(SPetListB, tPetID)~=true then
' L0 ]2 ~2 n: ~4 t9 n魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")
' b# c- q0 `$ Y! a2 m0 s妖城在线论坛                                return 0—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート: i' C0 J0 o% F' ^7 Y0 R
                        endbbs.mocwww.com* o, h( Q8 B6 Q& |- g
                elseif tTechType==3 then魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表' o6 F5 h9 j; D! s! U" O5 q8 R
                        if tPetGetLv>1 then
6 P- K5 B! ~7 i% A7 }* W8 r& w! {0 ubbs.mocwww.com                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:非野生")—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート5 G3 {9 t# z& ~, _
                                return 0魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表6 Z- O2 u, F9 D5 ^
                        end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% V9 @3 t) W0 d, F0 N6 f; E
                elseif tTechType==4 then
: @) Z  G$ I. D0 T魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        if tPetLv<PetMaxLevel then妖城在线论坛1 L9 c9 q  l& z, I
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:满级")
5 w8 t2 p9 @4 E& R  c妖城在线论坛                                return 0魔力私服,最新魔力宝贝私服技术交流" A9 D* H! @6 h
                        end魔力私服,最新魔力宝贝私服技术交流) ^) }; p/ S# S2 @) D
                end
" {9 o5 D6 Y" Z2 `1 U* bbbs.mocwww.com                --Check NorPreTechID
/ O6 x3 g: W$ u$ `' ^妖城在线论坛                if tPreTechID==NorPreTechID and        #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax and PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then4 }6 x, S8 P6 A$ t3 K
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:请先学习【高阶技能栏】技能")
$ H( w& d3 T! L) \/ K( b, m: U8 E! e魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                                return 0妖城在线论坛; j! y% [' T' f- N: d: X  B
                end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート# T/ X0 o: e1 L4 [  @
                --Check PreTech
, D, ?) U0 K; c' d  H妖城在线论坛                if tPreTechID>0 and tPreTechID~=NorPreTechID then
8 ^) u( K- Z# @# N( N% n妖城在线论坛                        if PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then
, B  [2 P/ j5 g9 H3 \                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:前置技能")1 G# s! w" U" j7 F4 B8 k; \9 q
                                return 0% m( Z# n: d! A* R$ N% C' h
                        end魔力私服,最新魔力宝贝私服技术交流+ F/ f; h  H4 N# C9 d  Y" b6 b
                end妖城在线论坛* u1 ]% \6 R9 X9 O
                --Check Slotbbs.mocwww.com9 q( G' S( }9 W0 j4 l# Y" D
                if tPreTechID<=0 and #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax thenbbs.mocwww.com- }$ r0 x  O0 g
                        NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:技能栏已满")
8 Z- j+ Y# {8 t( K6 W妖城在线论坛                        return 0
2 [8 M+ W* G$ B/ F3 f0 lbbs.mocwww.com                end魔力私服,最新魔力宝贝私服技术交流3 r1 y. n. n7 u# a' p
                --Del PreTech妖城在线论坛" q8 `, }* r2 z* J
                if tPreTechID>0 then
8 X% h& Y2 T% A6 Q, D) n0 y/ b魔力私服,最新魔力宝贝私服技术交流                        local tPreTechPos = PetTechNpc_GetTechPos(tPetIndex, tPreTechID)
: m7 x' c4 R) ?5 A, O* V) F+ m! }bbs.mocwww.com                        Pet.DelSkill(tPetIndex, tPreTechPos)
0 l2 A" Q* q' z* _1 ]0 U魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                endbbs.mocwww.com) b! a7 {/ Y5 {
                --Add Tech
, b; ]2 H. m6 w) N& t6 p0 k8 h: c( ^魔力私服,最新魔力宝贝私服技术交流                local rt = Pet.AddSkill(tPetIndex, tTechID)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表, F" @5 a: s* {" r' V( [6 J
                if rt~=1 then
9 f) j0 D  h2 H" [) O" j) \魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        NLG.SystemMessage(_PlayerIndex, "[错误] 未知原因错误")妖城在线论坛" g+ o" _& }( v, d1 E# T9 `1 w
                        return 0妖城在线论坛# \$ Z  O: `4 g: p# `
                end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表7 W! \4 c) c4 c0 v2 _
                --Del Item魔力私服,最新魔力宝贝私服技术交流7 |- n; A1 B# Z: E
                Char.DelItem(_PlayerIndex, tItemID, 1)
: z6 X( G2 a. H, y; z2 T. |魔力私服,最新魔力宝贝私服技术交流                --Up Pet
; D% C5 D( d9 Y2 r; Obbs.mocwww.com                Pet.UpPet(_PlayerIndex, tPetIndex)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表4 K# b, D. _1 V- z, W& P! [
                NLG.SystemMessage(_PlayerIndex, "你的宠物" .. tPetName .. "学会了新技能。")
+ m+ C3 l% s8 }" w% Abbs.mocwww.com        return 1—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート# R' f! L, ^% A1 _9 @
        end
7 y: @" j9 R5 e8 [0 b妖城在线论坛end
9 f* K+ {, x2 f4 @& I1 w+ \2 \妖城在线论坛bbs.mocwww.com: t+ \; ?0 B: Y, @/ {6 Y' r
--使用道具魔力私服,最新魔力宝贝私服技术交流0 [. `, c* ~4 N0 W/ e3 p
NL.RegItemString(nil, "PetTechNpc_ItemUse", "LUA_usePetTech");
) u, L' Y* E; Z9 D- j1 e4 j2 w# U—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートfunction PetTechNpc_ItemUse(_PlayerIndex, _ToPlayerIndex, _Slot)
7 u9 q( D$ P# ?/ v; i2 Q        SelectItemSlot[_PlayerIndex] = _Slot
/ p4 X* r4 k: I* b魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表        PetTechNpc_Talked( tbl_LuaNpcIndex["PetTechNpc"], _PlayerIndex, 1)bbs.mocwww.com1 g+ Y( ?+ h3 C4 {! P1 R
        return 1魔力私服,最新魔力宝贝私服技术交流, Y. q. }- B1 u* L1 r9 p
end

TOP

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

TOP

引用:
原帖由 wangjun1127 于 2019-5-30 19:56 发表
3 M) @+ r; V! J; h" S6 E! Y/ G魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??
1 s, ?, {/ y/ {5 K- {魔力私服,最新魔力宝贝私服技术交流魔力私服,最新魔力宝贝私服技术交流! M- U7 w2 g5 T2 B

8 z7 @* v# ?) s3 l9 G: H  M/ h
! K3 G+ P! e7 Q妖城在线论坛if _Select==2 or _Seqno==99999 then魔力私服,最新魔力宝贝私服技术交流( v) q# a' `. k, g6 ?1 }6 K& V
                returnbbs.mocwww.com, C  [3 ^, {" f8 Q
        end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表- I8 k+ s  B0 ~0 ~* Y1 b

* ?7 E- f2 E) Z; _, m        if _Seqno==10 thenbbs.mocwww.com* i/ A" [% c+ g0 e/ `. s' a
                --Get Session
( u% c8 u$ U) i; g魔力私服,最新魔力宝贝私服技术交流                SelectPetSlot[_Pla ...
5 p  J% }; ?7 `. Hbbs.mocwww.com这是一个luac+lua结合的功能,你只迁移了lua部分,没有迁移luac部分(道具部分)

TOP

6.如何创立MSG指令(例:/1 /2)
5 L- v) m6 ~7 q! \; P魔力私服,最新魔力宝贝私服技术交流今天先来讲点简单的知识,顺便复习一下旧知识点中比较重要的获取(get)函数和设置(set)函数的区别,本帖停更也是由于深感自身讲的知识点先后顺序有些问题
  d: @/ M3 k, }% L9 T1 Q魔力lua包含了三大块知识点妖城在线论坛5 D2 d9 r5 J: O
1:lua编程基础知识(不需要太深入的lua技术即可)
' j( E6 f. I3 d1 f7 @5 v; B妖城在线论坛2:mysql基础知识(不需要太深入的mysql技术,但要会节省资源和防止疯狂读写)bbs.mocwww.com! b0 c7 x+ W; m+ ^$ U
3:魔力封包知识(高端lua开发必备)7 s* j( B' C: P7 u/ b# H

5 P2 \4 x0 t3 j8 T' m—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート本帖只讲述lua在魔力中是如何运行的,这三块知识点都需要你们自己去学习
9 E2 R9 i7 p# u6 T- ^( X魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
! Z* @" H0 x3 s+ H; B8 G" H: m) r8 Nbbs.mocwww.com下面我们进入今天的教学
. X. a6 ], Y! o3 q3 L2 U5 d7 V5 U妖城在线论坛lua的远程指令主要依靠NL.RegTalkEvent(Dofile, FuncName)达成
- F( D+ A0 c$ m* w! xbbs.mocwww.com该函数的作用是[创建对话事件],它可以全局框架注册bbs.mocwww.com" ?9 `9 N2 O6 a+ e9 Y
一般使用Delegate.RegDelTalkEvent("XXX")创建全局对话事件bbs.mocwww.com2 c% S. _- c$ Y9 N* T
NL.RegTalkEvent的返回函数明细:—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& G8 `3 x# t4 D3 p
TalkEventCallBack(CharIndex, Msg, Color, Range, Size)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表+ {9 G6 p9 {4 i
参数说明—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 B' x! N- ^- f5 W# G
CharIndex: 数值型 响应事件的对象index,该值由Lua引擎传递给本函数。魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表6 h$ [9 f8 R  m$ X3 x/ o; w
Msg: 文本型 话的内容,该值由Lua引擎传递给本函数。
0 O3 \2 f  k1 I( F9 O) hColor: 数值型 说话颜色,该值由Lua引擎传递给本函数。
5 B5 L, c" b' r' O% Q0 d$ t. nbbs.mocwww.comRange: 数值型 说话音量(范围),该值由Lua引擎传递给本函数。
6 {! n( R/ G" ^/ ~" {; ySize: 数值型 说话字体大小,该值由Lua引擎传递给本函数。魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% s! y% r2 [" g; T9 L; ?1 V
返回值
  V  d$ n2 a8 @9 ~" J  Sbbs.mocwww.com返回0拦截说话内容,返回1正常发送bbs.mocwww.com8 a7 _0 ^: H1 g4 X5 ?

* c3 W3 D; C; D2 [小知识复习:当形参由lua引擎传递一个可用实参时,你不需要填写形参具体值,并且可以传递给其他函数的空白形参,让其拥有实际数值,传递时候要注意传参的类型,空白形参的函数中,空白形参若只能填写数值型bbs.mocwww.com9 r* Z7 g& h8 \; x: ?
传递过来的数值就必须是数值型(这种情况可以先设置一个变量   a=tonumber(lua引擎传递的字符串型传参) 然后把变量a填入空白形参的函数形参中)魔力私服,最新魔力宝贝私服技术交流" L. f7 G& b7 A) g

& l5 l' }# k$ c9 L1 a/ b文字太过干涩,下面用实例解释今天的知识点
* E. [# i; {. w4 i3 z, [魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表该例实现了用指令整理身上的道具的功能
2 k) y2 |" V( c" T2 P魔力私服,最新魔力宝贝私服技术交流魔力私服,最新魔力宝贝私服技术交流4 O8 g, V3 J' v; Z$ `
local zhengli = "/zl"--整理指令,此处需要""把内容定义为字符串bbs.mocwww.com& C" E: V. V' c9 e
--  ***************************************************************************************************** --
. H# J+ W' v( V0 RDelegate.RegDelTalkEvent("zlTalkEvent");--全局注册对话事件函数
- A3 q+ w: J- s: j魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表" T" e& D, K; f/ }6 d7 w# R5 \5 V8 i
function zlTalkEvent(player,msg,color,range,size)--调用对话事件函数的返回函数
, J# Q* H7 S! G; [8 b) @魔力私服,最新魔力宝贝私服技术交流        if(msg==zhengli) then--检测MSG=整理指令时则执行下述函数块内容—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 n, R5 X7 |5 ?2 R: j% ]0 K- h" l1 F
                NLG.SortItem(player)--调用GA封装的整理道具函数,其中NLG.SortItem(player)的(player)值由function zlTalkEvent(player,msg,color,range,size)这个返回函数赋予* ~9 ]- J- T% m* t( ?
        end
1 G/ K% F( @! ?魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表end
$ f) w2 I% z! W) X魔力私服,最新魔力宝贝私服技术交流
+ ^! H' G6 C% @/ u  ?% \魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表上述实例中,如果单独拿NLG.SortItem(player)出来,(player)的值会是nil,是没有任何数值的,它是一个标准的设置函数,需要从获取函数中获得形参的实值(魔力lua的函数的形参分为2种,获取函数(get)和设置函数(set))魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: e6 A. F2 I5 R9 q6 c: i- v
教学用指令整理道具.7z (453 Bytes)
  O  ]2 W, n) x* z# G* u. Nbbs.mocwww.combbs.mocwww.com) c. d! ~6 M/ f2 A" `8 l* }' C/ j
[ 本帖最后由 王宫召唤士盖兹 于 2019-5-31 02:07 编辑 ]

TOP

6666666666666666

TOP

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

TOP

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

TOP

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

TOP

引用:
原帖由 staki 于 2019-8-3 03:12 发表 魔力私服,最新魔力宝贝私服技术交流: L* }  _9 i; e6 P6 `: P
建议出个GP的 GA好像在这身败名裂了
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表1 {* C; q% p. D

. h6 t. F6 ~5 v—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートGP没2键端无法操作,只是学lua基础都一样的
4 T, E0 W3 b6 @" bbbs.mocwww.com 我不更新就是涉及的具体操作太多,通用性不高,没有更新的必要bbs.mocwww.com# X( [# s) `: Y3 X" q. _- S
我本身秉持授人与鱼不如授人于渔的想法,才写了这个帖子
6 K' x0 a0 n' R; `, s5 g" ?8 b2 i妖城在线论坛能看懂本帖之前写的内容,足够了妖城在线论坛9 o- P: |. t, J  a% ]- {9 C# I. J
妖城在线论坛6 i5 g! B+ N  L: m
备注:魔力私服,最新魔力宝贝私服技术交流5 E* s# C' @# a9 @- S
既然回帖了,就再讲一下魔力lua的基础运行流程:
; F% r! f0 @# p0 k5 y妖城在线论坛1:GMSV启动时加载GMSV内置的魔力lua模块
- v& F& v$ c0 ^  E) E# U+ l2:GMSV自动加载初始lua-init.lua   该lua是由GMSV自动加载的(无需写dofile加载)
! p3 S+ u" m+ z5 H/ F1 s- k6 Fbbs.mocwww.com3:init.lua 加载运行内部代码    此时会有大量dofile,一般是加载基础框架相关的东西 有兴趣可以参考init.lua内部代码,包括框架全局注册这类关键脚本,都是此时加载的
9 Z  P* `8 u4 |- v9 z" r$ z8 I—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート4:init.lua中有一行dofile(Lua_Path.."Config.lua"),加载Cofig.luabbs.mocwww.com- v( D/ \4 s! z% M) c
5:Cofig.lua加载各种Module文件夹内的lua  (至于Cofig.lua内用于加载lua的Loadlua函数究竟是GA哪个脚本内写的,可以给大家当成一个最后的课后考题,找出他,能找到他,我相信你就会发现魔力LUA的运行逻辑是如此简单)9 t: N0 a' b1 e
提示:GP的Loadlua函数在  lua\include\Global.lua 这个文件内
1 r% N9 K2 C! r1 A* S; B  xbbs.mocwww.com提示2:GA的Loadlua函数在 lua\System某个文件夹内bbs.mocwww.com( l: K2 m. ?0 u$ }6 I9 M4 g, L
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表- ]9 N' b4 C: q3 p
[ 本帖最后由 王宫召唤士盖兹 于 2019-8-3 12:59 编辑 ]

TOP

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

TOP

我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。
* f: u' W2 I  ]7 s% K. n, p, S魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
! M# R4 r: t4 l; g, N1 R' |bbs.mocwww.com                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_PlayerIndex,%对象_账号%).."' and Name='"..Char.GetData(_PlayerIndex,%对象_原名%).."'";* M' f$ N1 x. e$ t5 i
                local ret = SQL.Run(query);
# E7 m$ V. V6 _" u2 ~0 r—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート       
+ r3 j/ Y3 }9 C: K1 R妖城在线论坛                Char.SetData(_PlayerIndex,%对象_原名%,_data);妖城在线论坛5 r: \& e! H" W1 O3 K& O- w
                NLG.UpChar(_PlayerIndex);
! j5 a# L" b" m* J% z/ b4 m魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表妖城在线论坛$ g) z5 w, F. ~1 u
如果没有最后这两行,SQL改的数据库,人物退出还是原来的名字。
  y9 i: `6 W' U—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
+ L: q+ h1 z' @' G! |3 K4 B魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表[ 本帖最后由 rolser 于 2019-8-20 20:52 编辑 ]

TOP

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

TOP

引用:
原帖由 rolser 于 2019-8-20 20:44 发表 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* `- a5 a  g& Z/ ]! O: {
我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。
; \+ Q6 N) u3 m  Y—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート妖城在线论坛0 L; `# j( {9 i( ]8 J+ Y% s. r) y1 T$ }, C
                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_Pl ...
; D% V% e" d& A7 P( f6 ]) [魔力私服,最新魔力宝贝私服技术交流—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート# e* L6 I- S% o4 O
lua修改玩家内存只是修改了GMSV内的内存,在玩家客户端内并没有显示,因此需要用UpChar函数更新玩家客户端显示
& G+ \* z0 a8 Z% a2 z—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート同理还有NPC创建时候使用的UpChar函数,这个函数如果是由全局注册init来触发的,会导致你即使重载脚本,NPC也加载不出来,必须重启服务器(重新加载init)才行魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表, @% f( s3 V1 M5 o( d
备注:创建NPC也可以用其他函数或者if,GE不要使用if,会有奇怪的错误魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表+ b  L  e$ w* @2 u3 A% o5 J/ [* {9 }! f
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート# x# J, V8 d# l( @( N, F$ \
GE的教程和GA是互通的,他们只不过是文件夹不一样,文件名不一样,函数名不一样,但运行逻辑都是一样的,只是WIN7和WIN10的区别而已,只要能看懂本帖说的GA的内容,GE和GP自然就懂了
0 Z8 z4 |! x! V—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
8 @# j6 p5 i1 D8 [# W4 t妖城在线论坛[ 本帖最后由 王宫召唤士盖兹 于 2019-8-30 11:22 编辑 ]

TOP

发新话题