发新话题
打印

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

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

如下,这是我写的一个简单的制造满档宠物的npc
7 N: u6 l2 i: s# @bbs.mocwww.com妖城在线论坛+ _# B, c- b% O: X
目的在于把宠物栏第1栏的1级宠物改成满档妖城在线论坛: G. ]7 o) \( w! J7 L
具体的非1级宠物错误判定、随机档分配什么的就先暂时略去不表,还有以后再考虑添加选择改哪个宠物啥的
. E6 _& A8 b9 m2 K魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
4 ?  F/ @% [! K/ e0 B' ]5 v6 \- g魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表现在最大的问题在于为什么我这么做完以后,创建不出npc呢?bbs.mocwww.com& C8 |( C3 v3 T
init已经做了,最开始没有改宠物bp那一段,只有改档数的时候是能创建出来的,也能成功修改宠物的档数,但加了改bp的那一部分后,就没有npc被创建出来了,求助
/ K: b  c& v/ `* |3 m# l2 ]" C. \* n妖城在线论坛- L* ?0 ^3 @' N" C" R/ T8 j
function PetMake_Init( _MePtr )
! k" R# m8 w/ b5 [魔力私服,最新魔力宝贝私服技术交流
9 U8 c9 O2 `- G% v. L        Char.SetData(_MePtr, %对像_形象%, 101025);    --%对像_形象%bbs.mocwww.com! e0 D! s' Q* {5 N0 O: d: C4 G
        Char.SetData(_MePtr, %对像_原形%, 101025);    --%对像_原形%- v5 |# \' A8 O- m1 l- R0 U& j
        Char.SetData(_MePtr, %对像_地图类型%, 0);     --%对像_地图类型%
4 I! j5 e% H$ i$ t  k- S7 H: Y9 y- O        Char.SetData(_MePtr, %对像_地图%, 25000);      --%对像_地图%
5 L8 \% z4 f; X3 d9 e# p  a% ]        Char.SetData(_MePtr, %对像_X%, 23);          --%对像_X%bbs.mocwww.com1 f" o  Q. M" p3 e  r2 E( e% T& b5 @
        Char.SetData(_MePtr, %对像_Y%, 15);           --%对像_Y%—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 B- }4 f. v, J' Q* F
        Char.SetData(_MePtr, %对像_方向%, %左下%);    --%对像_方向%, %左下%—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート# m( A1 G1 N6 b( @$ b. z8 E4 `
        Char.SetData(_MePtr, %对像_原名%, "宠物满档制造者");    --%对像_原名%魔力私服,最新魔力宝贝私服技术交流+ a1 f/ C% h. f2 V

2 W5 l& d) F5 U, l魔力私服,最新魔力宝贝私服技术交流        ) K4 V! i* m7 y
        if (Char.SetTalkedEvent(nil, "PetMake_Talked", _MePtr) < 0) then魔力私服,最新魔力宝贝私服技术交流4 [: E) P5 E! B
                print("PetMake_Talked 注册事件失败。");
$ V" F8 j- S6 ^4 {; }; y—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                return false;
% D1 {7 u8 `+ |1 h4 L; k9 T$ r8 cbbs.mocwww.com        end
8 ?3 f6 N& U: f魔力私服,最新魔力宝贝私服技术交流        妖城在线论坛0 d; `+ V4 n2 R
        return true;
( J2 x/ ^9 v3 ~- A5 n  O魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表end
0 F/ y1 ^. x0 k% o& x6 K5 J妖城在线论坛—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 |1 ?/ a& x& Q* m! L5 T
function PetMake_Talked( _MePtr, _TalkPtr)
" @; [! `8 n3 e# o$ P—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" c" |9 s* P  Z, @, S" Y% H0 T
        if(NLG.CheckInFront(_TalkPtr, _MePtr, 1) == false) then
" K9 e5 S9 e! s3 {% b' b1 C4 c6 ~妖城在线论坛                return ;bbs.mocwww.com9 D/ h- f% I1 S9 J
        end
, |; V. |4 Z/ b- E       
+ C" m. {( _: z! p, \4 s—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        local PetIndex = Char.GetPetIndex(_TalkPtr, 0);魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ m# x; U2 s% P- k
        if (PetIndex>0) then
2 m/ l2 I& x# t/ L& \* L* B/ p魔力私服,最新魔力宝贝私服技术交流                for t = 0,4 do魔力私服,最新魔力宝贝私服技术交流/ E; `; N6 E8 H. X5 C% l( r
                        Pet.SetArtRank(PetIndex, t, Pet.FullArtRank(PetIndex, t));
0 e& D% p" }9 D" K& D  t—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                end        bbs.mocwww.com) q) L- N3 s! p
                       
