发新话题
打印

[讨论] 初级魔力lua解析

多谢大神

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

TOP

请大佬继续更新

TOP

求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??" [. \: L# b% t2 G  P
魔力私服,最新魔力宝贝私服技术交流- i6 S1 B' {+ G' s
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート3 G) E( Y) Q6 ?# n7 \
, \$ h( f3 d! \  N! v5 `
if _Select==2 or _Seqno==99999 then
! S8 v* I8 T4 @' m! E. X/ Y% f! k魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                return妖城在线论坛  J7 R: D% L7 c  H; S- I2 ^% Q, T
        end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表3 ?( R' Y, b: }+ G* h. w1 H

8 X( ]( f) ?8 w1 R        if _Seqno==10 then
! @. b6 n# p) B  S$ L% Y$ e3 T                --Get Session妖城在线论坛3 ?; \) g$ D3 a0 |5 m2 G
                SelectPetSlot[_PlayerIndex] = _Data-1
* [6 R: r2 j1 a9 C/ Y—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local tItemSlot = SelectItemSlot[_PlayerIndex]魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ t  o! X+ q- Z1 K
                local tPetSlot = SelectPetSlot[_PlayerIndex]
7 v: m7 A" Q1 m妖城在线论坛                --Get Pet Data魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% Y+ A; W" V: P, j+ v! D
                local tPetIndex = Char.GetPet(_PlayerIndex, tPetSlot)
& n, j4 M5 I2 ~; E0 l/ qbbs.mocwww.com                if tPetIndex<0 thenbbs.mocwww.com8 j$ v. ^9 d* f: G- `
                        return 0—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート: `5 D5 Z; R: {1 d9 X8 P8 f
                end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表- x8 b6 }  g( n# ?' x
                local tPetName = Char.GetData(tPetIndex, %对象_名字%)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表3 f, k8 S% q! S) ]; a  L
                local tPetID = Char.GetData(tPetIndex, 68)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート# i. c1 I4 y* p
                local tPetLv = Char.GetData(tPetIndex, %对象_等级%)
. E! I' H6 R% j! h) a" ibbs.mocwww.com                local tPetGetLv = Char.GetData(tPetIndex, %宠物_获取时等级%)" X3 J3 a% K5 R& X/ I
                local tPetTechSlotMax = Char.GetData(tPetIndex, %宠物_技能栏%)5 ]6 P1 q$ }/ l8 A' j
                --Get Item Data魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表( y, _, x9 u3 C+ Y5 H
                local tItemIndex = Char.GetItemIndex(_PlayerIndex, tItemSlot)
( }/ f$ G7 w  N' A4 {妖城在线论坛                if tItemIndex<0 then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート0 v/ [- Z( |* J. ^0 f
                        return 0$ q: l% L, x6 a# `0 m* }! O
                end
