飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:22
标题: 给npc名字换个颜色
**************************
$ E/ g) e: U/ C4 a* X/ N' V  T' c+ {: c' u
Mover.h
+ V+ l6 O+ @! @* j% W& f% T7 K- J/ d& u* Z: S
**************************9 X# B" V1 z/ z# q+ z

7 O1 B- B# q1 c" s. ]2 I# B搜索: BOOL   IsPeaceful()这个函数
: l8 A- P+ O+ W" U$ [" Z  C" ?5 Z) o  h/ A+ e2 v
修改为:7 b. D8 A" g6 g
, a9 U3 U! _* ~5 A
BOOL   IsPeaceful()
, }/ O  |* E! _; r {
( u1 n8 ~. U/ P* n* o0 R  if(m_dwBelligerence == BELLI_PEACEFUL)2 h/ i, k+ `. Q0 Z2 v
   return 1;
& W1 A3 O8 B! h  d$ p; h  if(m_dwBelligerence == BELLI_PEACEFUL_R). D! v5 X# i  |( W# d" }' t
   return 2;% o. o4 p9 V2 U6 h% \
  return 0;4 t& ]0 B1 J2 Y$ D! Z$ X" g: Z

* V  z; i% |$ K3 w0 ~! V- T }8 J6 j- K& V+ E& o

9 t1 W9 h  H5 y$ p& W其中:BELLI_PEACEFUL_R为自定义的npc状态,也可以使用已存在的。7 B+ n2 M- M( k
/ w9 P& C& n. t0 }" K3 @
****************************
( w( ^- T* y9 Y9 f$ E* Z% n# Z6 y" D+ A( S1 f
MoverRender.cpp
* i. X0 L+ H& x$ X( E
9 r/ i5 B1 s# d*****************************
- T4 e& K' C, A3 x
7 x0 ^/ Y5 E& t搜索:if( IsPeaceful() )5 I5 T: V* k6 ~7 C5 n: i- R8 m# W
  [0 S4 B3 H6 d/ n, j0 w7 y
修改为:
7 u  P2 i* ?5 u7 Q# o
' Q1 w  }; ^+ b   if( IsPeaceful() )" }! @; e- ~4 c7 z8 p) {3 j; \+ O
   {$ n. ^6 g' p4 u# r3 P! l* s" i
    switch(IsPeaceful()), j$ Q, q% c; V/ c/ N' s( l( X
    {. H* }: w$ a* M; Q3 `+ J
     case 1:
" r- x9 `$ j; m       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_NPC, szName );//默认的显示
5 j7 B! x, Z% r: a' {+ r2 A! K       break;* G$ L: M! c0 H  E! z1 O9 y- I
     case 2:7 K: g% J( F' k0 k4 O& b
       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );//红色npc名称显示7 b3 R5 y. J% z3 m, c
       break;
' u; Z; G1 W: v! c) U8 B0 e9 l) ~4 S    }
% Z* y! T* o" {9 P. \. D   }
9 |  @, Z8 ?) f" b0 x& C" Q   else1 S; R% p! C8 v* L
   {
" L5 V! U' ~) l$ c( i$ K% B    if( m_bActiveAttack ) // 急傍 阁胶磐绰 濒糊芭赴促.
+ A, f) S1 x0 x3 |  h    {
  Y6 D3 s; t/ ?- u3 P# h# e& b     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );      ) M- l; H0 u, J* k5 k2 X
    } else 6 N) c$ \7 E6 c8 r" W% K" g
    {! \9 O! ^2 B: B1 n2 H- C* x4 @/ G* P) E
     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_MONSTER, szName );
  T: j" b0 h; q3 R" D/ X    }
4 \/ f4 x0 q2 |1 M+ c* \5 ?# x: L+ n
使用地图编辑器将npc的状态设置为BELLI_PEACEFUL_R,编译并更新即可。3 ^2 f, q+ X1 X+ X! R5 T
+ q+ n/ r: o8 K+ i) Q2 p
自定义多个状态即可实现多种颜色的显示。
+ K% l( S" ?$ E9 M2 {: r. r3 Y  H* W/ d

* T. y: _9 u/ F: I% R




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