飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:22
标题: 给npc名字换个颜色
**************************
' r5 u, Q  J5 L
- j$ Y  M6 [# L+ ?& z, qMover.h
# m) @: a+ F( _$ j( M9 m' c. E- p5 [8 L( a
**************************: I7 [3 O$ u4 B
! q6 k# m( c' ~: ^3 z: L! h7 g
搜索: BOOL   IsPeaceful()这个函数
' N4 N6 t$ G9 a! P9 e% y( ?
9 B+ I2 D4 r$ P( x修改为:6 n' K$ K# o+ P! v

$ h0 I/ H8 W% |, a6 ] BOOL   IsPeaceful()
+ T1 o) h% X: H1 ~; ^ { 5 T2 ?4 O) C( O' y" k& ^
  if(m_dwBelligerence == BELLI_PEACEFUL)5 @" ]9 R/ t* P4 ~
   return 1;
4 ]% H( w6 L* u- H8 D+ p/ n  if(m_dwBelligerence == BELLI_PEACEFUL_R)
- O  F& w% t7 G) ~  d9 l   return 2;% d- o; J  Q$ `4 j- b# u) M/ J- U. }
  return 0;
( f) ^; l" A8 F/ V8 `/ o
6 e' |$ P) Z: C0 q) \* r$ j8 I1 ~0 B }3 X0 A4 P* p' U2 E; a# `

3 f% G7 r( p4 Y. Z! D- |3 r其中:BELLI_PEACEFUL_R为自定义的npc状态,也可以使用已存在的。
+ U( Q& a) p. n8 F5 @8 Q- A* N" Q
8 W& x# K6 n  X****************************
: I/ C7 ]7 G6 Z2 ^7 [1 |
' k/ g: H- K; s3 p. j$ i: uMoverRender.cpp
& ]* D" Y  |; z% M0 Y/ W$ d7 c8 a% B; r+ g) ^0 O: B9 h1 ~! ^- H0 p3 u
*****************************
) l8 F7 {0 ^; m% _' V- |+ d% \: `# L& T
搜索:if( IsPeaceful() )
. Q8 m: k" G; s' l6 ~( ~
5 d( j# Y( F3 o4 ]* e# {修改为:' b' ~* ~' n" n, F# k* ^

7 b. V8 c0 a; P6 X* A& h1 L   if( IsPeaceful() )
. s: C/ [0 U. P, S" l   {- T. F  {3 H7 B4 r
    switch(IsPeaceful())
  S2 ]2 R. N3 l% G# n6 f5 ~    {( C  `, X1 H) L6 v. g4 h
     case 1:1 o4 k4 G- ^7 p, f+ s
       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_NPC, szName );//默认的显示6 D/ s" x. p4 f8 M, I
       break;# B' ^* ^* m* z7 f# v
     case 2:* [8 t5 E# ]  E: ~; Y3 Z% T* ?, x
       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );//红色npc名称显示
% l( k( E8 R0 T9 N8 H: Y8 N       break;/ _. p, R% M/ c% ?. X$ `( E; j
    }0 {3 r% x# t% G4 T# O
   }2 C* G+ c4 R+ v- w; X  [2 [0 ~1 d& [
   else
" S# `; W7 d3 W9 {  W; f5 y9 i   {
, y6 J8 O6 r% D: d% f& W( N    if( m_bActiveAttack ) // 急傍 阁胶磐绰 濒糊芭赴促.
* O& |5 x0 `3 |) y# Q! o+ a7 m    {
- ]8 i; s7 ]( l     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );      
" W9 L' N7 _. `/ b9 ?    } else
5 F- I! e+ @, b1 Q    {
; o! i3 x) e3 m  t5 K     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_MONSTER, szName );
3 C1 G( `% ]  [$ v    }7 A, A/ x( A" c. Y8 L
8 {; K  c/ c& K# r# S- U; T
使用地图编辑器将npc的状态设置为BELLI_PEACEFUL_R,编译并更新即可。
  S" K5 y7 v$ k4 [( {* N0 Z; s7 F! U3 {
自定义多个状态即可实现多种颜色的显示。
1 A' g0 H/ S' E; P, N3 `) F; n  j$ F) ~9 p4 G" ~8 J- e  |1 @

4 ^5 h: T6 [9 t/ R! P" H, m




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