1 W) q: {2 {! O7 ]—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local tItemName = Item.GetData(tItemIndex, %道具_名字%)
' \7 ]. O/ q/ m! Y1 @) V7 E: ?                local tItemID = Item.GetData(tItemIndex, %道具_ID%)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート# i0 g* q# c# K1 y% G) v  \
                local tTechType = Item.GetData(tItemIndex, %道具_特殊类型%) or 0
7 e$ n! ~6 ?$ U, m2 h4 C魔力私服,最新魔力宝贝私服技术交流                local tTechID = Item.GetData(tItemIndex, %道具_子参一%) or 0
  ^# {+ H" e' z  m* O( k( R' u! R—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local tPreTechID = Item.GetData(tItemIndex, %道具_子参二%) or 0
; r2 c! m; D, U魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        print("\n=================调试信息====================")2 k* y1 T0 R0 q  l2 Q  y  N8 ?
                        print("tItemID=" .. tItemID)bbs.mocwww.com+ b+ \8 f- T1 Z
                        print("tItemName=" .. tItemName)
7 S6 b- }& G0 H+ @# R9 b6 I1 G# c6 y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        print("tTechType=" .. tTechType)
7 |) k8 v6 x& _) L# i—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        print("tTechID=" .. tTechID)
) V3 R- ]% R% S! v4 J2 ]魔力私服,最新魔力宝贝私服技术交流                        print("tPreTechID=" .. tPreTechID)
1 `& w+ ^/ N  ~, b4 U. ebbs.mocwww.com                        print("NorPreTechID=" .. NorPreTechID)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表3 H& C! C" z6 l5 M$ D, ~% Y# J) A
                        print("TechSlot=" .. #PetTechNpc_GetTechList(tPetIndex) .. "/" .. tPetTechSlotMax)
& ~: l. v9 G* d) ]7 \6 [' X) o                        print("InTable=" .. PetTechNpc_GetTechPos(tPetIndex, tPreTechID))
& S, |4 {" f4 z1 a—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                --Check Type
$ E" @& N0 R( g" I0 o魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                if tTechType==1 then
( n1 e/ I6 u, L# {/ Y, I- N—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        if PetTechNpc_CheckInTable(SPetListA, tPetID)~=true then
& ~2 n2 Z# P0 ~魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")4 }9 J6 ^& F$ t9 d
                                return 0bbs.mocwww.com2 a- |) P) q' J' h' `
                        endbbs.mocwww.com- X: Y" O1 P4 o' i
                elseif tTechType==2 then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート4 [# Y. W% a6 @, |+ D& r% V
                        if PetTechNpc_CheckInTable(SPetListB, tPetID)~=true then
" w$ Z) `" X7 N3 V- V—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")1 k: i: y! B6 O1 M
                                return 0
* j! C7 A" R# |% i—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        endbbs.mocwww.com6 D# d& w+ J+ f" L( Z
                elseif tTechType==3 thenbbs.mocwww.com$ k3 b5 u, Q4 C) n; h; y8 x
                        if tPetGetLv>1 then
  W/ u5 U4 O5 f" Z. G, E, jbbs.mocwww.com                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:非野生")魔力私服,最新魔力宝贝私服技术交流# i  T  {' D9 T! ^; K
                                return 0
" ?8 z) t9 ?5 l8 E                        end魔力私服,最新魔力宝贝私服技术交流7 B) x. a' l8 |8 u, N" h
                elseif tTechType==4 then
2 C  R- d: y4 e魔力私服,最新魔力宝贝私服技术交流                        if tPetLv<PetMaxLevel then
) h5 Q3 V0 a: E9 q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:满级")魔力私服,最新魔力宝贝私服技术交流. R" a; `0 c9 p) t' Z
                                return 0
9 \! {4 C  r' X4 }% I6 V6 Y6 K                        end& J# o: y( L! A& ^, _
                end妖城在线论坛  W3 ~; q& Y+ o* P; G0 I6 ^! Z
                --Check NorPreTechIDbbs.mocwww.com9 X% d+ \8 v$ A, i/ [
                if tPreTechID==NorPreTechID and        #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax and PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート# e/ R8 {. p4 N) U
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:请先学习【高阶技能栏】技能")
: u" }) ?; [8 O0 c+ E/ Hbbs.mocwww.com                                return 0
5 g$ w0 w0 v) E+ ~* a) l                end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表( h4 u4 d; F; d- `8 p: d
                --Check PreTech—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& T7 `4 n* [) E5 i! D
                if tPreTechID>0 and tPreTechID~=NorPreTechID then
; [, J, k; h+ @" T8 A3 }魔力私服,最新魔力宝贝私服技术交流                        if PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then
- u7 _0 p) |: {. p. _, I魔力私服,最新魔力宝贝私服技术交流                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:前置技能")—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート, \& H- l8 _9 }: r2 _, P7 ]) D
                                return 0bbs.mocwww.com' a0 a( g' C) O8 V
                        end
1 E% o" o1 v7 m# V- v* D妖城在线论坛                end
3 o' j8 ?* U3 U$ n' v妖城在线论坛                --Check Slot1 i2 j" t7 w+ ]$ Y
                if tPreTechID<=0 and #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax then
8 a" X: s) D+ O1 X; \  a魔力私服,最新魔力宝贝私服技术交流                        NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:技能栏已满")
" G; x* o/ V) w8 ^: e. U3 {; v, Gbbs.mocwww.com                        return 01 A9 G6 F. e2 T
                end
  T: x( h  A) `* U1 o, }6 q% J魔力私服,最新魔力宝贝私服技术交流                --Del PreTech魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表2 h' l3 v+ g  l( }: Q" n% z
                if tPreTechID>0 thenbbs.mocwww.com* Q% e8 N$ B2 j
                        local tPreTechPos = PetTechNpc_GetTechPos(tPetIndex, tPreTechID)( k5 v% f1 U3 K8 I% j: J
                        Pet.DelSkill(tPetIndex, tPreTechPos)
0 m# z8 l" l$ v妖城在线论坛                end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表' ~! l6 }( n( ?- Q
                --Add Tech—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート; a. D  s% Z! i7 E8 V& @4 t* n
                local rt = Pet.AddSkill(tPetIndex, tTechID)
1 J& ~8 x' l( p- E7 p) R; {4 ?—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                if rt~=1 then魔力私服,最新魔力宝贝私服技术交流, u- y+ d1 A, M! R
                        NLG.SystemMessage(_PlayerIndex, "[错误] 未知原因错误")
3 I! U. Z1 N9 h7 {3 Q0 k魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        return 0魔力私服,最新魔力宝贝私服技术交流6 |3 g) T1 |& b0 ^# K
                end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. D2 I0 h' N, Z/ a8 V) X
                --Del Item; x% ]* x8 J& X: f
                Char.DelItem(_PlayerIndex, tItemID, 1)
