发新话题
打印

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

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

如下,这是我写的一个简单的制造满档宠物的npc
$ e. M/ x0 X  @6 ]9 E
4 [+ ]5 ]) u  T3 f3 |; n5 ^妖城在线论坛目的在于把宠物栏第1栏的1级宠物改成满档魔力私服,最新魔力宝贝私服技术交流! o4 K5 }$ G5 h# S. J, {& M
具体的非1级宠物错误判定、随机档分配什么的就先暂时略去不表,还有以后再考虑添加选择改哪个宠物啥的
7 U6 j, \: O( ~( r# Q7 r$ dbbs.mocwww.com魔力私服,最新魔力宝贝私服技术交流9 P& J- U' ?5 l: }
现在最大的问题在于为什么我这么做完以后,创建不出npc呢?bbs.mocwww.com. d% v( u1 f% j+ r- Y6 ~/ A
init已经做了,最开始没有改宠物bp那一段,只有改档数的时候是能创建出来的,也能成功修改宠物的档数,但加了改bp的那一部分后,就没有npc被创建出来了,求助
0 [) Y; F6 U6 a( U7 e4 P—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート' J5 y1 n9 h" w
function PetMake_Init( _MePtr )
" G6 b$ [  t8 Y; K6 l魔力私服,最新魔力宝贝私服技术交流7 X: g, m$ r0 |8 G% ]
        Char.SetData(_MePtr, %对像_形象%, 101025);    --%对像_形象%
  B7 v4 J# f& B% n0 k6 O! s5 g, Hbbs.mocwww.com        Char.SetData(_MePtr, %对像_原形%, 101025);    --%对像_原形%
* y' W3 ?# f3 Z5 z2 n! f8 e魔力私服,最新魔力宝贝私服技术交流        Char.SetData(_MePtr, %对像_地图类型%, 0);     --%对像_地图类型%
  `, U" V+ U4 J7 C! P% r  N—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        Char.SetData(_MePtr, %对像_地图%, 25000);      --%对像_地图%妖城在线论坛: _' h6 ]+ g. q' S
        Char.SetData(_MePtr, %对像_X%, 23);          --%对像_X%bbs.mocwww.com8 q; V) t5 D" T
        Char.SetData(_MePtr, %对像_Y%, 15);           --%对像_Y%
" a# z3 j5 u  Xbbs.mocwww.com        Char.SetData(_MePtr, %对像_方向%, %左下%);    --%对像_方向%, %左下%bbs.mocwww.com0 Z( P2 n( G% X+ ]% B
        Char.SetData(_MePtr, %对像_原名%, "宠物满档制造者");    --%对像_原名%
  G" [  t4 U3 T( r8 {—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
6 p" X' O; g) Q        魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表1 G2 T4 [$ D: F! l; p) s
        if (Char.SetTalkedEvent(nil, "PetMake_Talked", _MePtr) < 0) then# ]1 d6 d; u- ?$ |0 O
                print("PetMake_Talked 注册事件失败。");
: K: ?( F2 U4 Y: W8 m魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                return false;bbs.mocwww.com( w+ |. }4 r6 Y
        end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表) C4 t" s% D( Z* p% M* c
       
9 g4 W; b' @$ D6 ?& p: ?4 D3 G魔力私服,最新魔力宝贝私服技术交流        return true;魔力私服,最新魔力宝贝私服技术交流, M; z  O: }8 |+ j, C+ o/ x
end
$ P& R5 ^: s3 `* Y  d7 ~魔力私服,最新魔力宝贝私服技术交流
+ l) L8 O. M, v9 a, ufunction PetMake_Talked( _MePtr, _TalkPtr)
9 X0 D- c$ m/ a' p: J3 Bbbs.mocwww.combbs.mocwww.com. l- }4 @$ t$ E# }/ m0 I
        if(NLG.CheckInFront(_TalkPtr, _MePtr, 1) == false) then
0 U; n& h2 b& y8 f! Z. i+ @bbs.mocwww.com                return ;
. B" u$ z% Z7 c( \1 I7 }3 S$ E  h: @—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        end 魔力私服,最新魔力宝贝私服技术交流' \2 T! y$ k% e  t! A4 c
       
  {2 h5 Y7 B+ k5 `* V% I        local PetIndex = Char.GetPetIndex(_TalkPtr, 0);7 ^9 i- y( i$ k1 w  p
        if (PetIndex>0) then
" m8 l8 _: y- w) P# S' D1 t  C—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                for t = 0,4 do—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート. ~! t& i3 h+ A, V, u# B
                        Pet.SetArtRank(PetIndex, t, Pet.FullArtRank(PetIndex, t));
( l. g& P4 j8 h/ ?- a魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                end        . T. o7 h4 x0 u
                        魔力私服,最新魔力宝贝私服技术交流/ L5 o* T/ B$ Q+ o! F' z
                local CurVital = ( Pet.FullArtRank(PetIndex, 0) + 2 ) * 0.21;妖城在线论坛9 }$ L! h+ l6 [1 R4 [# {7 t
                local CurStr = ( Pet.FullArtRank(PetIndex, 1) + 2 ) * 0.21;—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート4 Y; _9 G: N( w1 N6 e
                local CurTough = ( Pet.FullArtRank(PetIndex, 2) + 2 ) * 0.21;魔力私服,最新魔力宝贝私服技术交流2 D6 c( g% H$ v* f: f+ P9 D
                local CurQuick = ( Pet.FullArtRank(PetIndex, 3) + 2 ) * 0.21;
! I; k- ^& g) W$ K9 e魔力私服,最新魔力宝贝私服技术交流                local CurMagic = ( Pet.FullArtRank(PetIndex, 4) + 2 ) * 0.21;        —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート' [) M0 E" H6 z0 W- X
        —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 r- H; J* X) v) M7 ]) w0 l# K8 d1 q
                Char.SetData(PetIndex, %对象_体力%, CurVital);
9 b3 G# Q( {- J! v' y0 X3 U妖城在线论坛                Char.SetData(PetIndex, %对象_力量%, CurStr);
# m+ o) }$ ^9 m魔力私服,最新魔力宝贝私服技术交流                Char.SetData(PetIndex, %对象_强度%, CurTough);魔力私服,最新魔力宝贝私服技术交流+ x1 W  p. @5 Q5 @9 y
                Char.SetData(PetIndex, %对象_速度%, CurQuick);
; p  J* j- [6 @1 ^1 t1 k' W5 B                Char.SetData(PetIndex, %对象_魔法%, CurMagic);
3 {& Z0 X: L8 j魔力私服,最新魔力宝贝私服技术交流3 N0 {' Z$ d2 X6 Q% J; b% g
        else
2 K! M: G2 P2 |  T' C; @7 Cbbs.mocwww.com        end
8 {7 b6 N- w  `7 P& y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
' h- X; Z& s0 a魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表        return ;
- S# A- i% X' V; ~3 |bbs.mocwww.comend魔力私服,最新魔力宝贝私服技术交流* `4 S, q4 H2 [! p: G% G9 q

: K9 W4 b( O7 W3 ]—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート[ 本帖最后由 法兰CD兔 于 2018-11-14 22:13 编辑 ]

TOP

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

TOP

回复 沙发 的帖子

if (M__PetMake == nil) then& D7 v" z4 P  ?. Q* N8 \: ]
                M__PetMake = NL.CreateNpc("./data/lua/test/PetMake.lua", "PetMake_Init");妖城在线论坛. _9 `1 o# L) p8 D# ^
                NLG.UpChar(M__PetMake);
) r! X: h; N) f" E$ k魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表        end
' h% k( y; n) c5 g  Q魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
. t7 D3 _4 n5 T- @是这个吗?init里面的,写了的
4 T% S1 p/ N8 ?0 X& o! f% |魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表而且我之前没写魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表6 H$ H( L: a: R9 K" m
$ V- _# W- w3 W* Q( H
                local CurVital = ( Pet.FullArtRank(PetIndex, 0) + 2 ) * 0.21;魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表3 w' ^; K/ n9 a6 ^' d/ v5 [
                local CurStr = ( Pet.FullArtRank(PetIndex, 1) + 2 ) * 0.21;妖城在线论坛3 t5 L+ j6 c5 @0 @$ g* @* x
                local CurTough = ( Pet.FullArtRank(PetIndex, 2) + 2 ) * 0.21;
! v( c+ X$ T; ?2 K魔力私服,最新魔力宝贝私服技术交流                local CurQuick = ( Pet.FullArtRank(PetIndex, 3) + 2 ) * 0.21;
+ b: u2 j: ~3 E9 K—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local CurMagic = ( Pet.FullArtRank(PetIndex, 4) + 2 ) * 0.21;        妖城在线论坛, _1 T! Z% J' f! s. o; d
        
0 H( q8 `2 V' \7 j魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                Char.SetData(PetIndex, %对象_体力%, CurVital);妖城在线论坛! n9 x+ K& q+ p$ v& s$ V
                Char.SetData(PetIndex, %对象_力量%, CurStr);% c% F3 D1 ]0 B6 u
                Char.SetData(PetIndex, %对象_强度%, CurTough);
, P5 L  J# T' k' I8 n' b魔力私服,最新魔力宝贝私服技术交流                Char.SetData(PetIndex, %对象_速度%, CurQuick);
7 g6 ~+ I5 r- e; o7 e                Char.SetData(PetIndex, %对象_魔法%, CurMagic);
5 E; f+ ], |3 r魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
* b* n4 W0 B. f1 o( ]3 W8 X—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート这一段的时候,npc是有的

TOP

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

TOP

回复 地板 的帖子

不是滴,就是重启服务器,这个npc就不会在地图中出现,我把最后加的代码删掉,再重启服务器,npc就又出现了,所以我猜测是
: W" b3 }  s% V, D& M" s0 X妖城在线论坛                Char.SetData(PetIndex, %对象_体力%, ( Pet.GetArtRank(PetIndex, 0) + 2 ) * 0.21);
; v0 I# _% @# Z' Z( m魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                Char.SetData(PetIndex, %对象_力量%, ( Pet.GetArtRank(PetIndex, 1) + 2 ) * 0.21);
. q; h+ `& n! @7 ubbs.mocwww.com                Char.SetData(PetIndex, %对象_强度%, ( Pet.GetArtRank(PetIndex, 2) + 2 ) * 0.21);魔力私服,最新魔力宝贝私服技术交流+ I- s+ h) f7 v
                Char.SetData(PetIndex, %对象_速度%, ( Pet.GetArtRank(PetIndex, 3) + 2 ) * 0.21);妖城在线论坛! s+ D5 p- v  j7 r
                Char.SetData(PetIndex, %对象_魔法%, ( Pet.GetArtRank(PetIndex, 4) + 2 ) * 0.21);魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 B' [! i* l# a. Y2 w7 `( Q4 J
这一段代码出错妖城在线论坛* @2 v. o4 q7 O% j7 u

( S% |+ }" A& D1 h+ Y5 t# p可是想了半天也觉得没问题……. t! t* Y* L, m; n

* [- p' ?; N- v) N2 O+ W& xbbs.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);
2 `2 r+ L( R/ v/ m' K, E妖城在线论坛这里的21应该是他的初始bp,比如一般的宠物是20,小使魔是30,但我还没研究出来怎么根据宠物的指针读取它的enemy编号,然后读取数据库里的这个数据,还有包括怎么选择宠物,不是仅仅改第一栏,等我研究完了再说吧
8 Q/ v* S1 D8 {3 i: v* g—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
; D5 z% |- Y! z: lbbs.mocwww.com而且退一万步说,这个东西真的没啥技术含量,发出来太献丑了

TOP

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

TOP

回复 10楼 的帖子

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

TOP

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

TOP

发新话题