Board logo

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

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

如下,这是我写的一个简单的制造满档宠物的npc
. G. M8 j6 y) t; k—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* S& e# u1 z$ Z1 K9 K- B) @
目的在于把宠物栏第1栏的1级宠物改成满档
& g" _: V4 ]- G) v1 Y4 j& J! Q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート具体的非1级宠物错误判定、随机档分配什么的就先暂时略去不表,还有以后再考虑添加选择改哪个宠物啥的( C. P3 i5 r- [( V- K

& o( |# N! k6 O+ ^2 e现在最大的问题在于为什么我这么做完以后,创建不出npc呢?
( V7 X6 @1 P+ _% C; C/ q魔力私服,最新魔力宝贝私服技术交流init已经做了,最开始没有改宠物bp那一段,只有改档数的时候是能创建出来的,也能成功修改宠物的档数,但加了改bp的那一部分后,就没有npc被创建出来了,求助
* H8 w& `& U* s0 x
. U; }5 f; D, y# I6 c魔力私服,最新魔力宝贝私服技术交流function PetMake_Init( _MePtr )魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表, Q6 z/ n* v5 A) a" A- {) C+ `" t
2 ], J; d# P# }# c; Y, v# B! Z
        Char.SetData(_MePtr, %对像_形象%, 101025);    --%对像_形象%
9 U' ^: |) G' m/ V% J) ]% f9 p魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表        Char.SetData(_MePtr, %对像_原形%, 101025);    --%对像_原形%魔力私服,最新魔力宝贝私服技术交流" L, w7 @. @: \4 x, }( W
        Char.SetData(_MePtr, %对像_地图类型%, 0);     --%对像_地图类型%魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表2 A$ n# u/ e/ u4 h7 G4 l9 Y2 g
        Char.SetData(_MePtr, %对像_地图%, 25000);      --%对像_地图%
