发新话题
打印

[提问] 写了一个简单的制造满档的npc,但进入游戏npc不创建出来

写了一个简单的制造满档的npc,但进入游戏npc不创建出来

如下,这是我写的一个简单的制造满档宠物的npc
3 A8 A2 b6 [. t# }bbs.mocwww.com妖城在线论坛/ r; X$ r: e, h7 ~; S
目的在于把宠物栏第1栏的1级宠物改成满档
% D+ j0 G# ?" T* q& u7 _—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート具体的非1级宠物错误判定、随机档分配什么的就先暂时略去不表,还有以后再考虑添加选择改哪个宠物啥的妖城在线论坛' s# W; u6 q: F2 X, q
bbs.mocwww.com4 O/ P# X* B1 Q* J: T2 Y3 ?( x; ^
现在最大的问题在于为什么我这么做完以后,创建不出npc呢?魔力私服,最新魔力宝贝私服技术交流, |! @+ S9 m- w# M
init已经做了,最开始没有改宠物bp那一段,只有改档数的时候是能创建出来的,也能成功修改宠物的档数,但加了改bp的那一部分后,就没有npc被创建出来了,求助
+ I+ `" t/ C0 v- V+ }5 @" m魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表bbs.mocwww.com2 W& d' L+ D6 u0 n/ M* ~9 V
function PetMake_Init( _MePtr )—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 v+ B) K3 N% u
bbs.mocwww.com) U9 e) x! W3 k) C
        Char.SetData(_MePtr, %对像_形象%, 101025);    --%对像_形象%
* M  O& w/ |5 \( `$ O魔力私服,最新魔力宝贝私服技术交流        Char.SetData(_MePtr, %对像_原形%, 101025);    --%对像_原形%
: u9 N: }  Z+ I4 g8 K妖城在线论坛        Char.SetData(_MePtr, %对像_地图类型%, 0);     --%对像_地图类型%bbs.mocwww.com4 E4 b6 Z8 s$ u/ U2 ?7 n
        Char.SetData(_MePtr, %对像_地图%, 25000);      --%对像_地图%+ z* N+ h+ s' U! y+ d) l: G
        Char.SetData(_MePtr, %对像_X%, 23);          --%对像_X%bbs.mocwww.com! i. v: R0 ^2 @7 F9 Q; B
        Char.SetData(_MePtr, %对像_Y%, 15);           --%对像_Y%—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 ?9 @- S! N1 o
        Char.SetData(_MePtr, %对像_方向%, %左下%);    --%对像_方向%, %左下%
4 j# y, s/ L3 [        Char.SetData(_MePtr, %对像_原名%, "宠物满档制造者");    --%对像_原名%
4 B. D' b0 c9 r) D4 g6 k" {魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
/ }3 c8 e4 X1 e) B9 j4 [魔力私服,最新魔力宝贝私服技术交流        " y# B" }' D8 ]
        if (Char.SetTalkedEvent(nil, "PetMake_Talked", _MePtr) < 0) then+ ]( O( d) W. C% ]; t
                print("PetMake_Talked 注册事件失败。");魔力私服,最新魔力宝贝私服技术交流  ]3 c! W$ U( T0 ?) `% i( U
                return false;
) X+ E8 U6 z% |0 o& r7 N% Zbbs.mocwww.com        end
! o9 L. ^3 p, a; Y. N! T魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表        8 k( Y) Q2 J$ Q
        return true;
! o& n' n) N$ B1 ?( b5 ^5 |bbs.mocwww.comend
$ Q( |( l* ?% H! u) j—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートbbs.mocwww.com8 Q# I! {) \5 L. t
function PetMake_Talked( _MePtr, _TalkPtr)$ z4 n: P) O) R: @' R* U

1 ]+ `( n& y7 sbbs.mocwww.com        if(NLG.CheckInFront(_TalkPtr, _MePtr, 1) == false) then
  y* G, Q0 ?% ]: q% N魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                return ;
