飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:22
标题: 给npc名字换个颜色
**************************
& q* O4 s7 b. v* F: `; V& {. J/ L! H8 L% F
Mover.h# @6 F( a5 q/ k; z3 C+ `

4 O$ @8 z, r, _6 ]! j2 w$ U**************************
, {8 j9 q2 ^1 Q) x- w' Z6 E( Y8 a( b+ M* U
搜索: BOOL   IsPeaceful()这个函数. l+ s9 _! |/ c( D1 [* J
4 A& _7 k& e3 j5 ]% O3 `1 ?& t
修改为:/ v- z5 R& k7 y1 @9 p1 {2 g4 P( s
) j. z6 Y  `& g4 {  V- L. T: h
BOOL   IsPeaceful()
3 Z. ]+ k3 E; w; m { 1 M+ i2 [- ~6 Z. _
  if(m_dwBelligerence == BELLI_PEACEFUL)$ E9 o+ P1 E( B- F0 [' W
   return 1; 3 \# x+ n& x' t% K
  if(m_dwBelligerence == BELLI_PEACEFUL_R): R" q( g" x% b* J$ D% K9 N
   return 2;
. j) F& u. h' s  return 0;
8 O* }; F; b# ^& Q. ]& `% v$ j0 [2 R7 [% C4 E
}8 r" c- V% C5 J) `& @& E; S" w

$ A4 S! w# x7 ?% P6 F+ a其中:BELLI_PEACEFUL_R为自定义的npc状态,也可以使用已存在的。+ p, O9 ]9 g# D

. M* g5 n1 Q1 W****************************
3 n- L$ e: p! i2 e2 {% Y4 K
, \/ j# o# k/ r" v/ {+ f8 i6 oMoverRender.cpp
" V' Z  q# V, \: w6 O6 k0 M$ Z/ X/ T9 [1 e, [9 S+ f9 v
*****************************
9 q# _' G3 T7 T( P* t, T" K% @
. [  {# z6 @* D4 U$ Y1 i搜索:if( IsPeaceful() )& }* ?5 ^* g; |* f; L4 }6 L( u4 I

) [. p# q: P' C7 p" r0 p# ?修改为:
( u1 I+ C; {. a+ O+ m& }# X0 P% {3 f+ s5 j2 [7 @! _
   if( IsPeaceful() )
% f" L7 x+ t0 R$ _, f+ X; d% X" E   {/ Y- {6 N0 J  u9 Z  e, F
    switch(IsPeaceful())
, v# q' z) Y6 U  e( \    {
/ @! ^" @4 z0 F8 K& }     case 1:. E' s% i2 j8 s
       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_NPC, szName );//默认的显示
- ~  r4 [  D! t+ v8 {/ M       break;
# ]  m2 g+ S  a4 }0 e9 o4 N     case 2:
0 R3 u( m: e  e% A0 d       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );//红色npc名称显示& s( v5 e- z' \2 Z- A3 q
       break;
  e2 w9 c( _9 m" V8 p$ O    }- v6 ~$ Z9 Z- k
   }/ ]3 c( A- a& d, C
   else
- o9 i' W: ?# |! S  k8 u7 Q   {, l' z& q. r6 k0 o, C6 V7 `, ^/ l
    if( m_bActiveAttack ) // 急傍 阁胶磐绰 濒糊芭赴促.
* J) L3 a6 ]  x7 P" h+ M( ~1 B+ f5 i1 ~1 P    {/ L, j$ J8 ]% Q$ `8 _" o  k5 h/ l- Q
     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );      ; ?' c, J  x% n6 _
    } else ' Y1 r9 Q6 h9 q% m0 r
    {8 {1 o8 ?2 ?! j% \
     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_MONSTER, szName );
/ V+ _( I! o1 X; Z2 j- A7 X! J    }
# A8 [) b& d# C2 h, P9 ]7 ]7 T! M" X! v
4 ~7 T5 _" J  y. B9 J0 c5 ~: f使用地图编辑器将npc的状态设置为BELLI_PEACEFUL_R,编译并更新即可。
1 g8 m6 O  D( J& a1 |# s: m" M
: a2 ?, i+ I$ K% N3 H# p! [自定义多个状态即可实现多种颜色的显示。! Q; e3 I$ H8 U% {/ Y  w, P
7 V/ O; Y1 ]$ r& [/ G9 P2 Y

- k7 q( n0 H# D9 |4 U/ ~. n; E




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