图 1.
图 2.
图 3.
这里以魔兽插件V3.0 RC13为例(下载地址:
http://www.wa....com),以前记得用在CS1.5的时候,无论hud_centerid设置为0还是1,玩家种族和经验的信息都是显示在屏幕左下角的。但用在CS1.6里,就会出现这两种情况:当hud_centerid设置为0时,玩家种族和经验的信息会显示在屏幕的左下角;而当hud_centerid设置为1时,玩家种族和经验的信息会显示在屏幕的中央。
对于CS1.6,到底有没有办法让玩家种族和经验信息的显示位置固定在屏幕的左下角,而不受hud_centerid 0/1这个命令参数的影响呢?答案是不可以!因为CS1.5的StatusText信息显示通道有两个,但CS1.6只有一个,因此才会造成信息之间的显示冲突。解决的方法就是修改魔兽插件的信息显示方式,改用set_hudmessage的形式显示,修改的方法如下:
一、首先打开war3ft.sma,找到这些代码,然后修改成这样:
复制程式
// Initialize this player
WC3_PlayerInit( id );
//client_cmd( id, "hud_centerid 0" );
client_cmd( id, "hud_centerid 1" );
二、然后打开war3ft/war3ft.inl这个文件,找到这些代码,然后修改成这样:
第一部分:
复制程式
// Format the message
new Float:fSpecTime = SPEC_HOLDTIME;
if ( get_pcvar_num( CVAR_wc3_spec_position ) == 0 )
{
//set_hudmessage( 255, 255, 255, 0.018, 0.9, 2, 1.5, fSpecTime, 0.02, 5.0, HUD_SPEC_INFO );
set_hudmessage( 255, 255, 255, 0.75, 0.9, 2, 1.5, fSpecTime, 0.02, 5.0, HUD_SPEC_INFO );
}
else
{
//set_hudmessage( 255, 255, 255, 0.65, 0.9, 2, 1.5, fSpecTime, 0.02, 5.0, HUD_SPEC_INFO )
set_hudmessage( 255, 255, 255, 0.75, 0.9, 2, 1.5, fSpecTime, 0.02, 5.0, HUD_SPEC_INFO )
}
第二部分:
复制程式
// Ultimate messages
else if ( iType == TXT_ULTIMATE )
{
//set_hudmessage( 255, 208, 0, -1.0, 0.85, HUDMESSAGE_FX_FADEIN, 6.0, 0.5, 0.1, 0.5, HUD_ULTIMATE );
set_hudmessage( 255, 208, 0, -1.0, -0.4, HUDMESSAGE_FX_FADEIN, 6.0, 0.5, 0.1, 0.5, HUD_ULTIMATE );
}
第三部分:
复制程式
if ( SHARED_IsOnTeam( id ) )
{
// Display the item + race info with a hudmessage
if ( g_MOD == GAME_CSTRIKE || g_MOD == GAME_CZERO )
{
if ( is_user_alive( id ) )
{
//Create_StatusText( id, 0, szString );
set_hudmessage( 255, 255, 255, 0.018, 0.89, 0, 1.5, 600.0, 0.02, 5.0, -1 );
show_hudmessage( id, szString );
//}
//else
//{
//set_hudmessage( 160, 160, 160, 0.012, 0.90, HUDMESSAGE_FX_FADEIN, 10.0, 0.0, 2.0, 3.0, HUD_XP );
//show_hudmessage( id, "%s", szXPInfo );
}
}
OK,修改完后保存好war3ft.inl,然后重新编译war3ft.sma生成amxx就行了。想偷懒的朋友可以下载我修改好的war3ft.inl文件,下完后覆盖掉原来的文件,最后重新编译插件就行了。