飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:22
标题: 给npc名字换个颜色
**************************
# g( ^7 D3 X+ H  c  v% Y
/ O# Q+ ~; A- t4 J& n1 f. yMover.h/ q/ p: l; E, b4 A

; V/ Y) G! S9 X) B# j**************************
3 |; u; ?# N# T% X+ `
8 F7 p1 P, t8 q  b+ g7 l搜索: BOOL   IsPeaceful()这个函数+ O1 o$ k) @1 T. h4 h

) D5 F( U6 Y- B. S4 `修改为:5 m" ^( n9 C- ?
. M; F0 Q9 q* B2 |$ A5 A7 J
BOOL   IsPeaceful()
2 e* f7 ]/ [, k; ~1 l0 y0 |7 F1 @ { , ~6 t! o, M1 D0 g' Y; R8 _
  if(m_dwBelligerence == BELLI_PEACEFUL)- U# M3 A6 C5 y: E9 K
   return 1;
5 I! U: }+ }9 g( L0 M( U  if(m_dwBelligerence == BELLI_PEACEFUL_R)
/ a# P3 g9 L: j7 S   return 2;5 ]. O6 v1 a- c- t, ]- ^" A
  return 0;  O- d7 \! V0 I8 t& [0 i

9 ]6 Z: L8 Z: w+ L. z' Z }9 a; M  D# W6 ]

3 C$ C6 K! W6 w, u$ D1 D- h其中:BELLI_PEACEFUL_R为自定义的npc状态,也可以使用已存在的。1 L0 w( U; @2 H& W
0 \9 e: l0 B' E. o
****************************3 K; p/ B& L% y

/ l' k1 p* y1 k/ f% p+ C4 c. uMoverRender.cpp
, o0 J3 y8 \+ U0 ~: y! W- Q
+ S/ o0 F% _: u  p*****************************8 @& x9 V( y6 P

. e. M. T3 y6 \: `  t6 W# @0 \8 p搜索:if( IsPeaceful() )9 G& A- c/ Y" w% N. }& |  K

5 h* C0 j0 M/ i! `7 Z/ R修改为:
+ t! p% ~7 L4 P& c$ P6 O7 {  b* C0 e5 {
   if( IsPeaceful() )
% {2 W  M% T. t7 F# C   {
7 G- e+ Y) b( r: _, G* |    switch(IsPeaceful())
( a7 b+ w2 G6 a6 K- t8 p3 {" ^    {, |0 t2 j: H8 {6 H  U0 ]* F/ n4 e
     case 1:
; D1 W2 I: S( K) o0 c       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_NPC, szName );//默认的显示
8 N/ ]& S8 S% W: _0 z! Q3 e       break;
/ S  m* V5 p; i9 C* c4 w* K* `     case 2:
( \$ i$ I# d* v4 z       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );//红色npc名称显示
9 m0 |/ ~8 C' O: y       break;3 k, \! a) q, @' k! \2 P
    }& o& I% @* {- ^
   }) p) i+ t& b* V$ Z. p5 R
   else
; S; u# {5 a+ u0 Z: b+ C1 Z9 K7 |8 j   {  ^5 i6 Q" N, V* U* G% I9 V$ L, p
    if( m_bActiveAttack ) // 急傍 阁胶磐绰 濒糊芭赴促.' i  y* _+ \, |# l: g) N
    {
3 C0 b: ]- M4 C- S     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );      
% t* ?( B$ ]" l- d: R    } else : |+ R- }0 }: d! i
    {
& \$ q0 i0 P6 |% a* B+ b     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_MONSTER, szName );5 Z# A4 c& a/ b$ ]
    }, }: U+ q4 E* {% V/ F! S
2 \3 k% ?) b, C# p! n
使用地图编辑器将npc的状态设置为BELLI_PEACEFUL_R,编译并更新即可。
+ R6 X1 L! U9 P0 \0 J0 Q
) B% G" ?( I3 Y" ?. u自定义多个状态即可实现多种颜色的显示。
2 B# @5 p% E+ O( i- [, u$ P2 V$ O4 C5 k  o2 O% z

2 l5 l9 [; q" D! |




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