发新话题
打印

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

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

如下,这是我写的一个简单的制造满档宠物的npc  j% h( b- y/ w: g0 G+ I7 F
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表6 Z. I3 V6 [0 W5 R3 n' m1 {7 f
目的在于把宠物栏第1栏的1级宠物改成满档—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート- e& I$ J" I4 C/ y! n: x7 V
具体的非1级宠物错误判定、随机档分配什么的就先暂时略去不表,还有以后再考虑添加选择改哪个宠物啥的
9 @! c) ?/ }+ b8 U+ i魔力私服,最新魔力宝贝私服技术交流bbs.mocwww.com; p  a6 ]1 H5 A; W2 a2 H2 J* z
现在最大的问题在于为什么我这么做完以后,创建不出npc呢?
$ w$ q2 ~9 J; i$ @7 s妖城在线论坛init已经做了,最开始没有改宠物bp那一段,只有改档数的时候是能创建出来的,也能成功修改宠物的档数,但加了改bp的那一部分后,就没有npc被创建出来了,求助—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート' N& r& U( r- {1 `# v- {1 |. p
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表1 ^% r, F6 w8 O0 S2 n  |+ _+ K$ s
function PetMake_Init( _MePtr )
6 d, W  Y; c. d/ z4 b# m( s0 A
& o( y- x  r/ p魔力私服,最新魔力宝贝私服技术交流        Char.SetData(_MePtr, %对像_形象%, 101025);    --%对像_形象%魔力私服,最新魔力宝贝私服技术交流+ a* O$ b- B1 D: ]
        Char.SetData(_MePtr, %对像_原形%, 101025);    --%对像_原形%
# D/ m+ a1 o+ W9 x$ x魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表        Char.SetData(_MePtr, %对像_地图类型%, 0);     --%对像_地图类型%
. f$ ?1 |+ ^8 o: w* \* L魔力私服,最新魔力宝贝私服技术交流        Char.SetData(_MePtr, %对像_地图%, 25000);      --%对像_地图%bbs.mocwww.com5 |2 f" U$ \3 t, a4 d
        Char.SetData(_MePtr, %对像_X%, 23);          --%对像_X%
6 W, }# v5 N) w. ?        Char.SetData(_MePtr, %对像_Y%, 15);           --%对像_Y%妖城在线论坛/ _( u8 F; ]) E
        Char.SetData(_MePtr, %对像_方向%, %左下%);    --%对像_方向%, %左下%
& u" G7 w3 h" \' i- [. _) y+ `bbs.mocwww.com        Char.SetData(_MePtr, %对像_原名%, "宠物满档制造者");    --%对像_原名%
/ C; C9 B! {' b( P0 D
; E/ O2 T7 W( K' u5 G' c' U( b魔力私服,最新魔力宝贝私服技术交流       
' O' v& x* b" R" r! j# j  y+ b6 ]( _        if (Char.SetTalkedEvent(nil, "PetMake_Talked", _MePtr) < 0) then
& Q/ G4 r; p- b2 G! K' I; q; Bbbs.mocwww.com                print("PetMake_Talked 注册事件失败。");妖城在线论坛, D7 g! O$ I6 \
                return false;
- J) N* E% x' r4 j—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ }* D4 e  ]% [
       
" F! n0 @8 L. X! j! u魔力私服,最新魔力宝贝私服技术交流        return true;* f% v: }' x- A2 d
end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% C& \9 z( A* p( J

2 d/ Y8 M1 l  q( d* j) B魔力私服,最新魔力宝贝私服技术交流function PetMake_Talked( _MePtr, _TalkPtr)2 G' B  ]! S: G7 T# z2 o% J
妖城在线论坛  k2 X" l: ~1 s) q' P2 L6 O
        if(NLG.CheckInFront(_TalkPtr, _MePtr, 1) == false) then—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート, s2 T) V" \$ ?  d: _. t  n" s- v8 [
                return ;妖城在线论坛, ]* x1 g- W6 }
        end
8 g0 b& n& G9 q0 s$ \魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表        魔力私服,最新魔力宝贝私服技术交流' S  A+ Q7 m, V; q9 g& T2 s
        local PetIndex = Char.GetPetIndex(_TalkPtr, 0);
& ]7 ]* I! f$ x# M: N9 a—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        if (PetIndex>0) then 妖城在线论坛. s, Q9 K" P" [+ e- s0 S4 r
                for t = 0,4 do
