飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:22
标题: 给npc名字换个颜色
**************************9 @4 y+ \7 ?  D$ h5 x
  W/ j$ j2 x  X: Y
Mover.h
4 Y* @) W: e( H- W0 S3 X
- {1 X  t7 b% u0 a& o, P( ?) X**************************; B, g6 ~5 P' y/ V

3 P; e) U+ u, q5 r# M6 W# N* q搜索: BOOL   IsPeaceful()这个函数
. z2 t3 `6 f( T9 C4 @0 J
- d7 h2 ]- X( U& A4 v& |修改为:
: K, y) Z) R4 s2 t' @
$ Z4 ^3 o6 |6 |  m# l2 D/ d BOOL   IsPeaceful()
; h! w% M8 Z( X- X6 r {
0 U/ H& l4 U# A& E  if(m_dwBelligerence == BELLI_PEACEFUL)7 R5 U7 Z$ `' B
   return 1;
* ^' ^, L2 Y8 A7 d  if(m_dwBelligerence == BELLI_PEACEFUL_R)8 }% n$ k+ P# k; U. Q
   return 2;& b7 |+ I3 C5 m8 c. h9 v1 H: ?+ ^4 q
  return 0;/ H2 P! x9 h1 V! s. N3 K! F8 o

/ |; P) B" J; W- j3 S/ w/ Q }
# N0 t- u- U7 N# L7 f- x$ B) a8 f9 N1 I0 I
其中:BELLI_PEACEFUL_R为自定义的npc状态,也可以使用已存在的。
  ~' S9 l- s! p9 J& f, x: x3 H9 i) q3 O8 |
****************************7 s' ?( P7 @+ P, f

, c6 C2 e2 r! `0 d9 V# mMoverRender.cpp
9 v( x  F- y% [* D/ m8 e0 p; i# I: D( Y" E4 H/ t5 U* C7 Q5 H5 a6 ~
*****************************
. A+ l3 L0 g" W; x( @$ L* p$ E" d
. U( O. {3 N" m1 x) c搜索:if( IsPeaceful() )  L$ J- r) `; w( k7 A. |; `% r
! e) \( u9 G0 [$ k8 {; T' f( g1 M
修改为:
' f! `+ C0 f" m% a% e: o" I0 W; I) h' r" U  X. P5 H" d  G. y  H
   if( IsPeaceful() )
9 [, K# l0 \# |7 N5 n3 H* }   {
- O' B/ |4 g9 B8 U    switch(IsPeaceful())
% }% ?! S( X( T; o; R  ]    {
& i) L  h1 U9 P+ d, j9 ~     case 1:
/ N5 F3 @! V" M) [       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_NPC, szName );//默认的显示
$ R# \& g1 N, F- x( N9 W1 X       break;
, W9 U! K: w) Y% g- u8 e     case 2:
  G) L9 D0 D  L- X       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );//红色npc名称显示+ L+ l0 s* J5 a7 s$ {! a
       break;( x. ^( g7 {' d1 M
    }
  F0 f2 G5 U' Z* Z   }
8 s' }6 p3 X8 O) _" g$ v9 ~$ M   else4 Q% t3 p4 C: X7 j# [5 Z
   {  F) @% g" ?" ?/ F0 L
    if( m_bActiveAttack ) // 急傍 阁胶磐绰 濒糊芭赴促.# J! U# E- _' V. O+ ?% `
    {5 ^. W/ P* y6 H
     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );      - ]- ]$ A! n; c3 v  o
    } else . K0 S$ I1 k' p9 W! q! B8 H4 M" d
    {
0 @, r+ o  j+ [0 a8 Q- R1 S* f6 _( l     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_MONSTER, szName );
& M2 |$ ?0 i- g5 g9 E  |    }7 Q+ }( X$ r+ I9 T& y/ ?9 w
" _% p- ]6 U4 E! w
使用地图编辑器将npc的状态设置为BELLI_PEACEFUL_R,编译并更新即可。  n  [' k4 H5 V7 h6 @+ B
1 H% v8 L6 }! X# l' W" _
自定义多个状态即可实现多种颜色的显示。
% l9 e* J  k! r5 c& r# N0 R8 \" Q4 E8 ]0 X
: \# Y) Q) ?' @: Z6 Q% F





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