发新话题
打印

[讨论] 初级魔力lua解析

多谢大神

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

TOP

请大佬继续更新

TOP

求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??
0 Q. o+ |$ ]1 i' ^0 _' `—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% o9 n9 O5 i# j8 `) H

5 I0 `- t2 F  d) Q$ @, x8 g—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート妖城在线论坛- V7 `- y8 x$ B2 e& b7 _/ g: z$ i
if _Select==2 or _Seqno==99999 then魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表9 t" v% ?. {. _" r
                returnbbs.mocwww.com' q1 j5 \2 a; G# k9 f6 \
        end妖城在线论坛3 e" d  `1 X. b5 _4 Z8 J
* P7 X+ A6 `& O5 \, \! s
        if _Seqno==10 then
% G. l! ^" B. Q& l5 n! pbbs.mocwww.com                --Get Session魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表8 |( S5 }0 `. r. n
                SelectPetSlot[_PlayerIndex] = _Data-1
+ Q# E1 G+ l, a0 e6 N; f% i妖城在线论坛                local tItemSlot = SelectItemSlot[_PlayerIndex]0 _9 X; ]3 f! ]; h- |
                local tPetSlot = SelectPetSlot[_PlayerIndex]bbs.mocwww.com  p* C- T2 u4 |6 G& h4 L  V' U- C+ c
                --Get Pet Data妖城在线论坛0 U" |! r) A/ p. a- }$ @
                local tPetIndex = Char.GetPet(_PlayerIndex, tPetSlot)妖城在线论坛$ G# F  p9 Q# x) j
                if tPetIndex<0 then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& {3 f3 l, i# a1 s# b8 f
                        return 0
0 g* Y7 \+ a5 X$ {5 a  l魔力私服,最新魔力宝贝私服技术交流                end5 Z% s9 }" |  S% |6 Q
                local tPetName = Char.GetData(tPetIndex, %对象_名字%)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表1 ^1 Q1 J0 {- O0 t3 L9 }. \5 b
                local tPetID = Char.GetData(tPetIndex, 68)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート5 x: X' r, [0 ~, b+ g/ V
                local tPetLv = Char.GetData(tPetIndex, %对象_等级%)
! {. }& ]: t  X1 t魔力私服,最新魔力宝贝私服技术交流                local tPetGetLv = Char.GetData(tPetIndex, %宠物_获取时等级%)
! J( M- l( I/ L6 _# C. b) s—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local tPetTechSlotMax = Char.GetData(tPetIndex, %宠物_技能栏%)
) O$ u' v  u% Y* Cbbs.mocwww.com                --Get Item Data
/ p( c0 U4 J/ ~* W* `2 _魔力私服,最新魔力宝贝私服技术交流                local tItemIndex = Char.GetItemIndex(_PlayerIndex, tItemSlot)妖城在线论坛2 X" \+ o% @* d- j
                if tItemIndex<0 then
  Z  X' C; h4 o  t- s- u—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        return 0bbs.mocwww.com' Q( o/ s2 B6 k, U  g9 T2 P
                end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ v" T% _$ s% O* ^7 G: F
                local tItemName = Item.GetData(tItemIndex, %道具_名字%)
( u2 r! ?1 [' Y1 p( M8 G1 f魔力私服,最新魔力宝贝私服技术交流                local tItemID = Item.GetData(tItemIndex, %道具_ID%)魔力私服,最新魔力宝贝私服技术交流: p3 A4 u% I9 T% v
                local tTechType = Item.GetData(tItemIndex, %道具_特殊类型%) or 0
* A, f* l7 p$ L$ b) s—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local tTechID = Item.GetData(tItemIndex, %道具_子参一%) or 0
3 m; B5 _% v0 @% }& I+ s                local tPreTechID = Item.GetData(tItemIndex, %道具_子参二%) or 0
$ p$ z2 M( e  T3 ^8 p妖城在线论坛                        print("\n=================调试信息====================")bbs.mocwww.com+ U+ d8 L. m/ Z" X2 e. a. o% Z, M
                        print("tItemID=" .. tItemID)
) k$ @. m% _3 n$ G" Cbbs.mocwww.com                        print("tItemName=" .. tItemName)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート. g- s; |( }2 N& `# [
                        print("tTechType=" .. tTechType)魔力私服,最新魔力宝贝私服技术交流+ H7 n" r" p+ R
                        print("tTechID=" .. tTechID)
' t2 U5 [5 i, m' |* y% N, F                        print("tPreTechID=" .. tPreTechID)魔力私服,最新魔力宝贝私服技术交流6 r8 Z9 ?4 i, e. D, A+ a3 s% T
                        print("NorPreTechID=" .. NorPreTechID)
$ i2 s2 \( i- @- T: D( j3 D                        print("TechSlot=" .. #PetTechNpc_GetTechList(tPetIndex) .. "/" .. tPetTechSlotMax)
# N! |% \, ?% y- _' K& \魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        print("InTable=" .. PetTechNpc_GetTechPos(tPetIndex, tPreTechID))bbs.mocwww.com  W' a8 i# T+ o; D4 E7 d' S. O
                --Check Type魔力私服,最新魔力宝贝私服技术交流( k: t- G. |( K( h8 D
                if tTechType==1 then
8 n4 Q! H) a  Q* i3 D妖城在线论坛                        if PetTechNpc_CheckInTable(SPetListA, tPetID)~=true then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート4 O, u: A' U2 M% q
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")
, L8 d% C) [" h" L; ]' |bbs.mocwww.com                                return 0
0 R, v) F1 e9 h& x魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート( k3 ]9 D& p$ a
                elseif tTechType==2 then妖城在线论坛5 d4 K2 }5 R4 W7 ^  Y
                        if PetTechNpc_CheckInTable(SPetListB, tPetID)~=true then妖城在线论坛" q, [5 X4 P$ i
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")
" \0 x9 i- @! S: D) D, i0 O魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                                return 0魔力私服,最新魔力宝贝私服技术交流# C: L; D) L- W' S. f
                        end妖城在线论坛( c* U( A. D, H# [1 S% |
                elseif tTechType==3 then
" E! \, q2 W& v7 q4 j妖城在线论坛                        if tPetGetLv>1 then魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. k: x, r. x7 x) V/ k2 T; l' H
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:非野生"): N( k0 V, V7 S& K7 b! {
                                return 0魔力私服,最新魔力宝贝私服技术交流0 B( Q( d& ^( T; T- r- w
                        end
* Q8 W: I: ?0 S妖城在线论坛                elseif tTechType==4 thenbbs.mocwww.com5 ?8 h4 K3 J+ |% b
                        if tPetLv<PetMaxLevel then
7 G: M4 [6 `7 k/ l, A妖城在线论坛                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:满级")
2 u' j- q8 N& T2 c+ @! T3 o魔力私服,最新魔力宝贝私服技术交流                                return 0
. w0 @( `5 p% P$ n% ~, ^- T3 \$ p魔力私服,最新魔力宝贝私服技术交流                        end
' W* r) ?, {4 \' G' m8 V魔力私服,最新魔力宝贝私服技术交流                end9 v7 Q5 [! K+ H; z7 J
                --Check NorPreTechID
7 z: Q0 q6 ~! w; z. F& X  j, t妖城在线论坛                if tPreTechID==NorPreTechID and        #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax and PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then
8 Q3 ?# ]1 g: t" N1 f# [—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:请先学习【高阶技能栏】技能")
9 I' Z! T7 o6 F# A7 _& }—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                                return 0
- z: J( f' }: l9 I7 D6 ~魔力私服,最新魔力宝贝私服技术交流                end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表+ V' T4 ^! L/ [3 I
                --Check PreTech
9 _* n3 P5 z2 {bbs.mocwww.com                if tPreTechID>0 and tPreTechID~=NorPreTechID then魔力私服,最新魔力宝贝私服技术交流. h7 e* |% {- g1 g$ ]" i
                        if PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then
0 A( w  g0 k4 e0 g' @bbs.mocwww.com                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:前置技能")bbs.mocwww.com( t5 U- F4 d+ f6 D% x% |/ @2 N! N9 V; [
                                return 0—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート; g$ }3 a1 @; K
                        endbbs.mocwww.com4 Z! N  E% ?  e) o4 `
                end
! T: b, W" r1 Lbbs.mocwww.com                --Check Slot
4 u; z, y& R8 B5 j魔力私服,最新魔力宝贝私服技术交流                if tPreTechID<=0 and #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax then
: S# J' X9 X# }% }* }$ q# R                        NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:技能栏已满")—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート) ?& Q# C7 z0 z5 y. w" D
                        return 0魔力私服,最新魔力宝贝私服技术交流1 e6 L1 L1 Q5 e- p# H
                endbbs.mocwww.com) }$ Q" C/ z7 ^
                --Del PreTech
4 ]4 n5 l9 P1 |- u$ R. A+ I: b) Z魔力私服,最新魔力宝贝私服技术交流                if tPreTechID>0 then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ K5 |+ d7 K8 R: q0 m0 L0 p/ Z
                        local tPreTechPos = PetTechNpc_GetTechPos(tPetIndex, tPreTechID)
4 P9 l6 |* o. [$ |6 F妖城在线论坛                        Pet.DelSkill(tPetIndex, tPreTechPos)魔力私服,最新魔力宝贝私服技术交流. b4 A6 c3 S! B
                end
! T. W! U% I4 h" ?$ E$ E: |—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                --Add Techbbs.mocwww.com' Q' x- n% o$ x! G
                local rt = Pet.AddSkill(tPetIndex, tTechID)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 G; [! p3 r& E+ U* M: [6 a
                if rt~=1 then
6 n" y" Z2 O8 Z1 S, |+ z5 c魔力私服,最新魔力宝贝私服技术交流                        NLG.SystemMessage(_PlayerIndex, "[错误] 未知原因错误")魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 y! z$ I) y; a; ?/ ]
                        return 0
( k/ ^/ N8 M' e  q8 w! F魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                end
( q9 K* j' C8 E/ \  lbbs.mocwww.com                --Del Item妖城在线论坛7 ]9 N" l/ t/ x" ]8 y4 q: T% q0 R' D
                Char.DelItem(_PlayerIndex, tItemID, 1)bbs.mocwww.com; I' F& p- z& ?; L
                --Up Pet2 H7 s) s3 Q9 x1 u+ R2 G* l, k! X
                Pet.UpPet(_PlayerIndex, tPetIndex)bbs.mocwww.com" m& g( ^5 y# x' E0 Y0 A! P. m+ G
                NLG.SystemMessage(_PlayerIndex, "你的宠物" .. tPetName .. "学会了新技能。")
6 A4 U9 N$ f7 l" ?—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        return 1
1 t3 n" V8 g! \8 i8 h% P) t        end妖城在线论坛2 u2 ~1 T! w3 t5 I9 ^2 H" P
end妖城在线论坛7 l8 k  J5 O3 g# w

8 e7 ~# i# U' o2 Z) W魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表--使用道具bbs.mocwww.com- G7 k5 u0 @+ w! x" a. M' ^
NL.RegItemString(nil, "PetTechNpc_ItemUse", "LUA_usePetTech");
5 g( O1 s) e& |6 R  B6 J6 Y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表function PetTechNpc_ItemUse(_PlayerIndex, _ToPlayerIndex, _Slot)
1 v# h5 k/ @) L: T" @        SelectItemSlot[_PlayerIndex] = _Slot
5 U" P3 E' K# W/ C, F1 _& r        PetTechNpc_Talked( tbl_LuaNpcIndex["PetTechNpc"], _PlayerIndex, 1)
5 M) D2 ?; o1 P; G% q* [魔力私服,最新魔力宝贝私服技术交流        return 1
- |& ?& B8 K& \- e4 @1 C% ?—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートend

TOP

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

TOP

引用:
原帖由 wangjun1127 于 2019-5-30 19:56 发表 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表4 ]' S) G1 B& @
求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??6 u) n0 M8 d! P5 h
魔力私服,最新魔力宝贝私服技术交流; [6 J5 P! X0 b+ \4 C' Y/ W) H# \  F

' d( y! `3 p: m9 @1 c5 V—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
# A6 ^3 I- C5 y4 }3 ibbs.mocwww.comif _Select==2 or _Seqno==99999 thenbbs.mocwww.com4 @: \# G' e4 E" u! R8 n8 P
                return
  M) P) m6 b8 M1 h* @) Q0 v2 ^        end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表1 K4 ?4 w6 d& U" c) |0 ~* t

* ^! s8 z+ z  Y* [—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        if _Seqno==10 then
' [' L- i8 ]3 m+ m8 ?—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                --Get Session魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% L2 q" l8 l$ K2 @! c5 ]0 }
                SelectPetSlot[_Pla ...
$ Z8 n: |* ?4 h7 y' B5 J2 i( v0 N魔力私服,最新魔力宝贝私服技术交流这是一个luac+lua结合的功能,你只迁移了lua部分,没有迁移luac部分(道具部分)

TOP

6.如何创立MSG指令(例:/1 /2)
" g. i1 i7 U* N% q! fbbs.mocwww.com今天先来讲点简单的知识,顺便复习一下旧知识点中比较重要的获取(get)函数和设置(set)函数的区别,本帖停更也是由于深感自身讲的知识点先后顺序有些问题
8 p& u2 w3 J4 M$ e# M: ~魔力私服,最新魔力宝贝私服技术交流魔力lua包含了三大块知识点
% m$ C, q2 [& q- w魔力私服,最新魔力宝贝私服技术交流1:lua编程基础知识(不需要太深入的lua技术即可)
2 q) C: G5 K/ e+ \魔力私服,最新魔力宝贝私服技术交流2:mysql基础知识(不需要太深入的mysql技术,但要会节省资源和防止疯狂读写)
1 x" y) X4 h4 D$ o1 o& @  r魔力私服,最新魔力宝贝私服技术交流3:魔力封包知识(高端lua开发必备)4 g. I  @7 v! J4 T$ B
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" {& ]$ i$ _3 M* }8 }) {
本帖只讲述lua在魔力中是如何运行的,这三块知识点都需要你们自己去学习
$ L* t" U% g: R* v# e; k魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
6 W" t# C6 f2 ^, A: f—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート下面我们进入今天的教学魔力私服,最新魔力宝贝私服技术交流  l7 U5 B1 W1 E. l
lua的远程指令主要依靠NL.RegTalkEvent(Dofile, FuncName)达成
: [5 V# g5 D+ T该函数的作用是[创建对话事件],它可以全局框架注册魔力私服,最新魔力宝贝私服技术交流, W3 w) M) N* S" b1 `* ~
一般使用Delegate.RegDelTalkEvent("XXX")创建全局对话事件, ?) x6 J# W- @9 K0 ]) {% n- s
NL.RegTalkEvent的返回函数明细:—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート' J, d  ^: |9 J4 N* z
TalkEventCallBack(CharIndex, Msg, Color, Range, Size)
+ W+ C4 j- r+ L! j1 C- N) M, \! c—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート参数说明—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート0 y* K; l4 `3 M8 J# N3 |! l
CharIndex: 数值型 响应事件的对象index,该值由Lua引擎传递给本函数。bbs.mocwww.com6 e1 e! O1 Q( `: M5 A5 g
Msg: 文本型 话的内容,该值由Lua引擎传递给本函数。魔力私服,最新魔力宝贝私服技术交流$ B  N% Q) ~/ `5 ~9 U
Color: 数值型 说话颜色,该值由Lua引擎传递给本函数。妖城在线论坛# K, T* I, R& @! M/ \
Range: 数值型 说话音量(范围),该值由Lua引擎传递给本函数。
: S+ Y3 x- ~# x: j+ g" f* i魔力私服,最新魔力宝贝私服技术交流Size: 数值型 说话字体大小,该值由Lua引擎传递给本函数。
, s  w# D5 b) X! }bbs.mocwww.com返回值
6 ^$ t* |( O: H8 N& X, E4 o魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表返回0拦截说话内容,返回1正常发送
1 Q5 u2 Q: Z: ~& Ybbs.mocwww.com
2 }$ x5 G4 N9 ]' K- X: A0 W" z! ybbs.mocwww.com小知识复习:当形参由lua引擎传递一个可用实参时,你不需要填写形参具体值,并且可以传递给其他函数的空白形参,让其拥有实际数值,传递时候要注意传参的类型,空白形参的函数中,空白形参若只能填写数值型
! {1 w3 Y7 Z7 P2 `5 q传递过来的数值就必须是数值型(这种情况可以先设置一个变量   a=tonumber(lua引擎传递的字符串型传参) 然后把变量a填入空白形参的函数形参中)
' D: t) F3 i9 b8 M( j/ B' ^% |6 {魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表- n+ F; m( T  @( o# [' x
文字太过干涩,下面用实例解释今天的知识点
( @) D2 P8 T  @! W! j9 U魔力私服,最新魔力宝贝私服技术交流该例实现了用指令整理身上的道具的功能魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ F8 j3 y  ]9 K# n( T; j

+ M1 f! M) t- Y( t( gbbs.mocwww.comlocal zhengli = "/zl"--整理指令,此处需要""把内容定义为字符串—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 G5 z) @& m" c9 t' Y5 R
--  ***************************************************************************************************** --% T3 F, W( ?, Z) k8 F+ N5 s
Delegate.RegDelTalkEvent("zlTalkEvent");--全局注册对话事件函数
; B1 F' e% @6 F6 ?0 I& q, J, T魔力私服,最新魔力宝贝私服技术交流
' Q  ]$ G$ b( L3 r—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートfunction zlTalkEvent(player,msg,color,range,size)--调用对话事件函数的返回函数; d( P/ s5 j" @& c6 \
        if(msg==zhengli) then--检测MSG=整理指令时则执行下述函数块内容妖城在线论坛& S3 K0 S% `7 X" v( M0 j
                NLG.SortItem(player)--调用GA封装的整理道具函数,其中NLG.SortItem(player)的(player)值由function zlTalkEvent(player,msg,color,range,size)这个返回函数赋予
/ A+ O+ P3 D5 ], U' w, i. _! D" C, J—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        end魔力私服,最新魔力宝贝私服技术交流% f3 @: E) j; ~7 f  G
end
( {  j3 r0 F9 T- X
$ Y' r8 [3 `/ n( Y+ v# A0 J妖城在线论坛上述实例中,如果单独拿NLG.SortItem(player)出来,(player)的值会是nil,是没有任何数值的,它是一个标准的设置函数,需要从获取函数中获得形参的实值(魔力lua的函数的形参分为2种,获取函数(get)和设置函数(set))
2 t# v: w) ~, z( ~3 G4 y! T—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート 教学用指令整理道具.7z (453 Bytes) ( ^* l. T% g8 C4 X
bbs.mocwww.com7 u0 I# O$ F7 `4 ^$ W$ D
[ 本帖最后由 王宫召唤士盖兹 于 2019-5-31 02:07 编辑 ]

TOP

6666666666666666

TOP

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

TOP

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

TOP

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

TOP

引用:
原帖由 staki 于 2019-8-3 03:12 发表
, z5 K7 ]$ ?: p+ h妖城在线论坛建议出个GP的 GA好像在这身败名裂了
妖城在线论坛, j) p' [: P) v
6 U* T3 E1 D) B
GP没2键端无法操作,只是学lua基础都一样的—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート. }5 ]% [8 r( Z; B, [; D
我不更新就是涉及的具体操作太多,通用性不高,没有更新的必要# x. v: J* Q% f& k( o
我本身秉持授人与鱼不如授人于渔的想法,才写了这个帖子魔力私服,最新魔力宝贝私服技术交流1 I" f* U" }% q# |7 v' J
能看懂本帖之前写的内容,足够了
) o5 {) S. N( z5 B9 L- h1 ]魔力私服,最新魔力宝贝私服技术交流魔力私服,最新魔力宝贝私服技术交流8 R2 L2 y9 p2 j! l. f6 S( E4 H
备注:+ @7 w$ l& l; L9 o; }/ I/ I. s6 n( a
既然回帖了,就再讲一下魔力lua的基础运行流程:
" y; G$ H1 Y- B妖城在线论坛1:GMSV启动时加载GMSV内置的魔力lua模块
0 i  A: b# C% v6 k. g—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2:GMSV自动加载初始lua-init.lua   该lua是由GMSV自动加载的(无需写dofile加载)+ J: z3 [- h! ~
3:init.lua 加载运行内部代码    此时会有大量dofile,一般是加载基础框架相关的东西 有兴趣可以参考init.lua内部代码,包括框架全局注册这类关键脚本,都是此时加载的妖城在线论坛4 P( u6 g" m% @/ u4 T- g" T
4:init.lua中有一行dofile(Lua_Path.."Config.lua"),加载Cofig.lua
/ j3 J1 ?# M. z1 D$ D6 ~+ S  T/ S魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5:Cofig.lua加载各种Module文件夹内的lua  (至于Cofig.lua内用于加载lua的Loadlua函数究竟是GA哪个脚本内写的,可以给大家当成一个最后的课后考题,找出他,能找到他,我相信你就会发现魔力LUA的运行逻辑是如此简单)
& G% S0 \* b% r7 X) q$ K8 ?魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表提示:GP的Loadlua函数在  lua\include\Global.lua 这个文件内
+ @( `0 h1 r- T( S7 z8 n1 {bbs.mocwww.com提示2:GA的Loadlua函数在 lua\System某个文件夹内
3 u6 S9 V- T' t- Y9 l7 M魔力私服,最新魔力宝贝私服技术交流妖城在线论坛- ], d" G/ c5 f0 ?5 u( d
[ 本帖最后由 王宫召唤士盖兹 于 2019-8-3 12:59 编辑 ]

TOP

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

TOP

我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! z1 A- H2 e6 D) u

. s" B, A. q1 f. R- ]—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_PlayerIndex,%对象_账号%).."' and Name='"..Char.GetData(_PlayerIndex,%对象_原名%).."'";魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% k2 F2 U, B7 N: X  d/ a, M( v
                local ret = SQL.Run(query);魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ Z- `& x$ O9 A' A  k+ n! ~- {
        魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表$ o6 s) ?3 f$ o5 _4 J
                Char.SetData(_PlayerIndex,%对象_原名%,_data);
' V; Q9 c) x( f: }魔力私服,最新魔力宝贝私服技术交流                NLG.UpChar(_PlayerIndex);魔力私服,最新魔力宝贝私服技术交流2 \7 t$ |4 K. q2 R" k

1 Z% b: c: w. U2 C9 Y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表如果没有最后这两行,SQL改的数据库,人物退出还是原来的名字。
- D3 C4 ?) L9 n: A# ?bbs.mocwww.com
: ]% N) D9 g: y, Q$ G6 m( Q+ E, w8 E魔力私服,最新魔力宝贝私服技术交流[ 本帖最后由 rolser 于 2019-8-20 20:52 编辑 ]

TOP

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

TOP

引用:
原帖由 rolser 于 2019-8-20 20:44 发表
: p. y* n  V5 M5 \—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。魔力私服,最新魔力宝贝私服技术交流+ v7 f2 Q6 U" J9 K3 D; V0 p
魔力私服,最新魔力宝贝私服技术交流8 y+ g( w2 d: S* d/ g
                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_Pl ...
1 z9 G( T! L6 l# }! d3 v) T—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートbbs.mocwww.com" \+ L/ z+ R9 v5 B
lua修改玩家内存只是修改了GMSV内的内存,在玩家客户端内并没有显示,因此需要用UpChar函数更新玩家客户端显示bbs.mocwww.com3 h: l% K5 `. W7 V
同理还有NPC创建时候使用的UpChar函数,这个函数如果是由全局注册init来触发的,会导致你即使重载脚本,NPC也加载不出来,必须重启服务器(重新加载init)才行
0 y" b9 ]% q) a+ Z0 |' ~- ?—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート备注:创建NPC也可以用其他函数或者if,GE不要使用if,会有奇怪的错误魔力私服,最新魔力宝贝私服技术交流) Z5 n9 A8 u1 {

! S4 m( v$ H6 d9 p% b; ?' J/ t! B3 C8 _—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートGE的教程和GA是互通的,他们只不过是文件夹不一样,文件名不一样,函数名不一样,但运行逻辑都是一样的,只是WIN7和WIN10的区别而已,只要能看懂本帖说的GA的内容,GE和GP自然就懂了
& L" E5 a3 c! k$ V# \妖城在线论坛魔力私服,最新魔力宝贝私服技术交流. l6 E0 G. J. {. s0 J0 A
[ 本帖最后由 王宫召唤士盖兹 于 2019-8-30 11:22 编辑 ]

TOP

发新话题