飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:22
标题: 给npc名字换个颜色
**************************
; F- g4 G& z6 ^) N- z# t" t) {# t9 N* K- K
Mover.h( b% r( K2 g8 c2 E% y6 a- c& |: H

/ T) e# x8 F0 q**************************
1 x3 V2 l' [& l- O* J. K- X$ _# n; @3 U& H, G1 p- r6 v7 \% J8 o
搜索: BOOL   IsPeaceful()这个函数( G% e+ y, J" o

0 o7 z8 y5 D" V* O/ s) b, E) g修改为:- P2 f3 y$ C) _; Y/ Q0 ]# ^
6 i1 S, _# C+ o. D0 l
BOOL   IsPeaceful()
4 J$ W( b+ x% H2 c* g, t) y! b { ! y& N  M, [) L
  if(m_dwBelligerence == BELLI_PEACEFUL)) m& ]' x# r& y  O
   return 1; 6 h( S4 ~' b" q' Z
  if(m_dwBelligerence == BELLI_PEACEFUL_R)
, W6 Z( G, b" f! i+ y   return 2;
; @! _* a- M' a2 ^5 ]8 X  return 0;
( @/ U3 O! L9 ~9 d: Z: Y& c: s$ d) c7 S+ |6 f& i! ]
}% i8 }) K9 j" |
% o8 H8 B1 Q: y2 e6 `8 B8 j
其中:BELLI_PEACEFUL_R为自定义的npc状态,也可以使用已存在的。
+ ]# S& H4 Z# I' ^
* H' M- ^4 Y% u+ ]- T: I! p****************************" O8 ^9 t/ M6 P
3 b3 Q9 K" @/ K; R& o
MoverRender.cpp
/ B# ~1 A0 v" @1 |" U# S3 L1 {% @9 |( n- V0 N4 A# U
*****************************
2 V! m: V( S. k" z+ X& R0 A
  p3 _$ @9 a7 ?) |+ p; P2 d搜索:if( IsPeaceful() )
) `3 F! n. t, a, v4 N
! Z1 K1 h) r- o! E修改为:: d9 i8 A. t6 r2 I9 Z! k
* w8 _( A# `3 A2 |( S. W) J/ [8 e0 P
   if( IsPeaceful() )
% w0 \; e3 A, \+ q/ K6 T2 N. H, z3 O   {
+ M+ d! \4 J- `0 @! W9 T% q, h    switch(IsPeaceful())9 j. [  z8 u- W3 K! ]( ?4 ?
    {/ E0 r' |' Z/ X7 Y- ~+ f+ o
     case 1:
. R: e; m. j: r6 Z  y6 x$ Y. ~       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_NPC, szName );//默认的显示; _. [4 {1 a+ `, H1 B) N6 O
       break;
6 N/ Y6 \4 K( I) c$ U     case 2:2 r" L3 T7 P* X& t  Z
       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );//红色npc名称显示
2 S: V% t" A# z       break;4 f: B( m- _8 y( d; |/ a- H8 w9 k5 B; D
    }/ P' S  a# H4 \5 w8 O/ n3 S
   }
% ?7 K& v1 ~6 z* }1 P, ^9 Q   else
; y- F/ Q  _7 C0 X7 K* T! y   {3 d1 B9 [/ W& C/ `( q
    if( m_bActiveAttack ) // 急傍 阁胶磐绰 濒糊芭赴促.2 B; ?2 a* P8 Q; v7 x3 w9 E$ Z
    {
, _, X$ B6 P' N2 Z/ b0 E     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );      ) u. K( z4 j0 N7 I4 M% V: v
    } else
: b" m0 z& k  p$ A# g    {
0 c; v% L0 `5 r5 z. w- n     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_MONSTER, szName );2 ?/ c- P: l6 f9 ~8 ]
    }1 r8 {! f  \0 C" t" _  }. h2 `5 p
! n- r0 @% a4 E1 z
使用地图编辑器将npc的状态设置为BELLI_PEACEFUL_R,编译并更新即可。
/ x3 |  D* ?5 [  N) x0 A' S" K7 ]0 l- R1 R! n
自定义多个状态即可实现多种颜色的显示。6 m. @, H( @5 A' k8 H
5 f' w) K6 H% t3 m) o

9 {4 Z0 d* ^9 b5 M  E( H6 g




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