飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:22
标题: 给npc名字换个颜色
**************************. W" {0 M6 d+ S) z: O/ e5 G
9 {' d! x) z! Y7 |+ @
Mover.h
$ @9 p3 \( N3 ~5 |5 o4 o- g$ Y+ j7 Z* I, {5 c/ e7 _$ V
**************************' a% T: U7 U3 A% j

0 q5 g% _! ~* ?9 `% S搜索: BOOL   IsPeaceful()这个函数' f5 ]7 a7 h% P, n1 I7 f0 `
! U- Z1 t$ v. @8 J, [+ b
修改为:, |, [% r; r- t, z# B) x
! A# K- a7 E: C! }6 f* O
BOOL   IsPeaceful()
6 r$ J  S5 }7 `  e& V8 }, t8 T {
  I9 m. a* ~: U* m; m7 `  if(m_dwBelligerence == BELLI_PEACEFUL)3 v- r& N9 l9 e0 A" X2 P
   return 1; 8 ^+ `2 h/ P. k, c& K6 T
  if(m_dwBelligerence == BELLI_PEACEFUL_R)
6 U0 \9 @$ U6 H1 n# X( ~% `   return 2;! b& K3 F, Y( T! t, z
  return 0;
& c" V0 Q* g- O# G+ S: s, Q
7 ~% q; o  B, N6 u: w }' w- N) U/ }9 v% n: _3 b7 Y

  y  V4 g, C6 |' l, v6 R其中:BELLI_PEACEFUL_R为自定义的npc状态,也可以使用已存在的。) ?1 |3 u4 L: P1 O$ d
6 E' ?# s) A- _. C) k' T
****************************
% N1 s# j7 d9 G$ T: W2 D: \* _0 F9 E9 i( z% X! C, s; l+ m4 m
MoverRender.cpp
1 q) n0 y+ p5 e3 A' J
. d- f2 v- f5 C0 e7 H5 J- f5 `' U*****************************. e% p/ a) d- p  @) I! L

6 n* F: C6 n4 f( |5 _搜索:if( IsPeaceful() )$ B3 I; X1 Y' V5 `; f

- {. e8 i; x2 G. t修改为:# W# ~( x$ d. `7 @6 {6 P+ v
5 a- U0 _) V$ |3 q1 z2 S
   if( IsPeaceful() )
- {( Z3 A6 d( U/ A   {
) A# V$ A4 W& [( S7 m    switch(IsPeaceful())
5 j$ D4 p- X# B    {
/ J! _: \8 ]+ S4 z% D     case 1:
* n" N  F$ s4 K2 d; P: \4 G       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_NPC, szName );//默认的显示
  }3 u* ~$ a8 G       break;
2 U6 {4 N% j; u$ S" D  e     case 2:
/ b2 z0 }, v# f7 V5 Q       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );//红色npc名称显示. y* L# H& C; N4 l: L6 p
       break;
; V" w5 W  e: V8 q% `4 e    }
& g# q2 O% a5 C( G3 b( h& s' J   }
, w, s. n8 u& o1 u. [& H2 p   else# _4 F* n5 v8 w3 L
   {
) ~" e. z! F' t& L7 a5 z    if( m_bActiveAttack ) // 急傍 阁胶磐绰 濒糊芭赴促.
$ I3 c9 }$ F+ D) ]9 E    {
6 z6 O$ [5 G9 r& L# ~     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );      2 Y6 w0 a. s1 \$ g
    } else : O% F4 o* l" f- X, L
    {
0 d: A7 E$ ~# Q     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_MONSTER, szName );- X+ N" @8 M8 w. A9 Q
    }
8 _- |- F2 L% Y9 t. ?% M+ z2 p( l2 r: F8 J; H
使用地图编辑器将npc的状态设置为BELLI_PEACEFUL_R,编译并更新即可。# o% D* M* P3 O, j5 d

; V, T. _0 y/ |) D4 l自定义多个状态即可实现多种颜色的显示。
6 _9 I6 Y  Q5 t5 O8 W% o8 @  p5 L6 |! T; p; G

# s, ~; u! E. e- x3 S




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