阅读:2321回复:4
给《飞飞》NPC名字换个颜色
在源码中找到Mover.h这个文件[font=Arial, ]**************************
搜索: BOOL IsPeaceful()这个函数 修改为: BOOL IsPeaceful() { if(m_dwBelligerence == BELLI_PEACEFUL) return 1; if(m_dwBelligerence == BELLI_PEACEFUL_R) return 2; return 0; } 其中:BELLI_PEACEFUL_R为自定义的npc状态,也可以使用已存在的。 **************************** MoverRender.cpp ***************************** 搜索:if( IsPeaceful() ) 修改为: if( IsPeaceful() ) { switch(IsPeaceful()) { case 1: pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_NPC, szName );//默认的显示 break; case 2: pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName );//红色npc名称显示 break; } } else { if( m_bActiveAttack ) // 急傍 阁胶磐绰 濒糊芭赴促. { pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), 0xffff0000, szName ); } else { pFont->DrawText( (FLOAT)( point.x ), (FLOAT)( point.y ), COLOR_MONSTER, szName ); } 使用地图编辑器将npc的状态设置为BELLI_PEACEFUL_R,编译并更新即可。 自定义多个状态即可实现多种颜色的显示。 以上方法需要修改npc的属性,所以不是很方便,那么可以直接指定npc来设置颜色,具体方法没有源码在手就不写了,修改位置差不多,大家自己实验就行了。 |
|