发新话题
打印

[讨论] 初级魔力lua解析

多谢大神

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

TOP

请大佬继续更新

TOP

求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??bbs.mocwww.com3 J& I3 x+ ^  t
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート) j) b/ o: J7 n
bbs.mocwww.com, w, H# f  C- Y. s8 n

1 y- R3 _7 [7 R9 }魔力私服,最新魔力宝贝私服技术交流if _Select==2 or _Seqno==99999 then魔力私服,最新魔力宝贝私服技术交流* x; x1 B6 ~8 f
                return
1 r$ n$ B! z, c—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        end
. W/ k8 w. _; {/ h/ Gbbs.mocwww.com" l) ^" M! L4 |' [7 W0 y" m* z
        if _Seqno==10 then
, ~0 y6 A& i9 R+ \0 s8 ?魔力私服,最新魔力宝贝私服技术交流                --Get Session妖城在线论坛" t4 u( Y; |$ z" [- h- w& c. m! s
                SelectPetSlot[_PlayerIndex] = _Data-1
% Z' `" O5 [/ _2 q4 k2 A6 P5 v魔力私服,最新魔力宝贝私服技术交流                local tItemSlot = SelectItemSlot[_PlayerIndex]
6 [! v: H% N. v& h4 |6 S6 O" j妖城在线论坛                local tPetSlot = SelectPetSlot[_PlayerIndex]妖城在线论坛( O- i" N5 v8 o  ~/ _, A' \
                --Get Pet Data妖城在线论坛; z- G; F% P( V
                local tPetIndex = Char.GetPet(_PlayerIndex, tPetSlot)bbs.mocwww.com; u1 ]8 R) J* H" h
                if tPetIndex<0 then魔力私服,最新魔力宝贝私服技术交流: T1 F2 m; _( a  V! G) p
                        return 0—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート, N4 D% ?2 w" i( q5 v: t" R6 l6 L- r
                endbbs.mocwww.com2 [$ o, @5 k! n  X4 K% }2 p
                local tPetName = Char.GetData(tPetIndex, %对象_名字%)
- i7 B0 g) I' g—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local tPetID = Char.GetData(tPetIndex, 68)
6 Z5 _$ ^6 i. K9 S- V' b9 B, t妖城在线论坛                local tPetLv = Char.GetData(tPetIndex, %对象_等级%)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 s- m+ w) W5 r2 w" H
                local tPetGetLv = Char.GetData(tPetIndex, %宠物_获取时等级%)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% \5 D# E8 @+ r2 N5 [, c
                local tPetTechSlotMax = Char.GetData(tPetIndex, %宠物_技能栏%)
