飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:22
标题: 给npc名字换个颜色
**************************0 x' {3 P7 ?" h" |

+ a5 @4 Y' w0 k) Y. P# bMover.h1 c# r0 w/ Q, r6 F; U3 U; O
) y0 h8 |  e3 k8 |; d( l/ I7 z
**************************
# f8 f& x( p2 t! X+ o" t
" @, }' X+ t. {# M1 H2 z4 a搜索: BOOL   IsPeaceful()这个函数
; v, Z7 q+ [. ^0 m, m  p- ?% N2 q& y2 }% y" n% N
修改为:
- o4 U+ a6 E8 D( b; \! u1 g$ t: D' g$ a1 |& l* @
BOOL   IsPeaceful()
1 u% \' U" r/ _: g+ {, t" t' X+ ]! M' s/ f { 9 A- L1 G" a2 J8 z# K$ U
  if(m_dwBelligerence == BELLI_PEACEFUL)
6 x/ k) R8 P6 V2 b: x2 Y$ U+ x   return 1; ' W1 d- h1 M8 Z. U  r* X7 e  s! F5 Y
  if(m_dwBelligerence == BELLI_PEACEFUL_R)
$ b/ ~, l: V: w6 v0 ~* h- F! T   return 2;: e" M5 Z( s9 q
  return 0;
4 Q( _8 F% S# f# r
9 Y: D. z# `" L7 H4 ?/ e$ a" w }
( \& C" D/ l) r- H: ?9 w5 ?7 G( W1 [* ]4 i; N5 F* L
其中:BELLI_PEACEFUL_R为自定义的npc状态,也可以使用已存在的。2 d: ]$ H. W7 n* h# x3 K, a

$ L; |7 [. M: F% R1 L9 T****************************8 t( n+ y: F6 Y) R5 F1 i
; v) @' k$ v2 w; g6 m" x
MoverRender.cpp  u" r4 h# V" {* r

7 S# S: C1 p+ X8 ^' O! H. V*****************************
& }. V. r, A9 K
6 x7 M) e! F2 J  H搜索:if( IsPeaceful() )4 b. f, u& K9 t9 r
8 \* H$ u+ q+ }/ {' x
修改为:
# I6 }7 @6 o# O$ m5 |/ V+ q
* z7 j) I7 i. n8 n   if( IsPeaceful() )
! ]3 }. l) t9 w; l2 [2 N   {
: K% z% ]* n* T4 l+ F    switch(IsPeaceful())) u& {; A2 B0 q+ k; B( B, P: t! v3 ?
    {" Y8 }, R% ]' a# ?3 s0 r8 F
     case 1:
( B. [6 \8 k0 d' {2 U       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_NPC, szName );//默认的显示
$ g2 Y" {( D% f6 w, t2 N) ~       break;7 d( E2 `5 a- {8 f! n* k( T" x
     case 2:
0 o8 j$ S2 |! v: T# B       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );//红色npc名称显示. J/ u5 g# S$ t9 h0 V
       break;6 W$ @6 n$ H# M- D5 _
    }
1 C& G( a) B/ q. J+ R7 z   }
3 x+ O3 i9 G' f: d( t2 @" B& `   else$ E# B4 ~: |6 A4 j5 r6 \% r
   {8 k2 d% V* E; @7 Y" Y, B) {
    if( m_bActiveAttack ) // 急傍 阁胶磐绰 濒糊芭赴促.
" h  X! I2 d1 q5 {; D    {% H) }3 |: g& U0 o: \9 b
     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );      
9 l1 A, y( k9 R9 D    } else $ \7 B* ~  v- u9 P7 |0 b
    {1 U( k# G: n7 U* M: n6 l
     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_MONSTER, szName );
7 R1 p# O+ I$ s9 s$ Y8 j7 ]    }+ f9 K# q7 k* _: |( X9 ]

/ I& _: O  |, O( i5 O. S! {' q  B使用地图编辑器将npc的状态设置为BELLI_PEACEFUL_R,编译并更新即可。
/ ]4 G7 t( y; M% \6 V% a3 }" I; K. H# i2 K2 y# _" O2 f( S
自定义多个状态即可实现多种颜色的显示。0 B, D8 {0 Z8 I$ k+ z

; @- K6 [# n$ m5 _/ U) c% L) c





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