飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:22
标题: 给npc名字换个颜色
**************************8 c2 d5 j* @- [( \; ~/ O0 g
8 a4 D4 m8 o4 G# [& t
Mover.h
5 l8 m" {4 F; p( S* s& O
) n, z# g$ e  M3 U  {7 }; \**************************! s! L3 K3 y* d; {- [- e
9 a  N7 U9 Y$ f8 N- d/ o
搜索: BOOL   IsPeaceful()这个函数9 G& V. i( g+ _. ^, C
! w) M5 M* J! {( ^- K$ r
修改为:# w; e1 _3 p. u; w" S& @5 a7 ]) ^

; O5 e6 a5 |6 a& T BOOL   IsPeaceful()
  }8 H( P( |. i, p {
' }" a# W) R, W; h) l  if(m_dwBelligerence == BELLI_PEACEFUL)0 x( I* G; t% u+ V9 D1 V) u
   return 1;
8 C% w  R$ V0 v# R1 V# H4 c  if(m_dwBelligerence == BELLI_PEACEFUL_R)7 Q* ]/ [3 O7 a. c+ W+ G
   return 2;
! M( ~/ r7 t( [3 {6 r1 O$ M5 h  return 0;7 t3 g$ r8 U2 r5 N6 U5 B/ s
, G  J1 c, F& Y1 F* c
}* D! u$ Z' a0 t+ f, O

5 c! a5 i8 b2 g3 W# U4 k+ R其中:BELLI_PEACEFUL_R为自定义的npc状态,也可以使用已存在的。
; `: U! C; H; ?( D% I. D; ]5 v  ?; @- k1 ?! W: R9 m9 H8 T
****************************) R" T3 }  {3 N' T9 `1 p) Y* a

+ E7 n+ K" n! P3 A* ], vMoverRender.cpp. {9 i0 w+ C& }; |, A$ A
% Y- j# Z# y6 Q$ ^+ m. s
*****************************$ }, I+ t- L6 f$ r  c" b8 J  n
. n# J+ o/ h' g7 u+ ~3 o
搜索:if( IsPeaceful() )! ~1 l- P9 I1 c! J
& l' A2 d! L0 g# v$ S1 L
修改为:3 W$ ~4 K, O5 J& T6 u' {( m
7 ^6 M7 A# K( e9 x& V1 J' G: ^
   if( IsPeaceful() )
2 k, r  U+ {$ M3 W   {3 g$ s" q0 p' z
    switch(IsPeaceful())
" Z! C/ X/ K3 V( D0 L# p    {
3 j$ o7 f& g% N( e8 e     case 1:* z- C* n2 G8 `5 g+ C
       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_NPC, szName );//默认的显示) E' D  z* Z" p9 R6 ?3 [5 ]
       break;
# ~5 I4 w* l9 q6 h' T5 f. C     case 2:- |, u% N5 Z) g- }6 G6 u* ^4 _# q
       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );//红色npc名称显示
5 T3 y6 O3 q/ T       break;% S% U$ n5 i- `3 I9 S2 i8 }$ Z
    }
8 \2 a; M7 u5 p' Q* ?   }
6 ?8 X, _# n. e- H5 T( i" @  t   else
; Q9 [) ~; i# u- x) ?/ [   {- r) Y2 w7 k1 A8 F. W" Y/ l9 S: l, I
    if( m_bActiveAttack ) // 急傍 阁胶磐绰 濒糊芭赴促.2 a6 ~8 |$ w; g) i( e
    {
1 m; S/ Q, @: a9 }     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );      4 A, p8 T  o& ]& N0 ]! X! c0 T
    } else / |9 F* j4 \) F# u& q: W  ~: S% b
    {1 J" I) s/ e; a3 }. F) Q" s
     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_MONSTER, szName );, b6 M  D" M# R; P
    }
( B" x7 p0 _5 b  ]$ T3 U2 c. @2 o/ P* b, T
使用地图编辑器将npc的状态设置为BELLI_PEACEFUL_R,编译并更新即可。. Z  a9 t$ k. P( f# y5 z, y
$ y+ G: Q0 f0 d3 m" X! H
自定义多个状态即可实现多种颜色的显示。" U  J9 w8 s2 r; |; Q

* [0 V0 p. L9 ~7 ?- S4 ?
4 J- D+ R, Z( O" N; ?/ z




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