$ `4 s! Z, z- ?' w: R1 Y. p魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                --Get Item Data
/ i( ^( s" F* @9 e—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local tItemIndex = Char.GetItemIndex(_PlayerIndex, tItemSlot): \7 N2 V8 P* [0 o$ ]
                if tItemIndex<0 then
  l/ w# d6 J( d% Y: n妖城在线论坛                        return 0
! f) _' `0 `' H; l1 w# U0 ^魔力私服,最新魔力宝贝私服技术交流                end
6 I. L* P" x' k, j* M$ ]/ J. |- @魔力私服,最新魔力宝贝私服技术交流                local tItemName = Item.GetData(tItemIndex, %道具_名字%)魔力私服,最新魔力宝贝私服技术交流  U2 v3 [5 c* f9 c$ F! P
                local tItemID = Item.GetData(tItemIndex, %道具_ID%)
+ H0 h( w# ^/ x9 u4 a& @& D魔力私服,最新魔力宝贝私服技术交流                local tTechType = Item.GetData(tItemIndex, %道具_特殊类型%) or 0魔力私服,最新魔力宝贝私服技术交流2 L+ [2 U  V; v$ A/ r% b# S5 z/ D
                local tTechID = Item.GetData(tItemIndex, %道具_子参一%) or 0
* }! P1 a3 o3 ^2 z, r+ Qbbs.mocwww.com                local tPreTechID = Item.GetData(tItemIndex, %道具_子参二%) or 0
+ E+ }0 L5 H% X, H妖城在线论坛                        print("\n=================调试信息====================")
; B7 n6 h/ h7 @# e妖城在线论坛                        print("tItemID=" .. tItemID)
8 O, Q' O; y3 O( k% I- ^) n魔力私服,最新魔力宝贝私服技术交流                        print("tItemName=" .. tItemName)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート, h- n3 ]8 ~/ h7 g
                        print("tTechType=" .. tTechType)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! \8 F* }! Z8 Z0 u: ~8 G
                        print("tTechID=" .. tTechID)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 I. ^% p% B; a! |
                        print("tPreTechID=" .. tPreTechID)
4 d  L" c! Z. p- `+ I, ^  h魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        print("NorPreTechID=" .. NorPreTechID)魔力私服,最新魔力宝贝私服技术交流/ Z9 b; E( Q4 s6 H; N
                        print("TechSlot=" .. #PetTechNpc_GetTechList(tPetIndex) .. "/" .. tPetTechSlotMax)
0 o$ o3 V2 R5 I& J" Z魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        print("InTable=" .. PetTechNpc_GetTechPos(tPetIndex, tPreTechID))
1 b1 {$ i& v) C- E% f妖城在线论坛                --Check Type妖城在线论坛5 m. ~" i, ?9 k( T) }
                if tTechType==1 then
- I) }- s& E& ~* {妖城在线论坛                        if PetTechNpc_CheckInTable(SPetListA, tPetID)~=true then5 @, \( k. v9 |4 N8 O* f* T  E
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")
. l- |* |) B8 w( T# {bbs.mocwww.com                                return 0
) U) }1 T& G  J魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        end魔力私服,最新魔力宝贝私服技术交流8 _( M. K$ B. t7 k% B
                elseif tTechType==2 then魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: a0 w# g* P9 l) ~8 r0 s& r, d* B
                        if PetTechNpc_CheckInTable(SPetListB, tPetID)~=true then
5 f- l; s5 c/ \! J4 U; Abbs.mocwww.com                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")
/ A2 p" [9 o4 W* Z7 |                                return 0bbs.mocwww.com8 g. M0 r* L# V6 A5 T- K  S
                        end
1 @1 |$ _& e) D# K( h魔力私服,最新魔力宝贝私服技术交流                elseif tTechType==3 then
6 G6 @& P2 ~1 M5 ?+ G                        if tPetGetLv>1 then4 [5 x" h5 m+ o/ d  h5 L2 `
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:非野生")
! `2 n4 e8 ~( E( }/ k—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                                return 0
, i: h/ y9 [" n8 x( J—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        end
3 B" P# i$ {: t0 @0 K' a" F' N1 X魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                elseif tTechType==4 then魔力私服,最新魔力宝贝私服技术交流' w' N( z- ?$ t* s. G0 a
                        if tPetLv<PetMaxLevel then魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ M! F+ ~$ M% u* z) W, k  f) T6 ~
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:满级")bbs.mocwww.com2 H" \, u8 ~# R* w$ W8 k
                                return 0
/ ~2 n# g% K. t+ R+ h2 A$ f" Y3 hbbs.mocwww.com                        end
% d4 s( A5 B; s( b3 x& M; B: h: V4 J                end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表! S% J. V6 l$ c! [
                --Check NorPreTechID
- Q7 W% I4 Y! f* a妖城在线论坛                if tPreTechID==NorPreTechID and        #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax and PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then
( W& ?. B/ q0 S, e' G* a                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:请先学习【高阶技能栏】技能")
1 K: d7 d. B: j" u8 Jbbs.mocwww.com                                return 0妖城在线论坛: i. f; Z- O9 w  W
                end
8 Y9 b2 @  F' y6 `9 F6 V妖城在线论坛                --Check PreTech
0 N# ^+ s9 ~1 @0 U: A0 E魔力私服,最新魔力宝贝私服技术交流                if tPreTechID>0 and tPreTechID~=NorPreTechID then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ [$ s1 ~7 E; v0 c  R' j0 z
                        if PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then妖城在线论坛. v* C0 u5 z9 x  q, {) \: ?; h
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:前置技能")
; ~9 U7 l1 [6 V# f4 o8 }bbs.mocwww.com                                return 07 f8 M- k- W* f7 {0 ^
                        end) [( ]4 h* v8 q8 k% y
                end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート  h% @) X, ^% Y4 i
                --Check Slot
/ H' f1 b! O% i* S8 Rbbs.mocwww.com                if tPreTechID<=0 and #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax then魔力私服,最新魔力宝贝私服技术交流3 |  [. D# b/ l3 A
                        NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:技能栏已满")9 _# {5 k/ `: B- _
                        return 0  Y, U9 @1 L$ L, R
                end
! b. P* k- V4 d, \bbs.mocwww.com                --Del PreTech% x/ k/ m6 N8 s- M2 U
                if tPreTechID>0 then
  Y! T" E0 H; P, x) q& Kbbs.mocwww.com                        local tPreTechPos = PetTechNpc_GetTechPos(tPetIndex, tPreTechID)
4 g# X& G" C) l1 `4 }% Y" k1 Z—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        Pet.DelSkill(tPetIndex, tPreTechPos)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& b) c7 s8 W: ]8 A# m8 o8 ^7 X! |) }
                end妖城在线论坛- I8 G& P# e, Y
                --Add Tech
( d! {4 D7 {4 Y$ o7 ?; x  b( M2 R妖城在线论坛                local rt = Pet.AddSkill(tPetIndex, tTechID)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート' p  m3 K. l) y  c. x
                if rt~=1 then, x6 @# ^  v: e/ O5 [, w
                        NLG.SystemMessage(_PlayerIndex, "[错误] 未知原因错误")
# d8 @7 ?- R" c# q4 {* v/ Y魔力私服,最新魔力宝贝私服技术交流                        return 0
  L* H: w3 P3 ~魔力私服,最新魔力宝贝私服技术交流                endbbs.mocwww.com4 z& E3 c. R; T  X5 a" S5 j- `4 l  I4 J; j
                --Del Item妖城在线论坛- e# q% Q9 {4 x* N3 g8 Y9 w
                Char.DelItem(_PlayerIndex, tItemID, 1)bbs.mocwww.com9 v7 t  ~+ q6 |- H- P0 z2 Z& J. H3 O
                --Up Pet魔力私服,最新魔力宝贝私服技术交流# W# P+ U3 N0 r3 x3 q7 X* U6 Q- H
                Pet.UpPet(_PlayerIndex, tPetIndex)
4 y- }! B7 G' T+ j: b0 e魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                NLG.SystemMessage(_PlayerIndex, "你的宠物" .. tPetName .. "学会了新技能。")魔力私服,最新魔力宝贝私服技术交流, O8 i* f3 T, A- H+ r9 O7 Z( i
        return 1
9 ?' i! B' v1 m; U妖城在线论坛        end
" T' |$ U* X7 g! j% X. F. g9 Y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表end魔力私服,最新魔力宝贝私服技术交流2 w2 i! T( b' {! }" l/ m

# T0 H( G" Q7 }- j! N魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表--使用道具—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 J, F$ X; e: Q8 z. e/ O
NL.RegItemString(nil, "PetTechNpc_ItemUse", "LUA_usePetTech");bbs.mocwww.com% j. J0 v* w- Y6 G
function PetTechNpc_ItemUse(_PlayerIndex, _ToPlayerIndex, _Slot)
) t& @3 b0 l1 |; V1 F( b魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表        SelectItemSlot[_PlayerIndex] = _Slot魔力私服,最新魔力宝贝私服技术交流  u* G4 E/ \& P' w, B6 c
        PetTechNpc_Talked( tbl_LuaNpcIndex["PetTechNpc"], _PlayerIndex, 1)
  v# X5 g+ G/ l9 [8 _妖城在线论坛        return 1bbs.mocwww.com, a( b) O4 Q" T2 \9 _
end

TOP

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

TOP

引用:
原帖由 wangjun1127 于 2019-5-30 19:56 发表
" u; m! w3 h. `# ]1 B妖城在线论坛求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??
  E# [+ Q: ]9 A. j: A妖城在线论坛妖城在线论坛) s/ C; J& A+ v0 F2 ~
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表4 d3 m  \! x; L0 S! w
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート. S9 N- N) |/ L% V
if _Select==2 or _Seqno==99999 then
6 g0 ~4 y' G3 q2 Y* ]妖城在线论坛                return—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2 s& R( g+ Q  e" b9 z$ G( D
        end
+ ]: q, x4 r- l4 e& Z7 \! s魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表3 L& B; V3 @+ U" G8 L0 s
        if _Seqno==10 then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% f# c- R! \. V$ H
                --Get Session
% r" K0 }3 k+ b9 d4 }' s* |                SelectPetSlot[_Pla ...
- \) [6 j( Q( `0 C; ]' Y妖城在线论坛这是一个luac+lua结合的功能,你只迁移了lua部分,没有迁移luac部分(道具部分)

TOP

6.如何创立MSG指令(例:/1 /2)
9 e( a% N" E% w- C  D0 @魔力私服,最新魔力宝贝私服技术交流今天先来讲点简单的知识,顺便复习一下旧知识点中比较重要的获取(get)函数和设置(set)函数的区别,本帖停更也是由于深感自身讲的知识点先后顺序有些问题bbs.mocwww.com0 M+ H& r( y& F) c* e' o) J. y8 Y1 l
魔力lua包含了三大块知识点
( F/ N/ [% U2 s—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1:lua编程基础知识(不需要太深入的lua技术即可)
2 X0 s' E4 _* h0 w: U0 V—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2:mysql基础知识(不需要太深入的mysql技术,但要会节省资源和防止疯狂读写)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ Y8 K! d7 a/ @& n
3:魔力封包知识(高端lua开发必备)
. ]. f8 e! ^8 I3 Z$ T魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表2 N1 H- n% R) ^* S
本帖只讲述lua在魔力中是如何运行的,这三块知识点都需要你们自己去学习
* w1 g5 \, S. h" V8 T" t—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート* {! |; u5 C& T- y& _
下面我们进入今天的教学魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: M* J6 {: J5 [
lua的远程指令主要依靠NL.RegTalkEvent(Dofile, FuncName)达成—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2 A' ?+ _* h6 W6 y3 w! m
该函数的作用是[创建对话事件],它可以全局框架注册bbs.mocwww.com* t7 [& Q$ M. {* J
一般使用Delegate.RegDelTalkEvent("XXX")创建全局对话事件魔力私服,最新魔力宝贝私服技术交流. g* L: X; k) Z7 o6 h+ t
NL.RegTalkEvent的返回函数明细:
2 b% z& g0 [9 y6 f* o魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表TalkEventCallBack(CharIndex, Msg, Color, Range, Size)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート- N7 L+ k  B2 h9 d+ U
参数说明
3 D* i1 h3 _* Q- CCharIndex: 数值型 响应事件的对象index,该值由Lua引擎传递给本函数。bbs.mocwww.com; `1 V9 _) h5 w  v
Msg: 文本型 话的内容,该值由Lua引擎传递给本函数。
% F$ D1 E7 E4 O. Ibbs.mocwww.comColor: 数值型 说话颜色,该值由Lua引擎传递给本函数。% Z) `# y6 V; W
Range: 数值型 说话音量(范围),该值由Lua引擎传递给本函数。
( h& }" J/ G( v7 Z! \$ {魔力私服,最新魔力宝贝私服技术交流Size: 数值型 说话字体大小,该值由Lua引擎传递给本函数。
( e. H# v, @6 {& S: kbbs.mocwww.com返回值
7 Y# \  o  z- Y" g魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表返回0拦截说话内容,返回1正常发送妖城在线论坛' `4 p1 f0 l/ j3 Q% ~+ M
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* W- K7 m' J1 K: o. Y
小知识复习:当形参由lua引擎传递一个可用实参时,你不需要填写形参具体值,并且可以传递给其他函数的空白形参,让其拥有实际数值,传递时候要注意传参的类型,空白形参的函数中,空白形参若只能填写数值型—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート  R( h4 _$ G$ E9 n
传递过来的数值就必须是数值型(这种情况可以先设置一个变量   a=tonumber(lua引擎传递的字符串型传参) 然后把变量a填入空白形参的函数形参中)# \* e; c& ^+ W& I
魔力私服,最新魔力宝贝私服技术交流3 X) E5 h6 e! b
文字太过干涩,下面用实例解释今天的知识点
4 q' t: X4 Y8 W" s4 s/ I该例实现了用指令整理身上的道具的功能
# |( a5 R7 D& P) E妖城在线论坛魔力私服,最新魔力宝贝私服技术交流5 m  E: s% x9 L* ~1 [4 a* T
local zhengli = "/zl"--整理指令,此处需要""把内容定义为字符串
2 ?2 v- B7 y7 u! F魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表--  ***************************************************************************************************** --bbs.mocwww.com- d- t9 [7 C1 L: S/ L6 _
Delegate.RegDelTalkEvent("zlTalkEvent");--全局注册对话事件函数魔力私服,最新魔力宝贝私服技术交流+ \5 z2 W% w4 t( \7 h! h1 m$ N
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2 _) H: \6 |+ R; d
function zlTalkEvent(player,msg,color,range,size)--调用对话事件函数的返回函数
) i" {7 H, o) W: T% y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表        if(msg==zhengli) then--检测MSG=整理指令时则执行下述函数块内容—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート0 f  M7 H# s  {$ H$ }5 p$ v5 ^+ a
                NLG.SortItem(player)--调用GA封装的整理道具函数,其中NLG.SortItem(player)的(player)值由function zlTalkEvent(player,msg,color,range,size)这个返回函数赋予—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート4 J, c+ O, f7 w* z) V
        endbbs.mocwww.com2 x  W; r( M" F  H3 K" ~
end
) C# s: P: i7 y, g) p% U4 v9 rbbs.mocwww.com
: ~/ U( d. X! {5 A. ]妖城在线论坛上述实例中,如果单独拿NLG.SortItem(player)出来,(player)的值会是nil,是没有任何数值的,它是一个标准的设置函数,需要从获取函数中获得形参的实值(魔力lua的函数的形参分为2种,获取函数(get)和设置函数(set))魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& J6 x5 ^/ v- z; D) d
教学用指令整理道具.7z (453 Bytes) bbs.mocwww.com' {" @1 ?  `4 `* u
妖城在线论坛+ |  s2 ]6 I& t$ q
[ 本帖最后由 王宫召唤士盖兹 于 2019-5-31 02:07 编辑 ]

