发新话题
打印

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

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

如下,这是我写的一个简单的制造满档宠物的npc妖城在线论坛: ?+ K) }) @" e7 ]0 ]! `

& b) Q) a: K/ e2 ?2 u* s2 k—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート目的在于把宠物栏第1栏的1级宠物改成满档妖城在线论坛- O3 e( P) v" s# V6 C  H
具体的非1级宠物错误判定、随机档分配什么的就先暂时略去不表,还有以后再考虑添加选择改哪个宠物啥的魔力私服,最新魔力宝贝私服技术交流/ E0 f2 B* Y: P; N9 _; |

" s1 X1 Z5 E: G1 ?% x* y( `魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表现在最大的问题在于为什么我这么做完以后,创建不出npc呢?bbs.mocwww.com! K5 N% P6 x* r* h; n9 u
init已经做了,最开始没有改宠物bp那一段,只有改档数的时候是能创建出来的,也能成功修改宠物的档数,但加了改bp的那一部分后,就没有npc被创建出来了,求助—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート- M9 x( _  F' L& O) R3 e' u
妖城在线论坛: N1 v. E1 q' N5 B' O3 d  d' A% X% V, g
function PetMake_Init( _MePtr )
2 k7 T0 s& C) Q9 Q8 L: ^2 A  ?3 L妖城在线论坛
. `! c" s( R& l! s+ l; n2 l/ R妖城在线论坛        Char.SetData(_MePtr, %对像_形象%, 101025);    --%对像_形象%魔力私服,最新魔力宝贝私服技术交流1 i8 B2 p) w1 t1 a( D
        Char.SetData(_MePtr, %对像_原形%, 101025);    --%对像_原形%
, N- t1 J3 z8 x' U6 i/ q2 nbbs.mocwww.com        Char.SetData(_MePtr, %对像_地图类型%, 0);     --%对像_地图类型%魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 [) M! |- D) E' M6 F( f
        Char.SetData(_MePtr, %对像_地图%, 25000);      --%对像_地图%
5 H: E$ ]: s6 Z' d3 rbbs.mocwww.com        Char.SetData(_MePtr, %对像_X%, 23);          --%对像_X%
5 n" _2 _" R2 o, ]" n—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        Char.SetData(_MePtr, %对像_Y%, 15);           --%对像_Y%1 h, J1 u$ C. z
        Char.SetData(_MePtr, %对像_方向%, %左下%);    --%对像_方向%, %左下%
6 }, C" _# G" c4 C1 Q: W魔力私服,最新魔力宝贝私服技术交流        Char.SetData(_MePtr, %对像_原名%, "宠物满档制造者");    --%对像_原名%魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表6 r; {8 }; y& N! F
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% U" s4 }2 y; D# j) H. f
        —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート5 K% ~; \7 T/ Z! f9 R4 v1 A
        if (Char.SetTalkedEvent(nil, "PetMake_Talked", _MePtr) < 0) then
- t# [. Y  G+ P) `/ `8 }* t魔力私服,最新魔力宝贝私服技术交流                print("PetMake_Talked 注册事件失败。");
7 M" w' _0 ]8 S( s" }4 @+ U5 k" |妖城在线论坛                return false;魔力私服,最新魔力宝贝私服技术交流/ e( T! `) M( ~. T/ e
        end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 Z) {# R4 n! b
        魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表- Q9 R; O+ r+ g3 Z# l: [; k
        return true;
- [& e) a% \( e6 Q: H2 m! k妖城在线论坛end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表9 H4 P1 a% J# K$ v9 s; r6 T3 \' m
bbs.mocwww.com  l- h6 ^; Q: d
function PetMake_Talked( _MePtr, _TalkPtr)
. I1 J* {% e3 B% i! B& G—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& I3 `" i; [9 S1 f0 k) M; \! u
        if(NLG.CheckInFront(_TalkPtr, _MePtr, 1) == false) then魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# Q/ u7 [0 ]2 {6 [
                return ;
, W" L4 [( P% L( |5 A魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表        end bbs.mocwww.com0 T( ^5 [, v/ Z' c/ B
        —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ _% z% Q! n* b/ U: {: H
        local PetIndex = Char.GetPetIndex(_TalkPtr, 0);魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表$ W8 p% D: R. y( x5 l& w
        if (PetIndex>0) then —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2 L$ [) `3 Z4 Y& O! Q- `$ T
                for t = 0,4 do妖城在线论坛' ?" z8 V' a+ o2 i( z
                        Pet.SetArtRank(PetIndex, t, Pet.FullArtRank(PetIndex, t));
% w9 w& m6 j$ a+ \bbs.mocwww.com                end        - n7 N+ V6 m/ G2 F
                       
6 `. g& h7 W* x                local CurVital = ( Pet.FullArtRank(PetIndex, 0) + 2 ) * 0.21;—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート4 i" z8 E4 S) E! Q4 T9 v" J
                local CurStr = ( Pet.FullArtRank(PetIndex, 1) + 2 ) * 0.21;—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート0 [) m: q! u; r2 j
                local CurTough = ( Pet.FullArtRank(PetIndex, 2) + 2 ) * 0.21;
) B6 L5 B6 d$ m  k* C                local CurQuick = ( Pet.FullArtRank(PetIndex, 3) + 2 ) * 0.21;
  p; R6 [# q' J" p魔力私服,最新魔力宝贝私服技术交流                local CurMagic = ( Pet.FullArtRank(PetIndex, 4) + 2 ) * 0.21;        妖城在线论坛; K" Q$ ]6 [2 M
        魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表4 h) S% R9 p: m
                Char.SetData(PetIndex, %对象_体力%, CurVital);bbs.mocwww.com3 B) I7 k+ V( t) U! x) s7 h
                Char.SetData(PetIndex, %对象_力量%, CurStr);
