发新话题
打印

[讨论] 初级魔力lua解析

多谢大神

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

TOP

请大佬继续更新

TOP

求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??
' L0 U# ?) H! M  w& \bbs.mocwww.com
4 Y# E& T7 c0 L( S6 s- \# O—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート( V" Q3 y) k$ o1 ?( y

/ @8 Q# i, h; W9 P" X—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートif _Select==2 or _Seqno==99999 then
. u5 Y9 {. T% C* z                return; J; \- {/ E2 W' T" l4 T0 z
        end
: P& q: S. z, [& K. y* U妖城在线论坛
6 a0 s( Z; i( Q7 K. `5 l( m; \# O9 ibbs.mocwww.com        if _Seqno==10 then魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 v8 {0 B2 G; j. I5 T8 B
                --Get Session, K5 ]; d% D# r- E1 E$ X0 A7 d
                SelectPetSlot[_PlayerIndex] = _Data-1
5 W! e: I* C5 I- S( M                local tItemSlot = SelectItemSlot[_PlayerIndex]魔力私服,最新魔力宝贝私服技术交流+ u1 m* t, W5 r
                local tPetSlot = SelectPetSlot[_PlayerIndex]魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表- y8 q  ~! B/ F  T  X5 [
                --Get Pet Data
: S7 ]7 E# f9 K4 m) g魔力私服,最新魔力宝贝私服技术交流                local tPetIndex = Char.GetPet(_PlayerIndex, tPetSlot)妖城在线论坛# G3 n: O5 z2 W$ D0 h, d, Z
                if tPetIndex<0 then
1 M( K6 @# S3 m—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        return 0
, `+ S8 U! d: x# H! O1 A$ J魔力私服,最新魔力宝贝私服技术交流                endbbs.mocwww.com2 j, F  i9 r) ~! v
                local tPetName = Char.GetData(tPetIndex, %对象_名字%)
3 \$ \$ ?- W+ g% N, L  L/ S                local tPetID = Char.GetData(tPetIndex, 68)$ F% r8 ~, {5 l. z
                local tPetLv = Char.GetData(tPetIndex, %对象_等级%)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 o8 o' D1 T+ b
                local tPetGetLv = Char.GetData(tPetIndex, %宠物_获取时等级%)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート0 L# [6 D& i5 R+ {6 W
                local tPetTechSlotMax = Char.GetData(tPetIndex, %宠物_技能栏%)bbs.mocwww.com/ Q# P& w& J3 P- t
                --Get Item Data
' m  J) N) z7 dbbs.mocwww.com                local tItemIndex = Char.GetItemIndex(_PlayerIndex, tItemSlot)
5 U" G# M9 {; M! Z9 h' a8 t( B                if tItemIndex<0 then2 `; K/ M  ^5 W+ c1 a, s
                        return 0
/ ]- G3 q2 Q! `6 y, `, v- g妖城在线论坛                end魔力私服,最新魔力宝贝私服技术交流9 ?4 U( z6 j4 s+ D2 q6 R% h
                local tItemName = Item.GetData(tItemIndex, %道具_名字%)
( v6 z5 a6 l3 H& a! ?& U—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local tItemID = Item.GetData(tItemIndex, %道具_ID%)
( k4 p# Y: P( A% m) a5 {- w' [                local tTechType = Item.GetData(tItemIndex, %道具_特殊类型%) or 0
8 ]# s" b' h; l) `0 S; E魔力私服,最新魔力宝贝私服技术交流                local tTechID = Item.GetData(tItemIndex, %道具_子参一%) or 0妖城在线论坛5 f3 O6 C5 Z- X! K1 d
                local tPreTechID = Item.GetData(tItemIndex, %道具_子参二%) or 0bbs.mocwww.com! c3 t5 |* k0 J; r2 k! z/ g
                        print("\n=================调试信息====================")魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& U+ u# Y) c/ \7 P! e# \4 u6 }
                        print("tItemID=" .. tItemID)妖城在线论坛  Q3 ~3 o& X( t
                        print("tItemName=" .. tItemName)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート  {# ]. M' u& x6 f8 [1 E  r
                        print("tTechType=" .. tTechType)  G4 {2 [" j6 m( M. n
                        print("tTechID=" .. tTechID)
+ \; ^$ z5 |1 ^                        print("tPreTechID=" .. tPreTechID)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# I; w' i" ]3 ^/ m. [! F1 d9 {  a
                        print("NorPreTechID=" .. NorPreTechID)
7 t. b- V: o* ^2 J" ?) qbbs.mocwww.com                        print("TechSlot=" .. #PetTechNpc_GetTechList(tPetIndex) .. "/" .. tPetTechSlotMax)bbs.mocwww.com1 u6 s: X1 v2 W8 |# u; b
                        print("InTable=" .. PetTechNpc_GetTechPos(tPetIndex, tPreTechID))
8 @" p5 k2 i! Ybbs.mocwww.com                --Check Type
2 B' f& H1 U" y8 [) F魔力私服,最新魔力宝贝私服技术交流                if tTechType==1 then
% I6 `- G' n9 \" @2 h: H—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        if PetTechNpc_CheckInTable(SPetListA, tPetID)~=true then魔力私服,最新魔力宝贝私服技术交流" \% H, r% A' p# m( U
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")
& M7 S/ b+ ^, J9 Y, T0 Xbbs.mocwww.com                                return 0
' l+ L3 W$ u2 `  o8 @) Ybbs.mocwww.com                        endbbs.mocwww.com3 Y) ^+ j8 [. Z( y& r
                elseif tTechType==2 then
/ J( G8 y0 s5 r2 J2 \4 P) f* J—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        if PetTechNpc_CheckInTable(SPetListB, tPetID)~=true then魔力私服,最新魔力宝贝私服技术交流: {# a; d+ S' Q3 H% j. j) r
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:特定宠物")bbs.mocwww.com8 ?9 R% A% o9 \9 g( c. r
                                return 0
: S3 c6 ]) G$ y                        end
* @; Q" W$ e! |2 C+ y- c妖城在线论坛                elseif tTechType==3 then妖城在线论坛, l# `% m* @9 o
                        if tPetGetLv>1 then
7 X) a9 I- [9 s$ q魔力私服,最新魔力宝贝私服技术交流                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:非野生")
' ?1 C/ c6 F- _" O, Z; ?妖城在线论坛                                return 0
% @/ x6 B: N8 q$ L, Q5 q8 P% m+ O. H—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        end魔力私服,最新魔力宝贝私服技术交流; @' W* b" Z6 p
                elseif tTechType==4 then
6 y% b7 A4 `$ e2 V& g1 ~6 `( \魔力私服,最新魔力宝贝私服技术交流                        if tPetLv<PetMaxLevel then
; y' A: N. D! q8 `- ^8 nbbs.mocwww.com                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:满级")
+ e$ m' V5 n4 v- Z  T妖城在线论坛                                return 0
% y- G6 R5 ]# z; S' y, Z魔力私服,最新魔力宝贝私服技术交流                        end魔力私服,最新魔力宝贝私服技术交流& ^# H7 e4 W( F4 q; U
                end
% O- J; l/ ~: N- g+ F) a% s8 lbbs.mocwww.com                --Check NorPreTechID妖城在线论坛, {' Q- {1 N6 ^* g
                if tPreTechID==NorPreTechID and        #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax and PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then
+ f' T# J) ?) K; W, k2 O—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:请先学习【高阶技能栏】技能")) d: a* v$ ?* E, U3 m% V5 _4 m
                                return 0
9 _2 [) [3 T! I4 F3 H魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                end
+ Y0 [; z6 ]1 x& w4 ?魔力私服,最新魔力宝贝私服技术交流                --Check PreTech
# n$ H# ^9 Q0 ?' {bbs.mocwww.com                if tPreTechID>0 and tPreTechID~=NorPreTechID then妖城在线论坛1 L- K8 U2 P- Q) ]7 c+ L' f
                        if PetTechNpc_GetTechPos(tPetIndex, tPreTechID)<0 then魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表4 o; }" q6 K% H
                                NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:前置技能")
. J$ E. S- B; L—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                                return 0
( Z3 @8 q2 |1 r: B5 x0 c# Tbbs.mocwww.com                        end魔力私服,最新魔力宝贝私服技术交流; Q0 o, a4 a1 u3 j! w  _1 D* S
                end
/ N# k' S7 w' B* M; w魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                --Check Slot
) P9 Y7 f5 H$ ]$ L! f                if tPreTechID<=0 and #PetTechNpc_GetTechList(tPetIndex)>=tPetTechSlotMax then
6 z. t; s# X' E7 o* \- H魔力私服,最新魔力宝贝私服技术交流                        NLG.SystemMessage(_PlayerIndex, "[错误] 你选择的宠物不满足以下学习条件:技能栏已满")% O" o$ V2 Z4 m
                        return 0
. D  ~) G4 U' e; F7 N                endbbs.mocwww.com1 F+ e2 h( k% q0 A
                --Del PreTech
; o; O4 c4 C  v2 `魔力私服,最新魔力宝贝私服技术交流                if tPreTechID>0 then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 H7 \# f( w% ?4 f! D- e( `
                        local tPreTechPos = PetTechNpc_GetTechPos(tPetIndex, tPreTechID)
4 a; E" i% R/ J% _1 z  J妖城在线论坛                        Pet.DelSkill(tPetIndex, tPreTechPos)
3 z* i' \2 S" O4 H# V6 ]& D                end0 {# f8 ^3 j" Q3 x8 s& ?4 O
                --Add Tech
: q5 }9 y& `; b, c                local rt = Pet.AddSkill(tPetIndex, tTechID)魔力私服,最新魔力宝贝私服技术交流# E9 G! _" _2 r0 K; s; Y3 B
                if rt~=1 then
& {: J: n: O2 |5 i5 d4 \+ y—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                        NLG.SystemMessage(_PlayerIndex, "[错误] 未知原因错误")—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート3 r" u- {6 G  G. C3 I, v
                        return 0魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表3 w" G, j7 K! e& o
                end
# Y& p9 a( P7 z* Y; U妖城在线论坛                --Del Item魔力私服,最新魔力宝贝私服技术交流0 e9 u! q- U+ c( H! f# ~' D
                Char.DelItem(_PlayerIndex, tItemID, 1)6 v& X. t9 o7 v% b* c3 ^) [8 S9 Q& L
                --Up Pet妖城在线论坛$ e3 z" f! Y0 |" ]; Y5 q% C" e+ Z, t
                Pet.UpPet(_PlayerIndex, tPetIndex)妖城在线论坛* ?+ ^0 K2 z- U  Q- b* ]2 h
                NLG.SystemMessage(_PlayerIndex, "你的宠物" .. tPetName .. "学会了新技能。")
" ?" B. A# k' b2 P* s        return 1魔力私服,最新魔力宝贝私服技术交流* V: L" d/ h. p6 s9 N
        end" X3 U: v9 ~( W5 [  g
end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表9 K, p  v9 x! z4 H

- d7 q; L1 \- |3 Y3 F* Z4 {  d—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート--使用道具( s" c! Z0 N2 ^) \. Q
NL.RegItemString(nil, "PetTechNpc_ItemUse", "LUA_usePetTech");
) p! _# a' e/ c; V' C. U# K" ?妖城在线论坛function PetTechNpc_ItemUse(_PlayerIndex, _ToPlayerIndex, _Slot)
1 \: T% |' b6 ]6 q# w魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表        SelectItemSlot[_PlayerIndex] = _Slot魔力私服,最新魔力宝贝私服技术交流$ s; n" {& m+ U( X% A6 f, Y
        PetTechNpc_Talked( tbl_LuaNpcIndex["PetTechNpc"], _PlayerIndex, 1)
6 P6 _* l/ Q/ B魔力私服,最新魔力宝贝私服技术交流        return 1魔力私服,最新魔力宝贝私服技术交流7 F3 m- n$ `$ p& l
end

TOP

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

TOP

引用:
原帖由 wangjun1127 于 2019-5-30 19:56 发表 魔力私服,最新魔力宝贝私服技术交流$ {# x4 ^# m, E& i( f& ]1 _
求助大神指点一下,GA能用的宠物技能学习卷放到CGMSV上就老提示宠物技能栏已满呢??
% R5 V  O" j8 W) X. O/ O  z! q: D
- B  u  i; x+ X& `8 Tbbs.mocwww.com妖城在线论坛( u! R" @9 `9 g3 g0 v6 q* }" K6 F, C

7 {$ ^2 |" H! S6 P. @妖城在线论坛if _Select==2 or _Seqno==99999 then
, y3 ~; q9 T+ x0 d4 |9 ^8 S2 {bbs.mocwww.com                return
( D$ Y' b8 G- d* Q) _6 V1 f        end妖城在线论坛- Z# ?$ N) w' R* s& r+ Y

$ ]1 R; A3 m& n6 z* z, d# E% a魔力私服,最新魔力宝贝私服技术交流        if _Seqno==10 then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート5 ~8 i2 M& Q; q: a3 W0 @% [) W
                --Get Session
0 u, d: y% R8 i妖城在线论坛                SelectPetSlot[_Pla ...
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表) T2 w% `+ O0 ^3 @- Z% r' B; G; F
这是一个luac+lua结合的功能,你只迁移了lua部分,没有迁移luac部分(道具部分)

TOP

6.如何创立MSG指令(例:/1 /2)妖城在线论坛2 A+ L/ O- y. b$ K6 x
今天先来讲点简单的知识,顺便复习一下旧知识点中比较重要的获取(get)函数和设置(set)函数的区别,本帖停更也是由于深感自身讲的知识点先后顺序有些问题
* }2 J1 I& q/ n  |3 v魔力私服,最新魔力宝贝私服技术交流魔力lua包含了三大块知识点魔力私服,最新魔力宝贝私服技术交流2 J# q; g  m8 k& _* X: d
1:lua编程基础知识(不需要太深入的lua技术即可)
% ^- Y2 l! N' O- Y  l8 ^) K: r& m魔力私服,最新魔力宝贝私服技术交流2:mysql基础知识(不需要太深入的mysql技术,但要会节省资源和防止疯狂读写)
8 S# d& V0 E, R& i; A/ f0 t妖城在线论坛3:魔力封包知识(高端lua开发必备)
3 Z, Y3 j4 Y$ ]  d  c7 {% G
- D# q* f! [5 t+ k. D本帖只讲述lua在魔力中是如何运行的,这三块知识点都需要你们自己去学习, M% E" ]" Z7 i2 ~! F7 M2 h. _

/ X5 o" G/ @% S! N" f1 p下面我们进入今天的教学
$ l/ D1 p3 l+ L: l2 ~3 X魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表lua的远程指令主要依靠NL.RegTalkEvent(Dofile, FuncName)达成
  z$ u9 m( ]' u' {, s魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表该函数的作用是[创建对话事件],它可以全局框架注册
( \7 h$ y  j: V9 O+ ]  V. ^0 k一般使用Delegate.RegDelTalkEvent("XXX")创建全局对话事件
( r; G, f5 m/ T0 Z$ @—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートNL.RegTalkEvent的返回函数明细:魔力私服,最新魔力宝贝私服技术交流5 v: E. ~3 d0 ~$ v, N% u
TalkEventCallBack(CharIndex, Msg, Color, Range, Size)bbs.mocwww.com  O; }, m/ y  i6 G# t4 h
参数说明
* u  b( ~2 Q) a0 Q! r魔力私服,最新魔力宝贝私服技术交流CharIndex: 数值型 响应事件的对象index,该值由Lua引擎传递给本函数。妖城在线论坛6 N3 s+ `. v3 v+ Z) a, f
Msg: 文本型 话的内容,该值由Lua引擎传递给本函数。—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 J/ u6 r  U3 x0 c- M9 [
Color: 数值型 说话颜色,该值由Lua引擎传递给本函数。
% b! L% B" _# O# ]$ t/ [2 Q5 {魔力私服,最新魔力宝贝私服技术交流Range: 数值型 说话音量(范围),该值由Lua引擎传递给本函数。
) B+ N  Z/ o, H# q& K0 Z" {1 R—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートSize: 数值型 说话字体大小,该值由Lua引擎传递给本函数。
0 `9 ~4 k) T! J5 q" `/ xbbs.mocwww.com返回值—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート) z7 [5 e6 ]/ g# e
返回0拦截说话内容,返回1正常发送—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート' J; {' C: {/ c8 ]
魔力私服,最新魔力宝贝私服技术交流0 j) P+ Q( @8 F! g
小知识复习:当形参由lua引擎传递一个可用实参时,你不需要填写形参具体值,并且可以传递给其他函数的空白形参,让其拥有实际数值,传递时候要注意传参的类型,空白形参的函数中,空白形参若只能填写数值型
" _% x  U! j  p6 c/ o传递过来的数值就必须是数值型(这种情况可以先设置一个变量   a=tonumber(lua引擎传递的字符串型传参) 然后把变量a填入空白形参的函数形参中)
- b7 e  M, V! I  z6 r6 y/ f: Ubbs.mocwww.com
( G8 a4 |8 U/ j) @- s4 M! x0 o魔力私服,最新魔力宝贝私服技术交流文字太过干涩,下面用实例解释今天的知识点
/ I* u& n! [6 {9 S6 D- @- t2 a该例实现了用指令整理身上的道具的功能
# z; Q' s- T) H0 J: X魔力私服,最新魔力宝贝私服技术交流魔力私服,最新魔力宝贝私服技术交流+ A) F" T) Z, J/ ?- I
local zhengli = "/zl"--整理指令,此处需要""把内容定义为字符串
9 t6 r* w/ Z* ^$ F& {--  ***************************************************************************************************** --
! V3 K' G+ s, m" N, h4 a) ^9 M—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートDelegate.RegDelTalkEvent("zlTalkEvent");--全局注册对话事件函数
. }0 X) m* h. ^bbs.mocwww.combbs.mocwww.com9 L- `& H% Q% r: u
function zlTalkEvent(player,msg,color,range,size)--调用对话事件函数的返回函数bbs.mocwww.com- B2 t* d) U7 m4 g' _& H# L
        if(msg==zhengli) then--检测MSG=整理指令时则执行下述函数块内容妖城在线论坛8 s- D6 r8 }  b: i+ Q
                NLG.SortItem(player)--调用GA封装的整理道具函数,其中NLG.SortItem(player)的(player)值由function zlTalkEvent(player,msg,color,range,size)这个返回函数赋予
3 R, W  c7 e) r: R5 zbbs.mocwww.com        end
! P+ Q7 W$ D8 i/ P. _妖城在线论坛end
. A; x5 W' C* S—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表6 ]4 d0 P8 I! v
上述实例中,如果单独拿NLG.SortItem(player)出来,(player)的值会是nil,是没有任何数值的,它是一个标准的设置函数,需要从获取函数中获得形参的实值(魔力lua的函数的形参分为2种,获取函数(get)和设置函数(set))! c/ q$ Y4 L# s) R) c: `
教学用指令整理道具.7z (453 Bytes)
9 @3 o" ]& c6 D5 p' o" T  k魔力私服,最新魔力宝贝私服技术交流
; c' w( U. q- K魔力私服,最新魔力宝贝私服技术交流[ 本帖最后由 王宫召唤士盖兹 于 2019-5-31 02:07 编辑 ]

TOP

6666666666666666

TOP

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

TOP

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

TOP

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

TOP

引用:
原帖由 staki 于 2019-8-3 03:12 发表
: p! X5 {% L# B- E0 H' K+ y妖城在线论坛建议出个GP的 GA好像在这身败名裂了
4 s) p5 I( b' s$ s4 V9 d魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
; l0 g" [7 k& ^, k2 P  M. R: w—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートGP没2键端无法操作,只是学lua基础都一样的
. v* d# L' t! L" o0 T: q魔力私服,最新魔力宝贝私服技术交流 我不更新就是涉及的具体操作太多,通用性不高,没有更新的必要—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% t3 u: ~) U" z% O
我本身秉持授人与鱼不如授人于渔的想法,才写了这个帖子
  _) z& A+ F  [; R6 O4 Z4 o能看懂本帖之前写的内容,足够了
% S/ M0 B- o9 g! Y0 ~1 B+ d
7 B  s4 y' _$ p! K9 x* X% @魔力私服,最新魔力宝贝私服技术交流备注:魔力私服,最新魔力宝贝私服技术交流' o1 \. i& ^) o- q, q5 M. y
既然回帖了,就再讲一下魔力lua的基础运行流程:—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート# K4 k8 j  B% G- A, B; Y" _  x
1:GMSV启动时加载GMSV内置的魔力lua模块bbs.mocwww.com$ L% i5 M+ p6 X2 |/ O
2:GMSV自动加载初始lua-init.lua   该lua是由GMSV自动加载的(无需写dofile加载)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! g+ [# U% Z1 \+ \, B
3:init.lua 加载运行内部代码    此时会有大量dofile,一般是加载基础框架相关的东西 有兴趣可以参考init.lua内部代码,包括框架全局注册这类关键脚本,都是此时加载的妖城在线论坛% Y! C4 Y$ u$ l2 }6 u% s% w
4:init.lua中有一行dofile(Lua_Path.."Config.lua"),加载Cofig.lua
% W  w$ [' K2 k" E8 z, O( Y5 _; T—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート5:Cofig.lua加载各种Module文件夹内的lua  (至于Cofig.lua内用于加载lua的Loadlua函数究竟是GA哪个脚本内写的,可以给大家当成一个最后的课后考题,找出他,能找到他,我相信你就会发现魔力LUA的运行逻辑是如此简单)6 x- G6 |+ H, n8 u
提示:GP的Loadlua函数在  lua\include\Global.lua 这个文件内
/ z, j5 i  B' Q8 l# X—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート提示2:GA的Loadlua函数在 lua\System某个文件夹内
, @& a1 \0 r7 i- ]$ j魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
* x  B; O. W5 [6 K4 t魔力私服,最新魔力宝贝私服技术交流[ 本帖最后由 王宫召唤士盖兹 于 2019-8-3 12:59 编辑 ]

TOP

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

TOP

我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。/ |5 u  {+ H3 N2 ?' M# p

8 a/ i2 h& I: k* }; Q, l—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_PlayerIndex,%对象_账号%).."' and Name='"..Char.GetData(_PlayerIndex,%对象_原名%).."'";—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート- G7 q* S' ]9 w- s' N7 K
                local ret = SQL.Run(query);
* R8 b! k, M/ i$ J3 Y/ ~魔力私服,最新魔力宝贝私服技术交流       
/ H0 R* p5 N+ n" V/ w. M魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                Char.SetData(_PlayerIndex,%对象_原名%,_data);魔力私服,最新魔力宝贝私服技术交流9 e9 D* `. T1 X: ^% `6 l* v- H. x
                NLG.UpChar(_PlayerIndex);
: j9 O( i1 L9 }0 g2 M' Q; z
4 T3 x9 k3 W+ l: ?: t6 g如果没有最后这两行,SQL改的数据库,人物退出还是原来的名字。
, w+ z  x+ {0 O1 n0 P0 c! S4 X
1 |* Y6 p; O( cbbs.mocwww.com[ 本帖最后由 rolser 于 2019-8-20 20:52 编辑 ]

TOP

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

TOP

引用:
原帖由 rolser 于 2019-8-20 20:44 发表
3 Y' n) Y% s+ O7 l+ R+ T我看了在线修改人物名字的lua ,其实SQL是改数据库的,但是真正起作用的是最后两行,直接改对象的名字。
& s. l' A, i/ H/ r# ^
: A+ m# ^. w' X5 n% c/ K4 @妖城在线论坛                local query = "Update tbl_character set `Name` = '".._data.."' Where Cdkey = '"..Char.GetData(_Pl ...
1 Y; P- T/ X# Q, k' r! k0 o8 x6 j& l  M- r—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" {  y  ?' Y4 _; G+ D) ]
lua修改玩家内存只是修改了GMSV内的内存,在玩家客户端内并没有显示,因此需要用UpChar函数更新玩家客户端显示) B& x9 R4 @' I
同理还有NPC创建时候使用的UpChar函数,这个函数如果是由全局注册init来触发的,会导致你即使重载脚本,NPC也加载不出来,必须重启服务器(重新加载init)才行—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! Q, K* {: A. p% R- ~
备注:创建NPC也可以用其他函数或者if,GE不要使用if,会有奇怪的错误魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表  @' ~, s, k9 ?% L
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% O- c/ w1 ?& w7 c& H
GE的教程和GA是互通的,他们只不过是文件夹不一样,文件名不一样,函数名不一样,但运行逻辑都是一样的,只是WIN7和WIN10的区别而已,只要能看懂本帖说的GA的内容,GE和GP自然就懂了
  d- V9 W$ a5 c! o1 A  P魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
/ q1 f( w- j) G4 m7 n( a7 A3 O1 R- M[ 本帖最后由 王宫召唤士盖兹 于 2019-8-30 11:22 编辑 ]

TOP

发新话题