飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:22
标题: 给npc名字换个颜色
**************************
& K* K$ y; J% {2 s4 q* c) h3 S& |, K2 v, E1 H0 U) \
Mover.h* v7 U2 N3 q3 F0 ?: n$ c

- c" k% P2 V" A**************************( ?4 K; B! s; U4 ]' O/ w' y
1 a) Z5 G5 s- H1 }3 A  ?6 [
搜索: BOOL   IsPeaceful()这个函数! A" a; D) C9 n$ w# K6 V! a

' B8 c* R, s, U( w' Z5 V修改为:: w. r2 D# a7 z4 |! ]4 w+ k

8 I1 d  Y, M; H BOOL   IsPeaceful()
; z9 g! B; m( z( k { ! m; B3 \: _1 ~9 ]0 }2 Z- y5 J
  if(m_dwBelligerence == BELLI_PEACEFUL)  y! R3 I$ q* U
   return 1; + I$ H; ^  H  s: o8 D
  if(m_dwBelligerence == BELLI_PEACEFUL_R)
% K& S# y3 J. D1 a8 e6 y3 E   return 2;7 Y4 G# K8 v- O" }# r; m
  return 0;! s" p& o5 Q' E4 a
! [9 V$ S6 l+ o- m' i
}
6 l7 u7 C) x3 b# a7 C& K) @  b0 G% y- l; Z* K/ Z2 q  Q9 \- G4 a
其中:BELLI_PEACEFUL_R为自定义的npc状态,也可以使用已存在的。
, N- J2 H1 Z1 Z0 ~: w6 A( [0 F6 {/ n5 W9 p. m0 o1 \! G. A
****************************0 U# ^. g* b( s9 o. h! N/ Z

% V. z2 d5 L, f" s, z( U5 T5 Z7 yMoverRender.cpp
/ ?$ i+ V' {  H: O: a
+ f% a; Z) z$ S# Z*****************************
/ Y6 n. K% ~& k
* M+ I6 U6 r# [搜索:if( IsPeaceful() )4 y4 R- D* w+ d4 h1 p- s
$ A/ E7 j3 M; v, ~( X
修改为:  |# S4 ^% E/ P( M
% l8 J& W) H, X, n, b+ A5 [
   if( IsPeaceful() )
0 r1 H% r- V8 g; d   {
# V5 P+ K2 P' V0 I6 p  r% A9 |  w    switch(IsPeaceful()), V$ S4 ?- E' v# v+ J/ @
    {$ }, m9 [. o( f& G" v  h# G: K
     case 1:9 O! v3 }- E/ G6 |- M. ^" ~0 c
       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_NPC, szName );//默认的显示
: X% t  O0 M- z9 M3 e& l6 A- g8 z1 `       break;
7 P; k2 w* j5 Q     case 2:% C3 ^: Y1 D( {1 X5 d
       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );//红色npc名称显示1 h' x2 g# H( H/ I, B
       break;4 m6 D; Q' }9 l% \5 g: |
    }
% G" _0 n: [; P" }# p   }
; B+ u! p( k* [! x   else- O8 Y6 }( m# v# F3 p7 X
   {: Z3 y) l9 ?0 d7 K, b
    if( m_bActiveAttack ) // 急傍 阁胶磐绰 濒糊芭赴促.
% H  F* I6 Y' `( R0 z! w    {6 ?* E# \( d4 M/ y# y6 z  @
     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );      - p; E: K, U" K5 R/ m
    } else
% g% {& i3 p1 |% o! s; O    {
, \1 O! Z6 `$ \( B/ J6 D8 S; G; \; f     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_MONSTER, szName );' V0 o! L. s* z, u
    }
7 v# z( B5 {6 l, w) d3 H$ j' Y1 e0 _* n" r1 p* v
使用地图编辑器将npc的状态设置为BELLI_PEACEFUL_R,编译并更新即可。* o5 a8 U. t& t. m. g8 ^

6 o$ g7 I$ {, s# N, l9 R自定义多个状态即可实现多种颜色的显示。0 f$ v" J9 J4 Y! |9 H

+ U: n7 a# a# X5 Y' H  e3 J% \' q' k1 y# L. t2 F) X+ C





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