Переделал плагин kniferoud`а, но столкнулся с проблемой, что он вообще не работает. В коде, я надеюсь, все правильно. Скомпилировался без проблем. Сервер ReHLDS.
Логи:
[AMXX] Load error 17 (invalid file format or version) (plugin "ios.amxx")
- Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>
#include <dhudmessage>
#include <colorchat>
new bool:iOS_KnifeRound;
new iOS_MaxPlayers;
new iOS_Noslash;
new iOS_Prefix;
new ios_tag[16]
public plugin_init() {
register_plugin( "iOS", "0.1", "vishnevsky" );
iOS_Prefix = register_cvar( "ios_prefix", "AcLss" );
iOS_Noslash = register_cvar( "ios_kf_noslash", "1" ); //KnifeRound
register_clcmd( "say /knf", "iOS_KF_Start", ADMIN_BAN, "Start Knife Round" );
register_clcmd( "say_team /knf", "iOS_KF_Start", ADMIN_BAN, "Start Knife Round" );
register_clcmd( "say /knife", "iOS_KF_Start", ADMIN_BAN, "Start Knife Round" );
register_clcmd( "say_team /knife", "iOS_KF_Start", ADMIN_BAN, "Start Knife Round" );
register_clcmd( "say /stop", "iOS_KF_Stop", ADMIN_BAN, "Stop Knife Round" );
register_clcmd( "say_team /stop", "iOS_KF_Stop", ADMIN_BAN, "Stop Knife Round" );
register_clcmd( "say /rr", "iOS_Restart", ADMIN_BAN, "Restart Round" );
register_clcmd( "say_team /rr", "iOS_Restart", ADMIN_BAN, "Restart Round" );
register_clcmd( "say /swap", "iOS_Swap", ADMIN_BAN, "Swap teams" );
register_clcmd( "say_team /swap", "iOS_Swap", ADMIN_BAN, "Swap teams" );
register_clcmd( "shield", "BlockCmds" ); //KnifeRound
register_clcmd( "cl_rebuy", "BlockCmds" ); //KnifeRound
register_event( "CurWeapon", "EventCurWeapon", "be", "2!29" );
register_logevent( "EventRoundEnd", 2, "0=World triggered", "1=Round_Draw", "1=Round_End" );
RegisterHam( Ham_Weapon_PrimaryAttack, "weapon_knife", "HamKnifePrimAttack" );
iOS_MaxPlayers = get_maxplayers( );
get_pcvar_string(iOS_Prefix, ios_tag, 16);
}
//* Knife Round *//
//* Knife Round *//
//* Knife Round *//
public EventCurWeapon( id ) {
if( iOS_KnifeRound ) engclient_cmd( id, "weapon_knife" );
return PLUGIN_CONTINUE;
}
public iOS_KF_Start( id, level, cid ) {
if( !cmd_access( id, level, cid, 1 ) ) return PLUGIN_HANDLED;
iOS_KF_Shake()
set_task( 0.1, "hud_start", 228, _, _, "a", 50 )
set_task( 5.5, "iOS_Restart", id );
set_task( 5.5, "iOS_KF_StartEvent", id );
set_task( 6.0, "hud_start_kf", id );
ColorChat( 0, RED, "^3[^4%s^3] STARTED THE KNIFE ROUND", ios_tag );
ColorChat( 0, RED, "^3[^4%s^3] STARTED THE KNIFE ROUND", ios_tag );
ColorChat( 0, RED, "^3[^4%s^3] STARTED THE KNIFE ROUND", ios_tag );
ColorChat( 0, RED, "^3[^4%s^3] STARTED THE KNIFE ROUND", ios_tag );
ColorChat( 0, RED, "^3[^4%s^3] STARTED THE KNIFE ROUND", ios_tag );
return PLUGIN_CONTINUE;
}
public iOS_KF_StartEvent( ) {
iOS_KnifeRound = true;
new players[ 32 ], num;
get_players( players, num );
for( new i = 0; i < num ; i++ )
{
new item = players[ i ];
EventCurWeapon( item );
}
return PLUGIN_CONTINUE;
}
public iOS_KF_Stop( id, level, cid ) {
if ( !cmd_access( id, level, cid, 1 ) ) return PLUGIN_HANDLED;
iOS_KnifeRound = false;
server_cmd( "sv_restartround 1" );
ColorChat( 0, BLUE, "^1[^4%s^1] ^3KNIFE ROUND WAS STOPPED", ios_tag );
ColorChat( 0, BLUE, "^1[^4%s^1] ^3KNIFE ROUND WAS STOPPED", ios_tag );
ColorChat( 0, BLUE, "^1[^4%s^1] ^3KNIFE ROUND WAS STOPPED", ios_tag );
ColorChat( 0, BLUE, "^1[^4%s^1] ^3KNIFE ROUND WAS STOPPED", ios_tag );
ColorChat( 0, BLUE, "^1[^4%s^1] ^3KNIFE ROUND WAS STOPPED", ios_tag );
set_task( 0.1, "hud_stopknife", 228, _, _, "a", 50 )
return PLUGIN_CONTINUE;
}
public iOS_Swap( id,level,cid ) {
if( !cmd_access( id, level, cid, 1 ) ) return PLUGIN_HANDLED;
iOS_SwapEvent( );
iOS_Restart( id, level, cid );
ColorChat( 0, GREY, "^1[^4%s^1] ^3SWITCHING SIDES...", ios_tag );
ColorChat( 0, GREY, "^1[^4%s^1] ^3SWITCHING SIDES...", ios_tag );
ColorChat( 0, GREY, "^1[^4%s^1] ^3SWITCHING SIDES...", ios_tag );
ColorChat( 0, GREY, "^1[^4%s^1] ^3SWITCHING SIDES...", ios_tag );
ColorChat( 0, GREY, "^1[^4%s^1] ^3SWITCHING SIDES...", ios_tag );
set_task( 3.0, "hud_switch", id );
return PLUGIN_CONTINUE;
}
public iOS_SwapEvent( ) {
for( new i = 1; i <= iOS_MaxPlayers; i++ ) {
if( is_user_connected( i ) )
{
switch( cs_get_user_team( i ) )
{
case CS_TEAM_T: cs_set_user_team( i, CS_TEAM_CT );
case CS_TEAM_CT: cs_set_user_team( i, CS_TEAM_T );
}
}
}
}
public iOS_Restart( id, level, cid ) {
if ( !cmd_access( id, level, cid, 1 ) ) return PLUGIN_HANDLED;
iOS_KnifeRound = false;
server_cmd( "sv_restartround 1" );
return PLUGIN_CONTINUE;
}
public EventRoundEnd( ) {
if( iOS_KnifeRound ) {
new players[ 32 ], num;
get_players( players, num, "ae", "TERRORIST" );
if(!num)
{
ColorChat( 0, BLUE, "^1[^4%s^1] ^3KNIFE ROUND WIN COUNTER-TERRORISTS", ios_tag );
set_task( 0.1, "hud_kfwin_ct", 228, _, _, "a", 50 )
}
else
{
ColorChat( 0, RED, "^1[^4%s^1] ^3KNIFE ROUND WIN TERRORISTS", ios_tag );
set_task( 0.1, "hud_kfwin_tt", 228, _, _, "a", 50 )
}
}
iOS_KnifeRound = false;
return PLUGIN_CONTINUE;
}
public iOS_KF_Shake() {
new all[32], all_num
get_players(all,all_num,"a")
for (new i=0;i<all_num;i++)
{
new gmsgShake = get_user_msgid("ScreenShake")
message_begin(MSG_ONE, gmsgShake, {0,0,0}, all[i])
write_short(255<< 14 ) //ammount
write_short(10 << 14) //lasts this long
write_short(250<< 14) //frequency
message_end()
}
}
public HamKnifePrimAttack( iEnt ) {
if( iOS_KnifeRound && get_pcvar_num( iOS_Noslash ) )
{
ExecuteHamB( Ham_Weapon_SecondaryAttack, iEnt );
return HAM_SUPERCEDE;
}
return HAM_IGNORED;
}
public BlockCmds( ) {
if( iOS_KnifeRound )
{
return PLUGIN_HANDLED_MAIN;
}
return PLUGIN_CONTINUE;
}
public hud_start()
{
set_dhudmessage(84, 20, 100, -1.0, 0.60, 0, 0.0, 0.2, 0.0, 0.0)
show_dhudmessage(0, "KNIFE ROUND WILL BE STARTED^nIN 5 SECOUNDS")
}
public hud_start_kf()
{
set_dhudmessage(0, 128, 0, -1.0, 0.60, 0, 0.0, 6.0, 0.0, 0.0)
show_dhudmessage(0, "STARTED THE KNIFE ROUND")
}
public hud_stopknife()
{
set_dhudmessage(255, 0, 0, -1.0, 0.60, 0, 3.0, 1.0, 0.1, 1.0)
show_dhudmessage(0, "KNIFE ROUND WAS STOPPED")
}
public hud_kfwin_ct()
{
set_dhudmessage(34, 93, 255, -1.0, 0.60, 0, 3.0, 5.0, 0.1, 1.0)
show_dhudmessage(0, "KNIFE ROUND WIN COUNTER-TERRORISTS")
}
public hud_kfwin_tt()
{
set_dhudmessage(239, 27, 27, -1.0, 0.60, 0, 3.0, 5.0, 0.1, 1.0)
show_dhudmessage(0, "KNIFE ROUND WIN TERRORISTS")
}
public hud_switch()
{
set_dhudmessage(246, 74, 70, -1.0, 0.60, 0, 0.0, 0.2, 0.0, 0.0)
show_dhudmessage(0, "SWITCHING SIDES...")
}
//* Knife Round *//
//* Knife Round *//
//* Knife Round *//
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/