* `& w; G$ i2 c2 J6 e1 `魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                        Pet.SetArtRank(PetIndex, t, Pet.FullArtRank(PetIndex, t));
6 T  q$ K0 m. s! Y$ v8 Nbbs.mocwww.com                end        妖城在线论坛- b9 H5 Z) H9 i7 e9 L. z( e% c
                        魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 U6 \# k) w5 |+ t- A5 d9 f
                local CurVital = ( Pet.FullArtRank(PetIndex, 0) + 2 ) * 0.21;7 F3 x2 q% l) c. d1 C+ s) [
                local CurStr = ( Pet.FullArtRank(PetIndex, 1) + 2 ) * 0.21;妖城在线论坛5 s# X( q9 N6 j" y1 g0 P+ `% @
                local CurTough = ( Pet.FullArtRank(PetIndex, 2) + 2 ) * 0.21;
* `% W5 ~. e/ ?! f妖城在线论坛                local CurQuick = ( Pet.FullArtRank(PetIndex, 3) + 2 ) * 0.21;妖城在线论坛% @- S# z1 }# E" e
                local CurMagic = ( Pet.FullArtRank(PetIndex, 4) + 2 ) * 0.21;        —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート) P' {% o0 g6 m
       
* A; U: A6 E# S+ e0 t6 p+ d魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                Char.SetData(PetIndex, %对象_体力%, CurVital);
* G1 a% L+ ]' H6 g' \bbs.mocwww.com                Char.SetData(PetIndex, %对象_力量%, CurStr);bbs.mocwww.com! B& l# A4 T/ ?3 ?0 u
                Char.SetData(PetIndex, %对象_强度%, CurTough);
' T( a2 }8 T- k  f; L5 X9 G魔力私服,最新魔力宝贝私服技术交流                Char.SetData(PetIndex, %对象_速度%, CurQuick);
" K8 _# G7 l" J# ~7 ^" L妖城在线论坛                Char.SetData(PetIndex, %对象_魔法%, CurMagic);
3 h0 R( m! s8 `9 H魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表bbs.mocwww.com& P& M8 M3 p4 @- p" X# u
        else - N5 e% W0 r+ d- f* c
        endbbs.mocwww.com4 l6 S/ w- W3 L' F: Z

6 L* p8 u# _& _8 E+ D6 h! v4 b妖城在线论坛        return ;
) V9 A$ F' z- T魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表end
. z! z  ~* R6 n* c" b, G7 H" `0 y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
" Y# E6 Z$ F, @: P$ Z. O. Wbbs.mocwww.com[ 本帖最后由 法兰CD兔 于 2018-11-14 22:13 编辑 ]

TOP

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

TOP

回复 沙发 的帖子

if (M__PetMake == nil) then
" W/ G% J4 }2 `9 y  x3 X—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                M__PetMake = NL.CreateNpc("./data/lua/test/PetMake.lua", "PetMake_Init");
( c' Y/ j- H; D8 Z4 g# ?bbs.mocwww.com                NLG.UpChar(M__PetMake);bbs.mocwww.com& ~8 k1 j, f5 q; n2 {
        end$ Y6 T# I% ~5 ?) E! l# `  k
bbs.mocwww.com2 [% ]/ _. F2 m) {% S  E4 P* X
是这个吗?init里面的,写了的
) t' o8 S* I$ @# K" b魔力私服,最新魔力宝贝私服技术交流而且我之前没写bbs.mocwww.com( |: s  s/ R+ P, h8 j5 _
bbs.mocwww.com% d3 C* c8 r. V* n" G7 z
                local CurVital = ( Pet.FullArtRank(PetIndex, 0) + 2 ) * 0.21;
  ~4 I( x, o% Z9 `—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local CurStr = ( Pet.FullArtRank(PetIndex, 1) + 2 ) * 0.21;bbs.mocwww.com1 {, N# O9 _# a/ Z
                local CurTough = ( Pet.FullArtRank(PetIndex, 2) + 2 ) * 0.21;
7 v! m/ i- ?$ b! ?7 v) e4 e+ Ubbs.mocwww.com                local CurQuick = ( Pet.FullArtRank(PetIndex, 3) + 2 ) * 0.21;
; J; X0 F8 |2 r) n9 S' @( G; v) _* ?4 \魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local CurMagic = ( Pet.FullArtRank(PetIndex, 4) + 2 ) * 0.21;        
, m& [0 [4 y$ R8 t& vbbs.mocwww.com          P, R- c* ^" d; l$ k0 P5 D
                Char.SetData(PetIndex, %对象_体力%, CurVital);
$ X, L% H* e1 C- ?/ ?魔力私服,最新魔力宝贝私服技术交流                Char.SetData(PetIndex, %对象_力量%, CurStr);—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 P# [. L. i' ^2 r1 H( X
                Char.SetData(PetIndex, %对象_强度%, CurTough);魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表7 M  ]+ Z2 D/ t% N
                Char.SetData(PetIndex, %对象_速度%, CurQuick);—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート( t' O1 Z+ i3 X" Q
                Char.SetData(PetIndex, %对象_魔法%, CurMagic);
( K8 J) D- E/ g5 h6 ]# C8 o5 P  n0 w! b  V/ P! b2 K: `0 |
这一段的时候,npc是有的

TOP

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

TOP

回复 地板 的帖子

不是滴,就是重启服务器,这个npc就不会在地图中出现,我把最后加的代码删掉,再重启服务器,npc就又出现了,所以我猜测是
# `2 ?5 R# h# I" S6 sbbs.mocwww.com                Char.SetData(PetIndex, %对象_体力%, ( Pet.GetArtRank(PetIndex, 0) + 2 ) * 0.21);
2 v8 S* B( B1 \4 a# I                Char.SetData(PetIndex, %对象_力量%, ( Pet.GetArtRank(PetIndex, 1) + 2 ) * 0.21);* M& p% L$ I* |) z- q
                Char.SetData(PetIndex, %对象_强度%, ( Pet.GetArtRank(PetIndex, 2) + 2 ) * 0.21);
" g9 r: a; y" u1 R7 [% Cbbs.mocwww.com                Char.SetData(PetIndex, %对象_速度%, ( Pet.GetArtRank(PetIndex, 3) + 2 ) * 0.21);
$ E- J8 Q3 i3 Z0 T( Y8 Y8 M6 gbbs.mocwww.com                Char.SetData(PetIndex, %对象_魔法%, ( Pet.GetArtRank(PetIndex, 4) + 2 ) * 0.21);妖城在线论坛6 M2 c' t3 b* D  c' E; C( f$ X
这一段代码出错魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表9 B4 k+ }4 P* J6 {& [  b
3 f$ ^3 Z# ]5 [/ ?' A) p; I! I; W
可是想了半天也觉得没问题……魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ \3 E) U( J/ Y0 n4 @- G1 |

1 P) r, {) e7 H8 }! d—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート[ 本帖最后由 法兰CD兔 于 2018-11-15 10:42 编辑 ]

TOP

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

TOP

自己琢磨明白了……

TOP

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

TOP

回复 8楼 的帖子

还不完善,Char.SetData(PetIndex, %对象_体力%, ( Pet.GetArtRank(PetIndex, 0) + 2 ) * 21);
3 N3 E- q  K& N' h8 j% V妖城在线论坛这里的21应该是他的初始bp,比如一般的宠物是20,小使魔是30,但我还没研究出来怎么根据宠物的指针读取它的enemy编号,然后读取数据库里的这个数据,还有包括怎么选择宠物,不是仅仅改第一栏,等我研究完了再说吧魔力私服,最新魔力宝贝私服技术交流- a4 i! L6 z+ t" [
妖城在线论坛/ N) G+ c  W7 a3 ]$ |# s; W3 X
而且退一万步说,这个东西真的没啥技术含量,发出来太献丑了

TOP

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

TOP

回复 10楼 的帖子

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

TOP

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

TOP

发新话题