飞飞世界论坛

标题: 给npc名字换个颜色 [打印本页]

作者: admin    时间: 2016-1-10 03:22
标题: 给npc名字换个颜色
**************************, v: I+ I/ r0 d5 F
" Z: P( p$ @- ^! ]) m- V
Mover.h" O  p5 G1 u. k! D/ b& l
1 x! V5 H: Z0 f+ A8 M7 L
**************************
, g( c1 O% l* w( [4 p% c0 ~. ?1 c
搜索: BOOL   IsPeaceful()这个函数
; _8 N5 f) Q. D5 q5 G+ e# m9 I% A! B( ]9 o$ f4 ]+ [
修改为:& A2 v% U  x9 e. `

. B7 Y( m; j5 {% ` BOOL   IsPeaceful()
) M1 e& h9 h. ]( D& q {
7 t) N/ O' M% G: @+ ~" F  if(m_dwBelligerence == BELLI_PEACEFUL)
; b" g  E+ Y; A( R. K; p' t   return 1; # w- {% y. X6 _$ ~( A
  if(m_dwBelligerence == BELLI_PEACEFUL_R)
( ^5 O# Y# l* P, v& [) F   return 2;3 _  ]. {( N0 Z
  return 0;% ?6 I: Z& ]6 R- C' t% ]

0 l1 [& p0 `3 E }- J" q: ^: i9 R+ x& M/ L
4 ?. E- A: q. R
其中:BELLI_PEACEFUL_R为自定义的npc状态,也可以使用已存在的。' J: C- M5 r! O) m0 m  e; }

) t  @- ~8 X( O% R/ E! B****************************
( K) i" b9 h) `& U, k: Q& _' n+ O5 D5 d" N
MoverRender.cpp
, `# h4 A1 f5 l) v  I8 k
, T" S! R* S& {2 X2 K; B*****************************2 y: ^; H, M; |3 x7 h$ G

% a# O  k5 u1 P2 Q3 J% ~搜索:if( IsPeaceful() ); o! F/ [# R. f1 f# \
/ C% {- M) c  o7 F  [$ N6 J
修改为:
; ?% k' s2 A: O! U7 {% k" T* }: ?2 p
   if( IsPeaceful() )# ~8 J2 R- y3 s
   {
# S! f; z; M% x& W% ^5 ?    switch(IsPeaceful())
# @; P0 l: \1 l9 T( i$ I2 v- A    {
" n; n2 j6 h0 }7 H- R     case 1:. M  [: e) `/ }  X
       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_NPC, szName );//默认的显示
& |/ t+ ~; A- y! l" X       break;
7 e& D% ?$ O* [" r, R% S8 e     case 2:2 ]$ N7 h" s3 J3 ~
       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );//红色npc名称显示
, P" j; v% F- B. L$ X6 w& E1 A' S       break;
, ~4 |! r2 J1 v* w/ J1 x    }+ b+ o; Q1 }6 z) `3 }/ K; N1 [
   }! `. l6 L/ s1 j2 o8 G, O1 {0 [
   else4 Q0 B6 I) K7 V
   {' S$ v/ Q3 I" s$ J+ e2 {" m  N
    if( m_bActiveAttack ) // 急傍 阁胶磐绰 濒糊芭赴促.% K/ l# t$ r4 s' {5 l
    {
. i1 [/ v! J3 I7 O! a, G     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );      
4 T5 e; @2 q' d2 w0 o    } else
# a$ D( K8 N+ W7 k" D- x$ j$ ?    {7 ]* Q, P& e/ p1 y
     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_MONSTER, szName );
% a( G& f! L0 e0 u7 H3 X8 J    }+ w, T7 J" Q/ G! g

/ m7 y! n- z5 f6 f2 x* ?( i/ L使用地图编辑器将npc的状态设置为BELLI_PEACEFUL_R,编译并更新即可。
, Z. G$ R0 E: T, Y! n
5 c( X: R: Z& H- l3 ~$ X自定义多个状态即可实现多种颜色的显示。1 x. Y- v( \, n7 ^
9 y2 [$ ?8 |# M' p

( n) Y9 `% [4 p, J( k4 V6 Y




欢迎光临 飞飞世界论坛 (http://ffwold.com/) Powered by Discuz! X3.2