发新话题
打印

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

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

如下,这是我写的一个简单的制造满档宠物的npc魔力私服,最新魔力宝贝私服技术交流3 f/ q5 [: k) ]5 A2 ]

) ?- D/ i2 V* s; {: ^5 _, w$ c4 O目的在于把宠物栏第1栏的1级宠物改成满档
* t# s6 `) p7 N4 \具体的非1级宠物错误判定、随机档分配什么的就先暂时略去不表,还有以后再考虑添加选择改哪个宠物啥的
  w6 n2 J1 a$ e' l# n+ t魔力私服,最新魔力宝贝私服技术交流. q: n4 z- ?( S
现在最大的问题在于为什么我这么做完以后,创建不出npc呢?
+ g( b- ^7 K3 y4 E' m, v7 }/ D魔力私服,最新魔力宝贝私服技术交流init已经做了,最开始没有改宠物bp那一段,只有改档数的时候是能创建出来的,也能成功修改宠物的档数,但加了改bp的那一部分后,就没有npc被创建出来了,求助% S0 r  s2 R( A& z' b  A
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& o# x# E, W  E% `
function PetMake_Init( _MePtr )
3 C' Z; g, ~, F+ C  {bbs.mocwww.com
: W' R" K! J+ h5 F! n& q$ i妖城在线论坛        Char.SetData(_MePtr, %对像_形象%, 101025);    --%对像_形象%bbs.mocwww.com+ v4 C% F' o/ R2 \3 H
        Char.SetData(_MePtr, %对像_原形%, 101025);    --%对像_原形%
& a/ v% e2 W7 B: M/ o6 qbbs.mocwww.com        Char.SetData(_MePtr, %对像_地图类型%, 0);     --%对像_地图类型%
% [) O$ Y; G9 H6 S& W# }+ O魔力私服,最新魔力宝贝私服技术交流        Char.SetData(_MePtr, %对像_地图%, 25000);      --%对像_地图%—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート  f# D7 g& {3 ]+ A
        Char.SetData(_MePtr, %对像_X%, 23);          --%对像_X%—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2 X" Z2 i' H& z" D7 M
        Char.SetData(_MePtr, %对像_Y%, 15);           --%对像_Y%魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表2 w7 V, s6 `3 J5 |  E/ |- w
        Char.SetData(_MePtr, %对像_方向%, %左下%);    --%对像_方向%, %左下%
. h$ }' j+ V* @8 O—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート        Char.SetData(_MePtr, %对像_原名%, "宠物满档制造者");    --%对像_原名%
, \" x. y* D. o: J* S, {妖城在线论坛魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* h6 o2 ~, ~+ f* G
        bbs.mocwww.com. k" R- U: h/ l/ ~/ }# @) k
        if (Char.SetTalkedEvent(nil, "PetMake_Talked", _MePtr) < 0) then魔力私服,最新魔力宝贝私服技术交流& B4 N% s/ A) U
                print("PetMake_Talked 注册事件失败。");—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 Q/ o4 a$ J* b7 H! B8 F# {
                return false;
: \  L) J& ?; z        end
) x7 p$ _% f7 S% j& v8 }- l2 abbs.mocwww.com       
  K% A$ g8 g- S魔力私服,最新魔力宝贝私服技术交流        return true;
6 g1 }  O5 b& }' i4 W魔力私服,最新魔力宝贝私服技术交流end妖城在线论坛( r' y# J, a  \$ G* `! t3 k) T

: U3 e: R6 z8 f9 Afunction PetMake_Talked( _MePtr, _TalkPtr)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& J& o& z8 K( S6 F

' p0 b$ r& z' |7 p& C4 a魔力私服,最新魔力宝贝私服技术交流        if(NLG.CheckInFront(_TalkPtr, _MePtr, 1) == false) then妖城在线论坛/ K: O' z8 m2 o6 ^7 D
                return ;—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート# }- X: `1 y8 h0 z- G+ X/ Y
        end
9 T. I2 n0 n8 G—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート          Q# E7 F: T1 V. w, y" ~- v3 b  [
        local PetIndex = Char.GetPetIndex(_TalkPtr, 0);魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: F9 T# R' t5 Z. I! K
        if (PetIndex>0) then
2 X" W6 w; g' J9 Z魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                for t = 0,4 dobbs.mocwww.com6 J4 q: I- }% w- `2 T7 b
                        Pet.SetArtRank(PetIndex, t, Pet.FullArtRank(PetIndex, t));魔力私服,最新魔力宝贝私服技术交流$ T4 s/ Q2 ]  J1 f$ D5 P
                end        魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表( B& l0 u" L) y9 G% J2 A
                        魔力私服,最新魔力宝贝私服技术交流, g- S, q6 @' j) C
                local CurVital = ( Pet.FullArtRank(PetIndex, 0) + 2 ) * 0.21;bbs.mocwww.com1 X# x' `& b; F1 Z6 k' d  a4 E
                local CurStr = ( Pet.FullArtRank(PetIndex, 1) + 2 ) * 0.21;妖城在线论坛" B1 v: s5 v% U: t
                local CurTough = ( Pet.FullArtRank(PetIndex, 2) + 2 ) * 0.21;/ f0 [0 _% M' g, j8 V9 ]
                local CurQuick = ( Pet.FullArtRank(PetIndex, 3) + 2 ) * 0.21;bbs.mocwww.com% \: K7 w/ l0 O( r: K6 p
                local CurMagic = ( Pet.FullArtRank(PetIndex, 4) + 2 ) * 0.21;       
9 q5 F' V0 k9 @& H& P+ S; V' c—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート       
  _+ q' d' h4 H3 X( H魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                Char.SetData(PetIndex, %对象_体力%, CurVital);
+ l2 M- g8 y& A, x% k妖城在线论坛                Char.SetData(PetIndex, %对象_力量%, CurStr);—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% C( P8 ?. \+ M4 y5 p& F0 N
                Char.SetData(PetIndex, %对象_强度%, CurTough);—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 E  L9 Z% w5 c
                Char.SetData(PetIndex, %对象_速度%, CurQuick);1 n. _+ h( G5 Z% X5 Q& ^* `4 L
                Char.SetData(PetIndex, %对象_魔法%, CurMagic);
2 ~; H' _! z4 K  \6 @2 m& A7 v9 }: L# s: T魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表bbs.mocwww.com' O- s/ ?, }7 o2 D$ h" R
        else
( m. Q( }- q. D$ _: o妖城在线论坛        end
: p1 U' B# o6 F5 p  i魔力私服,最新魔力宝贝私服技术交流% k4 Z3 v* F4 [0 P4 _/ e
        return ;妖城在线论坛' ]+ @) E9 \" [+ c' }; k' n
end妖城在线论坛( q: t4 g/ Q7 L! n
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート5 ]* D! t: _) O4 y4 G6 i" _; B
[ 本帖最后由 法兰CD兔 于 2018-11-14 22:13 编辑 ]

TOP

回复 沙发 的帖子

if (M__PetMake == nil) then
& w* m2 C( y# o/ C                M__PetMake = NL.CreateNpc("./data/lua/test/PetMake.lua", "PetMake_Init");魔力私服,最新魔力宝贝私服技术交流3 \% O1 Y. }9 D+ C: k
                NLG.UpChar(M__PetMake);
7 w; @8 C1 C9 ]( U魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表        end妖城在线论坛0 x; y  B7 I. K' P6 r: W

% p4 G0 r3 L/ z4 U( G9 [" c—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート是这个吗?init里面的,写了的—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" D8 j9 i0 P0 g, X9 K- B+ ^; v
而且我之前没写魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# G  q3 `( i% B: H: z( ~
( K( z: {: X  [% {( r, S& H- ?
                local CurVital = ( Pet.FullArtRank(PetIndex, 0) + 2 ) * 0.21;魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表" [- M/ }5 f' j& s  W
                local CurStr = ( Pet.FullArtRank(PetIndex, 1) + 2 ) * 0.21;6 e- S3 ?6 l1 z
                local CurTough = ( Pet.FullArtRank(PetIndex, 2) + 2 ) * 0.21;
- k3 S# K/ t* N- `& L7 {魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表                local CurQuick = ( Pet.FullArtRank(PetIndex, 3) + 2 ) * 0.21;bbs.mocwww.com. h  I' N' f; H" \1 w, I" {2 b" m
                local CurMagic = ( Pet.FullArtRank(PetIndex, 4) + 2 ) * 0.21;        魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# _2 p; e0 D" L$ j3 t
        
: d, R  G$ t' T' H9 G                Char.SetData(PetIndex, %对象_体力%, CurVital);—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" g/ ]8 R. \% [
                Char.SetData(PetIndex, %对象_力量%, CurStr);
, Q2 Q: w& Z5 q                Char.SetData(PetIndex, %对象_强度%, CurTough);魔力私服,最新魔力宝贝私服技术交流8 A7 m, m3 k7 r" ?
                Char.SetData(PetIndex, %对象_速度%, CurQuick);
' M! v% W# [  }8 t  Z! P妖城在线论坛                Char.SetData(PetIndex, %对象_魔法%, CurMagic);bbs.mocwww.com- x& U8 h' ~' i8 ~4 r; T
妖城在线论坛) J& B. x  e$ p! f- y
这一段的时候,npc是有的

TOP

回复 地板 的帖子

不是滴,就是重启服务器,这个npc就不会在地图中出现,我把最后加的代码删掉,再重启服务器,npc就又出现了,所以我猜测是
# {. @: Y% v) w4 V- b4 gbbs.mocwww.com                Char.SetData(PetIndex, %对象_体力%, ( Pet.GetArtRank(PetIndex, 0) + 2 ) * 0.21);妖城在线论坛* s8 }0 M2 r. @3 v2 t8 }3 y
                Char.SetData(PetIndex, %对象_力量%, ( Pet.GetArtRank(PetIndex, 1) + 2 ) * 0.21);
8 ?3 j: m' ]1 u6 G2 {7 Q/ D                Char.SetData(PetIndex, %对象_强度%, ( Pet.GetArtRank(PetIndex, 2) + 2 ) * 0.21);bbs.mocwww.com+ Q: y& D: {$ `  k+ I( ]
                Char.SetData(PetIndex, %对象_速度%, ( Pet.GetArtRank(PetIndex, 3) + 2 ) * 0.21);—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート- \" E" j3 h/ `0 `9 y2 x  Q
                Char.SetData(PetIndex, %对象_魔法%, ( Pet.GetArtRank(PetIndex, 4) + 2 ) * 0.21);bbs.mocwww.com/ k& D+ b- O2 B+ v' \' U/ P% y8 v1 j
这一段代码出错魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: b8 c) z" ^5 D/ a
魔力私服,最新魔力宝贝私服技术交流2 K/ f. W7 e( J0 a
可是想了半天也觉得没问题……bbs.mocwww.com' z" g+ |: m1 r, M

# C  G0 p+ K/ W[ 本帖最后由 法兰CD兔 于 2018-11-15 10:42 编辑 ]

TOP

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

TOP

自己琢磨明白了……

TOP

回复 8楼 的帖子

还不完善,Char.SetData(PetIndex, %对象_体力%, ( Pet.GetArtRank(PetIndex, 0) + 2 ) * 21);
+ [- K, V. G8 `魔力私服,最新魔力宝贝私服技术交流这里的21应该是他的初始bp,比如一般的宠物是20,小使魔是30,但我还没研究出来怎么根据宠物的指针读取它的enemy编号,然后读取数据库里的这个数据,还有包括怎么选择宠物,不是仅仅改第一栏,等我研究完了再说吧
- ~9 l3 v" ?  P5 j5 D+ t9 H# X2 ^魔力私服,最新魔力宝贝私服技术交流—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" X5 H& q# w9 g* N2 _: {( V/ v! g
而且退一万步说,这个东西真的没啥技术含量,发出来太献丑了

TOP

回复 10楼 的帖子

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

TOP

发新话题