# x1 K" b1 o( T0 Y0 lbbs.mocwww.com                --Up Pet
9 o1 p, b( e. K6 K2 @% }! a# Q妖城在线论坛                Pet.UpPet(_PlayerIndex, tPetIndex)
# q& B! g9 D+ |  l2 K                NLG.SystemMessage(_PlayerIndex, "你的宠物" .. tPetName .. "学会了新技能。")
" H" c' V8 z2 F" G5 h. S2 [; F  U—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        return 1—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート) ]/ a( o- @  d
        end
- z* Q) Q. ~5 L0 T5 o—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートend
+ g% Y" H* F: C0 k+ g2 u—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
: z% T6 P8 V. D7 x魔力私服,最新魔力宝贝私服技术交流--使用道具: y$ T6 ]/ P( j: F' q( u7 o
NL.RegItemString(nil, "PetTechNpc_ItemUse", "LUA_usePetTech");bbs.mocwww.com& O% R& e2 h3 D1 T4 B$ v
function PetTechNpc_ItemUse(_PlayerIndex, _ToPlayerIndex, _Slot)bbs.mocwww.com2 X8 b2 m& I# r  d6 @) P
        SelectItemSlot[_PlayerIndex] = _Slot
. [1 ?* d, Q9 R$ ~, ?4 x% W5 q魔力私服,最新魔力宝贝私服技术交流        PetTechNpc_Talked( tbl_LuaNpcIndex["PetTechNpc"], _PlayerIndex, 1)
  N1 n' ?: P* V' `' R2 R0 W魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表        return 1
; Y7 o" v6 L' @* w( l8 B) j魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表end

TOP

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

TOP

引用:
原帖由 wangjun1127 于 2019-5-30 19:56 发表
2 k+ M  T8 d' F魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??
, p! C8 H, {* T* H魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表' s: c) f7 S5 v0 w% s, `8 G

+ M! p, m" x1 [3 E, \bbs.mocwww.com妖城在线论坛+ s) m5 @8 o. T* G
if _Select==2 or _Seqno==99999 then魔力私服,最新魔力宝贝私服技术交流! q; V3 ^( C) e( V
                return
9 e. l: T8 g: D, b妖城在线论坛        end
$ _' v; G5 u- a/ \0 m7 Jbbs.mocwww.com
" S$ _+ w6 V; \' D( Y) b/ q        if _Seqno==10 then魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 L1 h! H% f4 E; n3 \
                --Get Session
+ u8 [0 d9 b1 R) B( J% f+ u4 z                SelectPetSlot[_Pla ...
7 q+ M8 u5 S. R: `/ V7 u' E5 z% d这是一个luac+lua结合的功能,你只迁移了lua部分,没有迁移luac部分(道具部分)

TOP

6.如何创立MSG指令(例:/1 /2)妖城在线论坛5 o' s2 i3 U% w, }! U7 V( {
今天先来讲点简单的知识,顺便复习一下旧知识点中比较重要的获取(get)函数和设置(set)函数的区别,本帖停更也是由于深感自身讲的知识点先后顺序有些问题魔力私服,最新魔力宝贝私服技术交流% C9 }; Y2 z9 a, v, I1 p4 Q
魔力lua包含了三大块知识点
5 C( G; N5 A" [+ d- N妖城在线论坛1:lua编程基础知识(不需要太深入的lua技术即可)
* x3 @) {5 X3 s8 I( jbbs.mocwww.com2:mysql基础知识(不需要太深入的mysql技术,但要会节省资源和防止疯狂读写)
1 q- K/ E% W6 n8 V5 Dbbs.mocwww.com3:魔力封包知识(高端lua开发必备)bbs.mocwww.com. y1 h+ v5 n" c0 e: F* F

" j4 W1 p; X5 [) U% d' Q# `, s% c本帖只讲述lua在魔力中是如何运行的,这三块知识点都需要你们自己去学习妖城在线论坛- p6 w! m$ I. W, t: x3 K
魔力私服,最新魔力宝贝私服技术交流/ X" ~: T# i9 @  V
下面我们进入今天的教学—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート. ?, h! O; S- Y# [# D
lua的远程指令主要依靠NL.RegTalkEvent(Dofile, FuncName)达成魔力私服,最新魔力宝贝私服技术交流% q# q" J4 J5 R# e/ l. K
该函数的作用是[创建对话事件],它可以全局框架注册
# |! u$ I8 w8 K% o9 I魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表一般使用Delegate.RegDelTalkEvent("XXX")创建全局对话事件bbs.mocwww.com3 h5 \0 s9 @0 V) L3 k
NL.RegTalkEvent的返回函数明细:
+ ~5 R& D# k+ i  [魔力私服,最新魔力宝贝私服技术交流TalkEventCallBack(CharIndex, Msg, Color, Range, Size)妖城在线论坛+ w2 P- W7 H, p+ M
参数说明妖城在线论坛' V2 {$ H; m% Z0 A6 O- U7 q# g7 h
CharIndex: 数值型 响应事件的对象index,该值由Lua引擎传递给本函数。魔力私服,最新魔力宝贝私服技术交流6 t! ~  O+ S9 T% T! d% d4 e# @9 Y7 T
Msg: 文本型 话的内容,该值由Lua引擎传递给本函数。
8 Y' p( ^4 S2 V; ~) Z  m( V—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートColor: 数值型 说话颜色,该值由Lua引擎传递给本函数。—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 q% k8 K: S0 J) G6 W
Range: 数值型 说话音量(范围),该值由Lua引擎传递给本函数。魔力私服,最新魔力宝贝私服技术交流$ S1 n8 y5 h, j  }
Size: 数值型 说话字体大小,该值由Lua引擎传递给本函数。
2 U7 }( \, Y0 `$ \5 l& mbbs.mocwww.com返回值
7 \# \2 e& z" z. b7 Gbbs.mocwww.com返回0拦截说话内容,返回1正常发送魔力私服,最新魔力宝贝私服技术交流1 C% h$ F# m7 @# o

1 f) m$ U& ^+ G7 Y5 J妖城在线论坛小知识复习:当形参由lua引擎传递一个可用实参时,你不需要填写形参具体值,并且可以传递给其他函数的空白形参,让其拥有实际数值,传递时候要注意传参的类型,空白形参的函数中,空白形参若只能填写数值型
/ H2 z6 o% @" V) }8 f. _# \传递过来的数值就必须是数值型(这种情况可以先设置一个变量   a=tonumber(lua引擎传递的字符串型传参) 然后把变量a填入空白形参的函数形参中)魔力私服,最新魔力宝贝私服技术交流' R1 e3 x  C) C$ Z

1 U; i3 V5 b7 i- A" `. V5 e妖城在线论坛文字太过干涩,下面用实例解释今天的知识点
+ y- Z8 C5 V) c% O$ U魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表该例实现了用指令整理身上的道具的功能魔力私服,最新魔力宝贝私服技术交流( g' J  G$ r( T

6 J% F, K' E0 O8 ~4 k/ k魔力私服,最新魔力宝贝私服技术交流local zhengli = "/zl"--整理指令,此处需要""把内容定义为字符串
, V! y+ }9 N. V2 W6 e3 H* ?5 _魔力私服,最新魔力宝贝私服技术交流--  ***************************************************************************************************** --
' {  \/ Q% `+ P  K! N—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートDelegate.RegDelTalkEvent("zlTalkEvent");--全局注册对话事件函数妖城在线论坛( @/ P  x, W( L: M5 O

( p0 k+ B- a7 h" ^# M, _function zlTalkEvent(player,msg,color,range,size)--调用对话事件函数的返回函数—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 g$ C2 Z; D" D* S2 N7 J
        if(msg==zhengli) then--检测MSG=整理指令时则执行下述函数块内容
2 X& _5 Q4 I2 v  ^( g4 i                NLG.SortItem(player)--调用GA封装的整理道具函数,其中NLG.SortItem(player)的(player)值由function zlTalkEvent(player,msg,color,range,size)这个返回函数赋予
" m. J$ m- R/ L6 B# R—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 e6 J* y' h1 b. t4 D4 o0 B
end
- i* p; z5 g) _8 z& Q6 _妖城在线论坛魔力私服,最新魔力宝贝私服技术交流$ g# R1 [- m% d+ M% a, R
上述实例中,如果单独拿NLG.SortItem(player)出来,(player)的值会是nil,是没有任何数值的,它是一个标准的设置函数,需要从获取函数中获得形参的实值(魔力lua的函数的形参分为2种,获取函数(get)和设置函数(set))
# J+ w' @+ h- ~—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート 教学用指令整理道具.7z (453 Bytes)
) l+ o# S& A6 v* r3 g7 I0 F% Y妖城在线论坛bbs.mocwww.com) t% _* [8 i8 D) J$ d4 A$ X6 r
[ 本帖最后由 王宫召唤士盖兹 于 2019-5-31 02:07 编辑 ]

TOP

6666666666666666

TOP

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

TOP

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

TOP

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

TOP

引用:
原帖由 staki 于 2019-8-3 03:12 发表 魔力私服,最新魔力宝贝私服技术交流& b  R5 B8 b+ }
建议出个GP的 GA好像在这身败名裂了
妖城在线论坛8 T- v8 u% h( `% M

9 Y4 O9 ^& |5 s, H# h, _魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表GP没2键端无法操作,只是学lua基础都一样的
' U! o2 k4 _" m% X妖城在线论坛 我不更新就是涉及的具体操作太多,通用性不高,没有更新的必要魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& o* v9 ^5 n% f
我本身秉持授人与鱼不如授人于渔的想法,才写了这个帖子妖城在线论坛4 K% N- }3 O( w  e5 c
能看懂本帖之前写的内容,足够了
( S- u* ?: b6 T& i8 zbbs.mocwww.com
1 y* e$ G6 n5 U3 \2 ]5 Bbbs.mocwww.com备注:—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート4 T! Q) K0 V  H6 w5 d
既然回帖了,就再讲一下魔力lua的基础运行流程:
9 l! m, E. @! G' V& f魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表1:GMSV启动时加载GMSV内置的魔力lua模块魔力私服,最新魔力宝贝私服技术交流5 _! y; J5 g3 j9 o$ Z
2:GMSV自动加载初始lua-init.lua   该lua是由GMSV自动加载的(无需写dofile加载)bbs.mocwww.com7 f0 t! q. Z5 u$ h; c0 N
3:init.lua 加载运行内部代码    此时会有大量dofile,一般是加载基础框架相关的东西 有兴趣可以参考init.lua内部代码,包括框架全局注册这类关键脚本,都是此时加载的
9 }. k& c/ A4 q/ f# ]( lbbs.mocwww.com4:init.lua中有一行dofile(Lua_Path.."Config.lua"),加载Cofig.lua
' b: R4 b6 x1 O7 o) `0 H/ ]9 h5:Cofig.lua加载各种Module文件夹内的lua  (至于Cofig.lua内用于加载lua的Loadlua函数究竟是GA哪个脚本内写的,可以给大家当成一个最后的课后考题,找出他,能找到他,我相信你就会发现魔力LUA的运行逻辑是如此简单)bbs.mocwww.com, U# \# p' x: ~) G
提示:GP的Loadlua函数在  lua\include\Global.lua 这个文件内
' y* V3 }7 J$ x4 M, C3 _% I" \—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート提示2:GA的Loadlua函数在 lua\System某个文件夹内bbs.mocwww.com  W6 E4 Y6 m* H
bbs.mocwww.com9 x  F, r% X3 E" M. {
[ 本帖最后由 王宫召唤士盖兹 于 2019-8-3 12:59 编辑 ]

TOP

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

TOP

我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。
- D9 [' \4 h  p; p$ y- v2 F魔力私服,最新魔力宝贝私服技术交流
8 e8 X4 Z( t* b% f3 M- @魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_PlayerIndex,%对象_账号%).."' and Name='"..Char.GetData(_PlayerIndex,%对象_原名%).."'";魔力私服,最新魔力宝贝私服技术交流2 O) T( W( P5 e- z& U2 A6 u
                local ret = SQL.Run(query);
% o0 Y) ~0 k0 b0 P$ y" lbbs.mocwww.com        bbs.mocwww.com; |0 A' [# S; ~% y4 l
                Char.SetData(_PlayerIndex,%对象_原名%,_data);
7 d& J- K3 P6 y) i# Q- Fbbs.mocwww.com                NLG.UpChar(_PlayerIndex);妖城在线论坛5 ^/ {7 }1 ?$ a7 x% |- _/ l

5 d$ r9 L/ ~8 J) jbbs.mocwww.com如果没有最后这两行,SQL改的数据库,人物退出还是原来的名字。魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 w% x& ]. @! t4 Z: v) W
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート  l6 l: Q' g2 {. O
[ 本帖最后由 rolser 于 2019-8-20 20:52 编辑 ]

