Board logo

标题: [提问] 写了一个简单的制造满档的npc,但进入游戏npc不创建出来 [打印本页]

作者: 法兰CD兔    时间: 2018-11-14 22:11     标题: 写了一个简单的制造满档的npc,但进入游戏npc不创建出来

如下,这是我写的一个简单的制造满档宠物的npc—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート* \. c' _/ o' P: A9 c4 x# g+ t) A

3 L( W- a, Y0 Q- b7 B/ J妖城在线论坛目的在于把宠物栏第1栏的1级宠物改成满档2 I5 y( T: z& d0 V- ?6 s. ~- W+ U
具体的非1级宠物错误判定、随机档分配什么的就先暂时略去不表,还有以后再考虑添加选择改哪个宠物啥的
5 L3 V& }- P) |2 z. c4 o8 n妖城在线论坛—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 ?( J& M% f4 h. o
现在最大的问题在于为什么我这么做完以后,创建不出npc呢?
; c* i/ O1 f0 w- l' j/ Ninit已经做了,最开始没有改宠物bp那一段,只有改档数的时候是能创建出来的,也能成功修改宠物的档数,但加了改bp的那一部分后,就没有npc被创建出来了,求助
# s# t0 r) ]1 G: e" U1 g& D妖城在线论坛魔力私服,最新魔力宝贝私服技术交流* q* U, [( {1 n- ?! F& p2 a
function PetMake_Init( _MePtr )魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表7 D2 C, W# R- i$ [8 j' [6 G; y1 H; V3 z& s
妖城在线论坛. J$ S3 _$ C) o2 A
        Char.SetData(_MePtr, %对像_形象%, 101025);    --%对像_形象%妖城在线论坛" W8 x( r/ C8 N2 E
        Char.SetData(_MePtr, %对像_原形%, 101025);    --%对像_原形%妖城在线论坛! T4 Q0 N1 @2 y) n- U
        Char.SetData(_MePtr, %对像_地图类型%, 0);     --%对像_地图类型%魔力私服,最新魔力宝贝私服技术交流/ [  r4 Y6 w; v0 f; }7 n
        Char.SetData(_MePtr, %对像_地图%, 25000);      --%对像_地图%
3 ]' o* ^* P; x* Y9 Mbbs.mocwww.com        Char.SetData(_MePtr, %对像_X%, 23);          --%对像_X%妖城在线论坛7 J- f% t. S; u( u/ X( P
        Char.SetData(_MePtr, %对像_Y%, 15);           --%对像_Y%
1 F: i- i8 k+ H3 j- s/ G# A& I5 Z# w魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表        Char.SetData(_MePtr, %对像_方向%, %左下%);    --%对像_方向%, %左下%魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表7 {+ E- s1 t% Z4 N  u' Y; N
        Char.SetData(_MePtr, %对像_原名%, "宠物满档制造者");    --%对像_原名%bbs.mocwww.com: k! s" V' X4 Z- ~

9 @& h' f" ?+ g* d  G魔力私服,最新魔力宝贝私服技术交流       
! N% t6 ?/ o6 O' ?% u$ w  ]- k魔力私服,最新魔力宝贝私服技术交流        if (Char.SetTalkedEvent(nil, "PetMake_Talked", _MePtr) < 0) thenbbs.mocwww.com' A1 h0 Q9 ?3 r+ G. r
                print("PetMake_Talked 注册事件失败。");