TOP

6666666666666666

TOP

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

TOP

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

TOP

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

TOP

引用:
原帖由 staki 于 2019-8-3 03:12 发表
9 y* M: U4 p3 |: c( c& Kbbs.mocwww.com建议出个GP的 GA好像在这身败名裂了
bbs.mocwww.com1 Z" o! C# q8 R  A

/ t  E% u: D2 d3 D+ GGP没2键端无法操作,只是学lua基础都一样的魔力私服,最新魔力宝贝私服技术交流; P2 x. ]# Q3 _4 ?+ V5 I
我不更新就是涉及的具体操作太多,通用性不高,没有更新的必要
9 W0 }0 z* P; V$ ~$ Q# l  A2 rbbs.mocwww.com我本身秉持授人与鱼不如授人于渔的想法,才写了这个帖子bbs.mocwww.com, i1 F0 {: T! H1 t
能看懂本帖之前写的内容,足够了
6 w1 Q. b3 {3 z) N, `4 b0 _魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表6 R+ }6 @; r4 ?: L' b
备注:妖城在线论坛% z' |/ n+ P2 P6 d7 }+ d* P
既然回帖了,就再讲一下魔力lua的基础运行流程:
4 z6 A. ]4 Y& j: v$ A1 f! [魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表1:GMSV启动时加载GMSV内置的魔力lua模块妖城在线论坛& A: i- s# R  r! a4 O' M
2:GMSV自动加载初始lua-init.lua   该lua是由GMSV自动加载的(无需写dofile加载)
: i3 a# P7 r0 D/ l( _( P  M6 @妖城在线论坛3:init.lua 加载运行内部代码    此时会有大量dofile,一般是加载基础框架相关的东西 有兴趣可以参考init.lua内部代码,包括框架全局注册这类关键脚本,都是此时加载的妖城在线论坛6 g2 i* N  J6 O: c/ J
4:init.lua中有一行dofile(Lua_Path.."Config.lua"),加载Cofig.lua魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表2 p- H% y" J9 l( B7 ^% p0 X0 b
5:Cofig.lua加载各种Module文件夹内的lua  (至于Cofig.lua内用于加载lua的Loadlua函数究竟是GA哪个脚本内写的,可以给大家当成一个最后的课后考题,找出他,能找到他,我相信你就会发现魔力LUA的运行逻辑是如此简单)bbs.mocwww.com" ^7 i1 Y5 ]5 a2 `  j' w& `+ R
提示:GP的Loadlua函数在  lua\include\Global.lua 这个文件内
4 {) @, X7 E9 l* t妖城在线论坛提示2:GA的Loadlua函数在 lua\System某个文件夹内
8 w  A8 J! x- j6 A# A妖城在线论坛
7 |  G' G6 O/ w- Y魔力私服,最新魔力宝贝私服技术交流[ 本帖最后由 王宫召唤士盖兹 于 2019-8-3 12:59 编辑 ]