9 m: u  p6 m/ Y* m9 ?魔力私服,最新魔力宝贝私服技术交流        end   I2 f1 e& F) y( J1 m* A2 X
        bbs.mocwww.com7 m3 E% O2 a& x) m. z
        local PetIndex = Char.GetPetIndex(_TalkPtr, 0);魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 {! Q# D& a) R. ~
        if (PetIndex>0) then 魔力私服,最新魔力宝贝私服技术交流5 E' v( H  k- L9 ?9 X' t
                for t = 0,4 do魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表' S4 p$ k" o" M2 U8 c7 k9 v% y% f
                        Pet.SetArtRank(PetIndex, t, Pet.FullArtRank(PetIndex, t));妖城在线论坛  E" @* B* H/ M7 l& y
                end        魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表3 P1 C# @/ {  ]/ l
                       
9 w. I; a6 U$ D5 p& W—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local CurVital = ( Pet.FullArtRank(PetIndex, 0) + 2 ) * 0.21;
+ @2 N; `5 \% f/ }魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local CurStr = ( Pet.FullArtRank(PetIndex, 1) + 2 ) * 0.21;
* T1 _/ D" Z) q$ \2 x# L8 N魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local CurTough = ( Pet.FullArtRank(PetIndex, 2) + 2 ) * 0.21;
" Z! F1 {3 E* c: z9 A妖城在线论坛                local CurQuick = ( Pet.FullArtRank(PetIndex, 3) + 2 ) * 0.21;
* E5 y  }, g, Y! v  j' J% V妖城在线论坛                local CurMagic = ( Pet.FullArtRank(PetIndex, 4) + 2 ) * 0.21;        妖城在线论坛* D. Q; D! S8 b2 V0 j
        " W# g" P) j& }# U
                Char.SetData(PetIndex, %对象_体力%, CurVital);
, T/ \1 O( m* X; S3 e" X- }0 y7 ~魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                Char.SetData(PetIndex, %对象_力量%, CurStr);
( Q2 p5 v; t8 }4 ^* ^妖城在线论坛                Char.SetData(PetIndex, %对象_强度%, CurTough);
: A' e& U( j% Y) U魔力私服,最新魔力宝贝私服技术交流                Char.SetData(PetIndex, %对象_速度%, CurQuick);—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート  J! T$ x# w# P# H0 a
                Char.SetData(PetIndex, %对象_魔法%, CurMagic);
' w0 F  F9 r+ R' tbbs.mocwww.com
2 Q+ s5 q7 y, Q2 c4 M4 \魔力私服,最新魔力宝贝私服技术交流        else
0 S9 j0 a& h2 n# Pbbs.mocwww.com        end魔力私服,最新魔力宝贝私服技术交流9 }4 ~) M: @1 \0 o2 t; n
魔力私服,最新魔力宝贝私服技术交流  C( p) R) o1 Q$ d' B; V
        return ;) l; j4 H3 n$ b; k/ `4 V  v
end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート5 X. ?* W. _' J1 v" q; B
bbs.mocwww.com) G6 F7 Y8 m( [' [6 U: e4 n
[ 本帖最后由 法兰CD兔 于 2018-11-14 22:13 编辑 ]

TOP

托管到框架了么?upchar一下?

TOP

回复 沙发 的帖子

if (M__PetMake == nil) then妖城在线论坛, B: S3 r) \$ ?5 n+ [) P  y
                M__PetMake = NL.CreateNpc("./data/lua/test/PetMake.lua", "PetMake_Init");
9 |2 s9 h, `/ g7 q$ ]: {—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                NLG.UpChar(M__PetMake);
1 M% G4 `$ K& c& F, |/ t1 Qbbs.mocwww.com        endbbs.mocwww.com: v$ a0 D) V, V: j" ^
妖城在线论坛& I, g: v# U3 {
是这个吗?init里面的,写了的, a6 D2 Y6 v" e3 i- M1 n
而且我之前没写
  U4 S- W  I$ Z- M9 T