" W. F2 F& J  ~bbs.mocwww.com        Char.SetData(_MePtr, %对像_X%, 23);          --%对像_X%
0 }) O, r; b4 _* u妖城在线论坛        Char.SetData(_MePtr, %对像_Y%, 15);           --%对像_Y%魔力私服,最新魔力宝贝私服技术交流0 N: Q9 Y- \/ G  I9 Q& }' P0 E' O
        Char.SetData(_MePtr, %对像_方向%, %左下%);    --%对像_方向%, %左下%
) W* y& M! [9 X3 S7 u  `+ y! ~( I        Char.SetData(_MePtr, %对像_原名%, "宠物满档制造者");    --%对像_原名%
3 I: C( x( X. X4 J3 q魔力私服,最新魔力宝贝私服技术交流—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 Q7 N# x+ j, r" k' j+ M1 {
        魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表2 P) D! N% k: g9 K$ V; w
        if (Char.SetTalkedEvent(nil, "PetMake_Talked", _MePtr) < 0) then
; L1 B+ \5 ?, L) c+ W魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                print("PetMake_Talked 注册事件失败。");
% z, @9 w  H* s/ p魔力私服,最新魔力宝贝私服技术交流                return false;—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% z- q3 z4 I" m+ L; d$ F
        end
  J" g" J% _( k; [% u5 ^魔力私服,最新魔力宝贝私服技术交流        魔力私服,最新魔力宝贝私服技术交流0 l3 ~9 n8 M& y' m  O; X; g0 r
        return true;
+ [  l( F" J: [1 {+ @( g. d5 R+ H魔力私服,最新魔力宝贝私服技术交流end—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 b  L* ^: z3 M1 O7 S2 O- t$ d
魔力私服,最新魔力宝贝私服技术交流! W& g" ~# ^# \3 `- u* x7 P9 c6 ~
function PetMake_Talked( _MePtr, _TalkPtr)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表8 \. j6 z- k* C/ L1 i9 c2 i  t

/ q" `; n; I  _! p7 C! x* @" fbbs.mocwww.com        if(NLG.CheckInFront(_TalkPtr, _MePtr, 1) == false) then妖城在线论坛( R4 P, g+ t/ L, p
                return ;
) c7 p! W2 I: A- q3 ~魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表        end
9 @  |3 s3 H8 e* O/ r) ?bbs.mocwww.com       
; e! h6 J  ?3 O妖城在线论坛        local PetIndex = Char.GetPetIndex(_TalkPtr, 0);魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% _/ A4 G  [2 `
        if (PetIndex>0) then
. g, h: E- b+ M- w; l4 o4 ^% D- |魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                for t = 0,4 do; a4 A! p" ^$ ~9 b. H. }1 ?1 o
                        Pet.SetArtRank(PetIndex, t, Pet.FullArtRank(PetIndex, t));
$ a# v, `! Y8 p—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                end        魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表' K) p3 ^7 g# i! G: a# n+ L- V
                       
2 c4 b2 A. h4 t' g! `2 {- ?魔力私服,最新魔力宝贝私服技术交流                local CurVital = ( Pet.FullArtRank(PetIndex, 0) + 2 ) * 0.21;
0 Z8 R, O  C& }( p魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local CurStr = ( Pet.FullArtRank(PetIndex, 1) + 2 ) * 0.21;
5 g# _1 ?- ?$ K* b% _& bbbs.mocwww.com                local CurTough = ( Pet.FullArtRank(PetIndex, 2) + 2 ) * 0.21;
9 N2 [. u8 y% @8 a' S. Fbbs.mocwww.com                local CurQuick = ( Pet.FullArtRank(PetIndex, 3) + 2 ) * 0.21;
2 \1 y/ P* H3 t魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local CurMagic = ( Pet.FullArtRank(PetIndex, 4) + 2 ) * 0.21;        % }1 ?6 P4 k; x3 S2 k% G
       
1 r5 \0 |! e& i6 ~8 {' v3 \! Y                Char.SetData(PetIndex, %对象_体力%, CurVital);
+ d4 x5 |5 e$ J—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                Char.SetData(PetIndex, %对象_力量%, CurStr);
# G/ i, _5 ]: K+ r6 C9 Ebbs.mocwww.com                Char.SetData(PetIndex, %对象_强度%, CurTough);
$ i$ a; f" m+ n. S1 t—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート                Char.SetData(PetIndex, %对象_速度%, CurQuick);
5 W- j: j! K8 A0 u. [                Char.SetData(PetIndex, %对象_魔法%, CurMagic);
% M* W% s1 a% D( a- `3 _—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
7 X7 S( [6 f4 j, L8 P: z0 ^—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        else 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: n9 \) A) K9 ]
        end
* f. J% c0 @! A% z! U! hbbs.mocwww.com—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート; i; T  J" V2 u
        return ;—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ s; P3 v: o6 a* O4 k( i
end
) l& H( C0 J3 T8 X4 D4 L# _bbs.mocwww.com魔力私服,最新魔力宝贝私服技术交流/ u1 e# {9 S% P4 o8 W" s5 O
[ 本帖最后由 法兰CD兔 于 2018-11-14 22:13 编辑 ]
作者: 毛毛虫    时间: 2018-11-14 22:37

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

if (M__PetMake == nil) then
, O& b% y3 W% S3 r' N9 J% ]魔力私服,最新魔力宝贝私服技术交流                M__PetMake = NL.CreateNpc("./data/lua/test/PetMake.lua", "PetMake_Init");bbs.mocwww.com; c* e: C3 [: A/ ^& k! g9 s
                NLG.UpChar(M__PetMake);
& @$ ^: T3 ?7 U  h—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        end魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* [! v& ~; y6 m
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート; p' f: B' v8 B% f9 {" U
是这个吗?init里面的,写了的魔力私服,最新魔力宝贝私服技术交流7 j& z+ g/ H3 r7 U; I7 v# }
而且我之前没写
' P4 C5 m0 e1 a5 ~/ l# W5 F% {1 y/ B7 b7 ]9 O
                local CurVital = ( Pet.FullArtRank(PetIndex, 0) + 2 ) * 0.21;bbs.mocwww.com- r$ o3 m3 |1 p8 ~4 J
                local CurStr = ( Pet.FullArtRank(PetIndex, 1) + 2 ) * 0.21;魔力私服,最新魔力宝贝私服技术交流8 g. M; ]5 U1 X, m2 }2 G% Y
                local CurTough = ( Pet.FullArtRank(PetIndex, 2) + 2 ) * 0.21;
0 u/ B& r- x6 k' U2 z8 A魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local CurQuick = ( Pet.FullArtRank(PetIndex, 3) + 2 ) * 0.21;魔力私服,最新魔力宝贝私服技术交流/ f. I) T- W0 V7 F- }, Z) m# i( w
                local CurMagic = ( Pet.FullArtRank(PetIndex, 4) + 2 ) * 0.21;        
9 O; f5 @$ K0 f4 c& b# O        
( Z! K) X" L/ J7 y+ g! N魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                Char.SetData(PetIndex, %对象_体力%, CurVital);bbs.mocwww.com$ Z* q. b; R8 C! M' P5 z$ _3 b
                Char.SetData(PetIndex, %对象_力量%, CurStr);" B3 I# V% n8 _
                Char.SetData(PetIndex, %对象_强度%, CurTough);
8 f- x& J. o- Y" |  t1 R; Wbbs.mocwww.com                Char.SetData(PetIndex, %对象_速度%, CurQuick);—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% z6 T( }5 C, c# ]9 x
                Char.SetData(PetIndex, %对象_魔法%, CurMagic);
* x4 ?8 K- P. N2 x. h' K+ D魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表魔力私服,最新魔力宝贝私服技术交流. j' D  \- ]. K7 F8 k
这一段的时候,npc是有的
作者: 毛毛虫    时间: 2018-11-15 09:14

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

不是滴,就是重启服务器,这个npc就不会在地图中出现,我把最后加的代码删掉,再重启服务器,npc就又出现了,所以我猜测是魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表- H* T& w9 u) Q
                Char.SetData(PetIndex, %对象_体力%, ( Pet.GetArtRank(PetIndex, 0) + 2 ) * 0.21);
* y  [! |5 y  s/ o* B7 r0 V魔力私服,最新魔力宝贝私服技术交流                Char.SetData(PetIndex, %对象_力量%, ( Pet.GetArtRank(PetIndex, 1) + 2 ) * 0.21);( j  o. A0 _3 w5 ~3 `1 k; c" x; x- J
                Char.SetData(PetIndex, %对象_强度%, ( Pet.GetArtRank(PetIndex, 2) + 2 ) * 0.21);
! K' b/ x6 M1 M) H! [1 J  jbbs.mocwww.com                Char.SetData(PetIndex, %对象_速度%, ( Pet.GetArtRank(PetIndex, 3) + 2 ) * 0.21);妖城在线论坛9 r. N. ^% j8 e4 W7 Q
                Char.SetData(PetIndex, %对象_魔法%, ( Pet.GetArtRank(PetIndex, 4) + 2 ) * 0.21);( {" i$ H% |1 o( w: i
这一段代码出错妖城在线论坛5 X: u: M: c. M. O

) n+ q: ?* m9 L* b% o* Jbbs.mocwww.com可是想了半天也觉得没问题……
7 j$ ^  x  k+ e; Y5 @6 j" T4 vbbs.mocwww.com
1 U- J/ ]4 F- u* k—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート[ 本帖最后由 法兰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);
! y9 K  O1 K6 j2 {2 f" E; z这里的21应该是他的初始bp,比如一般的宠物是20,小使魔是30,但我还没研究出来怎么根据宠物的指针读取它的enemy编号,然后读取数据库里的这个数据,还有包括怎么选择宠物,不是仅仅改第一栏,等我研究完了再说吧
, n% v3 }' N, c妖城在线论坛" o6 P6 n2 I; V4 N/ U
而且退一万步说,这个东西真的没啥技术含量,发出来太献丑了
作者: 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