飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:22
标题: 给npc名字换个颜色
**************************; P  h7 M7 f/ Z( B2 M7 k
$ A0 e) a1 J* }3 r7 ?: @6 `" ]
Mover.h
$ N& C6 J; J  x3 S) L1 \: T/ y7 }4 j# q8 |: C" a
**************************0 y5 ^7 y! G, K2 C
$ g, g5 N" b% K
搜索: BOOL   IsPeaceful()这个函数
: [: B( K$ h5 k% D$ u0 p7 c1 j* g: [; V( J3 d) J) V. }/ f; p
修改为:3 l( J+ ?' y3 d/ f1 r* |! _& A$ |
& M5 B% M" _$ H: h; n/ [
BOOL   IsPeaceful() 6 s; M' \( T, i5 |' o
{
1 d$ t- ]) d+ D) I  if(m_dwBelligerence == BELLI_PEACEFUL)
: y$ Z: }  u; q: d   return 1;
7 `/ T% T$ i3 P; {" @& H8 D5 ~  if(m_dwBelligerence == BELLI_PEACEFUL_R)
4 d. F8 [7 b5 K: i+ F   return 2;0 u  R: R* G  A6 C$ J
  return 0;
# F9 H1 e5 N6 U. R2 s- d
7 h. K! M5 X% {3 Y }
, U+ U) f! a) J! |* c' D- F4 F2 m7 z
其中:BELLI_PEACEFUL_R为自定义的npc状态,也可以使用已存在的。
# ^5 U6 t  ^& d6 ?; e
: b- d; c. }- J' ]* c& ^****************************5 U: V  j3 O1 V
0 V8 ^% L4 c; v
MoverRender.cpp: b4 _% d! O9 G  F4 ~: Q. q1 U

! M7 ~0 g3 x8 \# Q, u9 Y, c5 e*****************************
' E4 S; Q  D" b) j0 f. E( Y' Z+ V# y2 g9 r3 v
搜索:if( IsPeaceful() )8 `/ R3 U, h( ~1 X
& ^, L1 ^* l/ K4 j" q% `
修改为:/ [" h9 H4 V2 C

( k+ S# M* R, Z& y   if( IsPeaceful() )" o  U0 J& I9 X5 V$ B- X9 {
   {
, q4 l+ U! h$ b4 K    switch(IsPeaceful())
* n: K* X5 ~7 c/ |    {- j1 }' [0 c8 M* d
     case 1:5 O  K7 u0 A6 V0 d/ j. v
       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_NPC, szName );//默认的显示* E4 Z$ b6 W9 H2 F) S
       break;
6 b( E9 Y* G: d( S4 S7 \& ^     case 2:+ J; C4 J3 N7 L; r$ Y
       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );//红色npc名称显示
3 d( R4 [; \9 E3 N9 I% C- U! u; ]       break;# w) f2 Q0 N$ e# d
    }) Q% Z1 S" f/ B- H* ^
   }: C' P& L6 R  G/ ]% d
   else% c; c# t7 V% ?4 h$ Y/ j9 h
   {
( g. Z( G/ ^  o+ n1 ]4 V1 K# C9 _    if( m_bActiveAttack ) // 急傍 阁胶磐绰 濒糊芭赴促.0 u. g2 J% M+ f
    {
8 r8 I) K0 C/ K/ }5 j     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );      2 o+ }" j+ ]0 H" u. o
    } else 0 X; y1 ], E7 ?  b9 l  W0 k
    {
% Y% K4 d9 I$ ^+ N2 T* p     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_MONSTER, szName );
! v7 g/ H9 X/ a0 a) t    }
; b. b7 m; l- w( k9 b- K5 \2 v1 E) a/ `
使用地图编辑器将npc的状态设置为BELLI_PEACEFUL_R,编译并更新即可。" O) g, n' o: P# U8 X/ |
  Y9 v- S5 H! V0 K
自定义多个状态即可实现多种颜色的显示。& c$ M. @' N: M9 B$ U# \
4 \  f$ K' }3 \5 m( }+ G

$ e0 z/ _* R/ H9 O




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