飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 13237|回复: 0
打印 上一主题 下一主题

给npc名字换个颜色

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:22:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
**************************0 x9 x" l4 L8 c9 b
3 J8 t0 z$ P7 \* Z' m
Mover.h
4 ^2 o& {/ q% u+ p, E; }) v+ R4 x) Z7 {: D5 l
**************************5 u5 f! O9 W, f$ d! G
; K5 p- m& w# d1 O( @& _; h
搜索: BOOL   IsPeaceful()这个函数0 e: ?6 r! a2 {4 x6 |/ E6 c
' @$ ?5 v1 Z* p) X7 W: s
修改为:
( g8 S" _3 t+ }/ v1 w; ^3 \+ w1 D, Y. I, g7 h
BOOL   IsPeaceful()
. `! _6 c0 W% g( g1 s {
- d3 y: m3 a( r  if(m_dwBelligerence == BELLI_PEACEFUL)
) s6 |& q, V. @$ g, j$ B3 m   return 1;
! M( P1 K( q% u* f+ G/ M* d. F$ o  if(m_dwBelligerence == BELLI_PEACEFUL_R)% i. f" x. b2 r" w; K  Y/ H
   return 2;' @& H( i# v8 [
  return 0;
0 o; }8 Y( ^5 {5 y8 ]9 L2 g7 k+ q3 j" P
}" p" o7 o3 k/ a% |' o6 }% z# c4 w

2 ]# G( _7 X8 ]3 w7 k  j# o, [) `3 ]其中:BELLI_PEACEFUL_R为自定义的npc状态,也可以使用已存在的。
* x; f$ J: G$ l% G$ ?9 h  I/ T: Y" b) `
****************************
, n2 a7 Y8 \8 \5 r7 O4 g; H+ [( ]1 p* B
MoverRender.cpp
% Z" B4 D3 c' M) u7 V, N3 O% g* h; R: i  L$ L' l
*****************************
7 W/ l! R9 O4 |) ~; t$ J. v
1 K7 m( s6 ~% K% p8 E; [5 w3 P搜索:if( IsPeaceful() )% l5 P0 n! R2 I3 F3 o& L0 J# Z+ ~
# Y$ o3 X: J! n5 K5 e/ g1 X3 m
修改为:
- o8 g5 K. {2 o% X$ U+ C: \: |, E5 I1 C, b9 c. h) a
   if( IsPeaceful() )% S7 U, J  T+ h( c! J8 W- D
   {
) A5 j6 g% ^; }) m, R: X    switch(IsPeaceful())
1 f3 j$ F' v5 I  y, s( J    {; N; u/ i$ ^) Y  N, Q6 I
     case 1:8 \0 _+ o7 {2 U- K
       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_NPC, szName );//默认的显示
' M) u9 v% G6 ~- B' a% h8 x       break;  @3 \$ P- F1 J
     case 2:
: V* I5 K, `+ M! ?* z5 a       pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );//红色npc名称显示6 c. f7 X! J2 ^% X7 c0 J) L' U0 Z# Y
       break;* n+ g/ T5 ]! n0 W
    }
" S1 p2 ~) e/ ]! P# P. |   }
: {( M# w- \! j/ s9 ~% c   else# @  p( F1 `' _/ s, h; q
   {
- I7 M9 d8 [0 L# m    if( m_bActiveAttack ) // 急傍 阁胶磐绰 濒糊芭赴促.
& \, e) k6 A( Y! C    {
2 B2 K( E, x+ o9 }: A1 }     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );      0 `8 s0 R% k' @* H8 ]
    } else
7 o0 W- m; w$ O* J7 \3 u    {
* m4 r- O. B* z$ p/ p1 q8 w     pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_MONSTER, szName );+ f7 }8 ?6 R6 Y- i% p/ {* q) e
    }! ^- S) u& t2 D* Z2 @4 ], ?% E  B; I

$ m7 {$ q+ {6 e$ C使用地图编辑器将npc的状态设置为BELLI_PEACEFUL_R,编译并更新即可。% W8 L3 U, O8 k7 F5 U- F
! @1 k0 x9 q, \* X. m
自定义多个状态即可实现多种颜色的显示。
3 W5 y$ b, ]* F* S2 ?8 g  W& G( E8 @# R1 p2 S4 M, O
% V& u7 E( K7 Q1 c/ ]2 m, E
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|飞飞世界技术论坛  

GMT+8, 2026-1-19 05:58 , Processed in 0.059159 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表