飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:22
标题: 给npc名字换个颜色
**************************
0 B# m/ a, f' G( |  {7 U  n  |8 F: Z
' U1 [" x* p  T" w1 S2 x1 D; [Mover.h* C8 ]8 H) ?8 r/ ]- V8 j( ^

" ~  d% |# R+ E**************************! T+ a  y6 D7 i& z8 c

4 N+ `$ g5 d: X6 ~( ~6 S- N搜索: BOOL   IsPeaceful()这个函数4 D: x* K! Y3 ?1 J( i( X6 `
, Z* E0 e4 G% P- L0 F+ S# P
修改为:  Z( A2 r: n4 Z1 J3 a9 Y
. k5 e6 M4 l( H1 t# L) k( p. n% P
BOOL   IsPeaceful()
$ ]- Z) K! {# S2 B* e {
+ b8 T  W# b2 U% }! c6 a' k1 ?% v' [. r  if(m_dwBelligerence == BELLI_PEACEFUL)
3 l7 B( j: ]) g$ c4 y! b   return 1; 6 ^0 f9 n  O* E9 o' V
  if(m_dwBelligerence == BELLI_PEACEFUL_R): J5 T% ]3 I& x/ K
   return 2;
- K8 I1 f% d, ]6 j0 k  return 0;
' ?$ b: w# ?$ z5 v4 r  h/ T$ y  V/ Y$ C7 }- S2 B# J
}, _0 s& }# r9 T! O: W. s) ?
, i, L: Z) Q3 t# e0 j- Q. M- I0 n
其中:BELLI_PEACEFUL_R为自定义的npc状态,也可以使用已存在的。0 k4 p2 ]! ?* @9 h% I6 W# e2 @

1 m' Q  [5 f. Y) B- \****************************: K9 t) n, w6 a' R
& [) Q% Z% Y1 c- T, [/ _' V
MoverRender.cpp1 a* q5 l2 z; W7 O9 ?" j/ o5 |

; z+ w( A& q5 N, U/ C. w*****************************
+ t6 y% e3 I* p* ~: R& O" N4 Z* n+ c$ b6 a
搜索:if( IsPeaceful() ). w: b* X4 P, q" y+ q% m' {
( R% @  `  Z4 _# R
修改为:
, f4 T( W6 W" k0 n. ]) n: g
" F  E$ I  h0 |  C   if( IsPeaceful() )
& J6 B( R- u0 y8 a6 Z   {
% t  T$ \. j) C4 U7 @& i5 ?    switch(IsPeaceful())
+ x! N( R  s$ ?) g* t; W  b    {% ]5 N" s* ?5 ?+ J$ m$ g8 t# Y: s
     case 1:
* P4 y( _/ ~2 {4 R  ^       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_NPC, szName );//默认的显示* W* R% p9 E( N" K! n
       break;6 h/ _; s8 h/ a% }" m5 D
     case 2:2 `: k' `" _2 E* i" \8 Y& j
       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );//红色npc名称显示
0 K) n% Q% z+ c! [, S9 K       break;$ g  l. h( u. z  |; T
    }/ O" l. R" d; Z
   }
# e, n* O& p% i& P' S4 x, i- T( r   else: X- r) s6 B/ e9 J) \$ U0 D) f" T
   {
3 r$ f0 V+ S6 @8 G    if( m_bActiveAttack ) // 急傍 阁胶磐绰 濒糊芭赴促.+ u& G0 S" N/ `) ^) Q8 g1 p# a
    {
- b5 Z( z- ]1 l9 z     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );      
% W  t' N$ p6 _' [$ E# v    } else 7 |5 e' i$ h! h3 t' K8 g
    {
! C4 s- q5 A$ U8 X  d1 B% a     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_MONSTER, szName );/ {+ h- _2 E& c. v3 I; {. `
    }
( h& ~9 l3 r' V! s6 w; F7 {
- D* g9 G8 ]  ]0 O6 ^! r4 _使用地图编辑器将npc的状态设置为BELLI_PEACEFUL_R,编译并更新即可。6 _0 q, R5 L, r; r7 U! R

' w& T! ?+ R; Q. ^* P" U/ Y+ d3 O自定义多个状态即可实现多种颜色的显示。# d% F" P4 E7 l3 p" ~( @7 i2 c/ X, x

6 b. @/ q! T* R" q1 O/ J, r
3 A* x+ x- A1 y4 X, {& Q




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