8 D8 l( v# _% s* ~' j( Rbbs.mocwww.com                Char.SetData(PetIndex, %对象_强度%, CurTough);魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表2 J6 Y/ \  K1 d* W: z; S
                Char.SetData(PetIndex, %对象_速度%, CurQuick);
2 ~& K9 ]1 V5 v; J( L. g& r* q                Char.SetData(PetIndex, %对象_魔法%, CurMagic);
: T+ q6 \. I& ]* R—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
' h* D2 W2 I% A1 G        else / w5 O1 E9 ^9 X+ _3 t
        end
- }; R0 x( A7 A* T! d6 F魔力私服,最新魔力宝贝私服技术交流
0 N  W8 f, I' z1 K+ g—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        return ;—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" T+ e5 o- @& ?! t9 O( D5 u3 }
end
2 |8 X+ \- `3 s' R—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 s; T, R4 L, ~) p* l" B
[ 本帖最后由 法兰CD兔 于 2018-11-14 22:13 编辑 ]

TOP

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

TOP

回复 沙发 的帖子

if (M__PetMake == nil) then
# o' V3 U/ m4 e; U4 T1 s; r* J# f                M__PetMake = NL.CreateNpc("./data/lua/test/PetMake.lua", "PetMake_Init");魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表' z! G+ ^# J6 f
                NLG.UpChar(M__PetMake);—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート4 d7 b; J3 f* w( q5 U
        end妖城在线论坛8 b6 u+ }! A/ D! \1 w
魔力私服,最新魔力宝贝私服技术交流: {  Y+ ?; K' ?" u9 R  v
是这个吗?init里面的,写了的
7 W2 f$ _0 |# }—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート而且我之前没写bbs.mocwww.com$ Z: M2 l. `; G3 A" m5 a/ V4 P8 o

$ F5 ?$ p. d5 i. L魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local CurVital = ( Pet.FullArtRank(PetIndex, 0) + 2 ) * 0.21;魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ E0 w( l) K4 x* z( V: T
                local CurStr = ( Pet.FullArtRank(PetIndex, 1) + 2 ) * 0.21;
4 i2 y( L3 l! y* m9 a                local CurTough = ( Pet.FullArtRank(PetIndex, 2) + 2 ) * 0.21;
$ L# U( K4 u6 e: `/ D: O魔力私服,最新魔力宝贝私服技术交流                local CurQuick = ( Pet.FullArtRank(PetIndex, 3) + 2 ) * 0.21;8 Z8 |! f2 I6 Q, q3 ^2 r) w4 V! a
                local CurMagic = ( Pet.FullArtRank(PetIndex, 4) + 2 ) * 0.21;        8 D: c8 B9 G+ ~, v9 E+ j9 [  }
        
0 r, g6 D( T, s1 y8 K% q; ^( ?                Char.SetData(PetIndex, %对象_体力%, CurVital);魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表9 S, N3 }. P" f
                Char.SetData(PetIndex, %对象_力量%, CurStr);
. S' F, [* v& ~$ Gbbs.mocwww.com                Char.SetData(PetIndex, %对象_强度%, CurTough);
! `$ n& X4 |2 F8 r9 Q# @# h. f7 d                Char.SetData(PetIndex, %对象_速度%, CurQuick);, U# n- R$ H7 [% [3 }# V2 b" V' {
                Char.SetData(PetIndex, %对象_魔法%, CurMagic);
6 M  }( M" y9 i2 X
- V! D) a4 J/ o/ Ybbs.mocwww.com这一段的时候,npc是有的

TOP

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

TOP

回复 地板 的帖子

不是滴,就是重启服务器,这个npc就不会在地图中出现,我把最后加的代码删掉,再重启服务器,npc就又出现了,所以我猜测是
1 }7 p! v" a6 H. f8 F! \妖城在线论坛                Char.SetData(PetIndex, %对象_体力%, ( Pet.GetArtRank(PetIndex, 0) + 2 ) * 0.21);魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表7 v2 m; b/ Q" w, T2 p
                Char.SetData(PetIndex, %对象_力量%, ( Pet.GetArtRank(PetIndex, 1) + 2 ) * 0.21);—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート$ Z5 v) Y- N, @
                Char.SetData(PetIndex, %对象_强度%, ( Pet.GetArtRank(PetIndex, 2) + 2 ) * 0.21);
" e, K% h$ q5 h: n8 }魔力私服,最新魔力宝贝私服技术交流                Char.SetData(PetIndex, %对象_速度%, ( Pet.GetArtRank(PetIndex, 3) + 2 ) * 0.21);- }$ K/ l: T9 m% A, X) ?
                Char.SetData(PetIndex, %对象_魔法%, ( Pet.GetArtRank(PetIndex, 4) + 2 ) * 0.21);
. i' K6 |& d* b; p  o+ _—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート这一段代码出错
% c8 D& s1 H# m) T2 W, P# Y
4 W, l2 D% z- E  D* [% z" |7 f7 U可是想了半天也觉得没问题……
# L9 P  w# N5 t3 y% |' y—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
+ `: C8 B3 O: ~, [; [魔力私服,最新魔力宝贝私服技术交流[ 本帖最后由 法兰CD兔 于 2018-11-15 10:42 编辑 ]

TOP

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

TOP

自己琢磨明白了……

TOP

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

TOP

回复 8楼 的帖子

还不完善,Char.SetData(PetIndex, %对象_体力%, ( Pet.GetArtRank(PetIndex, 0) + 2 ) * 21);—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& b8 t* ~# _! o; V! G8 G
这里的21应该是他的初始bp,比如一般的宠物是20,小使魔是30,但我还没研究出来怎么根据宠物的指针读取它的enemy编号,然后读取数据库里的这个数据,还有包括怎么选择宠物,不是仅仅改第一栏,等我研究完了再说吧妖城在线论坛! J1 ?6 j2 ~# R- t; f

( q) r8 _; i- u5 Y6 L7 G- {bbs.mocwww.com而且退一万步说,这个东西真的没啥技术含量,发出来太献丑了

TOP

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

TOP

回复 10楼 的帖子

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

TOP

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

TOP

发新话题