飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:22
标题: 给npc名字换个颜色
**************************7 c& k+ ?# o9 a

8 T: ]7 n! s. `" d) X; T# hMover.h9 _+ h# q1 H' T) s1 y

0 h5 R  U% a: K: Z8 ^**************************
- \" {7 W5 K: v1 }
9 @( H( Q- d! L/ ^$ M1 j5 a( r# ?- E搜索: BOOL   IsPeaceful()这个函数! s7 k* t- S: }7 C3 `- K. {

( Q* n5 o$ i. m) ~* ]& S5 Y$ N修改为:) Y8 @8 r; o0 g5 q
' e. z9 f) q7 B3 ^
BOOL   IsPeaceful() * \" x: m* o' |" u& O" n" {7 V) G3 X
{
* @/ W# G0 I: {6 N( b, {: X. s  if(m_dwBelligerence == BELLI_PEACEFUL)
+ p6 ?0 b. Z( c7 ]   return 1;
. j& P5 d' P6 R3 i: j  if(m_dwBelligerence == BELLI_PEACEFUL_R)
% L1 k; s9 z/ w. T   return 2;4 A5 w7 O/ D+ K/ H
  return 0;
% R1 C3 i4 x9 G% n5 P1 o5 Q9 c3 `" ?5 ]' |
}
! \' S# W3 X1 r" Q4 d  X% M' b# M' L. U$ X" s/ i
其中:BELLI_PEACEFUL_R为自定义的npc状态,也可以使用已存在的。
1 m' I( C- T. M: j6 g8 n# Q5 B- @/ M6 C, J7 V9 R+ H+ {9 [; U
****************************, J0 C; K. S/ @. E$ d+ T: ~2 n. ]! P- i
8 ~: o: Q$ Y6 T, `
MoverRender.cpp
; I/ G3 \- n; i9 Q) N: C1 s1 n" S: Y& |# M: z* M; P
*****************************
  g, E- q0 M% ~* F% v) u
  \5 k# Q+ O- C2 e( c2 _搜索:if( IsPeaceful() )+ @3 s% B! S2 [/ ]5 i: u  o
% M. ?, O" N/ X+ e& N1 x" }/ G
修改为:
" `& F  t& D# [9 N: x" L# u. F' h" R. ~7 e' D
   if( IsPeaceful() )3 R; i: y3 o/ y
   {
8 j4 Y' h. M; e3 y2 ?+ A! F    switch(IsPeaceful()): b0 a: O% r* x6 L1 A% W
    {
" L, c5 I! ?( i1 ^! D8 Z5 Z     case 1:0 y( V2 M+ A$ c2 H* d$ Y! |
       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_NPC, szName );//默认的显示1 w& f  g6 k1 E! t
       break;
- u$ y( G, R2 c7 p% n8 z4 b! \     case 2:
4 X1 ]/ s6 M# ~, f: g3 j       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );//红色npc名称显示' [- a1 x( P" z8 g' ?9 h4 c' W1 F9 M- L
       break;
8 V1 m/ k6 ?# J% a! l- Y- y6 B    }  m% L. E5 `8 o5 I
   }
, K* e( L( D# N$ L   else, ^7 ]& g; v% J8 a5 P
   {
4 [1 Y, L, \( o    if( m_bActiveAttack ) // 急傍 阁胶磐绰 濒糊芭赴促.4 c, I0 T5 d; j+ q- j1 s
    {
6 Q$ N4 R, [% @: j  `+ O+ \     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );      / Y% u0 r8 O6 F0 C7 M
    } else 6 V7 @$ N  ^+ I6 l3 c# ], o# Y. k0 H* P
    {
, Z" I' W. _5 b/ e" U# P- q% F     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_MONSTER, szName );) _0 s5 I# D1 _* T
    }
+ W, M  J! p6 |; L% }" S! j# r2 h5 N8 i$ {8 t2 v
使用地图编辑器将npc的状态设置为BELLI_PEACEFUL_R,编译并更新即可。9 h- n0 I2 E% y5 t# k
6 F. ]1 {" K1 ]; T
自定义多个状态即可实现多种颜色的显示。+ R9 @7 Y- A1 M- [; [
/ ]2 U5 T3 h- @! T2 a% o4 ~# U

; k0 q' S: c% m  s5 H; R- m




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