飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:22
标题: 给npc名字换个颜色
**************************
5 J& Q7 a: w2 U, @8 ~4 a0 ^
5 n/ l8 D( {# j  ?6 x+ cMover.h
  B+ L( n# `# }5 `$ Q
8 g) d. {- J0 Y& @6 e: C**************************1 H1 z( c( _/ o' j8 g$ N! i

2 Q. ?1 B1 a2 L. ~) {搜索: BOOL   IsPeaceful()这个函数$ x9 z) j9 H' {/ ~

8 v: \( E  F' }4 s# }* s9 B/ x3 S修改为:
% _1 w6 B6 B6 P2 W* O* N8 w2 n  g6 Z+ j5 C8 W, x
BOOL   IsPeaceful() ! S) g5 r& Z# K+ V! v$ O/ t- Z; o
{ ) a2 F6 c# \: k8 r! h0 m5 q
  if(m_dwBelligerence == BELLI_PEACEFUL)
  q: u3 N. C/ {   return 1; ! Z1 I! G3 Y4 g
  if(m_dwBelligerence == BELLI_PEACEFUL_R)7 r& f  [% C  t9 E
   return 2;3 ^# {: @, s6 v) T! ^
  return 0;  Y/ u9 y/ f6 F* G  P
8 [( \+ g. L4 Z+ Q  U% |1 q
}
2 }: _8 q. e$ Q- y6 Q  p0 W, w, v- H& c. k9 _
其中:BELLI_PEACEFUL_R为自定义的npc状态,也可以使用已存在的。3 ~  ]: A7 x1 N4 J8 l9 |

  G4 V( E( E2 Q/ ]% @  a****************************
0 ]7 z/ T) M$ A, n# ]4 n* W$ v; k; |) Q0 s5 @) I8 y4 D" z
MoverRender.cpp
8 B' z2 U7 k1 e7 G
( B3 F0 P- I% g) q, Y+ A& \" d*****************************$ g6 |6 j2 M/ u! ?6 L* j: F- |# a( W

1 r2 _& C9 z5 r! Y搜索:if( IsPeaceful() )5 [, \2 T: h- I8 H  a
& d4 r) n0 `" b! L3 o  [1 i7 Q3 X
修改为:- h* ^9 s$ X! }' T( P

# T/ o. e1 u/ f: B8 o- b   if( IsPeaceful() )
, H/ m' k) [7 j) s3 M   {! T6 p0 O9 G' Q& L
    switch(IsPeaceful())
$ |' I+ K, ~5 C( A/ `" b. k    {
/ s' w1 e! H' V( i+ q; q     case 1:
" e  \/ G, K' @1 n       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_NPC, szName );//默认的显示
$ M# W1 d$ W+ _" |# e  j* H       break;, L1 Z! m/ ^, }+ D3 G9 l
     case 2:
  l$ f7 Q1 ^! A8 O3 W       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );//红色npc名称显示4 }$ B. m; d/ L4 f
       break;
+ ~- ^9 ~9 a  u' V' W" t& v8 G    }
: Y* a; x$ P8 Q5 P/ P! l, m1 G   }5 J3 g5 T& N* C2 y2 e
   else
& ~$ o; g" ?% U0 |" J   {! D9 _; C2 ^2 O9 Q4 w+ F7 S) I
    if( m_bActiveAttack ) // 急傍 阁胶磐绰 濒糊芭赴促.+ e) R1 l; v" k. ?
    {
( i0 k1 O4 ?1 o9 d2 N+ V; L     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );      0 w. e2 {2 b) I
    } else - i% C2 Z1 d/ G. h
    {
5 A$ ~7 B( x& n     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_MONSTER, szName );( F; T6 Y6 M7 j  R2 a* L. {% P  ?
    }
: h' O' o* M5 d2 R8 W
; J# q( P- @0 |! S# q3 f: X8 {) C使用地图编辑器将npc的状态设置为BELLI_PEACEFUL_R,编译并更新即可。
; A/ V/ N8 c( x7 \9 F# D$ a- A; m1 `* Z9 C0 D& x4 o; d. _
自定义多个状态即可实现多种颜色的显示。
) f* p2 j6 c. u: }3 ~  j
# n/ g3 F' V+ W+ w8 M
; L4 \9 y- F. g; G" U5 J




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