1 Z4 N! k: A5 H; n5 _魔力私服,最新魔力宝贝私服技术交流                local CurVital = ( Pet.FullArtRank(PetIndex, 0) + 2 ) * 0.21;—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ B  O. [  k+ Z$ `! o
                local CurStr = ( Pet.FullArtRank(PetIndex, 1) + 2 ) * 0.21;bbs.mocwww.com- P' ~: ^8 x# u) ?0 Y8 I8 I
                local CurTough = ( Pet.FullArtRank(PetIndex, 2) + 2 ) * 0.21;魔力私服,最新魔力宝贝私服技术交流# i5 ~: ^) ]! L9 V
                local CurQuick = ( Pet.FullArtRank(PetIndex, 3) + 2 ) * 0.21;bbs.mocwww.com. p* l& C' f, A8 Q
                local CurMagic = ( Pet.FullArtRank(PetIndex, 4) + 2 ) * 0.21;        —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 j% A- w1 T7 @. }) v/ O
       
9 ]3 d0 M7 k" `妖城在线论坛                Char.SetData(PetIndex, %对象_体力%, CurVital);—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート: u* n8 i8 N; d4 Q% n
                Char.SetData(PetIndex, %对象_力量%, CurStr);
: j2 h6 d# \* j—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                Char.SetData(PetIndex, %对象_强度%, CurTough);—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート0 G5 p. `: l: x) T9 ]* L  V
                Char.SetData(PetIndex, %对象_速度%, CurQuick);魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 Q* G+ N2 v9 ^' z  Z/ s1 N+ b
                Char.SetData(PetIndex, %对象_魔法%, CurMagic);妖城在线论坛* x' i/ m! Y0 H8 |# }
, j& Y. n8 p  @4 O% M( P
        else —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート( k. }- v/ A2 |1 T7 _! U, d
        end
1 Z) e# S, u; {. X: m3 L: _! v$ o魔力私服,最新魔力宝贝私服技术交流—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート) F* @6 o9 u2 R6 ?  j* ?
        return ;
& T+ N9 X5 l: \% J( r魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表end* z8 @8 r6 U8 J% l# [
bbs.mocwww.com0 o; Y6 N/ ^, i- _  m
[ 本帖最后由 法兰CD兔 于 2018-11-14 22:13 编辑 ]

TOP

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

TOP

回复 沙发 的帖子

if (M__PetMake == nil) then
/ B" q" ~8 ^5 c3 w$ `3 D" w: n! l魔力私服,最新魔力宝贝私服技术交流                M__PetMake = NL.CreateNpc("./data/lua/test/PetMake.lua", "PetMake_Init");妖城在线论坛9 C: [+ Y" @6 {9 n
                NLG.UpChar(M__PetMake);bbs.mocwww.com& Q8 ?. Y! ]- g4 n
        end2 w$ w) s  B$ d4 D( ~( U9 p7 k" m' h8 |

- Z/ Q" \' t1 _8 W1 Y7 Q0 d7 N是这个吗?init里面的,写了的
7 `9 _; l! q" F# e+ W& \. R而且我之前没写
/ w" C1 W( ?3 h. o—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
3 N( k, q1 z2 r4 `8 n1 H, e魔力私服,最新魔力宝贝私服技术交流                local CurVital = ( Pet.FullArtRank(PetIndex, 0) + 2 ) * 0.21;
5 L# n2 g" ^) o1 D+ h; K6 n魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local CurStr = ( Pet.FullArtRank(PetIndex, 1) + 2 ) * 0.21;
% B8 W5 T8 b% ?( [妖城在线论坛                local CurTough = ( Pet.FullArtRank(PetIndex, 2) + 2 ) * 0.21;
, x: E3 ~) I5 Y# t$ V. b- u                local CurQuick = ( Pet.FullArtRank(PetIndex, 3) + 2 ) * 0.21;0 n6 z. H; M1 G& o( A0 B
                local CurMagic = ( Pet.FullArtRank(PetIndex, 4) + 2 ) * 0.21;        4 u& M) Y2 N' {; ~8 w) i
        bbs.mocwww.com0 Y! D* R" k' Q( W- M6 V3 R( h
                Char.SetData(PetIndex, %对象_体力%, CurVital);魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 L" W2 N7 T5 r) Q, S6 h# v! j1 t
                Char.SetData(PetIndex, %对象_力量%, CurStr);
8 t. Z; H; Z  m  l" ?) e, v魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                Char.SetData(PetIndex, %对象_强度%, CurTough);
9 d$ v% w' |) a5 `) |                Char.SetData(PetIndex, %对象_速度%, CurQuick);
) [5 j$ |9 b$ f5 A: H" Obbs.mocwww.com                Char.SetData(PetIndex, %对象_魔法%, CurMagic);妖城在线论坛* @  j: @0 Z: }4 Q

2 v* ]- v4 s) G4 E  ?' Vbbs.mocwww.com这一段的时候,npc是有的

