飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:22
标题: 给npc名字换个颜色
**************************. V, W6 z+ ~8 p/ ?( x  @

$ h" y! ^* S* EMover.h
% {5 ~; ]) u0 g% N- s( ]+ v) X( i
- C8 B( e& n# R2 y2 U9 J**************************) w* s) g: I5 Z) b- Z

, x/ n# x& ~8 l1 o1 y' r3 @' R7 D搜索: BOOL   IsPeaceful()这个函数: o5 y) F9 e5 ]9 V& I( Q
/ D+ U! o* g0 D( S; Y$ Y
修改为:. S  C- K& H  B* t2 h
* _: p/ \( B8 i' F2 }' Z
BOOL   IsPeaceful() % `! G) r# L: O. l2 m4 Y2 ?4 o* J
{
. F2 G, E3 G, m: D2 E% C5 e3 F  if(m_dwBelligerence == BELLI_PEACEFUL)
% w& H4 q' ]: b   return 1; 8 T9 k% ?( Q* k( P5 f
  if(m_dwBelligerence == BELLI_PEACEFUL_R)
* ^1 Z; P2 E& z7 }) ]$ L   return 2;
( ]. O8 o$ T- a3 f, v: e# W& s  return 0;
8 v% q9 c2 D5 p" Q4 j) b, k% {/ l; y  ]: h% G3 F1 \- ]
}
3 c% ~; a& I5 v9 D) l+ i+ k. U9 p9 ^' v
其中:BELLI_PEACEFUL_R为自定义的npc状态,也可以使用已存在的。
4 N, K" ], H/ h0 l3 W
3 p8 p" p: E6 N  v5 T+ o+ o1 I0 i****************************3 N8 C3 o* m3 k, \+ [8 ~5 }
- C* r; ?, e! B) ~- n% w
MoverRender.cpp
, A8 H  K( O) l  X$ e
0 F0 X0 R0 `9 _1 H& [  {*****************************
- C" {7 i  z; M/ Y
  z4 ~+ s" T3 i  y$ U9 n9 i' m搜索:if( IsPeaceful() )# _5 n9 F0 w3 Z3 ]) a

" o  o' P2 \1 l5 A0 t修改为:
( ?, C; @; j6 H5 K* U2 q' R8 t6 J  G8 Y! U% X
   if( IsPeaceful() )
- r9 }7 J- Z5 i& v   {
: I0 k: C+ X5 i. l    switch(IsPeaceful()); @* L0 s6 z$ g) {0 B& D( x  _
    {
8 V4 Z& ]; P& P     case 1:
0 S4 V- `  q1 t  O# o$ r3 b       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_NPC, szName );//默认的显示
3 R4 q. |5 Z& A+ \1 H# o; n       break;* ?& m" r2 n" c! g- t: |
     case 2:& a0 z/ s& l' {; ~2 o6 D
       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );//红色npc名称显示: d5 K) w3 Z1 H1 Y, E4 v5 R
       break;
- V7 L. D$ u1 x4 e/ E    }
1 m3 `3 e# B9 L: t+ t1 t0 `/ R! r   }
7 F- l1 e3 s# I1 A* L' I. U   else
6 l9 [- y1 z7 Y0 u( }   {7 D/ I9 p6 n; o5 o3 g8 o
    if( m_bActiveAttack ) // 急傍 阁胶磐绰 濒糊芭赴促.
+ F# ~, y" F. o. \    {
$ h5 y4 B  D/ H$ G# }     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );      
/ P8 h% S, u7 [9 c5 N0 D8 Z! [    } else ! H0 p3 \$ m* c9 [
    {
) A' O" D% c, [" o     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_MONSTER, szName );# I; p! T3 ^2 U/ y2 [- s" Q
    }
, D! Q" ?3 S& p! J3 s! c2 i% e3 l& p/ s! }+ F  O) P
使用地图编辑器将npc的状态设置为BELLI_PEACEFUL_R,编译并更新即可。
! s9 j' \& d- A5 m( R
- H( J4 c/ d9 M' `1 |8 ^" q* K* P7 m自定义多个状态即可实现多种颜色的显示。8 h- i! G. A/ V
* C' d- `# T9 L4 D0 T3 M

9 D' k$ |2 A; g3 A  Z  a  V




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