TOP

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

TOP

我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表8 x# B6 q; {: V1 e
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ a5 F: i% d2 m6 Q7 w1 g* H
                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_PlayerIndex,%对象_账号%).."' and Name='"..Char.GetData(_PlayerIndex,%对象_原名%).."'";魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& d+ a6 T2 y. h6 R5 Q  D& q
                local ret = SQL.Run(query);
' Y/ @& W. h1 O  N4 o5 y! K' b; B妖城在线论坛        魔力私服,最新魔力宝贝私服技术交流: ]  o0 z. x5 a+ f% w9 m2 d
                Char.SetData(_PlayerIndex,%对象_原名%,_data);3 A# }2 ?8 f: n0 }: G6 `! }1 W0 |
                NLG.UpChar(_PlayerIndex);魔力私服,最新魔力宝贝私服技术交流  `! S6 i2 u3 A/ }* l1 Q  }1 W- \
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% A; V. T/ |# l% G+ N# \: t& Y
如果没有最后这两行,SQL改的数据库,人物退出还是原来的名字。
9 }% D, a4 H4 c8 Q5 @$ }/ \
* e; n% O- Y4 ?) g5 ?4 i. j+ E; n魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表[ 本帖最后由 rolser 于 2019-8-20 20:52 编辑 ]

TOP

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

TOP

引用:
原帖由 rolser 于 2019-8-20 20:44 发表 妖城在线论坛! q9 r4 o. A2 I: n
我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。bbs.mocwww.com, D9 e* N& f, V6 p: ~8 p. ?/ z

9 {7 s  w* Y4 n8 g' a妖城在线论坛                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_Pl ...
bbs.mocwww.com6 ]+ y' d! l3 N) p/ N
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% m+ g* p7 k/ L6 ]
lua修改玩家内存只是修改了GMSV内的内存,在玩家客户端内并没有显示,因此需要用UpChar函数更新玩家客户端显示
. r$ I" Y! Q! {—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート同理还有NPC创建时候使用的UpChar函数,这个函数如果是由全局注册init来触发的,会导致你即使重载脚本,NPC也加载不出来,必须重启服务器(重新加载init)才行魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表1 G4 Q& p! v$ `* w  G0 F( H) n* @
备注:创建NPC也可以用其他函数或者if,GE不要使用if,会有奇怪的错误
, J* t1 {5 U" Q) Z% [$ O8 fbbs.mocwww.combbs.mocwww.com8 @8 w9 e( j2 s
GE的教程和GA是互通的,他们只不过是文件夹不一样,文件名不一样,函数名不一样,但运行逻辑都是一样的,只是WIN7和WIN10的区别而已,只要能看懂本帖说的GA的内容,GE和GP自然就懂了
0 \" |: F% l: _3 [$ v—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
6 U; v. a7 ~: M0 ~% J魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表[ 本帖最后由 王宫召唤士盖兹 于 2019-8-30 11:22 编辑 ]

TOP

发新话题