TOP

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

TOP

引用:
原帖由 rolser 于 2019-8-20 20:44 发表
0 `- n6 K* G& D, `! H: H- ]魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。bbs.mocwww.com% P/ W  g. a* C" E

1 I5 B$ K; ?( [2 n( {—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_Pl ...
& l3 A" u  X. n- t: ~* u- p
2 F: O$ i. {: s# O* x" t* D妖城在线论坛lua修改玩家内存只是修改了GMSV内的内存,在玩家客户端内并没有显示,因此需要用UpChar函数更新玩家客户端显示魔力私服,最新魔力宝贝私服技术交流: j5 D& ?' V7 R2 f2 J. w8 k. [" ~
同理还有NPC创建时候使用的UpChar函数,这个函数如果是由全局注册init来触发的,会导致你即使重载脚本,NPC也加载不出来,必须重启服务器(重新加载init)才行魔力私服,最新魔力宝贝私服技术交流% g& b8 e9 q) u( E
备注:创建NPC也可以用其他函数或者if,GE不要使用if,会有奇怪的错误—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 f- \8 a9 A5 V& C, ^5 [4 Y9 r
妖城在线论坛' D' x& Y/ U4 E. _$ h
GE的教程和GA是互通的,他们只不过是文件夹不一样,文件名不一样,函数名不一样,但运行逻辑都是一样的,只是WIN7和WIN10的区别而已,只要能看懂本帖说的GA的内容,GE和GP自然就懂了—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 R1 f; F% t6 _& D8 Z
妖城在线论坛) V' [9 z- w9 M8 j7 y0 @
[ 本帖最后由 王宫召唤士盖兹 于 2019-8-30 11:22 编辑 ]

TOP

发新话题