飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:22
标题: 给npc名字换个颜色
**************************
$ T/ n5 y# y7 i1 x& g7 M/ y9 h4 d" {% ]; S& S4 z
Mover.h
. F  y3 z. J: O: h4 Y
5 c7 n6 ^7 t  I# _& F) R4 I1 g**************************
' r, U% V, r0 E) w& I( w8 s! R' v
& u9 N" T8 D" H* _& H搜索: BOOL   IsPeaceful()这个函数" d" u6 e, ]8 N0 r
# o0 [" ?& v; h* t
修改为:
. d. B# Y# N+ R3 [4 M, h6 R3 P; ~7 W/ @' u
BOOL   IsPeaceful() : p+ z6 Y* K: U+ }
{
" g9 x5 D7 s9 x  if(m_dwBelligerence == BELLI_PEACEFUL)
/ P, i8 m  g& F8 L, \   return 1;
9 P0 e  W1 z/ ^1 E" J  if(m_dwBelligerence == BELLI_PEACEFUL_R)
% C" |6 M7 Z& \   return 2;% R2 x7 n/ }# l" k+ f8 m" r3 r
  return 0;
2 {0 n" q# l, O! A+ V) x1 y
5 z$ }8 g* q2 X; w. a8 k }
2 v$ p. E6 N% Z
6 v3 O/ ^1 C  C其中:BELLI_PEACEFUL_R为自定义的npc状态,也可以使用已存在的。
# U+ x5 S. q: h1 r6 Y
% l! Q8 U7 t+ C* r. }1 @- F' I****************************( R3 l2 d* C  q- }$ b
8 v) _2 G8 ~) k3 @* @( c# ?
MoverRender.cpp
' Q1 f5 T3 T- v. q* C( D1 O6 P: H, t4 k5 {
*****************************" G& F0 A9 j. o. {, {0 S4 K8 r
. G3 j0 W/ W: h) c
搜索:if( IsPeaceful() )% Q  b/ G) D- |. I5 ?
- i) n0 J" t( _" I: R% R
修改为:
& k2 [  d* K& Z4 i, g" |3 k
# g9 x9 n9 P; n/ _   if( IsPeaceful() )
4 t* [8 y1 ?& y9 T+ G  p; z   {
# V' z; w& e$ H0 w6 z+ e- ~    switch(IsPeaceful())8 a8 J  P8 S) v. N" ]6 D# B7 s
    {7 f8 V! N  ?) k2 b
     case 1:
9 ?0 e. |; a* Q- A3 M       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_NPC, szName );//默认的显示
8 P* [! s# V+ }) N3 z3 g       break;; I. U' v5 i. l$ E- B% v
     case 2:
: c* r+ {3 R$ Y  Y       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );//红色npc名称显示
: g0 }) r3 x4 p6 _7 M6 G; j, O- \       break;- ]0 u5 I& u. ^5 u9 P% y
    }1 z1 o& Y" u/ S
   }
+ Z  o1 S4 j4 Z; Q, R% d   else
0 r8 f! d, }6 Q8 f   {
5 r7 z: l, P7 L    if( m_bActiveAttack ) // 急傍 阁胶磐绰 濒糊芭赴促.
/ u1 O2 ~3 k" H# X& Y/ L+ g& w) N    {
  F% a* X; i! k! ]     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );      
' i! b3 H5 j0 A! M9 S    } else * E: ]: y& u! U3 e
    {
. K6 Z2 t8 p, i     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_MONSTER, szName );
# m4 u% C6 [  B    }
+ P; o, B, g( b; N' e* v5 ?! \* ^" g- P) ]! T) g
使用地图编辑器将npc的状态设置为BELLI_PEACEFUL_R,编译并更新即可。
& `! E  x+ v+ N. T- L2 H8 k8 `) }9 Q" K
自定义多个状态即可实现多种颜色的显示。
$ L/ J7 k5 ^; R4 Y" R
6 S! _- d0 ?, e$ }0 `+ m: x* O
7 ^- \7 y) U7 D$ r- _




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