飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:22
标题: 给npc名字换个颜色
**************************. E  a- Y3 l; q/ s6 ]' |1 ^
' Z* W! p9 O8 x# h& ?: g, O
Mover.h
3 v2 C: A! q1 V7 x' L7 I3 h! E& k3 c4 S! b) |# L( z8 G% |
**************************) d/ w2 \/ ]) E6 x. F2 Q
9 n- ?! [/ G) f5 V! s  a
搜索: BOOL   IsPeaceful()这个函数
8 _5 @, i. W+ m- s8 ?6 g- ^5 [. d! t* w  p5 L+ V
修改为:
$ K, x; m- B4 e" e
7 A; L3 I8 y# a, H BOOL   IsPeaceful() 0 e0 _* l& l; i+ z
{
7 T4 J) |+ `6 N5 r9 k, y2 P  p  if(m_dwBelligerence == BELLI_PEACEFUL)  {6 J) {" X2 l0 P
   return 1;
5 I4 X  H6 T7 r2 ]2 }  if(m_dwBelligerence == BELLI_PEACEFUL_R)$ }6 ]" L- L4 O$ O& d2 Q& K) y
   return 2;
5 Y: J( X% P( L* G( a4 w  return 0;
1 \. |, ~& p  l/ N- d
  ]; m: G- Q; ~# L }. A  U3 D; k! o$ A5 S0 D
, F' P  k. m* h. u" v# a  X+ z
其中:BELLI_PEACEFUL_R为自定义的npc状态,也可以使用已存在的。6 V. b" s+ p9 H" d0 f8 K5 G
! ^1 F7 c) \. N% T7 _
****************************5 E' ^" W" S3 a2 R+ Y: y7 p4 g

2 L/ l3 j1 k, b8 O7 EMoverRender.cpp
8 a3 L( }6 |. R9 }8 {8 w# T7 \: f3 X
( Q) e% A, d. @0 _9 U6 O) i*****************************
$ P* a' A3 |% Q- z0 O5 S" Q) n- s9 E2 ^0 f$ p% [9 _+ i
搜索:if( IsPeaceful() )+ `, A3 k4 w) }5 c; y2 B' P

! J& C$ n1 E* f, @, H6 v% Q& m修改为:
8 F% ^6 L$ d, i- j, s: N' J) }: q
   if( IsPeaceful() )0 a8 i" V! @# ]  @
   {! C% N6 e/ O- A0 q" J1 o2 }7 q
    switch(IsPeaceful())
, g& J' V: [; g6 I/ t    {
9 g  ~7 F* g9 a/ d: N: F  U3 w- b" b     case 1:! m# Q" X3 @' t* j0 f
       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_NPC, szName );//默认的显示. ~- |9 O( f' ^* {
       break;9 V7 i; @+ K6 z8 h* V- F
     case 2:9 A+ J$ }7 j2 B" K8 D5 F
       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );//红色npc名称显示  ~# R. X- y/ z
       break;: l8 @. [& U& x& y* |$ q
    }
) C5 Q; W5 _; o/ a   }
7 g% y! L6 v1 N2 v6 b$ {   else$ R1 X. o$ k6 y* l+ w2 o6 Z. b8 a
   {
) g" n9 N% F6 U! M5 r7 f* O+ G/ J    if( m_bActiveAttack ) // 急傍 阁胶磐绰 濒糊芭赴促.5 h6 ?$ Z% F9 A# H" c4 o: [
    {* k; v) h' {$ F9 j# a" v
     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );      . `4 J9 n0 o6 `1 b2 M* b$ q# l# P
    } else * r7 h  _3 W; P( m# a1 W/ u
    {
7 `/ X3 O' P* F     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_MONSTER, szName );( k, v4 ]" E$ x; m4 Q4 c
    }* B1 @) F6 o0 L/ t3 H5 O
; w" J/ M8 m+ I
使用地图编辑器将npc的状态设置为BELLI_PEACEFUL_R,编译并更新即可。; s3 a* f, {) X1 b/ A% n

2 S' m: k' i& K9 s* A自定义多个状态即可实现多种颜色的显示。
* R5 F, L  z; r* m" p7 Q, h1 l8 K
/ I6 A: V% l# y# B4 |% {
' Q: L$ ]9 p' m8 O




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