飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:22
标题: 给npc名字换个颜色
**************************
' V: Y/ U& i" Y* E0 d7 `5 d/ d( _, o1 L1 ~( Q
Mover.h# K  r1 y! I; L4 ]6 A  a) ]( C% g
$ \& Y8 j6 D9 ]; e% |+ t
**************************$ s/ [8 _/ V! D- m- t1 Z
8 O) \" Q. v% z# s3 c
搜索: BOOL   IsPeaceful()这个函数
. [  h7 U6 c/ |7 @9 S: `8 I+ |' w
+ _# ^" I9 R& p0 R; S修改为:6 `) U/ V+ _: V& ^! O

1 x$ h4 @. R% J5 p- D BOOL   IsPeaceful() ) T+ L% Q0 Y9 Z1 w/ w+ T( E
{ 9 `0 S) U& Y; B2 x! L1 J
  if(m_dwBelligerence == BELLI_PEACEFUL)
9 V2 j; z& m6 \+ g/ q' w   return 1;
% j( o9 D2 M2 W  H2 z0 i$ y  if(m_dwBelligerence == BELLI_PEACEFUL_R)! i$ a0 t# y, j, r" @8 X
   return 2;1 P+ j' F) p$ I
  return 0;
$ R9 B" [3 ~( v! S# J; |" _# T" t* w" r$ T% ]6 ^4 `0 W( \2 v( _
}
5 G6 _: z7 }0 s* N0 X" ~3 ]3 ^0 d0 T$ z- T% M. }" g; t  f; d
其中:BELLI_PEACEFUL_R为自定义的npc状态,也可以使用已存在的。& d  Q3 g# h. A# G  B4 f' {: B8 U, i
5 p! V1 V/ a* V/ K; ]
****************************
* J, d" j7 }6 a2 I, D: D% A. ^9 H. X! d
MoverRender.cpp+ P7 C$ [, C- e8 w5 |
5 c0 j: n% R. _3 o! ]
*****************************
1 t0 @1 r" A( i+ f/ R* b1 Z7 G- b4 r( A& C$ f' c
搜索:if( IsPeaceful() )5 t' V* R* f' {0 {4 `/ @: E
. j% K2 j% @+ m
修改为:# A' I8 d2 @! b4 w! h+ s& I

6 {  I8 ^' N+ `  H* i   if( IsPeaceful() )
- \. \6 D7 [: V. h5 }5 _9 G   {
/ B8 y; A, f& W2 i# A, l3 ~) h    switch(IsPeaceful())0 f& S! N- w/ J4 a# v3 L
    {" n! a1 ]" X/ Q( L3 f) a
     case 1:
' o& O+ H! K  \6 z$ X       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_NPC, szName );//默认的显示& H. D1 @# e( L" M
       break;
: ?! V: W$ @& W  t3 @' h     case 2:0 S* y/ u/ d, I. r" F" V
       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );//红色npc名称显示
. v% e  _: i; j; z' I       break;, a  [/ d" G& f9 r5 P( w
    }
3 E$ M2 c9 _+ \3 t* @6 Q   }
9 M& D) W3 u) e   else8 T2 ^0 ^! }3 k9 Q
   {
" @; Y! h+ Q( |5 y3 q    if( m_bActiveAttack ) // 急傍 阁胶磐绰 濒糊芭赴促.5 ~( r* J4 Q7 I3 V. x: @' q
    {
1 _7 Q' h) |/ k* x" P, ]     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );      + o! I1 H+ L2 |3 S$ O
    } else - r+ m- W, L7 q
    {  i9 f6 m) M0 d/ v8 v8 Z0 _/ n! d' Z# p
     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_MONSTER, szName );' ]+ F4 S# j3 N5 J# y. V
    }1 a+ V! G+ J. p0 t
$ \; n1 H2 Q% @6 c9 k; A1 y
使用地图编辑器将npc的状态设置为BELLI_PEACEFUL_R,编译并更新即可。; T! s- i; W% k( N9 @4 u: y- q! r/ t
& x5 E% T1 V, Q) ?
自定义多个状态即可实现多种颜色的显示。
. s) u5 ]+ l9 L8 Y- C7 Q6 p/ r4 A8 d8 D2 G7 D* ?/ W

" M7 y. d+ d6 j( q- y+ w1 n




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