# q) A6 `4 a* x* q: `                return false;
0 ~( n( x' k6 U—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 C% E" ]; l6 R1 Q' V& ^
        魔力私服,最新魔力宝贝私服技术交流; c$ Z' J1 U! P8 O/ L! {' i
        return true;
& z! l0 v! |( ~, s* \妖城在线论坛end
" M9 [2 c- ~' V' J2 q7 y0 R魔力私服,最新魔力宝贝私服技术交流魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. u1 F7 p. Q8 n/ C
function PetMake_Talked( _MePtr, _TalkPtr)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: {" ?: V5 L6 q8 Z# d1 W3 D
魔力私服,最新魔力宝贝私服技术交流7 o& n0 }6 a: G1 O( y
        if(NLG.CheckInFront(_TalkPtr, _MePtr, 1) == false) then妖城在线论坛. K& w8 a7 G) V3 {
                return ;魔力私服,最新魔力宝贝私服技术交流- w- P5 `+ ]5 }: R
        end —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート8 y2 y) E* i  ^' h6 }9 r) x8 Z
       
: x3 H' ~/ |0 L9 \妖城在线论坛        local PetIndex = Char.GetPetIndex(_TalkPtr, 0);
, G5 ^. I7 P( r9 P6 x0 I8 N6 x' i—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        if (PetIndex>0) then
5 L9 O9 Y& Z+ I; f+ O5 Obbs.mocwww.com                for t = 0,4 do魔力私服,最新魔力宝贝私服技术交流, u+ s. [( v. F1 k4 F) J( G/ R
                        Pet.SetArtRank(PetIndex, t, Pet.FullArtRank(PetIndex, t));. z/ A3 m' i7 j1 U/ x1 ]
                end       
7 m8 _, c) n8 ]8 v5 }                        1 G$ _$ L; b3 U2 [" u6 P
                local CurVital = ( Pet.FullArtRank(PetIndex, 0) + 2 ) * 0.21;
1 p# I6 n+ R: sbbs.mocwww.com                local CurStr = ( Pet.FullArtRank(PetIndex, 1) + 2 ) * 0.21;魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表! ^+ u3 x5 G4 J% ?9 U
                local CurTough = ( Pet.FullArtRank(PetIndex, 2) + 2 ) * 0.21;
) R) P7 u) X& o! K! c$ M0 ybbs.mocwww.com                local CurQuick = ( Pet.FullArtRank(PetIndex, 3) + 2 ) * 0.21;
: Z* L8 \0 i1 j+ S7 S" a& }7 c* t& Zbbs.mocwww.com                local CurMagic = ( Pet.FullArtRank(PetIndex, 4) + 2 ) * 0.21;       
. D* [9 b+ g$ S—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート       
- ]" Q, C$ C) C( I/ N3 J$ gbbs.mocwww.com                Char.SetData(PetIndex, %对象_体力%, CurVital);—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート- B# |" Y4 ~, J; F
                Char.SetData(PetIndex, %对象_力量%, CurStr);
- f5 c$ V' r( o) r* K魔力私服,最新魔力宝贝私服技术交流                Char.SetData(PetIndex, %对象_强度%, CurTough);
( ]1 h# L. O+ h8 s魔力私服,最新魔力宝贝私服技术交流                Char.SetData(PetIndex, %对象_速度%, CurQuick);
, {# A: y$ n' P; W                Char.SetData(PetIndex, %对象_魔法%, CurMagic);
/ A9 J1 g1 k0 W0 w0 O3 k( _魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
0 N) |6 ^: I7 l9 d) `魔力私服,最新魔力宝贝私服技术交流        else 妖城在线论坛7 s; K, w( A- s
        endbbs.mocwww.com& E6 _: q6 `2 Q

( ?! N" p. V- U* {. ~魔力私服,最新魔力宝贝私服技术交流        return ;bbs.mocwww.com" G* M0 B) h( [3 c. T8 U
end
  |! [5 |4 I' l: o/ `bbs.mocwww.combbs.mocwww.com: ^* F6 k# Q# R6 M" C" j1 x7 Q
[ 本帖最后由 法兰CD兔 于 2018-11-14 22:13 编辑 ]
作者: 毛毛虫    时间: 2018-11-14 22:37

托管到框架了么?upchar一下?
作者: 法兰CD兔    时间: 2018-11-14 22:47     标题: 回复 沙发 的帖子

if (M__PetMake == nil) then
% k( s0 Z( F# T, ~                M__PetMake = NL.CreateNpc("./data/lua/test/PetMake.lua", "PetMake_Init");魔力私服,最新魔力宝贝私服技术交流2 P% N+ ]( X4 |4 A1 i
                NLG.UpChar(M__PetMake);魔力私服,最新魔力宝贝私服技术交流% }3 U+ \4 H7 j
        end
( c+ `# b7 H" {' a
6 w* W! P8 f- G1 r. T% ~魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表是这个吗?init里面的,写了的魔力私服,最新魔力宝贝私服技术交流0 K. W9 A. {- [$ V$ y
而且我之前没写  P1 H, O2 m- C! n- N
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表4 J" K' J1 y- J* q0 h( ~
                local CurVital = ( Pet.FullArtRank(PetIndex, 0) + 2 ) * 0.21;—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート8 V# k! V: {$ S, d7 U* ?% l+ Z: W
                local CurStr = ( Pet.FullArtRank(PetIndex, 1) + 2 ) * 0.21;( M( c/ F$ r6 z' a/ X- f
                local CurTough = ( Pet.FullArtRank(PetIndex, 2) + 2 ) * 0.21;
( o2 Y! p$ Z# D, |9 a—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                local CurQuick = ( Pet.FullArtRank(PetIndex, 3) + 2 ) * 0.21;
2 C* w/ ^3 A1 d魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local CurMagic = ( Pet.FullArtRank(PetIndex, 4) + 2 ) * 0.21;        
6 f% R$ g  T9 f! g        —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% b9 U. n* n+ s
                Char.SetData(PetIndex, %对象_体力%, CurVital);
3 G/ v7 a( f, m' d$ e魔力私服,最新魔力宝贝私服技术交流                Char.SetData(PetIndex, %对象_力量%, CurStr);
$ _. L, b/ `- ]/ @1 Z                Char.SetData(PetIndex, %对象_强度%, CurTough);
' _( C! U: @9 o" a1 h6 M+ h3 }/ N—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                Char.SetData(PetIndex, %对象_速度%, CurQuick);
4 k, B# y& o. {! a                Char.SetData(PetIndex, %对象_魔法%, CurMagic);魔力私服,最新魔力宝贝私服技术交流$ G5 H1 y0 Z/ s0 E3 D  J) C: ]

4 e& C- o5 x) k3 X+ v魔力私服,最新魔力宝贝私服技术交流这一段的时候,npc是有的
作者: 毛毛虫    时间: 2018-11-15 09:14

不明真相~~NPC在过程中消失么?
作者: 法兰CD兔    时间: 2018-11-15 09:52     标题: 回复 地板 的帖子

不是滴,就是重启服务器,这个npc就不会在地图中出现,我把最后加的代码删掉,再重启服务器,npc就又出现了,所以我猜测是
& K/ q$ T4 ~( J魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                Char.SetData(PetIndex, %对象_体力%, ( Pet.GetArtRank(PetIndex, 0) + 2 ) * 0.21);魔力私服,最新魔力宝贝私服技术交流8 s/ a, Q% q: X' J  i
                Char.SetData(PetIndex, %对象_力量%, ( Pet.GetArtRank(PetIndex, 1) + 2 ) * 0.21);bbs.mocwww.com5 |! [: Z( U$ P6 g
                Char.SetData(PetIndex, %对象_强度%, ( Pet.GetArtRank(PetIndex, 2) + 2 ) * 0.21);—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート$ A9 ^% u# q, [
                Char.SetData(PetIndex, %对象_速度%, ( Pet.GetArtRank(PetIndex, 3) + 2 ) * 0.21);妖城在线论坛, w% Y5 @/ o/ b, c
                Char.SetData(PetIndex, %对象_魔法%, ( Pet.GetArtRank(PetIndex, 4) + 2 ) * 0.21);
0 ~9 c* J/ p/ e: g2 S+ J. n; mbbs.mocwww.com这一段代码出错
3 k# n% }2 K4 Mbbs.mocwww.com魔力私服,最新魔力宝贝私服技术交流) y% d; P+ z8 I  ?& B
可是想了半天也觉得没问题……
+ N1 O, ?0 W9 @7 I" {6 y5 G—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート: h# g* `% r  P" B
[ 本帖最后由 法兰CD兔 于 2018-11-15 10:42 编辑 ]
作者: 法兰CD兔    时间: 2018-11-15 10:42

纠正一下,都应该是*21,不是*0.21
作者: 法兰CD兔    时间: 2018-11-15 10:57

自己琢磨明白了……
作者: wangjun1127    时间: 2018-11-17 01:01

哪里问题啊???分享出来哈!!
作者: 法兰CD兔    时间: 2018-11-18 09:54     标题: 回复 8楼 的帖子

还不完善,Char.SetData(PetIndex, %对象_体力%, ( Pet.GetArtRank(PetIndex, 0) + 2 ) * 21);7 L3 u+ l6 a( @4 N
这里的21应该是他的初始bp,比如一般的宠物是20,小使魔是30,但我还没研究出来怎么根据宠物的指针读取它的enemy编号,然后读取数据库里的这个数据,还有包括怎么选择宠物,不是仅仅改第一栏,等我研究完了再说吧
- P  M& C6 Z7 y( G2 p—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート, D. Y  ^6 n, T4 w; b  G1 G
而且退一万步说,这个东西真的没啥技术含量,发出来太献丑了
作者: orochi0531    时间: 2018-11-18 17:41

我有制作过自定义档次的,想几档就几档,全部自己决定,不过,我忘了放哪里了。
作者: 法兰CD兔    时间: 2018-11-18 22:37     标题: 回复 10楼 的帖子

大佬牛X,这玩意儿自己研究挺有意思的,我再研究研究,也搞成这样的
作者: 老鸟十三    时间: 2020-2-15 11:32

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




欢迎光临 妖城在线论坛 (http://bbs.mocwww.com/) Powered by Discuz! 6.0.0