飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:22
标题: 给npc名字换个颜色
**************************
: K4 z* r2 O3 Z% B8 F/ f* [$ \4 ~6 R, q" M* @2 T
Mover.h
6 w- I- X# g5 _( b
1 t0 Q+ I! s  ^. o2 [9 e3 Q**************************) c. o3 Z' F  g5 V9 G

0 y, p0 o, ^( t. d# ^5 J! Z1 r8 I搜索: BOOL   IsPeaceful()这个函数
& k8 K5 k; O! I7 v! ]
2 M% F' k  G9 N0 m% O修改为:8 E7 J  @1 y/ }' }2 i
& u) A2 h0 [. B# q
BOOL   IsPeaceful() * y+ h7 v/ J! @! w' V& ?
{
7 c- m" H, h7 _# f- s  q  if(m_dwBelligerence == BELLI_PEACEFUL), I8 q. z- g# r7 v3 n
   return 1;
4 M% f2 Q0 r  t$ e  if(m_dwBelligerence == BELLI_PEACEFUL_R)
8 z% O3 C$ j, H3 }6 _7 }   return 2;- q/ z/ {; h$ i$ [' r
  return 0;
" `7 e" U1 j( m$ }2 ], W) M6 _
/ G: L$ u) N! T% R9 l6 h- ]9 O! t9 i }) t0 H  \0 v3 f9 }8 Z/ n8 [

9 @1 I  [2 z" M+ e  k# K其中:BELLI_PEACEFUL_R为自定义的npc状态,也可以使用已存在的。# J' s* ]7 h1 h& G& X
" I3 h4 y4 Y* o( O
****************************7 v7 R6 C3 G3 M( R

+ P1 v8 U, n* W& j  K$ OMoverRender.cpp
, |. `* M9 D  }3 T# ]
: s! i! A  e4 u  D*****************************
' Z$ z& b" U9 M4 l$ O& u, o* }9 q6 }* e2 j+ u; j
搜索:if( IsPeaceful() )/ g5 ^  P. U# c( z  D/ n

, q* w$ D" Q/ s# d9 M* v修改为:
! c: c* F4 L! Q) {0 C: t) G( a
+ l5 F* T( D% b8 I   if( IsPeaceful() )/ L6 o. C; f( H0 F) O
   {
4 X; W( k. d1 s6 Q: [$ K; c# V6 B    switch(IsPeaceful())' {4 h- m1 S+ a3 V5 I
    {
' ^& H& P* B+ _2 e     case 1:
8 _  ~+ e" |6 O& g6 Y3 j       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_NPC, szName );//默认的显示
0 o4 ^: A, g5 C% d# D$ @       break;
" u% d. w/ g; b( s0 k/ c) Z* r     case 2:
# Z/ j- S, A6 V4 A5 a4 F       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );//红色npc名称显示) c  Y& n& L# j1 H
       break;9 W7 R$ S! k+ t  j( o' G: R* _
    }
: r8 M. q2 R1 c& T   }/ O" j" g9 n- R7 e% }
   else
' I- S( d/ {) M   {
- K* ^* `" O3 v* u    if( m_bActiveAttack ) // 急傍 阁胶磐绰 濒糊芭赴促.6 n( }% j: F' |0 Y7 K
    {3 g& h+ J5 o+ s% z
     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );      
& v  _' F! f" d0 o5 }. t    } else
) s' B4 P# }8 P- R+ l; T( Q; l7 P    {
4 j0 v7 @2 h+ D  x! y- a     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_MONSTER, szName );
4 q4 T" ~7 b# y8 g9 ^/ Q    }
" M! w* s8 l/ L( H3 Q' R
/ A* J& Y1 B0 L/ {' z# H使用地图编辑器将npc的状态设置为BELLI_PEACEFUL_R,编译并更新即可。
& c! u& R5 w, V" w4 K7 `) m9 f" ?& N* Q# W
自定义多个状态即可实现多种颜色的显示。% ^8 t' `+ v' D- ^7 s
, w( O: L7 T* S6 c2 G
* H  S$ E. v5 I4 J$ v





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