#include < amxmodx >
#include < amxmisc >
#include < cstrike >
#include < csx >
#include < fun >
#include < fakemeta >
#include < hamsandwich >
new g_Plant, g_Defuse;
new g_Sync;
new g_Name [ 33 ] [ 32 ];
new bool: g_Bonus [ 33 ];
new g_C4Timer, g_Point;
new bool: g_Planted = false;
public plugin_precache ( )
{
precache_sound ( "LondonXMAS/10.wav" );
precache_sound ( "LondonXMAS/9.wav" );
precache_sound ( "LondonXMAS/8.wav" );
precache_sound ( "LondonXMAS/7.wav" );
precache_sound ( "LondonXMAS/6.wav" );
precache_sound ( "LondonXMAS/5.wav" );
precache_sound ( "LondonXMAS/4.wav" );
precache_sound ( "LondonXMAS/3.wav" );
precache_sound ( "LondonXMAS/2.wav" );
precache_sound ( "LondonXMAS/1.wav" );
}
public plugin_init ( )
{
register_plugin ( "Bomb", "1.0", "LondoN eXtream" );
g_Plant = register_cvar ( "c4_plant_bonus", "1000" );
g_Defuse = register_cvar ( "c4_defuse_bonus", "1000" );
g_Sync = CreateHudSyncObj ( );
set_cvar_string ( "mp_c4timer", "35" );
g_Point = get_cvar_pointer ( "mp_c4timer" );
register_logevent ( "newRound", 2, "1=Round_Start" );
register_logevent ( "endRound", 2, "1=Round_End" );
register_logevent ( "endRound", 2, "1&Restart_Round_" );
register_message ( get_user_msgid ( "TextMsg" ), "Msg_Text_Bomb" );
RegisterHam ( Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1 );
}
public client_putinserver ( Player )
{
if ( !is_user_bot ( Player ) || !is_user_hltv ( Player ) )
get_user_name ( Player, g_Name [ Player ], charsmax ( g_Name [ ] ) );
return PLUGIN_CONTINUE;
}
public newRound ( )
{
g_C4Timer = -1;
remove_task ( 652450 );
g_Planted = false;
engfunc( EngFunc_LightStyle, 0, "k" );
}
public endRound ( )
{
g_C4Timer = -1;
remove_task ( 652450 );
}
public Msg_Text_Bomb ( msg_id, msg_dest, id )
{
static szMsg [ 64 ];
get_msg_arg_string ( 2, szMsg, charsmax ( szMsg ) );
if ( equal ( szMsg, "#Game_bomb_drop" ) || equal ( szMsg, "#Game_bomb_pickup" ) || equal ( szMsg, "#Got_bomb" ) || equal ( szMsg, "#Bomb_Planted" ) || equal ( szMsg, "#Target_Bombed" ) || equal ( szMsg, "#Bomb_Defused" ) )
return PLUGIN_HANDLED;
return PLUGIN_CONTINUE;
}
public fw_PlayerSpawn_Post ( Player )
{
if ( !( Player >= 1 && Player <= get_maxplayers ( ) ) || !is_user_alive ( Player ) )
return HAM_HANDLED;
if ( g_Bonus [ Player ] )
{
switch ( random_num ( 1, 4 ) )
{
case 1:
{
new g_HP = random_num ( 25, 50 );
set_user_health ( Player, get_user_health ( Player ) + g_HP );
PrintMessage ( Player, "^x03[Bonus]^x01 Pentru ca ai %s Mosului %s ti-a daruit^x04 %d^x03 HP", get_user_team ( Player ) == 1 ? "distrus" : "salvat", get_user_team ( Player ) == 1 ? "Grinch" : "el", g_HP );
g_Bonus [ Player ] = false;
}
case 2:
{
give_item ( Player, "weapon_hegrenade" );
PrintMessage ( Player, "^x03[Bonus]^x01 Pentru ca ai %s Mosului %s ti-a daruit o^x04 Grenada Exploziva", get_user_team ( Player ) == 1 ? "distrus" : "salvat", get_user_team ( Player ) == 1 ? "Grinch" : "el" );
g_Bonus [ Player ] = false;
}
case 3:
{
give_item ( Player, "weapon_flashbang" );
cs_set_user_bpammo ( Player, CSW_FLASHBANG, 2 );
PrintMessage ( Player, "^x03[Bonus]^x01 Pentru ca ai %s Mosului %s ti-a daruit^x04 2 Grenazi Flash", get_user_team ( Player ) == 1 ? "distrus" : "salvat", get_user_team ( Player ) == 1 ? "Grinch" : "el" );
g_Bonus [ Player ] = false;
}
case 4:
{
strip_user_weapons ( Player );
give_item ( Player, "weapon_knife" );
give_item ( Player, "weapon_deagle" );
give_item ( Player, get_user_team ( Player ) == 1 ? "weapon_ak47" : "weapon_m4a1" );
cs_set_user_bpammo ( Player, CSW_DEAGLE, 35 );
cs_set_user_bpammo ( Player, get_user_team ( Player ) == 1 ? CSW_AK47 : CSW_M4A1, 90 );
set_user_armor ( Player, 100 );
PrintMessage ( Player, "^x03[Bonus]^x01 Pentru ca ai %s Mosului %s ti-a oferit^x04 Echipament Complet", get_user_team ( Player ) == 1 ? "distrus" : "salvat", get_user_team ( Player ) == 1 ? "Grinch" : "el" );
g_Bonus [ Player ] = false;
}
}
}
return HAM_IGNORED;
}
public bomb_planted ( Player )
{
new Money = cs_get_user_money ( Player );
new Bonus = get_pcvar_num ( g_Plant );
if ( Money + Bonus >= 16000 )
cs_set_user_money ( Player, 16000 );
else
cs_set_user_money ( Player, Money + Bonus );
set_hudmessage ( 0, 127, 255, -1.0, 0.7, 1, 0.0, 5.0, 1.0, 3.0, -1 );
ShowSyncHudMsg ( 0, g_Sync, "%s a plantat o bomba in casa Mosului!!", g_Name [ Player ] );
PrintMessage ( Player, "^x03[Bomba]^x01 Felicitari, ai plantat bomba si ai primit^x04 %d^x01 $ din partea lui^x04 Grinch!", Bonus );
g_Planted = true;
g_C4Timer = get_pcvar_num ( g_Point );
Task_HUD ( );
set_task ( 1.0, "Task_HUD", 652450, "", 0, "b" );
}
public bomb_defused ( Player )
{
new Money = cs_get_user_money ( Player );
new Bonus = get_pcvar_num ( g_Defuse );
if ( Money + Bonus >= 16000 )
cs_set_user_money ( Player, 16000 );
else
cs_set_user_money ( Player, Money + Bonus );
g_Bonus [ Player ] = true;
engfunc ( EngFunc_LightStyle, 0, "k" );
set_hudmessage ( 0, 127, 255, -1.0, 0.7, 1, 0.0, 5.0, 1.0, 3.0, -1 );
ShowSyncHudMsg ( 0, g_Sync, "%s a dezamorsat bomba cu succes iar casa Mosului este salvata!", g_Name [ Player ] );
PrintMessage ( Player, "^x03[Bomba]^x01 Ai salvat casa^x04 Mosului^x01 iar el ti-a daruit^x04 %d^x01 $", Bonus );
if ( g_Planted )
{
remove_task ( 652450 );
g_Planted = false;
}
}
public bomb_explode ( )
{
for(new x = 0; x <= get_maxplayers ( ); x++ )
g_Bonus [ x ] = true;
if ( g_Planted )
{
remove_task ( 652450 );
g_Planted = false;
}
set_hudmessage ( 0, 127, 255, -1.0, 0.7, 1, 0.0, 5.0, 1.0, 3.0, -1 );
ShowSyncHudMsg ( 0, g_Sync, "Casa Mosului a fost distrusa !" );
}
public Task_HUD ( )
{
if ( !g_Planted )
{
remove_task ( 652450 );
return PLUGIN_HANDLED;
}
if ( g_C4Timer >= 1 )
{
set_hudmessage ( 0, 127, 255, -1.0, 0.0, random_num( 0, 2 ), 1.0, 8.0 );
ShowSyncHudMsg ( 0, g_Sync, "Casa va fi distrusa in: %d", g_C4Timer );
switch ( g_C4Timer )
{
case 30: engfunc ( EngFunc_LightStyle, 0, "i" );
case 25: engfunc ( EngFunc_LightStyle, 0, "h" );
case 20: engfunc ( EngFunc_LightStyle, 0, "g" );
case 15: engfunc ( EngFunc_LightStyle, 0, "f" );
case 10:
{
engfunc ( EngFunc_LightStyle, 0, "e" );
client_cmd ( 0, "spk ^"LondonXMAS/10.wav^"" );
}
case 9: client_cmd ( 0, "spk ^"LondonXMAS/9.wav^"" );
case 8: client_cmd ( 0, "spk ^"LondonXMAS/8.wav^"" );
case 7: client_cmd ( 0, "spk ^"LondonXMAS/7.wav^"" );
case 6: client_cmd ( 0, "spk ^"LondonXMAS/6.wav^"" );
case 5:
{
engfunc ( EngFunc_LightStyle, 0, "d" );
client_cmd ( 0, "spk ^"LondonXMAS/5.wav^"" );
}
case 4: client_cmd ( 0, "spk ^"LondonXMAS/4.wav^"" );
case 3: client_cmd ( 0, "spk ^"LondonXMAS/3.wav^"" );
case 2: client_cmd ( 0, "spk ^"LondonXMAS/2.wav^"" );
case 1: client_cmd ( 0, "spk ^"LondonXMAS/1.wav^"" );
}
--g_C4Timer;
}
return PLUGIN_CONTINUE;
}
PrintMessage ( iTarget, cMessage [ ], any:... )
{
static gmsgSayText, cBuffer [ 192 ];
if ( !gmsgSayText ) gmsgSayText = get_user_msgid ( "SayText" );
vformat ( cBuffer, 191, cMessage, 3 );
message_begin ( MSG_ONE_UNRELIABLE, gmsgSayText, _, iTarget );
write_byte ( iTarget );
write_string ( cBuffer );
message_end ( );
}