TOP

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

TOP

回复 地板 的帖子

不是滴,就是重启服务器,这个npc就不会在地图中出现,我把最后加的代码删掉,再重启服务器,npc就又出现了,所以我猜测是魔力私服,最新魔力宝贝私服技术交流$ Q; X1 A* X$ A
                Char.SetData(PetIndex, %对象_体力%, ( Pet.GetArtRank(PetIndex, 0) + 2 ) * 0.21);
3 O7 v: ]$ o: O6 H5 k0 ~3 E9 H妖城在线论坛                Char.SetData(PetIndex, %对象_力量%, ( Pet.GetArtRank(PetIndex, 1) + 2 ) * 0.21);魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表8 k2 b' t; B  o* a) r; l  w
                Char.SetData(PetIndex, %对象_强度%, ( Pet.GetArtRank(PetIndex, 2) + 2 ) * 0.21);
$ P5 E6 t0 U4 N5 t0 \8 Q6 {8 qbbs.mocwww.com                Char.SetData(PetIndex, %对象_速度%, ( Pet.GetArtRank(PetIndex, 3) + 2 ) * 0.21);
$ U9 j, \3 `! k- C8 d. }9 c魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                Char.SetData(PetIndex, %对象_魔法%, ( Pet.GetArtRank(PetIndex, 4) + 2 ) * 0.21);妖城在线论坛% [5 }# \3 {; e9 z# C
这一段代码出错
% {7 P' q$ y8 Q" D0 H3 K2 I—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート- w+ @& U$ m; A: N4 H
可是想了半天也觉得没问题……bbs.mocwww.com! y# @/ o9 C6 D% y. |/ t

" L$ J5 \6 Z8 n9 M3 pbbs.mocwww.com[ 本帖最后由 法兰CD兔 于 2018-11-15 10:42 编辑 ]

TOP

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

TOP

自己琢磨明白了……

TOP

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

TOP

回复 8楼 的帖子

还不完善,Char.SetData(PetIndex, %对象_体力%, ( Pet.GetArtRank(PetIndex, 0) + 2 ) * 21);
6 z, E' b$ U6 w" w; J2 q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート这里的21应该是他的初始bp,比如一般的宠物是20,小使魔是30,但我还没研究出来怎么根据宠物的指针读取它的enemy编号,然后读取数据库里的这个数据,还有包括怎么选择宠物,不是仅仅改第一栏,等我研究完了再说吧
1 l( i) K( K& J( R* ^5 Q' c魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& R% L  `9 `( D4 ?
而且退一万步说,这个东西真的没啥技术含量,发出来太献丑了

TOP

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

TOP

回复 10楼 的帖子

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

TOP

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

TOP

发新话题