- ~) [0 K: J$ J; q/ ~& U% i—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local CurVital = ( Pet.FullArtRank(PetIndex, 0) + 2 ) * 0.21;
7 E( @: K  B) m( G魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local CurStr = ( Pet.FullArtRank(PetIndex, 1) + 2 ) * 0.21;—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート$ m% u  q6 T: ~
                local CurTough = ( Pet.FullArtRank(PetIndex, 2) + 2 ) * 0.21;
; e& D6 T, s/ D3 P$ }' `                local CurQuick = ( Pet.FullArtRank(PetIndex, 3) + 2 ) * 0.21;魔力私服,最新魔力宝贝私服技术交流2 W6 U6 M5 }" k6 i/ E, O/ b! f) }
                local CurMagic = ( Pet.FullArtRank(PetIndex, 4) + 2 ) * 0.21;        
3 ~/ P2 \  i/ P6 C7 ?8 u3 F魔力私服,最新魔力宝贝私服技术交流        —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート3 L4 I& v: Q1 \. Q. y, j
                Char.SetData(PetIndex, %对象_体力%, CurVital);
3 q% \  n0 F: {. |                Char.SetData(PetIndex, %对象_力量%, CurStr);
) r. O/ E$ ]& V( w8 ^7 J9 v8 e—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                Char.SetData(PetIndex, %对象_强度%, CurTough);
7 k, X8 {% W0 o! C5 z0 j魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                Char.SetData(PetIndex, %对象_速度%, CurQuick);妖城在线论坛7 F% C- C4 z. q+ b7 I1 ]( O/ E  J
                Char.SetData(PetIndex, %对象_魔法%, CurMagic);
$ O6 d2 X* W; `魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; O' S9 N, O: k3 g* Y* |
这一段的时候,npc是有的

TOP

不明真相~~NPC在过程中消失么?

TOP

回复 地板 的帖子

不是滴,就是重启服务器,这个npc就不会在地图中出现,我把最后加的代码删掉,再重启服务器,npc就又出现了,所以我猜测是
" W2 R4 E. G1 @! f+ }, \( P2 K魔力私服,最新魔力宝贝私服技术交流                Char.SetData(PetIndex, %对象_体力%, ( Pet.GetArtRank(PetIndex, 0) + 2 ) * 0.21);魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 |; w4 L7 {; L* `+ E9 `# I' W  s
                Char.SetData(PetIndex, %对象_力量%, ( Pet.GetArtRank(PetIndex, 1) + 2 ) * 0.21);魔力私服,最新魔力宝贝私服技术交流+ F+ V2 s+ r# X2 K2 n9 }
                Char.SetData(PetIndex, %对象_强度%, ( Pet.GetArtRank(PetIndex, 2) + 2 ) * 0.21);魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表  r7 U# a, u+ x) ^0 R. s' _+ G
                Char.SetData(PetIndex, %对象_速度%, ( Pet.GetArtRank(PetIndex, 3) + 2 ) * 0.21);—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 v7 D# H! Y) n* F# N2 ~
                Char.SetData(PetIndex, %对象_魔法%, ( Pet.GetArtRank(PetIndex, 4) + 2 ) * 0.21);—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート8 e( D3 V4 }3 E" T% d
这一段代码出错
% C% g& d2 e  h4 \1 Z% }bbs.mocwww.com魔力私服,最新魔力宝贝私服技术交流0 {) I3 ~+ K1 ^) f
可是想了半天也觉得没问题……
8 V0 q+ V- Z4 b9 Y: f6 N% X
( H/ u+ J3 ^' t7 O魔力私服,最新魔力宝贝私服技术交流[ 本帖最后由 法兰CD兔 于 2018-11-15 10:42 编辑 ]

TOP

纠正一下,都应该是*21,不是*0.21

TOP

自己琢磨明白了……

TOP

哪里问题啊???分享出来哈!!

TOP

回复 8楼 的帖子

还不完善,Char.SetData(PetIndex, %对象_体力%, ( Pet.GetArtRank(PetIndex, 0) + 2 ) * 21);
0 H5 d, p9 ^( ^4 Y- m! f. R魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表这里的21应该是他的初始bp,比如一般的宠物是20,小使魔是30,但我还没研究出来怎么根据宠物的指针读取它的enemy编号,然后读取数据库里的这个数据,还有包括怎么选择宠物,不是仅仅改第一栏,等我研究完了再说吧
. h3 _& q% S! [8 X4 i' f& J) `bbs.mocwww.com
1 x* p7 Q( ?5 D魔力私服,最新魔力宝贝私服技术交流而且退一万步说,这个东西真的没啥技术含量,发出来太献丑了

TOP

我有制作过自定义档次的,想几档就几档,全部自己决定,不过,我忘了放哪里了。

TOP

回复 10楼 的帖子

大佬牛X,这玩意儿自己研究挺有意思的,我再研究研究,也搞成这样的

TOP

有一个问题啊,宠物的成长值是靠PPT值确定的,而只修改一级属性,但宠物的成长还是按原档次来的,需要生成PPT值再保存才行。

TOP

发新话题