飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:22
标题: 给npc名字换个颜色
**************************# ]1 a& {( V3 q, z

6 \* ^1 Q' v9 }" ?/ x, fMover.h
& a* e- u5 I# G/ d2 R' }0 u$ U- U  A# D4 M* d' Z. }
**************************
: y4 Q  Y# C% A- b6 g$ k$ Y1 |0 C' G
搜索: BOOL   IsPeaceful()这个函数, e% j* I6 F1 s! l! g: l, H% i

5 E, J# \2 q3 j# E修改为:* v( g8 s* M. W% B7 ^$ e

4 f5 U8 P" O( e) [* d) l0 [ BOOL   IsPeaceful() 9 E0 ?2 _! C0 ~% J8 M
{
. A7 P: Z" t6 Y; I4 a% S  if(m_dwBelligerence == BELLI_PEACEFUL)7 i0 J3 f- G, r6 F5 U/ _
   return 1;
+ [( Z' v5 r- D4 ^6 Q/ k  h6 I7 z  if(m_dwBelligerence == BELLI_PEACEFUL_R)# |5 G' B+ j+ c5 t2 G
   return 2;
0 F0 ~( M$ @% f. Y  return 0;! T+ S2 s: U8 |# A8 l
! v6 L- @4 l3 q1 i" }2 i" \+ |& z
}# X5 Z' ]/ `+ }7 _5 q8 t( A- ^8 [
) \0 t% F- N- o7 n% ^7 E
其中:BELLI_PEACEFUL_R为自定义的npc状态,也可以使用已存在的。, n% e3 \* @$ }- X6 l9 Q# a% i( B  ^

0 x2 D* K) E" W8 M# P, V2 u****************************0 F9 g. y. |( ~7 G- G3 g! g; Z
1 L  k1 k% `: e
MoverRender.cpp
& n9 u# B& I$ {
% `" [% ?: n4 H1 F+ K! t****************************** B0 R2 @8 E/ _

8 P% A* D% q6 g: |& R搜索:if( IsPeaceful() ). a- ~& }* J; E) g7 Y9 A

8 J" ?2 t5 c. ^2 {+ C4 x& K, L修改为:
' B+ e# V# k$ X, x; ~7 c6 p5 c8 y
   if( IsPeaceful() )) w6 N2 l0 l# A! q* T0 Q# C5 S) [/ X5 L. _
   {% W' F) J( s$ M: M
    switch(IsPeaceful())
. F0 |3 O' d- A* O  X2 F    {0 V1 @% ~$ u% p9 X5 ]
     case 1:
: C/ Y5 \. F5 d/ U* D( C" d8 k; g       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_NPC, szName );//默认的显示- ^: k' D1 j' L# c  i
       break;0 ?( U# x) |, z* E9 |" P# }6 H% s1 S8 N3 z
     case 2:
! a+ n# w# R" H: Q9 P1 a- Z       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );//红色npc名称显示
* Q9 o6 I2 s- R- v       break;
! K% l) |; w/ [, ]    }4 `- v" Q% ?1 p+ Q4 Z9 g% I
   }* E# f. o) A' N% [2 c( A! p% d
   else, _3 W1 b2 f3 x+ V; I. y
   {
& F" `8 \1 _1 ~( E    if( m_bActiveAttack ) // 急傍 阁胶磐绰 濒糊芭赴促.
  x' D9 [) ]  a+ D    {8 k* D3 V  N  `7 E: ~
     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );      . C6 d* r; y4 S) g' S
    } else - a; O" s0 }  c9 \; s9 l
    {; l5 u& m( Y* p$ b* @$ r6 X
     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_MONSTER, szName );+ p0 U/ o2 d6 D( b6 k- Z. |- i% n
    }
7 j" d2 s3 \% y6 m" T, ~6 ~9 r  Q3 d- s
使用地图编辑器将npc的状态设置为BELLI_PEACEFUL_R,编译并更新即可。
6 ?1 y0 S8 c' ^9 r+ E1 z0 l$ q! ^5 I! [3 C7 {" r) s" f' t+ f/ S
自定义多个状态即可实现多种颜色的显示。* z$ e0 p, d- @8 ~: K7 }& `
7 a& l' N( ?+ o7 j, O5 W  }; A
# c/ W0 H4 U2 L# i% W( J





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