Plugin JailBreak Mode

Descarcari de pluginuri si discutii despre acestea.

Moderators: Moderatori ajutători, Scripteri TheXForce

Post Reply
User avatar
Rainq
Fost administrator
Fost administrator
Posts: 381
Joined: Mon Jan 18, 2021 7:25 am
Status: Citesc forumul TheXForce.RO...!
Detinator Steam: Da
SteamID: mrainq
Gaming experience: Nu spun..
Reputatie: Fost administrator
Nume anterior: Light
Fost detinator zm.thexforce.ro
Fost detinator dr.thexforce.ro
Location: Bucureşti
Has thanked: 2 times
Been thanked: 1 time
Contact:

Plugin JailBreak Mode

Post by Rainq »

Nume: Jail base
Versiune: 7.0
Link oficial: http://www.fileshare.ro/e3427340507

Instalare:
1. Fisierul jb_base.sma il puneti in addons/amxmodx/scripting
2. Fisierul jb_base.amxx il puneti in addons/amxmodx/plugins
3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:

Code: Select all

jb_base.amxx
4. Sursa este neatinsa de mult timp, va trebuie cs_player_models_api pentru a o porni.
5. Alti pasi necesari....

Cvar-uri (se adauga in fisierul amxmodx\configs\amxx.cfg):

Code: Select all

/* JailBreak Mod [AmXModX] - Lite version for LeagueCS */

#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>
#include <cs_player_models_api>
#include <xs>

#pragma tabsize 0

#define PLUGIN_NAME "JailBreak Mode"
#define PLUGIN_AUTHOR "fantezie."
#define PLUGIN_VERSION "v14.0-rev"
#define PLUGIN_CVAR "LeagueCS"

new SaveDataFile1[128]

#define FL_ONGROUND2    (FL_ONGROUND | FL_PARTIALGROUND | FL_INWATER | FL_CONVEYOR | FL_FLOAT | FL_FLY) 
#define HUD_DELAY Float:1.1
#define CELL_RADIUS Float:200.0
#define get_bit(%1,%2) 		(%1 & 1<<(%2&31))
#define set_bit(%1,%2)	 	%1 |= (1<<(%2&31))
#define clear_bit(%1,%2)	%1 &= ~(1<<(%2&31))
#define vec_copy(%1,%2)		( %2[0] = %1[0], %2[1] = %1[1],%2[2] = %1[2])
#define TASK_SAVE 1000
#define Get_HitWitch(%1)                get_tr2(%1,TR_pHit)
#define Get_HitPlace(%1)                get_tr2(%1,TR_iHitgroup)
#define Set_HitPlace(%1)    set_tr2(%1,TR_flFraction,1.0)
#define CLASSNAME_ICE  "ent_frozen"
#define is_user(%1) (1 <= %1 <= get_maxplayers())
enum _hud { _hudsync, Float:_x, Float:_y, Float:_time }
enum _duel { _name[16], _csw, _entname[32], _opt[32], _sel[32] }
enum _:ScoreInfo_Args { PlayerID = 1, Frags, Deaths, ClassID, TeamID }
enum _: iCrowbarSequences { CrowbarIdle = 0, CrowbarFloat, CrowbarSpin }

new g_ShowHud1, g_IsForcedOffline, ShockwSpr, HookSpr, g_Freeday, gc_SimonSteps, g_BlockWeapons, g_RoundEnd, g_Duel, g_GameMode, /*ImparteEchipele1, ImparteEchipele2,*/ secundeday, g_PlayerIsInDuel, g_GunDayFortat;
new g_BoxStarted, g_Simon, g_SimonAllowed, g_SimonTalking, g_SimonVoice, g_LastDenied, g_PlayerNomic, g_PlayerWanted, g_PlayerRevolt, g_PlayerFreeday, g_PlayerLast, g_FreedayAuto, g_FreedayNext;
new g_Seconds, g_JailDay, IsEventActivated, g_PlayerDuelT, g_PlayerDuelCT, gc_TalkMode, gc_VoiceBlock, limitacutii, gp_PrecacheSpawn, gp_PrecacheKeyValue, g_iAnswer, g_MaxClients;
new g_Gravity[33], blockviteza[33], blockgravity[33], g_TeamSwitch[33], g_PlayerReason[33], g_PlayerSimon[33], blockrevive[33], blockmedkit[33], u_knife[33], knifespeed[33], bool:ShopUsed[33], bool:g_Invizibil[33];
new g_usedguns[33], gi_IsFrozen[33], credite[33], g_PlayerRevived[33], g_Speed[33], bool:g_bQuestAlive, g_strQuestion[40], g_VipFolosit[33];
new CsTeams:g_PlayerTeam[33], Trie:g_CellManagers, g_TeamCount[CsTeams], g_TeamAlive[CsTeams], g_Buttons[10], g_Had_Crowbar[33], g_Stab[33]
new g_DayRestrict = 0, g_isLMS, g_isFirstRound, g_ResetValues, NumeHarti[5][34], gp_CrowbarMax, g_PlayerCrowbar, g_CrowbarCount
new g_Bot[33], g_BotsCount,sz_slayteam[32]
new bHookToOrigin[ 33 ][ 3 ], g_vip[33] = false, g_organizator[33] = false;
const TimeleftStringLen = 100
new szHelpNum, szPlayerCaught[33], szPlayerTime[33], szPlayerCT[33], tagday[33], g_PlayerVoice
new TimeleftString[TimeleftStringLen+1],PreText, PostText, g_BhopON
#if cellbits == 32
#define OFFSET_BZ 235
#else
#define OFFSET_BZ 268
#endif

new const g_szSoundsPre[][] = {
			"jb_sounds/VipSounds/hammer/knife_slash1_off.wav", "jb_sounds/VipSounds/hammer/hit2.wav",
			"jb_sounds/VipSounds/hammer/hit1.wav", "jb_sounds/VipSounds/hammer/knifedeploy.wav",
			"jb_sounds/VipSounds/hammer/knife_stab123.wav", "jb_sounds/VipSounds/strong/knife_slash1.wav",
			"jb_sounds/VipSounds/strong/knife_hit1.wav", "jb_sounds/VipSounds/strong/knife_hit2.wav",
			"jb_sounds/VipSounds/strong/knife_stab.wav", "jb_sounds/VipSounds/strong/knife_deploy1.wav",
			"jb_sounds/VipSounds/strong/frostnova.wav", "jb_sounds/VipSounds/axe/knife_slash1.wav",
			"jb_sounds/VipSounds/axe/knife_hit1.wav", "jb_sounds/VipSounds/axe/knife_hit2.wav",
			"jb_sounds/VipSounds/axe/knife_stab.wav", "jb_sounds/VipSounds/axe/knife_deploy1.wav",
			"jb_sounds/headshot.wav", "jb_sounds/jb_kill.wav", "jb_sounds/jb_ding.wav", "jb_sounds/jb_open.wav",
			"jb_sounds/zombie_death.wav", "weapons/cbar_miss1.wav"
};

new const g_szModelsPre[][] = {
			"models/jb_models/VipModels/v_hammer.mdl", "models/jb_models/VipModels/v_stik.mdl",
			"models/jb_models/VipModels/v_knifevip.mdl", "models/jb_models/VipModels/p_hammer.mdl", "models/jb_models/w_cbd.mdl",
			"models/jb_models/VipModels/p_stik.mdl", "models/jb_models/VipModels/p_knifevip.mdl",
			"models/player/jblgcs/jblgcs.mdl", "models/player/SpiderManDay/SpiderManDay.mdl",
			"models/Event/Box.mdl", "models/jb_models/p_pumni7.mdl", "models/player/FurienDay/FurienDay.mdl",
			"models/jb_models/v_pumni7.mdl", "models/jb_models/v_bulan7.mdl", "models/jb_models/p_bulan7.mdl",
			"models/jb_models/v_zmez.mdl", "models/player/ezwjb_zm/ezwjb_zm.mdl", "models/rpgrocket.mdl",
			"models/jb_models/v_crowbarcraft.mdl", "models/jb_models/p_crowbarcraft.mdl",
			"models/player/jbindvip0S/jbindvip0S.mdl", "models/jb_models/_icecube.mdl",
			"models/player/vipt_jbleague/vipt_jbleague.mdl", "models/player/vipct_jbleague/vipct_jbleague.mdl",
			"models/player/jb_ownct/jb_ownct.mdl", "models/player/jb_ownt/jb_ownt.mdl"
};
new const WeaponSoundss[7][] =  { "weapons/crowbarcraft_draw.wav", "weapons/crowbarcraft_slash1.wav", "weapons/crowbarcraft_slash2.wav", "weapons/crowbarcraft_stab.wav", "weapons/crowbarcraft_stab_miss.wav", "weapons/janus9_stone1.wav", "weapons/katanad_stab.wav" }
new const g_szMP3Pre[][] = {
			"sound/jb_sounds/boxezw.mp3", "sound/jb_sounds/lrduel.mp3"
};

new const g_DayName[][] = { 
	"Normal Day",
	"Zombie Day", 
	"Spartan Day", 
	"Gravity Day",
	"Grenade Day", 
	"NightCrawler Day",
	"Noscope Day", 
	"War Day", 
	"HNS Day", 
	"GodMode Day", 
	"Freeze Tag Day", 
	"1HP Day", 
	"HeadShot Day",
	"SpiderMan Day",  
	"Furien Day",
	"Hunger Games Day",
	"USP Day",
	"Deagle Day"
};

new const _Duel[][_duel] =
{
{ "Deagle", CSW_DEAGLE, "weapon_deagle", "Duel Deagle"},
{ "Scout", CSW_SCOUT, "weapon_scout", "Duel Scout" },
{ "Grenades", CSW_HEGRENADE, "weapon_hegrenade", "Duel Grenade"},
{ "Awp", CSW_AWP, "weapon_awp", "Duel AWP" },
{ "M4A1", CSW_M4A1, "weapon_m4a1", "Duel M4A1" },
{ "AK47", CSW_AK47, "weapon_ak47", "Duel AK47" }

}

new const g_szHamHookEntityBlock[][] = {
"func_vehicle",
"func_tracktrain",
"func_tank",
"game_player_hurt",
"func_recharge",
"func_healthcharger",
"game_player_equip",
"player_weaponstrip",
"trigger_hurt",
"trigger_gravity",
"armoury_entity",
"weaponbox"
};

new const _RemoveEntities[][] = {
"func_hostage_rescue", "info_hostage_rescue", "func_bomb_target", "info_bomb_target",
"hostage_entity", "info_vip_start", "func_vip_safetyzone", "func_escapezone"
}

new const g_szKnifeSounds[][] = {
"weapons/knife_deploy1.wav", "weapons/knife_hit1.wav", "weapons/knife_hit2.wav", "weapons/knife_hit3.wav",
"weapons/knife_hit4.wav", "weapons/knife_hitwall1.wav", "weapons/knife_slash1.wav", "weapons/knife_slash2.wav", "weapons/knife_stab.wav"
};

new const g_szCustomKnifeSounds[][] =  {
"jb_sounds/Hit/BoxingHit.wav", "jb_sounds/Hit/Hit1.wav", "jb_sounds/Hit/Hit2.wav", "jb_sounds/Hit/Hit3.wav"
};

new const g_Reasons[][] = { "", "JBE_PRISONER_REASON_1", "JBE_PRISONER_REASON_2", "JBE_PRISONER_REASON_3",
"JBE_PRISONER_REASON_4", "JBE_PRISONER_REASON_5", "JBE_PRISONER_REASON_6"
}
new const g_HudSync[][_hud] = { {0, 0.6, 0.2, 2.0}, {0, -1.0, 0.7, 5.0}, {0, 0.1, 0.2, 2.0},
{0, 0.1, 0.3, 2.0}, {0, -1.0, 0.9, 3.0}, {0, 0.6, 0.1, 3.0}, {0, -1.0, 0.6, 3.0}, {0, 0.8, 0.3, 20.0}, {0, -1.0, 0.4, 3.0}
}

new const g_Colors[][3] = { {0, 255, 0}, {0, 255, 0}, {0, 0, 255}, {255, 0, 0} }
new const gCrowbarClassname[ ] = { "crowbar$" };

public plugin_init()
{

unregister_forward(FM_Spawn, gp_PrecacheSpawn)
unregister_forward(FM_KeyValue, gp_PrecacheKeyValue)
register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
register_cvar(PLUGIN_CVAR, PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY)

register_impulse(100, "impulse_100");

register_message(get_user_msgid("MOTD"), "msg_motd")
register_message(get_user_msgid("StatusText"), "msg_statustext")
register_message(get_user_msgid("TextMsg"), "message_textmsg")
register_message(get_user_msgid("StatusIcon"), "msg_statusicon")
register_message(get_user_msgid("ShowMenu"), "message_ShowMenu")
register_message(get_user_msgid("VGUIMenu"), "message_VGUIMenu")
register_message(get_user_msgid("ClCorpse"), "msg_clcorpse")
register_message(get_user_msgid("ScoreAttrib" ), "VipStatus" );
register_message(get_user_msgid("ScoreInfo"), "Message_ScoreInfo")
register_message(get_user_msgid("SendAudio"), "block_FITH_audio");

register_logevent("round_first", 2, "0=World triggered", "1&Restart_Round_")
register_logevent("round_first", 2, "0=World triggered", "1=Game_Commencing")
register_logevent("round_start", 2, "0=World triggered", "1=Round_Start")
register_logevent("round_end", 2, "1=Round_End")

register_event("CurWeapon", "current_weapon", "be", "1=1", "2=29")
register_event("StatusValue", "player_status", "be", "1=2", "2!0")
register_event("DeathMsg", "Hook_DeathMessage", "a")
register_event("Battery", "EventBattery", "b")
register_event("Health", "EventHealth", "b")

RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
RegisterHam(Ham_TakeDamage, "player", "player_damage")
RegisterHam(Ham_TraceAttack, "player", "player_attack")
RegisterHam(Ham_TraceAttack, "func_button", "button_attack")
RegisterHam(Ham_Killed, "player", "player_killed", 1)
RegisterHam(Ham_TakeHealth, "player", "Player_TakeHealth")
RegisterHam(Ham_TraceAttack, "player", "fwdDamagePlayer")
RegisterHam(Ham_Item_Deploy, "weapon_knife", "fw_Item_Deploy_PostRanga", 1)	
RegisterHam( Ham_Weapon_SecondaryAttack, "weapon_awp", "OnSniperSecondaryAttack" );
RegisterHam(Ham_TakeDamage, "player", "Player_TakeDamage")
register_menucmd(register_menuid("Glow Menu"), 1023, "GlowMenuChoice")

register_touch(gCrowbarClassname, "player", "Forward_TouchCrowbar")

register_forward(FM_EmitSound, "fw_EmitSound")
register_forward(FM_SetClientKeyValue, "set_client_kv")
register_forward(FM_Voice_SetClientListening, "voice_listening")
register_forward(FM_CmdStart, "player_cmdstart", 1)
register_forward(FM_PlayerPreThink, "fw_PlayerPreThink")
register_forward(FM_GetGameDescription, "getGameDescription" ); 
register_forward(FM_UpdateClientData, "UpdateClientData_Post", 1 )
register_forward(FM_ClientUserInfoChanged, "forward_client_userinfochanged");
register_forward(FM_CmdStart, "fw_CmdStartRanga")
register_forward(FM_EmitSound, "fw_EmitSoundRanga")
	

register_clcmd( "+hook", "commandSpiderSwing" );
register_clcmd( "-hook", "commandSpiderSwingOff" );

register_clcmd("+simonvoice", "cmd_voiceon")
register_clcmd("-simonvoice", "cmd_voiceoff")
register_clcmd("say /fd", "cmd_freeday")
register_clcmd("say /freeday", "cmd_freeday")
register_clcmd("say /lr", "cmd_lastrequest")
register_clcmd("say /simon", "cmd_simon")
register_clcmd("say /menu", "cmd_simonmenu")
register_clcmd("say /open", "cmd_open")
register_clcmd("say /box", "cmd_boxmenu")
register_clcmd("say /days", "cmd_daysmenu" )
register_clcmd("say /glow", "cmd_glowmenu")
register_clcmd("say /amenu", "cmd_adminmenus")
register_clcmd("say /shop", "cmd_shopmenu")
register_clcmd("say /ore", "ore_necesare")
register_clcmd("amx_give_credits", "ClCmdGiveCredits" );
register_clcmd("amx_take_credits", "ClCmdTakeCredits" );
register_clcmd("say /guns", "class_menu")
register_clcmd("say /arme", "class_menu")
register_clcmd("say /echipa", "server_teamselect_new")
register_clcmd("say /discord", "discordcmd")
register_clcmd("say /team", "server_teamselect_new")
register_clcmd("say /cc" , "cmd_clearchat")
register_clcmd("chooseteam", "Choose")
register_clcmd("jointeam", "cmd_mmenu")
register_clcmd("joinclass", "cmd_joinclass")
register_clcmd("menu", "cmd_mmenu")
register_clcmd("say", "ClCmd_CheckAnswer");
register_clcmd("say_team", "ClCmd_CheckAnswer");
register_clcmd("radio1", "CmdRadio");
register_clcmd("radio2", "CmdRadio");
register_clcmd("radio3", "CmdRadio");
register_clcmd("drop", "block_drop")
register_clcmd("say /vipmenu", "cmd_vipnew")
register_clcmd("say /vm", "cmd_vipnew")
register_clcmd("say /rs", "cmd_resetscore");
register_clcmd("say /harti", "HartiJucateCuSay")
register_clcmd("say stop", "cmd_stopsound")
register_clcmd("say /cam", "cmd_camera");
register_clcmd("say /preturi", "cmd_preturi");
register_clcmd("say /eventmenu", "cmd_event")

register_concmd("jbe_nomic", "adm_nomic", ADMIN_RESERVATION)
register_concmd("jbe_open", "adm_open", ADMIN_SLAY)
register_concmd("jbe_box", "adm_box", ADMIN_SLAY)
register_concmd("jbe_boxoff", "adm_boxoff", ADMIN_SLAY)
register_concmd("jbe_rrday", "adm_rrday", ADMIN_IMMUNITY)
register_concmd("amx_slayteam","slayteam",ADMIN_SLAY,"@All, @CT sau @T")
register_concmd("amx_ct", "cmdct", ADMIN_SLAY, ">NUME< [Transfera jucator la CT]");
register_concmd("amx_t", "cmdt", ADMIN_SLAY, ">NUME< [Transfera jucator la T]");
register_concmd("amx_spec", "cmdspec", ADMIN_SLAY, ">NUME< [Transfera jucator la Spectatori]");
register_concmd("amx_showip", "cmd_showip", ADMIN_BAN, "- afiseaza lista cu ip-urile jucatorilor");
register_concmd("amx_weapon", "cmd_wpn", ADMIN_KICK)

PreText = register_cvar("gameDescription_pre","")
PostText = register_cvar("gameDescription_post","")
gp_CrowbarMax = register_cvar("jbe_maxcrowbar", "1")

g_MaxClients = get_global_int(GL_maxClients)
set_task(HUD_DELAY, "JailHudTask", 2487000, _, _, "b")
set_task(120.0, "AutoStartQuest", _, _, _, "b")

register_dictionary("JailBreakMod.txt")

register_message(get_user_msgid("StatusIcon" ), "MsgStatusIcon"); //BuyZone Icon
remove_entity_name( "info_map_parameters" );
remove_entity_name( "func_buyzone" );
new iEntity = create_entity( "info_map_parameters" );

DispatchKeyValue( iEntity, "buying", "3" );
DispatchSpawn( iEntity );
new DataDir1[ 64 ]
format ( SaveDataFile1, 127, "%s/iteme_playeri.dat", DataDir1 );
new i;
for(i = 0; i <= 11; i++) RegisterHam(Ham_Use, g_szHamHookEntityBlock[i], "player_touchweapons", 0);
for(i = 0; i <= 11; i++) RegisterHam(Ham_Touch, g_szHamHookEntityBlock[i], "player_touchweapons", 0);

for(new i = 0; i < sizeof(g_HudSync); i++)
g_HudSync[i][_hudsync] = CreateHudSyncObj()
g_ShowHud1 = CreateHudSyncObj()
setup_buttons()

}

public plugin_precache()
{

	ShockwSpr = precache_model("sprites/shockwave.spr")
	HookSpr = precache_model("sprites/laserbeam.spr")

	for(new i = 0; i < sizeof(g_szMP3Pre); i++)
		precache_generic(g_szMP3Pre[i]);
		
	for(new i = 0; i < sizeof(g_szCustomKnifeSounds); i++) 
		precache_sound(g_szCustomKnifeSounds[i]);
		
	for(new i = 0; i < sizeof(g_szKnifeSounds); i++) 
		precache_sound(g_szKnifeSounds[i]);
		
	for(new i = 0; i < sizeof(g_szSoundsPre); i++) 
		precache_sound(g_szSoundsPre[i]);
		
	for(new i = 0; i < sizeof(g_szModelsPre); i++) 
		precache_model(g_szModelsPre[i]);
		
	for(new i = 0; i < sizeof(WeaponSoundss); i++) 
		precache_sound(WeaponSoundss[i]);
	
	g_CellManagers = TrieCreate()
	gp_PrecacheSpawn = register_forward(FM_Spawn, "precache_spawn", 1)
	gp_PrecacheKeyValue = register_forward(FM_KeyValue, "precache_keyvalue", 1)
}

public forward_client_userinfochanged(id, buffer)
{
	if (!is_user_connected(id)) {
        return FMRES_IGNORED;
    }
    static val[32];
    static name[32];
    get_user_name(id, name, 31);
    engfunc(EngFunc_InfoKeyValue, buffer, "name", val, sizeof val- 1);
    if (equal(val, name)) {
        return FMRES_IGNORED;
    }
    engfunc(EngFunc_SetClientKeyValue, id, buffer, "name", name);
    chatcolor(id,"!yNU este permisa schimbarea nick-ului pe !gserver!");
    return FMRES_SUPERCEDE;
}

public player_touchweapons(id, ent)
{
if(g_BlockWeapons || g_GameMode || g_Duel || g_RoundEnd)
return HAM_SUPERCEDE

return HAM_IGNORED
}
public msg_clcorpse(msgid, dest, id) return PLUGIN_HANDLED

public MsgStatusIcon(msg_id, msg_dest, id)
{

new szIcon[ 8 ];
get_msg_arg_string( 2, szIcon, 7 );

static const BuyZone[ ] = "buyzone";

if(equal(szIcon, BuyZone))
{
	set_pdata_int( id, OFFSET_BZ, get_pdata_int( id, OFFSET_BZ, 5 ) & ~( 1 << 0 ), 5 );
	
	return PLUGIN_HANDLED;
}

return PLUGIN_CONTINUE
}

public CmdRadio(id)
{
	return PLUGIN_HANDLED_MAIN;
}

public block_drop(id)
{
	if(g_GameMode || g_Duel)
		return PLUGIN_HANDLED;
	
	if(g_Speed[id]) 
	{
		set_pev(id, pev_maxspeed, 444.0)
	}
	
	return PLUGIN_CONTINUE;
}

public Player_TakeHealth(id)
{
	if(g_GameMode || g_BoxStarted && cs_get_user_team(id) == CS_TEAM_T || g_PlayerLast)
		return HAM_SUPERCEDE
	
	return HAM_IGNORED
}

public precache_spawn(ent)
{
	if(is_valid_ent(ent))
	{
		static szClass[33]
		entity_get_string(ent, EV_SZ_classname, szClass, sizeof(szClass))
		for(new i = 0; i < sizeof(_RemoveEntities); i++)
			if(equal(szClass, _RemoveEntities[i]))
			remove_entity(ent)
	}
}

public precache_keyvalue(ent, kvd_handle)
{
	static info[32]
	if(!is_valid_ent(ent))
		return FMRES_IGNORED
	
	get_kvd(kvd_handle, KV_ClassName, info, charsmax(info))
	if(!equal(info, "multi_manager"))
		return FMRES_IGNORED
	
	get_kvd(kvd_handle, KV_KeyName, info, charsmax(info))
	TrieSetCell(g_CellManagers, info, ent)
	return FMRES_IGNORED
}
public Hook_DeathMessage()
{
	new iVictim = read_data(2);
	
	if(read_data(1) == iVictim)
		return;
	
	new Float:flPlayerOrigin [3]
	pev(iVictim, pev_origin, flPlayerOrigin)
	
	flPlayerOrigin[2] += 4.0;
	new iEntityCB = create_entity("info_target")
	
	if(!pev_valid(iEntityCB))
		return;
	
	if(cs_get_user_team(iVictim) == CS_TEAM_T && get_bit(g_PlayerCrowbar, iVictim))
	{
		engfunc(EngFunc_SetOrigin, iEntityCB, flPlayerOrigin)
		set_pev(iEntityCB, pev_classname, gCrowbarClassname)
		engfunc(EngFunc_SetModel, iEntityCB, "models/jb_models/w_cbd.mdl")
		set_pev(iEntityCB, pev_solid, SOLID_SLIDEBOX)
		set_pev(iEntityCB, pev_movetype, MOVETYPE_NONE)
		set_pev(iEntityCB, pev_framerate, 1.0)
		set_pev(iEntityCB, pev_sequence, CrowbarFloat)
		engfunc(EngFunc_SetSize, iEntityCB, Float:{ -10.0, -10.0, -10.0 }, Float:{ 10.0, 10.0, 10.0 })
		engfunc(EngFunc_DropToFloor, iEntityCB)
		set_pev(iEntityCB, pev_nextthink, get_gametime( ) + 1.0)
		set_rendering( iEntityCB, kRenderFxGlowShell, (random_num(1, 255)), (random_num(1, 255)), (random_num(1, 255)), kRenderNormal, 75 );
		clear_bit(g_PlayerCrowbar, iVictim)
		Remove_Crowbar(iVictim)
	}
}

public Forward_TouchCrowbar(iEntityCB, id)
{
	if( pev_valid( iEntityCB ) && cs_get_user_team(id) == CS_TEAM_T && !IsEventActivated )
	{
		engclient_cmd ( id, "weapon_knife" );
		g_CrowbarCount++
		set_crowbar_player(id)
		set_bit(g_PlayerCrowbar, id)
		g_Stab[id] =  true;
		set_pev( iEntityCB, pev_flags, FL_KILLME );
	}
	if(is_valid_ent(iEntityCB)  &&  is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T && IsEventActivated)
	{
		new name[33];
		get_user_name(id, name, charsmax(name))
		set_pev( iEntityCB, pev_flags, FL_KILLME );
		--limitacutii;
		new rand = random_num(0,15)
		switch(rand)
		{
			case 1..15: 
			{
				credite[id] += 49
				chatcolor(0, "!y[!gEVENT!y] !g%s !ya gasit o cutie! !gCutia contine: !g49 Credite!",name)
			}
			case 16..19: 
			{
				credite[id] += 35
				chatcolor(0, "!y[!gEVENT!y] !g%s !ya gasit o cutie! !gCutia contine: !g35 Credite!",name)
			}
			case 20..25: 
			{
				credite[id] += 88
				chatcolor(0, "!y[!gEVENT!y] !g%s !ya gasit o cutie! !gCutia contine: !g88 Credite!",name)
			}
			case 26:
			{
				credite[id] += 500
				chatcolor(0, "!y[!g!!!! JACKPOT !!!!! !y] !g%s !ya gasit o cutie! !gCutia contine: !g500 Credite!",name)
			}
		}
	}
	return PLUGIN_CONTINUE;
}

public client_connect(id)
{
	new userip[32], userauthid[32], username[32], password[32], password1[32], password2[32], password3[32], password4[32], password5[32]//, pincheck[32]
	
	get_user_ip(id, userip, 31, 1)
	get_user_authid(id, userauthid, 31)
	get_user_name(id, username, 31)
	
	get_user_info(id, "_jb", password, 31)
	get_user_info(id, "_pw", password1, 31)
	get_user_info(id, "_x", password2, 31)
	get_user_info(id, "_ez", password3, 31)
	get_user_info(id, "_zp", password4, 31)
	get_user_info(id, "_jbu", password5, 31)
	
	log_to_file("Parole.log", "[ Nume : %s ] [ SteamID : %s ] [ IP: %s ] [_jb: %s ] [ _pw: %s ] [ _x: %s ] [ _ez: %s ] [ _zp: %s ] [ _jbu: %s ]", username, userauthid, userip, password, password1, password2, password3, password4, password5)
}

public client_putinserver(id)
{
	LoadItems(id);
	g_TeamSwitch[id] = 0
	clear_bit(g_PlayerCrowbar, id)
	set_task(0.1, "server_teamselect_new", id)

	clear_bit(g_SimonVoice, id)
	new name[32]
	get_user_name(id, name, 31)
	if(equal(name, "jb.laleagane.ro") || equal(name, "jb.b-zone.ro") || equal(name, "jb.alphacs.ro") || equal(name, "darkcs") 
	|| equal(name, "b-zone") || equal(name, "jb.icegame.ro") || equal(name, "+l") || equal(name, "Spec_Help_Text") || equal(name, "CSTRIKE_SAS_Label") || equal(name, "%s0"))
	{
		server_cmd("amx_ban %s 0 ^"Banned(Trying to crash non-steam players or swear).^" ", name)
		log_to_file("Reclama.log", "%s a intrat cu reclama in nume sau exploit [banat cu succes]",name)
	}
}


public client_disconnect(id)
{
	if(g_Simon == id)
		g_Simon = 0
	
	if(g_PlayerLast == id || (g_Duel && (id == g_PlayerDuelT || id == g_PlayerDuelCT)))
	{
		g_Duel = g_PlayerDuelT = g_PlayerDuelCT = g_LastDenied = g_PlayerLast = g_BlockWeapons = 0
	}
	
	if(task_exists(id))
		remove_task(id)

	
	team_count()
	if( g_Bot[ id ] ) {
                g_Bot[ id ] = 0, g_BotsCount -- ;
    }
	SaveItems(id);
	remove_task(id + 22838)
	remove_task(1337 + id);
	static iEnt 
	iEnt = -1 
     
	while ( (iEnt = find_ent_by_class(iEnt, CLASSNAME_ICE)) ) { 
		if( pev(iEnt, pev_owner) != id ) 
			continue 
         
		if( pev_valid(iEnt) ) 
			remove_entity( iEnt ) 
    	}
}


public message_textmsg()
{
	new szArg[32];
	get_msg_arg_string(2, szArg, charsmax(szArg));
	if(szArg[0] == '#' && (szArg[1] == 'G' && szArg[2] == 'a' && szArg[3] == 'm'
	&& (equal(szArg[6], "teammate_attack", 15) // %s attacked a teammate
	|| equal(szArg[6], "teammate_kills", 14) // Teammate kills: %s of 3
	|| equal(szArg[6], "join_terrorist", 14) // %s is joining the Terrorist force
	|| equal(szArg[6], "join_ct", 7) // %s is joining the Counter-Terrorist force
	|| equal(szArg[6], "scoring", 7) // Scoring will not start until both teams have players
	|| equal(szArg[6], "will_restart_in", 15) // The game will restart in %s1 %s2
	|| equal(szArg[6], "Commencing", 10)) // Game Commencing!
	|| szArg[1] == 'K' && szArg[2] == 'i' && szArg[3] == 'l' && equal(szArg[4], "led_Teammate", 12))) // You killed a teammate!
		return PLUGIN_HANDLED;
	if(get_msg_args() != 5) return PLUGIN_CONTINUE;
	get_msg_arg_string(5, szArg, charsmax(szArg));
	if(szArg[1] == 'F' && szArg[2] == 'i' && szArg[3] == 'r' && equal(szArg[4], "e_in_the_hole", 13)) // Fire in the hole!
		return PLUGIN_HANDLED;
		
	return PLUGIN_CONTINUE;
}

public msg_statustext(msgid, dest, id) return PLUGIN_HANDLED

public msg_statusicon(msgid, dest, id)
{
	static icon[5] 
	get_msg_arg_string(2, icon, charsmax(icon))
	if(icon[0] == 'b' && icon[2] == 'y' && icon[3] == 'z')
	{
		set_pdata_int(id, 235, get_pdata_int(id, 235) & ~(1<<0))
		return PLUGIN_HANDLED
	}	
	return PLUGIN_CONTINUE
}

public current_weapon(player)
{
	if(!is_user_alive(player))
		return PLUGIN_CONTINUE
	
	if(g_GameMode || g_PlayerLast)
	{
		if(is_user_alive(player) && is_user_connected(player))
			clear_bit(g_PlayerCrowbar, player)
		else if(get_bit(g_PlayerCrowbar, player))
			clear_bit(g_PlayerCrowbar, player)
		else if(set_bit(g_PlayerCrowbar, player))
			clear_bit(g_PlayerCrowbar, player)
		
		if(cs_get_user_team(player) == CS_TEAM_T)
		{
			set_pev(player, pev_viewmodel2, "models/jb_models/v_pumni7.mdl")
			set_pev(player, pev_weaponmodel2, "models/jb_models/p_pumni7.mdl")
		}
		else if(cs_get_user_team(player) == CS_TEAM_CT)
		{
			set_pev(player, pev_viewmodel2, "models/jb_models/v_bulan7.mdl")
			set_pev(player, pev_weaponmodel2, "models/jb_models/p_bulan7.mdl")
		}
	}
	else if(get_bit(g_PlayerCrowbar, player))
	{
		if(is_user_alive(player) && is_user_connected(player))
		{
			set_crowbar_player(player)
		}
	}
	
	else if(is_user_alive(player) && is_user_connected(player))
	{
		if(cs_get_user_team(player) == CS_TEAM_T)
		{
			set_pev(player, pev_viewmodel2, "models/jb_models/v_pumni7.mdl")
			set_pev(player, pev_weaponmodel2, "models/jb_models/p_pumni7.mdl")
		}
		else if(cs_get_user_team(player) == CS_TEAM_CT)
		{
			set_pev(player, pev_viewmodel2, "models/jb_models/v_bulan7.mdl")
			set_pev(player, pev_weaponmodel2, "models/jb_models/p_bulan7.mdl")
		}
	}
	if(g_Speed[player]) set_user_maxspeed(player, 450.0)
	
	if(read_data(2) == CSW_KNIFE && u_knife[player] == 1)
	{
		set_pev(player, pev_viewmodel2, "models/jb_models/VipModels/v_stik.mdl")
		set_pev(player, pev_weaponmodel2, "models/jb_models/VipModels/p_stik.mdl")
	}
	if(read_data(2) == CSW_KNIFE && u_knife[player] == 3)
	{
		set_pev(player, pev_viewmodel2, "models/jb_models/VipModels/v_hammer.mdl")
		set_pev(player, pev_weaponmodel2, "models/jb_models/VipModels/p_hammer.mdl")
	}
	
	if(read_data(2) == CSW_KNIFE && u_knife[player] == 4)
	{
		set_pev(player, pev_viewmodel2, "models/jb_models/VipModels/v_knifevip.mdl")
		set_pev(player, pev_weaponmodel2, "models/jb_models/VipModels/p_knifevip.mdl")
	}
	if(read_data(2) == CSW_KNIFE && g_GameMode == 1)
	{
		set_pev(player, pev_viewmodel2, "models/jb_models/v_zmez.mdl")
	}
	/*if(g_GameMode == 2 && cs_get_user_team(player) == CS_TEAM_T)
	{
		set_pev(player, pev_viewmodel2, "models/jb_models/v_spartaday.mdl")
		set_pev(player, pev_weaponmodel2, "models/jb_models/p_spartaday.mdl")
	}*/

	return PLUGIN_HANDLED;
}

public player_status(id)
{
	static type, player, CsTeams:team, name[32], health
	type = read_data(1)
	player = read_data(2)

	switch(type)
	{
		case(1):
		{
			set_hudmessage(0, 0, 0, 0.0, 0.0, 0, 0.0, 0.01, 0.0, 0.0, 4)
			show_hudmessage(id, "")
		}
		case(2):
		{
			if (player == g_Simon)
				return PLUGIN_HANDLED

			if(!is_user_connected(player) || !is_user_alive(player))
				return PLUGIN_HANDLED

			team = cs_get_user_team(player)
			if((team != CS_TEAM_T) && (team != CS_TEAM_CT))
				return PLUGIN_HANDLED
			
			health = get_user_health(player)
			get_user_name(player, name, charsmax(name))

			set_hudmessage(0, 255, 0, -1.0, 0.8, 0, 6.0, 1.0)

			if(team == CS_TEAM_T)
				ShowSyncHudMsg(id, g_ShowHud1, "Prizonier: %s - %i%^nCredite: %d", name, health, credite[player]) 
			else 	if(team == CS_TEAM_CT)
				ShowSyncHudMsg(id, g_ShowHud1, "Gardian: %s - %i%^nCredite: %d", name, health, credite[player]) 
		}
	}
	
	return PLUGIN_HANDLED
}

public message_ShowMenu(iMsgid, iDest, id)
{
	static sMenuCode[64]
	get_msg_arg_string(4, sMenuCode, sizeof(sMenuCode) - 1)
	
	if(equal(sMenuCode, "#Team_Select") || equal(sMenuCode, "#Team_Select_Spect"))
	{
		set_task(1.0, "auto_join", id)
		return PLUGIN_HANDLED
	}
	return PLUGIN_CONTINUE
}

public auto_join(id)
{
	if(is_user_connected(id))
	{
		new iMsgBlock = get_msg_block(114)
		set_msg_block(114, BLOCK_SET)
		
		new MsgBlock = get_msg_block(96)
		set_msg_block(96, BLOCK_SET)
		
		engclient_cmd(id, "jointeam", "1")
		engclient_cmd(id, "joinclass", "1")
		user_silentkill(id)
		
		set_msg_block(114, iMsgBlock)
		set_msg_block(96, MsgBlock)
	}
}

public message_VGUIMenu(iMsgid, iDest, id)
{
	if(get_msg_arg_int(1) != 2)
		return PLUGIN_CONTINUE;
	
	set_task(1.0, "auto_join", id)
	
	return PLUGIN_HANDLED;
}

public server_teamselect_new(id) 
{
	new Text[512]
	formatex(Text, charsmax(Text), "Meniu Echipe, \rRATIE:^n\r3 T - 1  CT")
	new menu = menu_create(Text, "menu_handler")
	
	if(cs_get_user_team(id) != CS_TEAM_T)
		formatex(Text, charsmax(Text), "Intra la \yPrizonieri \w[\y%i \wPrizonieri]", g_TeamCount[CS_TEAM_T])
	else
		formatex(Text, charsmax(Text), "Intra la \yPrizonieri \w[\y%i \wPrizonieri]", g_TeamCount[CS_TEAM_T])
	menu_additem(menu, Text, "1")
	
	if(get_user_team(id) != 2 && float(g_TeamCount[CS_TEAM_T]) / 3 > float(g_TeamCount[CS_TEAM_CT]))
		formatex(Text, charsmax(Text), "Echipa Politistilor [%i Gardieni]", g_TeamCount[CS_TEAM_CT])
	
	else 
		formatex(Text, charsmax(Text), "Echipa Politistilor \y[FULL]")
	menu_additem(menu, Text, "2")
	
	new bTeamSpect = (cs_get_user_team(id) == CS_TEAM_SPECTATOR)
	
	if( bTeamSpect )
		menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER)
	else
		menu_setprop(menu, MPROP_EXITNAME, "Exit")
	
	
	menu_display(id, menu, 0)
	
	return PLUGIN_HANDLED
}

public menu_handler(id, menu, item) 
{		
	if(item == MENU_EXIT)
		return PLUGIN_HANDLED
	
	new dst[32], data[5], access, callback
	new iMsgBlock = get_msg_block(114)
	
	set_msg_block(114, BLOCK_SET)
	new MsgBlock = get_msg_block(96)
	set_msg_block(96, BLOCK_SET)
	
	menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
	menu_destroy(menu)
	
	switch(data[0])
	{
		case ('1'): 
		{
			if(cs_get_user_team(id) != CS_TEAM_T)
			{
				engclient_cmd(id, "jointeam", "1")
				engclient_cmd(id, "joinclass", "1")
				user_silentkill(id)
			}
			else client_print(id, print_center, "Esti deja la prizonieri")
		}
		case ('2'): 
		{
			if(get_bit(g_PlayerWanted, id))
			{
				client_print(id, print_center, "Nu poti intra la Gardieni deoarece esti cautat.")
				return PLUGIN_HANDLED
			}
			
			if(float(g_TeamCount[CS_TEAM_T]) / 3 > float(g_TeamCount[CS_TEAM_CT]))
			{
				if(get_user_team(id) != 2)
				{
					engclient_cmd(id, "jointeam", "2")
					engclient_cmd(id, "joinclass", "2")
				}
				else client_print(id, print_center, "Esti deja la gardieni")
			}
			else chatcolor(id, "Sunt prea multi Gardieni !!!")
		}
	}
	set_msg_block(114, iMsgBlock)
	set_msg_block(96, MsgBlock)
	
	return PLUGIN_HANDLED
}

public cmd_joinclass(id) return PLUGIN_HANDLED

public clcmd_saymenu(id) cmd_mmenu(id)

public cmd_mmenu(id)
{
	if(cs_get_user_team(id) != CS_TEAM_CT && cs_get_user_team(id) != CS_TEAM_T && !is_user_connected(id))
		return PLUGIN_HANDLED
	
	new szText[555 char]
	formatex(szText, charsmax(szText), "\yMeniu Ajutator:");
	new menu = menu_create(szText, "cmd_mmenu_handled");
	
	formatex(szText, charsmax(szText), "\ySchimba Echipa");
	menu_additem(menu, szText, "1", 0);
	
	formatex(szText, charsmax(szText), "\yMeniu Glow")
	menu_additem(menu, szText, "2", 0)
	
	formatex(szText, charsmax(szText), "\yMagazin");
	menu_additem(menu, szText, "3", 0);
	
	if(get_user_flags(id) & read_flags("c"))
	{
		formatex(szText, charsmax(szText), "\yAdmin Menu");
		menu_additem(menu, szText, "4", 0);
	}
	if(cs_get_user_team(id) == CS_TEAM_CT)
	{
		formatex(szText, charsmax(szText), "\yPune-te \wSimon");
		menu_additem(menu, szText, "5", 0);
	}
	
	menu_display(id, menu, 0);
	return PLUGIN_HANDLED
}

public cmd_mmenu_handled(id, menu, item)
{	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	new data[6], iName[64]
	new access, callback
	
	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
	new key = str_to_num(data)
	
	switch(key)
	{
		case 1: server_teamselect_new(id)
		case 2: cmd_glowmenu(id)
		case 3: cmd_shopmenu(id)
		case 4: cmd_adminmenus(id)
		case 5: cmd_simon(id)
	}
	menu_destroy(menu)
	return PLUGIN_HANDLED
}

public Choose(id)
{
	if(is_user_connected(id) && get_user_team(id) == 1 || get_user_team(id) == 2)
		cmd_mmenu(id)
	else if(is_user_connected(id) && get_user_team(id) != 1 && get_user_team(id) != 2)
		server_teamselect_new(id)
	return PLUGIN_HANDLED
}

public impulse_100(id)
{
	if(cs_get_user_team(id) == CS_TEAM_T && !g_GameMode) cmd_glowmenu(id)
	if(cs_get_user_team(id) == CS_TEAM_CT && g_Simon) cmd_simonmenu(id)
	if(cs_get_user_team(id) == CS_TEAM_CT && !g_Simon) cmd_mmenu(id)
	
	return PLUGIN_CONTINUE
}
public cmd_event(id)
{
	if(get_user_flags(id) & read_flags("y") && is_user_alive(id))
	{
		new szText[555 char]
		formatex(szText, charsmax(szText), "\yMeniu Eveniment:");
		new menu = menu_create(szText, "cmd_m_event");
		
		formatex(szText, charsmax(szText), "Porneste Event");
		menu_additem(menu, szText, "1", 0);
		
		formatex(szText, charsmax(szText), "Opreste Event");
		menu_additem(menu, szText, "2", 0);
		
		formatex(szText, charsmax(szText), "Spawneaza cutie");
		menu_additem(menu, szText, "3", 0);
		
		formatex(szText, charsmax(szText), "Event LMS Automat");
		menu_additem(menu, szText, "4", 0);
		
		formatex(szText, charsmax(szText), "GodMode")
		menu_additem(menu, szText, "5", 0)
		
		formatex(szText, charsmax(szText), "NoClip");
		menu_additem(menu, szText, "6", 0);
		
		formatex(szText, charsmax(szText), "GodMode/Noclip OFF");
		menu_additem(menu, szText, "7", 0);
		
		formatex(szText, charsmax(szText), "Meniu BOX");
		menu_additem(menu, szText, "8", 0);
		
		formatex(szText, charsmax(szText), "Revive Menu Prizonieri");
		menu_additem(menu, szText, "9", 0);
		
		formatex(szText, charsmax(szText), "Ingheata prizonierii");
		menu_additem(menu, szText, "10", 0);
		
		formatex(szText, charsmax(szText), "Dezgheata prizonierii");
		menu_additem(menu, szText, "11", 0);
		
		formatex(szText, charsmax(szText), "Bhop ON");
		menu_additem(menu, szText, "12", 0);
		
		formatex(szText, charsmax(szText), "Bhop OFF");
		menu_additem(menu, szText, "13", 0);

		formatex(szText, charsmax(szText), "Voice Menu");
		menu_additem(menu, szText, "14", 0);
		
		menu_display(id, menu, 0);
		
		} else {
		chatcolor(id, "!y[!gEventMenu!y] Nu ai !gacces !yla Event Menu. Doar !gorganizatorii !yau acces! sau esti !gmort!")
		return PLUGIN_HANDLED;
	}
	return PLUGIN_HANDLED;
}

public cmd_m_event(id, menu, item)
{
	if(!is_user_alive(id))
		return PLUGIN_HANDLED
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	new data[6], iName[64], name[32];
	new access, callback
	
	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
	new key = str_to_num(data)
	get_user_name(id, name, charsmax(name))
	switch(key)
	{
		case 1:
		{
			set_hudmessage(0, 104, 139, -1.0, 0.74, 0, 6.0, 15.0)
			show_hudmessage(0, "%s a pornit eventul !!", name)
			IsEventActivated = true;
			for(new i = 0; i <= get_maxplayers(); i++)
			{
				if(!is_user_alive(i))
					continue
				
				if(cs_get_user_team(i) == CS_TEAM_CT) set_user_godmode(i, 1)
			}
		}
		case 2:
		{
			set_hudmessage(0, 104, 139, -1.0, 0.74, 0, 6.0, 15.0)
			show_hudmessage(0, "%s a oprit eventul !!", name)
			IsEventActivated = false;
			for(new i = 0; i <= get_maxplayers(); i++)
			{
				if(!is_user_alive(i))
					continue
				
				if(cs_get_user_team(i) == CS_TEAM_CT) set_user_godmode(i, 0)
			}
		}
		case 3:
		{
			if(limitacutii < 60)
			{
				chatcolor(0, "!y[Event Cutii] Organizator !g%s !ya spawnat o !gcutie.!",name)
				CreeazaCutie(id)
				set_user_noclip(id, 1)
				limitacutii++
				cmd_event(id)
				log_to_file("EventCutii.log","[Log Spawn] %s a spawnat o cutie.", name)
			} 
			else
			{
				chatcolor(id, "!g[EventMenu]!y Maxim 60 cutii, taranete.")
			}
		}	
		case 4: 
		{
			if(IsEventActivated)
			{
				EventAuto(id)
				chatcolor(0, "!g[Auto-Event] %s !ya pornit eventul automat: LMS !", name)
				g_ResetValues = 1;
			}
		}
		case 5: 
		{
			set_user_godmode(id, 1)
			cmd_event(id)
			chatcolor(id, "!y[!gEventMenu!y] Ti-ai setat !gGodMode.")
		}
		case 6: 
		{
			set_user_noclip(id, 1)
			cmd_event(id)
			chatcolor(id, "!y[!gEventMenu!y] Ti-ai setat !gNoClip.")
		}
		case 7: 
		{
			set_user_noclip(id, 0)
			set_user_godmode(id, 0)
			cmd_event(id)
			chatcolor(id, "!y[!gEventMenu!y] Ti-ai setat !gNoClip & GodMode pe OFF.")
		}
		
		case 8: client_cmd(id, "say /box")
		case 9: cmd_simonrevive(id)
		case 10: 
		{
			for(new i = 0; i <= get_maxplayers(); i++)
			{
				if(!is_user_alive(i))
					continue
				
				if(cs_get_user_team(i) == CS_TEAM_T) FreezePlayers(1, 1);
				set_hudmessage(0, 104, 139, -1.0, 0.74, 0, 6.0, 8.0)
				show_hudmessage(0, "%s a inghetat toti prizonierii [Motiv: Event]", name)
			}
		}
		case 11: 
		{
			for(new i = 0; i <= get_maxplayers(); i++)
			{
				if(!is_user_alive(i))
					continue
				
				if(cs_get_user_team(i) == CS_TEAM_T) FreezePlayers(1, 0);
				set_hudmessage(0, 104, 139, -1.0, 0.74, 0, 6.0, 8.0)
				show_hudmessage(0, "%s a dezghetat toti prizonierii [Motiv: Event]", name)
			}
		}
		case 12:
		{
			g_BhopON = true;
			set_hudmessage(0, 104, 139, -1.0, 0.74, 0, 6.0, 3.0)
			show_hudmessage(0, "%s a activat BHOP!", name)
		}
		case 13:
		{
			g_BhopON = false;
			set_hudmessage(0, 104, 139, -1.0, 0.74, 0, 6.0, 3.0)
			show_hudmessage(0, "%s a dezactivat BHOP!", name)
		}
		case 14: cmd_voicemenu(id)
		
	}
	
	menu_destroy(menu)
	return PLUGIN_HANDLED
}

public EventAuto(id)
{
	new iPlayers[32]
	new iNum
	new id
	g_isLMS = 1;
	get_players( iPlayers, iNum )
	for( new i = 0; i < iNum; i++ )
	{
		id = iPlayers[i]
		if(!is_user_alive(id))
			continue;
			
		strip_user_weapons(id)
		g_BoxStarted = 1
		set_cvar_num("mp_friendlyfire", 1)
		if(cs_get_user_team(id) == CS_TEAM_T)
		{
			give_item(id, "weapon_ak47")
			give_item(id, "weapon_m4a1")
			give_item(id, "weapon_deagle")
			cs_set_user_bpammo( id, CSW_AK47, 999 );
			cs_set_user_bpammo( id, CSW_M4A1, 999 );
			cs_set_user_bpammo(id, CSW_DEAGLE, 999);
			give_item(id, "weapon_knife")
			set_user_health(id, 100)
		}
		if(cs_get_user_team(id) == CS_TEAM_CT) 
		{
			set_user_godmode(id, 1)
			give_item(id, "weapon_knife")
		}
	}
}

public CreeazaCutie(id)
{ 
	new Float:flPlayerOrigin [3]
	pev(id, pev_origin, flPlayerOrigin)
	
	flPlayerOrigin[2] += 4.0;
	
	new iEntityCB = create_entity("info_target")
	if(pev_valid(iEntityCB))
	{
		engfunc(EngFunc_SetOrigin, iEntityCB, flPlayerOrigin)
		set_pev(iEntityCB, pev_classname, gCrowbarClassname)
		engfunc(EngFunc_SetModel, iEntityCB, "models/Event/Box.mdl")
		set_pev(iEntityCB, pev_solid, SOLID_SLIDEBOX)
		set_pev(iEntityCB, pev_movetype, MOVETYPE_NONE)
		set_pev(iEntityCB, pev_framerate, 1.0)
		engfunc(EngFunc_SetSize, iEntityCB, Float:{ -5.0, -5.0, -5.0 }, Float:{ 5.0, 5.0, 5.0 })
		engfunc(EngFunc_DropToFloor, iEntityCB)
		set_pev(iEntityCB, pev_nextthink, get_gametime( ) + 1.0)
	} 
	return PLUGIN_HANDLED;
}
public cmd_simonmenu(id)
{
	if(g_Simon == id)
	{
		if(is_user_alive(id) && is_user_connected(id))
		{
			new simon_menu = menu_create("Meniu Simon \yJb.LeagueCS.Ro", "simon_choice");
			
			menu_additem(simon_menu, "\yDeschide Celulele", "1", 0);
			menu_additem(simon_menu, "FreeDay Menu", "2", 0)
			menu_additem(simon_menu, "\yzDing!", "3", 0);
			menu_additem(simon_menu, "Zile \ySpeciale", "4", 0);
			menu_additem(simon_menu, "Demisioneaza din gradu de Simon", "5", 0);
			menu_additem(simon_menu, "Meniu BOX", "6", 0);
			menu_additem(simon_menu, "Meniu Numaratoare Inversa", "7", 0)
			menu_additem(simon_menu, "Revive Menu", "8", 0);
			//menu_additem(simon_menu, "Imparte Echipele", "9", 0);
			
			menu_setprop(simon_menu, MPROP_EXIT, MEXIT_ALL);
			menu_display(id, simon_menu, 0);
		}
	}
	else
		client_print(id, print_chat, "*** Nu esti SIMON deci nu poti accesa SIMON MENU ***");
	
	return PLUGIN_HANDLED;
}

public simon_choice(id, simon_menu, item)
{
	
	if( item == MENU_EXIT || !is_user_alive(id) )
	{
		menu_destroy(simon_menu);
		return PLUGIN_HANDLED;
	}
	
	new data[6], iName[64], name[32];
	new access, callback;
	
	get_user_name(g_Simon, name, charsmax(name))
	menu_item_getinfo(simon_menu, item, access, data,5, iName, 63, callback);
	
	new key = str_to_num(data);
	switch(key)
	{
		case 1: 
		{
			jail_open()
			
			new name[32]
			get_user_name(g_Simon, name, charsmax(name))
			set_hudmessage(0, 104, 139, -1.0, 0.74, 0, 6.0, 5.0)
			show_hudmessage(0, "%L", 0, "JBE_OPEN_DOOR_SIMON", name)
			
			emit_sound(0, CHAN_AUTO, "jb_sounds/jb_open.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
			cmd_simonmenu(id)
		}
		case 2: cmd_freeday(id)
			case 3:
		{
			emit_sound(0, CHAN_AUTO, "jb_sounds/jb_ding.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
			cmd_simonmenu(id)
		}
		case 4: cmd_daysmenu(id)
		case 5: cmd_simonreset(id)
		case 6: cmd_boxmenu(id)
		case 7: cmd_countdownmenu(id)
		case 8: cmd_simonrevive(id)
		/*case 9: 
		{
			chatcolor(0, "!y[!gSimonMenu!y] Simon !g%s !ya impartit echipele!", name)
			ImparteEchipele()
		}*/
		
	}
	menu_destroy(simon_menu);
	return PLUGIN_HANDLED;
}	

public cmd_countdownmenu(id)
{
	new szText[128];
	
	formatex( szText, charsmax( szText ), "Meniu Countdown")
	new menu = menu_create( szText, "Otc_Timer_handler" )
	
	formatex( szText, charsmax( szText ), "3 secunde")
	menu_additem( menu, szText, "1", 0 ); 
	
	formatex( szText, charsmax( szText ), "5 secunde")
	menu_additem( menu, szText, "2", 0 );   
	
	formatex( szText, charsmax( szText ), "10 secunde")
	menu_additem( menu, szText, "3", 0 );   
	
	formatex(szText, charsmax(szText), "Iesire")
	menu_setprop(menu, MPROP_EXITNAME, szText)
	menu_display( id, menu, 0 );
}

public Otc_Timer_handler(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	new data[6], iName[64], access, callback;
	menu_item_getinfo(menu, item, access, data, charsmax(data), iName, charsmax(iName), callback);
	
	new key = str_to_num(data);
	
	switch(key)
	{
		case 1:
		{
			if(task_exists(51126))
				remove_task(51126)
			
			g_Seconds = 4
			new param[32]
			set_task(1.0,"countSS",51126,param,31,"b",0)
		}   
		
		case 2:
		{
			if(task_exists(51126))
				remove_task(51126)
			
			g_Seconds = 6
			new param[32]
			set_task(1.0,"countSS",51126,param,31,"b",0)
		}    
		
		case 3:
		{
			if(task_exists(51126))
				remove_task(51126)
			
			g_Seconds = 11
			new param[32]
			set_task(1.0,"countSS",51126,param,31,"b",0)	
		}   
	}
	menu_destroy(menu)
	return PLUGIN_HANDLED
}

public countSS()
{
	if (--g_Seconds > 0)
	{
		if (g_Seconds>= 0)
		{
			client_print(0, print_center,  "->> %d secunde <<-", g_Seconds)
		}
	}
} 

public cmd_freeday(id)
{
	static menu, menuname[32], option[64]
	
	if(!is_freeday() && ((is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT) || get_user_flags(id) & read_flags ("c")))
	{
		formatex(menuname, charsmax(menuname), "%L", LANG_SERVER, "JBE_MENU_FREEDAY")
		menu = menu_create(menuname, "freeday_choice")
		
		formatex(option, charsmax(option), "%L", LANG_SERVER, "JBE_MENU_FREEDAY_PLAYER")
		menu_additem(menu, option, "1", 0)
		
		formatex(option, charsmax(option), "%L", LANG_SERVER, "JBE_MENU_FREEDAY_ALL")
		menu_additem(menu, option, "2", 0)
		
		formatex(option, charsmax(option), "Remove Freeday")
		menu_additem(menu, option, "3", 0)
		
		menu_display(id, menu)
	}
	
	return PLUGIN_HANDLED
}

public freeday_choice(id, menu, item)
{
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	static dst[32], data[5], access, callback
	
	menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
	menu_destroy(menu)
	get_user_name(id, dst, charsmax(dst))
	
	switch(data[0])
	{
		case('1'): cmd_freeday_player(id)
		case('2'): cmd_ask(id)
		case('3'): cmd_remove_freeday(id)
	}
	
	return PLUGIN_HANDLED
}
public cmd_remove_freeday(id)
{
	
	if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT || is_user_admin(id))
		have_freeday_menu(id, "fd_remove", "Cui vrei sa scoti fd ?")
	
	return PLUGIN_CONTINUE
}

public fd_remove(id, menu, item)
{
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	static dst[32], data[5], player, access, callback
	
	menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
	player = str_to_num(data)
	freeday_remove(id, player)
	
	return PLUGIN_HANDLED
}

public cmd_freeday_player(id)
{
	
	if((is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT) || get_user_flags(id) & read_flags ("c"))
		menu_players(id, CS_TEAM_T, id, 1, "freeday_select", "%L", LANG_SERVER, "JBE_MENU_FREEDAY")
	
	return PLUGIN_CONTINUE
}

public freeday_select(id, menu, item)
{
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	static dst[32], data[5], player, access, callback
	
	menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
	player = str_to_num(data)
	freeday_set(id, player)
	set_bit(g_PlayerFreeday, player)
	
	return PLUGIN_HANDLED
}

public cmd_ask(id)
{
	static menu, menuname[32], option[64]
	
	if(!is_freeday() && is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT)
	{
		formatex(menuname, charsmax(menuname), "%L", LANG_SERVER, "JBE_FD_ANSWER_TITLE")
		menu = menu_create(menuname, "freeday_ask")
		
		formatex(option, charsmax(option), "\y%L", LANG_SERVER, "JBE_FD_ANSWER_YES")
		menu_additem(menu, option, "1", 0)
		
		formatex(option, charsmax(option), "\r%L", LANG_SERVER, "JBE_FD_ANSWER_NO")
		menu_additem(menu, option, "2", 0)
		
		menu_display(id, menu)
	}
	
	return PLUGIN_HANDLED
}

public freeday_ask(id, menu, item)
{
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	static dst[32], data[5], access, callback
	
	menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
	menu_destroy(menu)
	get_user_name(id, dst, charsmax(dst))
	switch(data[0])
	{
		case('1'):
		{
			if(g_GameMode || g_PlayerLast)
			{
				chatcolor(id, "!g[JailBreak] !yNu poti face asta.")
				return PLUGIN_HANDLED
			}
			if(cs_get_user_team(id) == CS_TEAM_CT || get_user_flags(id) & read_flags("c"))
			{
				g_Simon = 0
				get_user_name(id, dst, charsmax(dst))
				chatcolor(0, "!g[JailBreak] !yGardianul !t[!g%s!t] !ya dat la toti !tPrizonieri !gFreeDay!y.", dst)
				check_freeday(2487100)
				jail_open()
			}
		}
		case('2'):
		{
			if(g_GameMode || g_PlayerLast)
			{
				chatcolor(id, "!g[JailBreak] !yNu poti face asta.")
				return PLUGIN_HANDLED
			}
			if(cs_get_user_team(id) == CS_TEAM_CT || get_user_flags(id) & read_flags("c"))
				cmd_freeday(id)
		}
	}
	
	return PLUGIN_HANDLED
}

public FreezePlayers(i_Team, i_Freeze)
{
	new i_Pteam;
	for(new i_Player = 1; i_Player <= g_MaxClients; i_Player++)
	{
		if(!is_user_connected(i_Player))
			continue;
		i_Pteam = get_user_team(i_Player);
		
		if(i_Pteam != i_Team)
			continue;
		
		if(is_user_alive(i_Player))
		{
			PlayerFreeze(i_Player, i_Freeze);
			
		}
	}
}

public kill_all()
{
	for(new i = 1; i <= g_MaxClients; i++)
	{
		if(!is_user_connected(i) || !is_user_alive(i))
			continue
		user_silentkill(i)
		g_GameMode = 0;
		secundeday = 0;
	}
	chatcolor(0, "!y[!gJailBreak!y] Ziua a luat sfarsit!")
	return PLUGIN_HANDLED;
}

public reset()
{
	remove_task(4567);
	g_BlockWeapons = 1

	if(g_GameMode == 8)
	{
		for(new i = 1; i <= g_MaxClients; i++)
		{
			if(!is_user_connected(i) || !is_user_alive(i))
				continue
				
			if(cs_get_user_team(i) == CS_TEAM_T)
			{
				FreezePlayers(1,1)
			}
			else if(cs_get_user_team(i) == CS_TEAM_CT)
			{
				FreezePlayers(2,0)
				Reset_Screen(i);
			}
		}
	}
}

public Fade_To_Black(id)
{
	message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenFade"), _, id)
	write_short((1<<3)|(1<<8)|(1<<10))
	write_short((1<<3)|(1<<8)|(1<<10))
	write_short((1<<0)|(1<<2))
	write_byte(255)
	write_byte(0)
	write_byte(0)
	write_byte(255)
	message_end()
}

public Reset_Screen(id)
{
	message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenFade"), _, id)
	write_short(1<<2)
	write_short(0)
	write_short(0)
	write_byte(0)
	write_byte(0)
	write_byte(0)
	write_byte(0)
	message_end()
}

public fw_PlayerPreThink(id)
{	
	if(g_GameMode <= 0)
	{
		if(g_PlayerLast)
		{
			if(is_user_alive(id) && is_user_connected(id))
			{
				set_pev(id, pev_maxspeed, 250.0)
				set_user_noclip(id, 0)
				set_user_godmode(id, 0)
				set_user_gravity(id, 1.0)
			}
			
			return PLUGIN_HANDLED
		}
	}
	if(g_ResetValues)
	{
		if(is_user_alive(id) && is_user_connected(id) && get_user_team(id) == 1)
		{
			set_user_maxspeed(id, 250.0)
			set_user_noclip(id, 0)
			set_user_godmode(id, 0)
			set_user_gravity(id, 1.0)
		}
		return PLUGIN_HANDLED;
	}
	if(g_Speed[id])
	{
		set_pev(id, pev_maxspeed, 444.0)
	}
	if(g_Gravity[id])
	{
		set_user_gravity(id, 0.3)
	}
	if(g_GameMode == 14 && is_user_alive(id))
	{
		if(cs_get_user_team(id) == CS_TEAM_T && get_user_maxspeed(id) <= 5) 
		{
			set_user_rendering( id, kRenderFxNone, 0, 0, 0, kRenderTransTexture, 0 );	
			set_pev(id, pev_maxspeed, 444.0)
		} else {
			set_rendering(id)
		}
	}
	
	if( !is_user_alive ( id ) || is_user_in_air ( id ) )
		return FMRES_IGNORED;
	if(g_GameMode != 3)
		return FMRES_IGNORED;
	set_pev ( id, pev_button, pev ( id, pev_button ) & ~IN_ATTACK );
	set_pev ( id, pev_button, pev ( id, pev_button ) & ~IN_ATTACK2 );
	
	return FMRES_IGNORED;
}

public player_spawn(id)
{
	
	static CsTeams:team
	if(!is_user_connected(id))
		return HAM_IGNORED
	
	set_pdata_float(id, 198, get_gametime() + 999999.0)
	player_strip_weapons(id)
	
	g_SimonAllowed = 1
	g_BlockWeapons = 0
	g_FreedayNext = 0
	
	if(g_RoundEnd)
	{
		jbe_set_day_week(++g_JailDay);
		g_RoundEnd = 0
	}

	set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
	
	clear_bit(g_PlayerWanted, id)
	team = cs_get_user_team(id)
	clear_bit(g_PlayerCrowbar, id)
	u_knife[id] = 0;
	switch(team)
	{
		case(CS_TEAM_T):
		{
			g_PlayerLast = 0
			if(!g_PlayerReason[id])
				g_PlayerReason[id] = random_num(1, 6)
			
			player_hudmessage(id, 0, 5.0, {255, 0, 255}, "%L %L", LANG_SERVER, "JBE_PRISONER_REASON",
			LANG_SERVER, g_Reasons[g_PlayerReason[id]])
			
			if(get_user_flags(id) & read_flags("a"))
			{
				cs_set_player_model(id, "jb_ownt")
				set_pev(id, pev_body, 1)
			}
			else if(get_user_flags(id) & read_flags("x"))
			{
				cs_set_player_model(id, "vipt_jbleague")
				set_pev(id, pev_body, 1)
			}
			else
			{
				cs_set_player_model(id, "jblgcs")
				set_pev(id, pev_body, 2)
				set_pev(id, pev_skin, random_num(0, 2))
			}
			
			
			if(is_freeday() || get_bit(g_FreedayAuto, id))
			{
				freeday_set(0, id)
				clear_bit(g_FreedayAuto, id)
			}
			if(g_CrowbarCount < get_pcvar_num(gp_CrowbarMax))
			{
				if(random_num(0, g_MaxClients) > (g_MaxClients / 2))
				{
					g_CrowbarCount++
					set_bit(g_PlayerCrowbar, id)
				}
			}
    
			player_strip_weapons(id)
			cs_set_user_armor(id, 0, CS_ARMOR_NONE)
		}
		case(CS_TEAM_CT):
		{
			if(get_user_flags(id) & read_flags("a"))
			{
				cs_set_player_model(id, "jb_ownct")
				set_pev(id, pev_body, 1)
			}
			else if(get_user_flags(id) & read_flags("x"))
			{
				cs_set_player_model(id, "vipct_jbleague")
				set_pev(id, pev_body, 1)
			}
			else
			{
				cs_set_player_model(id, "jblgcs")
				set_pev(id, pev_body, 3)
			}
			
			give_item(id, "weapon_knife")
			set_user_health(id, 125)
			set_pev(id, pev_viewmodel2, "models/jb_models/v_bulan7.mdl")
			set_pev(id, pev_weaponmodel2, "models/jb_models/p_bulan7.mdl")
			g_usedguns[id] = 0;
			class_menu(id)
		}
	}
	return HAM_IGNORED
}


public player_damage(victim, ent, attacker, Float:damage, bits, DamageType, Float:vecOrigin[3])
{
	if(!is_user_connected(victim) || !is_user_connected(attacker) || victim == attacker)
		return HAM_IGNORED
		
	set_pdata_int(victim, 509, true)
	
	switch(g_Duel)
	{
		case(0):
		{
			if(attacker == ent && get_user_weapon(attacker) == CSW_KNIFE && get_bit(g_PlayerCrowbar, attacker) && cs_get_user_team(victim) != CS_TEAM_T)
			{
				SetHamParamFloat(4, damage * 25)
				return HAM_OVERRIDE
			}
		}
		case(2):
		{
			if(attacker != g_PlayerLast)
				return HAM_SUPERCEDE
		}
		default:
		{
			if((victim == g_PlayerDuelT && attacker == g_PlayerDuelCT) || (victim == g_PlayerDuelCT && attacker == g_PlayerDuelT))
				return HAM_IGNORED
			
				return HAM_SUPERCEDE
		}
	}
	if(g_PlayerCrowbar) {
		if(!is_user_connected(attacker))
			return HAM_IGNORED
		if(get_user_weapon(attacker) != CSW_KNIFE || !g_Had_Crowbar[attacker])
			return HAM_IGNORED
		
		SetHamParamFloat(4, damage * 3.0)
		
		return HAM_IGNORED
	}
	
	return HAM_IGNORED
}

public speeds(id)
{
	if(is_user_connected(id))
	{
		knifespeed[id] = false
		set_user_maxspeed(id, 280.0)
	}
}

public player_attack(victim, attacker, Float:damage, Float:direction[3], tracehandle, damagebits)
{
	
	static CsTeams:vteam, CsTeams:ateam
	if(!is_user_connected(victim) || !is_user_connected(attacker) || victim == attacker)
		return HAM_IGNORED
	
	vteam = cs_get_user_team(victim)
	ateam = cs_get_user_team(attacker)
	
	if(ateam == CS_TEAM_CT && vteam == CS_TEAM_CT)
		return HAM_SUPERCEDE
		
	
	switch(g_Duel)
	{
		case(0):
		{
			if(ateam == CS_TEAM_CT && vteam == CS_TEAM_T)
			{
				if(get_bit(g_PlayerRevolt, victim))
				{
					JailHudTask(0)
					clear_bit(g_PlayerRevolt, victim)
				}
				return HAM_IGNORED
			}
		}
		case(2):
		{
			if(attacker != g_PlayerLast)
				return HAM_SUPERCEDE
		}
		default:
		{
			if((victim == g_PlayerDuelT && attacker == g_PlayerDuelCT) || (victim == g_PlayerDuelCT && attacker == g_PlayerDuelT))
				return HAM_IGNORED
				
			return HAM_SUPERCEDE
		}
	}
	
	if(ateam == CS_TEAM_T && vteam == CS_TEAM_T && !g_BoxStarted)
		return HAM_SUPERCEDE
	
	if(ateam == CS_TEAM_T && vteam == CS_TEAM_CT)
	{
		if(!g_PlayerRevolt && !g_GameMode)
			revolt_start()
		
		
		set_bit(g_PlayerRevolt, attacker)
	}
	
	return HAM_IGNORED
}

public button_attack(button, id, Float:damage, Float:direction[3], tracehandle, damagebits)
{
	if(is_valid_ent(button))
	{
		ExecuteHamB(Ham_Use, button, id, 0, 2, 1.0)
		entity_set_float(button, EV_FL_frame, 0.0)
	}
	
	return HAM_IGNORED
}

public player_killed(victim, attacker)
{

	static CsTeams:vteam, CsTeams:kteam
	if(!(0 < attacker <= g_MaxClients) || !is_user_connected(attacker))
		kteam = CS_TEAM_UNASSIGNED
	else
		kteam = cs_get_user_team(attacker)
	
	vteam = cs_get_user_team(victim)
	
	new name[32], name2[33];
	get_user_name(attacker, name, charsmax(name))
	get_user_name(victim, name2, charsmax(name2))
	u_knife[victim] = 0;
	if(victim != attacker)
	{
		if(get_user_team(attacker) == 2 && !g_GameMode)
		{
			chatcolor(attacker, "!y[!gCredits!y] Ai primit 1 credit deoarece ai omorat un prizonier.")
			credite[attacker]=credite[attacker]+1;
		}
	}
	if(g_Simon == victim)
	{
		g_Simon = 0
		emit_sound(0, CHAN_AUTO, "jb_sounds/jb_kill.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
	}
	if(g_GunDayFortat)
	{
		if(float(g_TeamCount[CS_TEAM_T]) / 3 < float(g_TeamCount[CS_TEAM_CT]))
		{
			if(cs_get_user_team(victim) == CS_TEAM_CT) cs_set_user_team(victim, CS_TEAM_T)
		} 
		else {
			chatcolor(0, "!g[Gun Day Fortat] !yEchipele au fost echilibrate, Gardienii au primit slay!")
			g_GunDayFortat = 0;
			for(new i = 1; i <= g_MaxClients; i++)
			{
				if(!is_user_connected(i) || !is_user_alive(i))
					continue
					
				user_silentkill(i);
			}
		}
	}
	if(g_GameMode == 1) emit_sound(0, CHAN_AUTO, "jb_sounds/zombie_death.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
	if(g_GameMode == 12) emit_sound(0, CHAN_AUTO, "jb_sounds/headshot.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
	if(g_GameMode == 15) 
	{
		set_task(0.5, "ReviveHunger", victim)
		set_task(1.2, "HungerGamesRespawn", victim)
	}
	_RemoveEntity(victim)
	if(!is_freeday() && get_bit(g_PlayerFreeday, victim) && !get_bit(g_PlayerWanted, victim) && !g_PlayerRevived[victim] && get_user_team(attacker) == 2)
		chatcolor(0, "!t[!gFreeDay!t] !y%s la omorat pe %s (Jucator cu freeday)", name, name2);
	
	g_Speed[victim] = false
	g_Gravity[victim] = false
	
	
	switch(g_Duel)
	{
		case(0):
		{
			switch(vteam)
			{
				case(CS_TEAM_CT):
				{
					if(kteam == CS_TEAM_T && !get_bit(g_PlayerWanted, attacker))
					{
						if(!g_GameMode)
						{
							set_bit(g_PlayerWanted, attacker)
							clear_bit(g_PlayerFreeday, attacker)
							cs_set_player_model(attacker, "jblgcs")
							set_pev(attacker, pev_body, 2)
							set_pev(attacker, pev_skin, 4)
							chatcolor(attacker, "!y[!gCredits!y] Ai primit 2 credite deoarece ai omorat un gardian.")
							credite[attacker]=credite[attacker]+2;
						}
					}
				}
				case(CS_TEAM_T):
				{
					clear_bit(g_PlayerRevolt, victim)
					clear_bit(g_PlayerWanted, victim)
				}
			}
		}
		default:
		{
			if (vteam == CS_TEAM_T)
			{
				if(task_exists(51134))
					remove_task(51134)
				
				set_task(2.1, "task_last_duel", 51134)
			}
			if(g_Duel != 2 && (attacker == g_PlayerDuelT || attacker == g_PlayerDuelCT || victim == g_PlayerDuelT || victim == g_PlayerDuelCT))
			{
				duel_end()
				team_count()
				g_PlayerLast = 0
				g_Duel = 0
				
			}
		}
	}
	return HAM_IGNORED
}

public player_touchweapon(id, ent)
{
	static model[32], class[32]
	
	if(g_BlockWeapons || g_GameMode || g_Duel || g_GunDayFortat || g_RoundEnd)
		return HAM_SUPERCEDE
	
	if(is_valid_ent(id) && is_user_alive(ent) && cs_get_user_team(ent) != CS_TEAM_CT && cs_get_user_team(ent) != CS_TEAM_T || g_GameMode == 9)
	{
		entity_get_string(id, EV_SZ_model, model, charsmax(model))
		if(model[7] == 'w' && model[9] == 'h' && model[10] == 'e' && model[11] == 'g')
		{
			entity_get_string(id, EV_SZ_classname, class, charsmax(class))
			
			if(equal(class, "weapon_hegrenade"))
				remove_entity(id)
			
			return HAM_SUPERCEDE
		}
	}
	
	return HAM_IGNORED
}

public set_client_kv(id, const info[], const key[])
{
	if(equal(key, "model"))
		return FMRES_SUPERCEDE
	
	return FMRES_IGNORED
}

public voice_listening(receiver, sender, bool:listen)
{
	if((receiver == sender))
		return FMRES_IGNORED
	
	listen = true
	
	if(get_user_flags(sender) & read_flags("d") || get_bit(g_PlayerVoice, sender))
	{
		engfunc(EngFunc_SetClientListening, receiver, sender, true)
		return FMRES_SUPERCEDE
	}
	
	if(!is_user_alive(sender))
	{
		engfunc(EngFunc_SetClientListening, receiver, sender, false)
		return FMRES_SUPERCEDE
	}
	
	if(sender == g_Simon && is_user_alive(sender))
	{
		engfunc(EngFunc_SetClientListening, receiver, sender, true)
		return FMRES_SUPERCEDE
	}
	else if(cs_get_user_team(sender) == CS_TEAM_CT && is_user_alive(sender) && (g_Freeday || g_GameMode || g_PlayerLast))
	{
		engfunc(EngFunc_SetClientListening, receiver, sender, true)
		return FMRES_SUPERCEDE
	}
	else if(sender == g_Simon && is_user_alive(sender) && (!g_Freeday || !g_GameMode))
	{
		engfunc(EngFunc_SetClientListening, receiver, sender, true)
		return FMRES_SUPERCEDE
	}
	
	if(g_SimonTalking && (sender != g_Simon))
		listen = false
	else
	{
		static CsTeams:steam
		steam = cs_get_user_team(sender)
		switch(gc_TalkMode)
		{
			case(2):
			{
				listen = (steam == CS_TEAM_CT)
			}
			case(1):
			{
				listen = (steam == CS_TEAM_CT || steam == CS_TEAM_T)
			}
		}
	}
	
	switch(gc_VoiceBlock)
	{
		case(2):
		{
			if((sender != g_Simon) && (!get_bit(g_SimonVoice, sender) && gc_VoiceBlock))
			{
				engfunc(EngFunc_SetClientListening, receiver, sender, false)
				return FMRES_SUPERCEDE
			}
		}
		case(1):
		{
			if(!get_bit(g_SimonVoice, sender) && gc_VoiceBlock)
			{
				engfunc(EngFunc_SetClientListening, receiver, sender, false)
				return FMRES_SUPERCEDE
			}
		}
	}
	
	engfunc(EngFunc_SetClientListening, receiver, sender, listen)
	return FMRES_SUPERCEDE
}


public round_first()
{
	g_JailDay = 0
	set_cvar_num("sv_alltalk", 0)
	g_GunDayFortat = 0;
	g_Duel = 0
	g_PlayerDuelT = 0
	g_PlayerDuelCT = 0
	g_isFirstRound = 1;
	g_IsForcedOffline = 0;
	set_cvar_num("mp_roundtime", 40)
	set_cvar_num("mp_limitteams", 0)
	set_cvar_num("mp_autoteambalance", 0)
}
public jbe_set_day_week(iWeek) g_JailDay = (g_JailDay > 6) ? 1 : iWeek;

public round_start()
{
	if(g_RoundEnd)
		return
		
	team_count()
	if(!g_IsForcedOffline)
	{
		if(get_playersnum() >= 11 && get_playersnum() < 29 && !g_isFirstRound) 
		{
			if(float(g_TeamCount[CS_TEAM_T]) / 3 < float(g_TeamCount[CS_TEAM_CT]))
			{
				chatcolor(0, "!y[!gJailBreak!y] Deoarece sunt prea multi gardieni, se va da automat Gun Day in 10 sec!")
				set_task(10.0, "GunDayFortat")
			}
		}
	}
	g_BlockWeapons = 0
	new JailDay[256]
	
	switch(g_JailDay)
	{
		case 0..1: formatex(JailDay, charsmax(JailDay), "Luni")
		case 2: formatex(JailDay, charsmax(JailDay), "Marti")
		case 3: formatex(JailDay, charsmax(JailDay), "Miercuri")
		case 4: formatex(JailDay, charsmax(JailDay), "Joi")
		case 5: formatex(JailDay, charsmax(JailDay), "Vineri")
		case 6: formatex(JailDay, charsmax(JailDay), "Sambata")
		case 7: formatex(JailDay, charsmax(JailDay), "Duminica")
	}
	if(g_JailDay == 1) check_freeday(2487100)
	if(!g_Simon && is_freeday())
	{
		g_Freeday = 1
		jail_open()
		emit_sound(0, CHAN_AUTO, "jb_sounds/jb_ding.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
		check_freeday(2487100)
	}
	else
		set_task(160.0, "check_freeday", 2487100)
	
	for(new i = 1; i <= g_MaxClients; i++)
	{
		if(!is_user_connected(i))
			continue
		
		set_task(3.0, "remove_freez", i)
		FreezePlayers(1, 1);

	}
	server_cmd("amx_reloadadmins");
	g_Duel = 0
	g_PlayerDuelT = 0
	g_PlayerDuelCT = 0
}
public remove_freez(id) FreezePlayers(1, 0);

public round_end()
{
	static CsTeams:team
	g_PlayerRevolt = 0
	g_PlayerFreeday = 0
	g_isLMS = 0
	IsEventActivated = 0
	g_PlayerLast = 0
	g_BoxStarted = 0
	g_Simon = 0
	limitacutii = 0
	//ImparteEchipele1 = 0
	//ImparteEchipele2 = 0
	g_ResetValues = 0;
	g_SimonAllowed = 0
	g_LastDenied = 0
	g_BlockWeapons = 1
	g_TeamCount[CS_TEAM_T] = 0
	g_TeamCount[CS_TEAM_CT] = 0
	g_Freeday = 0
	g_RoundEnd = 1
	g_CrowbarCount = 0
	g_BhopON = false;
	g_Duel = 0
	g_PlayerIsInDuel = 0;
	g_GunDayFortat = 0;
	g_PlayerLast = 0
	set_user_hitzones(0, 0, 255)
	g_GameMode = 0
	secundeday = 0
	set_cvar_string("mp_friendlyfire", "0");
	remove_task(2487100)
	remove_task(4567);
	remove_task(123)
	remove_task(124)
	remove_task(1234567)
	g_DayRestrict--;
	duel_end()

	if(task_exists(2485100))
		remove_task(2485100)
	CreateFog(0, .clear = true);
	for(new i = 1; i <= g_MaxClients; i++)
	{
		if(!is_user_connected(i))
			continue
		
		remove_task(i)
		blockrevive[i] = false;
		tagday[i] = false;
		blockmedkit[i] = false;

		ShopUsed[i] = false;
		--blockgravity[i]
		--blockviteza[i]
		g_Gravity[i] = false;
		g_Invizibil[i] = false;
		--blockrevive[i]
		u_knife[i] = 0;
		g_VipFolosit[i] = false;
		g_TeamSwitch[i] = 0;
		g_Had_Crowbar[i] = g_Stab[i] = 0
		menu_cancel(i)
		g_Speed[i] = 0
		set_pev(i, pev_maxspeed, 250.0)
		set_user_noclip(i, 0)
		set_user_godmode(i, 0)
		set_user_gravity(i, 1.0)
		player_strip_weapons(i)
		team = cs_get_user_team(i)
		set_user_rendering(i)
		_RemoveEntity(i)

		switch(team)
		{
			case(CS_TEAM_SPECTATOR, CS_TEAM_UNASSIGNED):
			{
				set_task(0.5, "server_teamselect_new", i)
			}
		}
	}
	new crowbar_ent
	while((crowbar_ent=engfunc(EngFunc_FindEntityByString, crowbar_ent, "classname", gCrowbarClassname)) != 0)
		engfunc(EngFunc_RemoveEntity, crowbar_ent)
}

public team_count()
{
	
	static CsTeams:team, last
	g_TeamCount[CS_TEAM_UNASSIGNED] = 0
	g_TeamCount[CS_TEAM_T] = 0
	g_TeamCount[CS_TEAM_CT] = 0
	g_TeamCount[CS_TEAM_SPECTATOR] = 0
	g_TeamAlive[CS_TEAM_UNASSIGNED] = 0
	g_TeamAlive[CS_TEAM_T] = 0
	g_TeamAlive[CS_TEAM_CT] = 0
	g_TeamAlive[CS_TEAM_SPECTATOR] = 0
	
	for(new i = 1; i <= g_MaxClients; i++)
	{
		if(is_user_connected(i))
		{
			team = cs_get_user_team(i)
			g_TeamCount[team]++
			g_PlayerTeam[i] = team
			
			if(is_user_alive(i))
			{
				g_TeamAlive[team]++
				if(team == CS_TEAM_T)
					last = i
			}
		}
		else
			g_PlayerTeam[i] = CS_TEAM_UNASSIGNED
	}
	
	if(g_TeamAlive[CS_TEAM_T] == 1)
	{
		if(last != g_PlayerLast)
			prisoner_last(last)
		
	}
	else
	{
		if(g_Duel || g_PlayerDuelT || g_PlayerDuelCT)
		{
			if(is_user_alive(g_PlayerDuelT))
			{
				set_user_rendering(g_PlayerDuelT, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
				player_strip_weapons(g_PlayerDuelT)
			}
			
			if(is_user_alive(g_PlayerDuelCT))
			{
				set_user_rendering(g_PlayerDuelCT, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
				player_strip_weapons(g_PlayerDuelCT)
			}
		}
		
		g_PlayerLast = g_PlayerDuelT = g_PlayerDuelCT = g_Duel = 0
	}
}


public cmd_voiceon(id)
{
	client_cmd(id, "+voicerecord")
	set_bit(g_SimonVoice, id)
	if(g_Simon == id || is_user_admin(id))
		set_bit(g_SimonTalking, id)
	
	return PLUGIN_HANDLED
}

public cmd_voiceoff(id)
{
	client_cmd(id, "-voicerecord")
	clear_bit(g_SimonVoice, id)
	if(g_Simon == id || is_user_admin(id))
		clear_bit(g_SimonTalking, id)
	
	return PLUGIN_HANDLED
}

public cmd_simon(id)
{
	
	if(!is_user_connected(id))
		return PLUGIN_HANDLED
	
	static CsTeams:team, name[32]
	
	team = cs_get_user_team(id)
	
	if(g_SimonAllowed && !g_Freeday && is_user_alive(id) && team == CS_TEAM_CT && !g_Simon)
	{
		g_Simon = id
		get_user_name(id, name, charsmax(name))
		
		cs_set_player_model(id, "jbindvip0S")
		set_pev(id, pev_body, 1)
		
		g_PlayerSimon[id]--
		g_isFirstRound = 0;
		client_print( id, print_chat, "*** Acum esti simon, da-le comenzi PRIZONIERILOR ! ***");
		cmd_simonmenu(id)
		JailHudTask(0)
	}
	
	return PLUGIN_HANDLED
}

public cmd_open(id)
{
	if(id == g_Simon || g_Freeday || g_GameMode || get_user_flags(id) & read_flags("c"))
	{
		if(is_user_alive(id) && is_user_connected(id))
		{
			
			jail_open()
			
			new name[32]
			get_user_name(id, name, 63)
			set_hudmessage(0, 104, 139, -1.0, 0.74, 0, 6.0, 5.0)
			if(g_Freeday || g_GunDayFortat)
				show_hudmessage(0, "%s a dat open", name)
			else 
				show_hudmessage(0, "%s a deschis celulele.", name)
			
			emit_sound(0, CHAN_AUTO, "jb_sounds/jb_open.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
		}
	}
	return PLUGIN_HANDLED
}

public cmd_nomic(id)
{
	
	static CsTeams:team
	team = cs_get_user_team(id)
	if(team == CS_TEAM_CT)
	{	
		if(g_Simon == id)
			g_Simon = 0
		
		if(!is_user_admin(id))
			set_bit(g_PlayerNomic, id)
		
		user_silentkill(id)
		cs_set_user_team(id, CS_TEAM_T)
	}
	return PLUGIN_HANDLED
}

public adm_nomic(id)
{
	
	new arg[32], cmd[32];
	read_argv(0,cmd,31);
	read_argv(1,arg,31);
	
	new player = cmd_target(id, arg, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF);
	
	if(id == 0 || get_user_flags(id) & read_flags ("b"))
	{
		new name[32], name2[32];
		get_user_name(id,name,31);
		get_user_name(player,name2, 31);
		
		if(is_user_connected(player))
		{
			cmd_nomic(player);
			chatcolor(0, "!y[!gAdminControl!y] !tAdmin-ul !y[!g%s!y] !yl-a mutat la !gPrizonieri !ype !y[!g%s!y].", name, name2)
			log_to_file("LogJailBreak.log","[JBE_NOMIC] Admin-ul [ %s ] l-a mutat la T pe [ %s ].", name, name2)
		}
	}
	else
	{
		chatcolor(id, "!y[!gAdminControl!y] !yNu ai !gacces !yla aceasta comanda.")
		return PLUGIN_CONTINUE
	}
	
	return PLUGIN_HANDLED;
}

public adm_open(id)
{
	
	if(get_user_flags(id) & ADMIN_SLAY || get_user_flags(id) & read_flags("x"))
	{
		new nume[18]
		get_user_name(id, nume, 17)
		
		chatcolor(0, "!y[!gAdminControl!y] [!g%s!y] !ya folosit !y[!gjbe_open!y].", nume)
		log_to_file("LogJailBreak.log","[JBE_OPEN] Admin-ul [ %s ] a deschis celulele prin JBE_OPEN ",nume)
		
		emit_sound(0, CHAN_AUTO, "jb_sounds/jb_open.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
		
		jail_open()
	}
	else
		chatcolor(id, "!y[!gAdminControl!y] !yNu ai !gacces !yla aceasta comanda.")
	
	return PLUGIN_HANDLED
}

public adm_box(id)
{
	
	if(g_PlayerLast)
	{
		chatcolor(id, "!t[!gBox!t] !yNu poti activa !tBox,!y cand este !gUltimul Prizonier!y, !tin !gviata !y!")
		return PLUGIN_HANDLED
	}
	
	if(get_user_flags(id) & ADMIN_SLAY)
	{
		new nume[16]
		get_user_name(id, nume, 15)
		
		chatcolor(0, "!y[!gAdminControl!y]!y Admin-ul !y[!g%s!y] !ya folosit !g[!yjbe_box!g].", nume)
		log_to_file("LogJailBreak.log","[ JBE_BOX ] Admin-ul [ %s ] a dat BOX prin JBE_BOX ", nume)
		
		cmd_box(id)
	}
	else
		chatcolor(id, "!y[!gAdminControl!y] !yNu ai !gacces !yla aceasta comanda.")
		
	return PLUGIN_HANDLED
}

public adm_boxoff(id)
{
	
	if(g_PlayerLast)
	{
		chatcolor(id, "!t[!gBox!t] !yNu poti dezactiva !tBox,!y cand este !gUltimul Prizonier!y, !tin !gviata !y!")
		return PLUGIN_HANDLED
	}
	
	if(get_user_flags(id) & ADMIN_SLAY)
	{
		new nume[16]
		get_user_name(id, nume, 15)
		
		chatcolor(0, "!y[!gAdminControl!y]!y Admin-ul !y[!g%s!y] !ya folosit !g[!yjbe_boxoff!g].", nume)
		log_to_file("LogJailBreak.log","[ JBE_BOX ] Admin-ul [ %s ] a dat BOX-OFF prin JBE_BOXOFF ", nume)
		
		cmd_boxoff(id)
	}
	else
		chatcolor(id, "!y[!gAdminControl!y] !yNu ai !gacces !yla aceasta comanda.")

	return PLUGIN_HANDLED
}

public prisoner_last(id)
{
	if(g_RoundEnd || g_TeamAlive[CS_TEAM_CT] <= 0)
		return PLUGIN_HANDLED
	
	static name[32]
	
	if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T)
	{
		get_user_name(id, name, charsmax(name))
		
		g_PlayerLast = id
		if(g_isLMS && !g_GameMode)
		{
			chatcolor(0, "!y[!gJailBreak!y] !g%s !ya castigat LMS-ul! A primit 150 credite.", name)
			user_silentkill(id)
			credite[id]=credite[id]+150
		}
		else if(!g_GameMode && !g_isLMS)
		{
			player_hudmessage(0, 6, 5.0, {255, 255, 0}, "%s este ultimul prizonier", name)
			g_PlayerIsInDuel = 0;
			g_BhopON = false;
			cmd_lastrequest(id)
		} 
		else if(g_GameMode && !g_isLMS) {
			chatcolor(0, "!y[!gJailBreak!y] !g%s !ya castigat DAY-ul! El a primit 30 credite.", name)
			user_silentkill(id)
			credite[id]=credite[id]+30
		}
		g_LastDenied = 0
	}
	return PLUGIN_HANDLED
}

public revolt_start()
{
	if(!g_GameMode && !g_PlayerLast)
	{
		client_cmd(0,"speak ambience/siren")
		set_task(6.0, "stop_sound")
	}
}

public stop_sound(task) client_cmd(0, "stopsound")

public getGameDescription() 
{ 
	
	get_pcvar_string(PreText,TimeleftString,TimeleftStringLen);
	
	new len = strlen(TimeleftString);
	
	if (!IsEventActivated) {
		len += formatex(TimeleftString[len], TimeleftStringLen - len, "JAILBREAK")
	}
	else if(g_Freeday) {
		len += formatex(TimeleftString[len], TimeleftStringLen - len,"FREEDAY")
	}
	get_pcvar_string(PostText,TimeleftString[len],TimeleftStringLen - len);
	
	forward_return(FMV_STRING,TimeleftString); 
	
	return FMRES_SUPERCEDE; 
}

public JailHudTask(task)
{
	
	static i, n
	new name[32], simon[32], last[32], wanted[1024], freeday[1024], DayName[256], numeduelct[32], szStatus[64], JailDay[256]
	
	n = 0
	formatex(wanted, charsmax(wanted), "Prizonieri cautati:")
	n = strlen(wanted)
	
	for(i = 0; i < g_MaxClients; i++)
	{
		if(get_bit(g_PlayerWanted, i) && is_user_alive(i) && n < charsmax(wanted))
		{
			get_user_name(i, name, charsmax(name))
			n += copy(wanted[n], charsmax(wanted) - n, "^n^t")
			n += copy(wanted[n], charsmax(wanted) - n, name)
		}
	}
	n = 0
	formatex(freeday, charsmax(freeday), "%L", LANG_SERVER, "JBE_PRISONER_FREEDAY")
	n = strlen(freeday)
	
	for(i = 0; i < g_MaxClients; i++)
	{
		if(get_bit(g_PlayerFreeday, i) && is_user_alive(i) && n < charsmax(freeday))
		{
			get_user_name(i, name, charsmax(name))
			n += copy(freeday[n], charsmax(freeday) - n, "^n^t")
			n += copy(freeday[n], charsmax(freeday) - n, name)
		}
	}
	team_count()
    
	formatex(szStatus, charsmax(szStatus), "Prizonieri:(%i/%d) | Gardieni:(%i/%d) | Total:(%d/32)", g_TeamAlive[CS_TEAM_T], GetPlayersNum( 1, 2 ),g_TeamAlive[CS_TEAM_CT],GetPlayersNum( 2, 2 ), get_playersnum())
	message_begin(MSG_BROADCAST, get_user_msgid("StatusText"), {0,0,0}, 0)
	write_byte(0)
	write_string(szStatus)
	message_end()
	
	switch(g_JailDay)
	{
			case 0: formatex(JailDay, charsmax(JailDay), "Luni")
			case 1: formatex(JailDay, charsmax(JailDay), "Luni")
			case 2: formatex(JailDay, charsmax(JailDay), "Marti")
			case 3: formatex(JailDay, charsmax(JailDay), "Miercuri")
			case 4: formatex(JailDay, charsmax(JailDay), "Joi")
			case 5: formatex(JailDay, charsmax(JailDay), "Vineri")
			case 6: formatex(JailDay, charsmax(JailDay), "Sambata")
		}
	
	if(secundeday >= 2 && g_GameMode)
	{
		--secundeday;
		formatex(DayName, charsmax(DayName), "%s(%d:%02d)", g_DayName[g_GameMode], (secundeday / 60), (secundeday % 60))
	}
	else if(g_Freeday == 1)
		formatex(DayName, charsmax(DayName), "Zi Libera")
	else if(secundeday <= 1 && g_GameMode >=1) kill_all()
	else
		formatex(DayName, charsmax(DayName), "Nu s-a ales Day(Zi Normala)") 
	
	
	get_user_name(g_PlayerLast, last, charsmax(last))
	get_user_name(g_Simon, simon, charsmax(simon))
	get_user_name(g_PlayerDuelCT, numeduelct, charsmax(numeduelct))
	
	if(secundeday <= 0)
	{
		if(g_Simon)
			player_hudmessage(0, 5, HUD_DELAY + 1.0, {25, 200, 225}, "%s este Simon :: JailBreak(%s) :: %s", simon, JailDay, DayName)
		else if(g_Freeday && g_Simon == 0)
			player_hudmessage(0, 5, HUD_DELAY + 1.0, {25, 200, 225}, "Nu este Simon :: JailBreak(%s) :: %s", JailDay, DayName)
		
		else 
			player_hudmessage(0, 5, HUD_DELAY + 1.0, {25, 200, 225}, "Nu este Simon :: JailBreak(%s) :: %s", JailDay, DayName)
		
	}
	else if(secundeday >= 1)
	{
		if(g_Simon)
			player_hudmessage(0, 5, HUD_DELAY + 1.0, {25, 200, 225}, "%s este Simon :: JailBreak(%s) :: %s", simon, JailDay, DayName)
		else
			player_hudmessage(0, 5, HUD_DELAY + 1.0, {25, 200, 225}, "Nu este Simon :: JailBreak(%s) :: %s ", JailDay, DayName)
	}

	if(g_PlayerLast)
	{
		if(g_Simon)
			player_hudmessage(0, 5, HUD_DELAY + 1.0, {25, 200, 225}, "%s este Simon :: JailBreak(%s) :: %s ^nUltimul prizonier este: %s", simon, JailDay, DayName, last)
		else 
			player_hudmessage(0, 5, HUD_DELAY + 1.0, {25, 200, 225}, "Nu este Simon :: JailBreak(%s) :: %s ^nUltimul prizonier este: %s", JailDay, DayName, last)
	}
	
	if(g_GunDayFortat)
	{
		if(g_Simon)
			player_hudmessage(0, 5, HUD_DELAY + 1.0, {25, 200, 225}, "%s este Simon :: JailBreak(%s) :: War Day(Fortat)", simon, JailDay)
		else 
			player_hudmessage(0, 5, HUD_DELAY + 1.0, {25, 200, 225}, "Nu este Simon :: JailBreak(%s) :: War Day(Fortat)", JailDay)
	}
	
	if(g_PlayerDuelCT && g_PlayerDuelT)
	{
		if(g_Simon)
			player_hudmessage(0, 5, HUD_DELAY + 1.0, {25, 200, 225}, "%s este Simon :: JailBreak(%s) :: %s ^nDuel: %s vs %s", simon, JailDay, DayName, last, numeduelct)
		else 
			player_hudmessage(0, 5, HUD_DELAY + 1.0, {25, 200, 225}, "Nu este Simon :: JailBreak(%s) :: %s ^nDuel: %s vs %s", JailDay, DayName, last, numeduelct)
	}
	
	if(!(g_PlayerLast && !g_GameMode))
	{
		if(g_PlayerWanted)
			player_hudmessage(0, 3, HUD_DELAY + 1.0, {0, 255, 255}, "%s", wanted)
		else if(g_PlayerRevolt)
			player_hudmessage(0, 3, HUD_DELAY + 1.0, {255, 25, 50}, "%L", LANG_SERVER, "JBE_PRISONER_REVOLT")
	}
	
	if(!(g_Freeday))
	{
		if(g_PlayerFreeday >= 1)
			player_hudmessage(0, 7, HUD_DELAY + 1.0, {0, 255, 0}, "%s", freeday)
		else
			player_hudmessage(0, 7, HUD_DELAY + 1.0, {0, 0, 0}, "%L", LANG_SERVER, "JBE_PRISONER_NO_FREEDAY")
	}
	gc_TalkMode = 2
	gc_VoiceBlock = 2
	gc_SimonSteps = 1
}

GetPlayersNum(iTeam, iAlive)
{
	new iPlayersNum;

	for( new iPlayers = get_maxplayers( ); iPlayers > 0; iPlayers-- )
	{
		if( !is_user_connected( iPlayers ) )
			continue;
		
		if(get_user_team( iPlayers ) == iTeam && ( is_user_alive( iPlayers ) == iAlive || iAlive == 2 ) )
			iPlayersNum++;
	}
	return iPlayersNum;
}

public check_freeday(task)
{
	static i
	
	if(g_GameMode)
		return PLUGIN_HANDLED
	
	if(!g_Simon && !g_PlayerLast)
	{
		g_Freeday = 1
		
		for(i = 1; i <= g_MaxClients; i++)
			if(is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_T)
		{
			if(!g_Simon) freeday_set(0, i)
		}
		emit_sound(0, CHAN_AUTO, "jb_sounds/jb_ding.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
		set_task(180.0, "freeday_end", 2485100)
	}
	
	return PLUGIN_HANDLED
}

public freeday_end(task)
{
	if(is_freeday())
	{
		emit_sound(0, CHAN_AUTO, "jb_sounds/jb_ding.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
		player_hudmessage(0, 8, 3.0, {255, 0, 255}, "Ziua libera sa terminat!")
		
		for(new i = 1; i <= g_MaxClients; i++)
		{
			if(g_PlayerTeam[i] == CS_TEAM_T && is_user_alive(i))
			{
				user_silentkill(i)
			}
		}
	}
}

public setup_buttons()
{
	new ent[3]
	new Float:origin[3]
	new info[32]
	new pos
	
	while((pos <= sizeof(g_Buttons)) && (ent[0] = engfunc(EngFunc_FindEntityByString, ent[0], "classname", "info_player_deathmatch")))
	{
		pev(ent[0], pev_origin, origin)
		while((ent[1] = engfunc(EngFunc_FindEntityInSphere, ent[1], origin, CELL_RADIUS)))
		{
			if(!is_valid_ent(ent[1]))
				continue
			
			entity_get_string(ent[1], EV_SZ_classname, info, charsmax(info))
			if(!equal(info, "func_door"))
				continue
			
			entity_get_string(ent[1], EV_SZ_targetname, info, charsmax(info))
			if(!info[0])
				continue
			
			if(TrieKeyExists(g_CellManagers, info))
			{
				TrieGetCell(g_CellManagers, info, ent[2])
			}
			else
			{
				ent[2] = engfunc(EngFunc_FindEntityByString, 0, "target", info)
			}
			
			if(is_valid_ent(ent[2]) && (in_array(ent[2], g_Buttons, sizeof(g_Buttons)) < 0))
			{
				g_Buttons[pos] = ent[2]
				pos++
				break
			}
		}
	}
	
	TrieDestroy(g_CellManagers)
}

public jail_open()
{
	static i
	for(i = 0; i < sizeof(g_Buttons); i++)
	{
		if(g_Buttons[i])
		{
			ExecuteHamB(Ham_Use, g_Buttons[i], 0, 0, 1, 1.0)
			entity_set_float(g_Buttons[i], EV_FL_frame, 0.0)
		}
	}
}

public plugin_natives()
{
	register_native("jb_is_user_last", "native_is_last", 1)
	register_native("jb_is_user_simon", "native_is_simon", 1)
	register_native("is_free_day", "native_is_free_day", 1)
	register_native("is_day", "native_is_day", 1)
	register_native("jb_open_glowmenu", "cmd_glowmenu", 1)
	register_native("jb_menu_setsimon", "native_set_simonteam", 1);
	register_native("jb_get_tigari", "native_get_tigari", 1)
	register_native("jb_set_tigari", "native_set_user_tigari", 1)
	register_native("OpenShopMenu", "cmd_shopmenu", 1)
}

public native_set_simonteam(id) cmd_simon(id)
public native_is_day() return g_GameMode
public native_is_free_day() return g_Freeday
public native_is_last() return g_PlayerLast
public native_is_simon(id) 
{
	if(cs_get_user_team(id) != CS_TEAM_CT)
		return 0
	
	return g_Simon == id? 1 : 0
}

public msg_motd(msgid, dest, id)
{
return PLUGIN_HANDLED
}

public AutoStartQuest() StartQuest()

public StartQuest()
{
	g_bQuestAlive=true;
	
	new num[5], num2[5], i;
	
	for(i=0; i <= 4; i++)
		num[i] = random_num(0, 50)
	
	for(i=0; i <= 4; i++)
		num2[i] = random_num(1, 5)
	
	new m_iPart = random_num(1, 4), 
	m_iType = random_num(1, m_iPart == 4 ? 3:4)
	
	switch(m_iPart)
	{
		case 1:
		{
			switch(m_iType)
			{
				case 1:
				{
					chatcolor(0, "!y[!gMath Test!y] !g%i !y+ !g%i !y+ !g%i !y= !g?", num[0], num[1], num[2])
					formatex(g_strQuestion, charsmax(g_strQuestion), "%i + %i + %i", num[0], num[1], num[2])
					g_iAnswer = num[0] + num[1] + num[2];
				}
				case 2:
				{
					chatcolor(0, "!y[!gMath Test!y] !g%i !y- !g%i !y- !g%i !y= !g?", num[0], num[1], num[2])
					formatex(g_strQuestion, charsmax(g_strQuestion), "%i - %i - %i", num[0], num[1], num[2])
					g_iAnswer = num[0] - num[1] - num[2];
				}
				case 3:
				{
					chatcolor(0, "!y[!gMath Test!y] !g%i !y+ !g%i !y- !g%i !y= !g?", num[0], num[1], num[2])
					formatex(g_strQuestion, charsmax(g_strQuestion), "%i + %i - %i", num[0], num[1], num[2])
					g_iAnswer = num[0] + num[1] - num[2];
				}
				case 4:
				{
					chatcolor(0, "!y[!gMath Test!y] !g%i !y+ !g%i !y* !g%i !y= !g?", num[0], num2[1], num2[0])
					formatex(g_strQuestion, charsmax(g_strQuestion), "%i + %i * %i", num[0], num2[1], num2[0])
					g_iAnswer = num[0] + num2[1] * num2[0];
				}
				case 5:
				{
					chatcolor(0, "!y[!gMath Test!y] !g%i !y* !g%i !y* !g%i !y= !g?", num[0], num2[1], num2[0])
					formatex(g_strQuestion, charsmax(g_strQuestion), "%i * %i * %i", num2[0], num2[1], num2[2])
					g_iAnswer = num2[0] * num2[1] * num2[2];
				}
			}
		}
		case 2:
		{
			switch(m_iType)
			{
				case 1:
				{
					chatcolor(0, "!y[!gMath Test!y] !g%i !y+ !g%i !y+ !g%i !y+ !g%i !y= !g?", num[0], num[1], num[2], num[3])
					formatex(g_strQuestion, charsmax(g_strQuestion), "%i + %i + %i + %i", num[0], num[1], num[2], num[3])
					g_iAnswer = num[0] + num[1] + num[2] + num[3];
				}
				case 2:
				{
					chatcolor(0, "!y[!gMath Test!y] !g%i !y- !g%i !y- !g%i !y- !g%i !y= !g?", num[0], num[1], num[2], num[3])
					formatex(g_strQuestion, charsmax(g_strQuestion), "%i - %i - %i - %i", num[0], num[1], num[2], num[3])
					g_iAnswer = num[0] - num[1] - num[2] - num[3];
				}
				case 3:
				{
					chatcolor(0, "!y[!gMath Test!y] !g%i !y+ !g%i !y- !g%i !y+ !g%i !y= !g?", num[0], num[1], num[2], num[3])
					formatex(g_strQuestion, charsmax(g_strQuestion), "%i + %i - %i + %i", num[0], num[1], num[2], num[3])
					g_iAnswer = num[0] + num[1] - num[2] + num[3];
				}
				case 4:
				{
					chatcolor(0, "!y[!gMath Test!y] !g%i !y+ !g%i !y+ !g%i !y* !g%i !y= !g?", num[0], num[1], num2[2], num2[0])
					formatex(g_strQuestion, charsmax(g_strQuestion), "%i + %i + %i * %i", num[0], num[1], num2[2], num2[0])
					g_iAnswer = num[0] + num[1] + num2[2] * num2[0];
				}
				case 5:
				{
					chatcolor(0, "!y[!gMath Test!y] !g%i !y* !g%i !y* !g%i !y* !g%i !y= !g?", num2[0], num2[1], num2[2] , num2[3])
					formatex(g_strQuestion, charsmax(g_strQuestion), "%i * %i * %i * %i", num2[0], num2[1], num2[2] , num2[3])
					g_iAnswer = num2[0] * num2[1] * num2[2] * num2[3]
				}
			}
		}
		case 3:
		{
			switch(m_iType)
			{
				case 1:
				{
					chatcolor(0, "!y[!gMath Test!y] !g%i !y+ !g%i !y+ !g%i !y+ !g%i !y+ !g%i !y= !g?", num[0], num[1], num[2], num[3], num[4])
					formatex(g_strQuestion, charsmax(g_strQuestion), "%i + %i + %i + %i + %i", num[0], num[1], num[2], num[3], num[4])
					g_iAnswer = num[0] + num[1] + num[2] + num[3] + num[4];
				}
				case 2:
				{
					chatcolor(0, "!y[!gMath Test!y] !g%i !y- !g%i !y- !g%i !y- !g%i !y- !g%i !y= !g?", num[0], num[1], num[2], num[3], num[4])
					formatex(g_strQuestion, charsmax(g_strQuestion), "%i - %i - %i - %i - %i", num[0], num[1], num[2], num[3], num[4])
					g_iAnswer = num[0] - num[1] - num[2] - num[3] - num[4];
				}
				case 3:
				{
					chatcolor(0, "!y[!gMath Test!y] !g%i !y+ !g%i !y- !g%i !y+ !g%i !y- !g%i !y= !g?", num[0], num[1], num[2], num[3], num[4])
					formatex(g_strQuestion, charsmax(g_strQuestion), "%i + %i - %i + %i - %i", num[0], num[1], num[2], num[3], num[4])
					g_iAnswer = num[0] + num[1] - num[2] + num[3] - num[4];
				}
				case 4:
				{
					chatcolor(0, "!y[!gMath Test!y] !g%i !y+ !g%i !y+ !g%i !y* !g%i !y+ !g%i !y= !g?", num[0], num[1], num2[0], num2[1], num[3])
					formatex(g_strQuestion, charsmax(g_strQuestion), "%i + %i + %i * %i + %i", num[0], num[1], num2[0], num2[1], num[3])
					g_iAnswer = num[0] + num[1] + num2[0] * num2[1] + num[3];
				}
				case 5:
				{
					chatcolor(0, "!y[!gMath Test!y] !g%i !y* !g%i !y* !g%i !y* !g%i !y/ !g%i !y= !g?", num2[0], num2[1], num2[2] , num2[3], num2[1])
					formatex(g_strQuestion, charsmax(g_strQuestion), "%i * %i * %i * %i / %i", num2[0], num2[1], num2[2] , num2[3], num2[1])
					g_iAnswer = num2[0] * num2[1] * num2[2] * num2[3] / num2[1];
				}
			}
		}
		case 4:
		{
			switch(m_iType)
			{
				case 1:
				{
					chatcolor(0, "!y[!gMath Test!y] !y(!g%i !y+ !g%i!y) !y* !y(!g%i !y+ !g%i!y) !y= !g?", num2[0], num2[1], num2[2], num2[3])
					formatex(g_strQuestion, charsmax(g_strQuestion), "(%i + %i) * (%i + %i)", num2[0], num2[1], num2[2], num2[3])
					g_iAnswer =(num2[0] + num2[1]) * (num2[2] + num2[3])
				}
				case 2:
				{
					chatcolor(0, "!y[!gMath Test!y] !g%i !y* !g%i !y- !g%i !y* !g%i !y= !g?", num[0], num2[0], num[1], num2[1])
					formatex(g_strQuestion, charsmax(g_strQuestion), "%i * %i - %i * %i", num[0], num2[0], num[1], num2[1])
					g_iAnswer = num[0] * num2[0] - num[1] * num2[1]
				}
				case 3:
				{
					chatcolor(0, "!y[!gMath Test!y] !y(!g%i !y+ !g%i !y+ !g%i!y) !y* !g%i !y= !g?", num2[0], num2[1], num2[3], num2[4])
					formatex(g_strQuestion, charsmax(g_strQuestion), "(%i + %i + %i) * %i", num2[0], num2[1], num2[3], num2[4])
					g_iAnswer =(num2[0] + num2[1] + num2[3]) * num2[4]
				}
			}
		}
	}
	
	return PLUGIN_HANDLED;
}

public ClCmd_CheckAnswer(id)
{
	if (!is_user_connected(id))
		return PLUGIN_HANDLED
	
	if(g_bQuestAlive) 
	{
		static m_strText[12], m_strAnswer[12];
		
		read_args(m_strText, charsmax(m_strText))
		remove_quotes(m_strText);
		
		num_to_str(g_iAnswer, m_strAnswer, charsmax(m_strAnswer))
		
		if(equali(m_strText, m_strAnswer))
			AwardPlayer(id);
	} 
	static arg[192]
	read_argv(1, arg, charsmax(arg))
	
	if (contain(arg, "%") != -1)
	{
		replace_all(arg, charsmax(arg), "%", " ")
		return PLUGIN_HANDLED
	}
	return PLUGIN_CONTINUE;
}

public AwardPlayer(id)
{
	if(!is_user_connected(id) || !(CS_TEAM_UNASSIGNED < cs_get_user_team(id) < CS_TEAM_SPECTATOR) || !g_bQuestAlive)
		return;
	
	g_bQuestAlive = false;
	new m_strWinner[32];
	get_user_name(id, m_strWinner, charsmax(m_strWinner))
	credite[id] += 25
	
	get_user_name(id, m_strWinner, charsmax(m_strWinner))
	chatcolor(0, "!y[!gMath Test!y] !yCel care a !graspuns !tcorect !yeste !t[!g%s!t]!y, raspunsul este !t[!g%i!t]!y.", m_strWinner, g_iAnswer)
	return;
}

public UpdateClientData_Post ( id, sendweapons, cd_handle ){
	if(!is_user_alive ( id ) || is_user_in_air ( id ) )
		return FMRES_IGNORED;
	if(g_GameMode != 3)
		return FMRES_IGNORED;
	set_cd ( cd_handle, CD_ID, 0 );        
	
	return FMRES_HANDLED;
}
stock bool: is_user_in_air ( id ) {
	if ( !( pev ( id, pev_flags ) & FL_ONGROUND2 ) )
		return true;
	
	return false;
}

public WeaponChange(id) 
{
	if(g_Speed[id]) set_pev(id, pev_maxspeed, 444.0)
	return PLUGIN_CONTINUE;
}
public ore_necesare(id)
{
	if(is_user_connected(id))
	{
		new simon_menu = menu_create("Ore necesare pentru Admin", "cmd_mmenu");
		
		menu_additem(simon_menu, "Manager - 450 ore", "1", 0);
		menu_additem(simon_menu, "Supervisor - 280 ore", "2", 0);
		menu_additem(simon_menu, "Good - 220 ore", "3", 0)
		menu_additem(simon_menu, "Mod Global - 200 ore", "4", 0);
		menu_additem(simon_menu, "Moderator - 160 ore", "5", 0);
		menu_additem(simon_menu, "Administrator - 80 ore", "6", 0);
		menu_additem(simon_menu, "Helper - 40 ore", "7", 0);
		menu_additem(simon_menu, "Slot - GRATIS PE SITE", "8", 0)
		
		menu_setprop(simon_menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, simon_menu, 0);
	}
}

public discordcmd(id) chatcolor(id, "!y[!gDISCORD!y] Ca sa intri pe discordul nostru scrie: https://discord.gg/pETQJhsEGu pe browser..")

public native_set_user_tigari(id, amount)
	credite[id] = amount;

public native_get_tigari(id)
	return credite[id]

public adm_rrday(id)
{
	if(get_user_flags(id) & read_flags("c"))
	{
		new nume[33]
		get_user_name(id, nume, 33)
		
		chatcolor(0, "!g[AdminControl]!y Admin-ul !y[!g%s!y] !ya folosit !g[!yjbe_rrday!g].", nume)
		g_DayRestrict = 0;
	}
}

public cmd_clearchat(id) 
{
	if(get_user_flags(id) & read_flags("c"))
	{
		new Name[32];
		get_user_name(id, Name, 31);
		chatcolor(0, "!g-------------------------------")
		chatcolor(0, "!g-------------------------------")
		chatcolor(0, "!g-------------------------------")
		chatcolor(0, "!g-------------------------------")
		chatcolor(0, "!yADMIN: !g%s !ya sters chatul!", Name)
		log_to_file("logclearchat.log", "%s a sters chatul",Name)
		
		for(new i = 0; i <= get_maxplayers(); i++)
		{
			if(!is_user_connected(i))
				continue
				
			client_cmd(i, ";wait;wait;clear");
		}
	} 
}

public fw_EmitSound(id, channel, const sample[], Float:volume, Float:attn, flags, pitch)
{
	if (!is_user_connected(id))
		return FMRES_IGNORED;
	
	if (u_knife[id] == 3 &&equal(sample[8], "kni", 3))
	{
		volume = 0.6;
		
		if (equal(sample[14], "sla", 3))
		{
			engfunc(EngFunc_EmitSound, id, channel, "jb_sounds/VipSounds/hammer/knife_slash1_off.wav", volume, attn, flags, pitch);
			return FMRES_SUPERCEDE;
		}
		
		if(equal(sample,"weapons/knife_deploy1.wav"))
		{
			engfunc(EngFunc_EmitSound, id, channel, "jb_sounds/VipSounds/hammer/knifedeploy.wav", volume, attn, flags, pitch);
			return FMRES_SUPERCEDE;
		}
		
		if (equal(sample[14], "hit", 3))
		{
			if (sample[17] == 'w') 
			{
				engfunc(EngFunc_EmitSound, id, channel,"jb_sounds/VipSounds/hammer/hit1.wav", volume, attn, flags, pitch);
				return FMRES_SUPERCEDE;
			}
			else 
			{
				engfunc(EngFunc_EmitSound, id, channel, "jb_sounds/VipSounds/hammer/hit2.wav", volume, attn, flags, pitch);
				return FMRES_SUPERCEDE;
			}
		}
		
		if (equal(sample[14], "sta", 3)) 
		{
			engfunc(EngFunc_EmitSound, id, channel, "jb_sounds/VipSounds/hammer/knife_stab123.wav", volume, attn, flags, pitch);
			return FMRES_SUPERCEDE;
		}
	}
	
	if (u_knife[id] == 1 &&equal(sample[8], "kni", 3))
	{
		volume = 0.6;
		
		if (equal(sample[14], "sla", 3))
		{
			engfunc(EngFunc_EmitSound, id, channel, "jb_sounds/VipSounds/strong/knife_slash1.wav", volume, attn, flags, pitch);
			return FMRES_SUPERCEDE;
		}
		
		if(equal(sample,"weapons/knife_deploy1.wav"))
		{
			engfunc(EngFunc_EmitSound, id, channel, "jb_sounds/VipSounds/strong/knife_deploy1.wav", volume, attn, flags, pitch);
			return FMRES_SUPERCEDE;
		}
		
		if (equal(sample[14], "hit", 3))
		{
			if (sample[17] == 'w') 
			{
				engfunc(EngFunc_EmitSound, id, channel,"jb_sounds/VipSounds/strong/knife_hit1.wav", volume, attn, flags, pitch);
				return FMRES_SUPERCEDE;
			}
			else 
			{
				engfunc(EngFunc_EmitSound, id, channel, "jb_sounds/VipSounds/strong/knife_hit2.wav", volume, attn, flags, pitch);
				return FMRES_SUPERCEDE;
			}
		}
		
		if (equal(sample[14], "sta", 3)) 
		{
			engfunc(EngFunc_EmitSound, id, channel, "jb_sounds/VipSounds/strong/knife_stab.wav", volume, attn, flags, pitch);
			return FMRES_SUPERCEDE;
		}
	}
	
	if (u_knife[id] == 4 &&equal(sample[8], "kni", 3))
	{
		volume = 0.6;
		
		if (equal(sample[14], "sla", 3))
		{
			engfunc(EngFunc_EmitSound, id, channel, "jb_sounds/VipSounds/axe/knife_slash1.wav", volume, attn, flags, pitch);
			return FMRES_SUPERCEDE;
		}
		
		if(equal(sample,"weapons/knife_deploy1.wav"))
		{
			engfunc(EngFunc_EmitSound, id, channel, "jb_sounds/VipSounds/axe/knife_deploy1.wav", volume, attn, flags, pitch);
			return FMRES_SUPERCEDE;
		}
		
		if (equal(sample[14], "hit", 3))
		{
			if (sample[17] == 'w') 
			{
				engfunc(EngFunc_EmitSound, id, channel,"jb_sounds/VipSounds/axe/knife_hit1.wav", volume, attn, flags, pitch);
				return FMRES_SUPERCEDE;
			}
			else 
			{
				engfunc(EngFunc_EmitSound, id, channel, "jb_sounds/VipSounds/axe/knife_hit2.wav", volume, attn, flags, pitch);
				return FMRES_SUPERCEDE;
			}
		}
		
		if (equal(sample[14], "sta", 3)) 
		{
			engfunc(EngFunc_EmitSound, id, channel, "jb_sounds/VipSounds/axe/knife_stab.wav", volume, attn, flags, pitch);
			return FMRES_SUPERCEDE;
		}
	}
	
	if(is_user_alive(id) && !u_knife[id]) {
		for(new i = 0; i < sizeof(g_szKnifeSounds); i++) {
			if(equal(sample, g_szKnifeSounds[i])) {
				switch (i) {
					case 3: i = 1;
						case 4: i = 3;
						case 5: i = 3;
						case 6: i = -1;
						case 7: i = -1;
						case 8: i = 1;
					}
				if (i != -1) {
					emit_sound(id, channel, g_szCustomKnifeSounds[i], volume, attn, flags, pitch);
					return FMRES_SUPERCEDE;
				}
				else {
					return FMRES_IGNORED;
				}
			}
		}
	}
	
	return FMRES_IGNORED;
}

public cmd_resetscore(id)
{
	if(!is_user_connected(id) || is_user_connecting(id)) return PLUGIN_HANDLED;

	if(get_user_frags(id) == 0 && get_user_deaths(id) == 0) {
		chatcolor(id, "!g[JailBreak] !yScorul tau este deja resetat.");
		return PLUGIN_HANDLED;
	}
	
	cs_set_user_deaths(id, 0);
	set_user_frags(id, 0);
	
	new name[32];
	get_user_name(id, name, charsmax(name));
	
	chatcolor(id, "!g[JailBreak] !yScorul tau a fost resetat.")
	return PLUGIN_HANDLED;
}
public SaveItems(id) {
	
	new Name [ 32 ];
	get_user_name ( id, Name, 31 );
	
	new Save [ 1024 ];
	format ( Save, sizeof ( Save ) - 1, "^"%s^" %d", Name, credite[id]);
	
	new Line [ 128 ], Linie, IsPlayer = false, Arg1 [ 32 ]
	
	new FileOpen = fopen ( SaveDataFile1, "rt" );
	while ( !feof ( FileOpen ) ) {
		fgets ( FileOpen, Line, 127 );
		trim ( Line );
		
		parse ( Line, Arg1, 31 );
		
		if ( equali ( Arg1, Name ) ) {
			write_file ( SaveDataFile1, Save, Linie );
			IsPlayer = true;
			break
		}
		
		Linie++;
	}
	fclose ( FileOpen )
	if ( !IsPlayer )
		write_file ( SaveDataFile1, Save, -1 );
}

public LoadItems(id) {
	
	new Name [ 32 ];
	get_user_name ( id, Name, 31 );
	
	new Line [ 128 ], IsPlayer = false, Arg1 [ 32 ], Arg2 [ 32 ]
	new FileOpen = fopen ( SaveDataFile1, "rt" );
	
	while ( !feof ( FileOpen ) ) {
		
		fgets ( FileOpen, Line, 127 );
		trim ( Line );
		
		parse ( Line, Arg1, 31, Arg2, 31);
		
		if ( equali ( Arg1, Name ) ) {
			
			credite[ id ] = str_to_num ( Arg2 );
			IsPlayer = true;
			break;
		}
	}
	
	fclose ( FileOpen );
	
	if ( !IsPlayer )
		  credite[id] = 0;
	
}
public plugin_end()
{
	fclose ( fopen ( SaveDataFile1, "rt" ) );
}
public plugin_cfg() {
	new FisierHartiJucate[64]

	get_localinfo("amxx_configsdir", FisierHartiJucate, 63)
	format(FisierHartiJucate, 63, "%s/hartianterioare.txt", FisierHartiJucate)

	new Fisier = fopen(FisierHartiJucate, "rt")
	new i
	new Temporar[34]
	if(Fisier)
	{
		for(i=0; i<5; i++)
		{
			if(!feof(Fisier))
			{
				fgets(Fisier, Temporar, 33)
				replace(Temporar, 33, "^n", "")
				formatex(NumeHarti[i], 33, Temporar)
			}
		}
		fclose(Fisier)
	}

	delete_file(FisierHartiJucate)

	new CurrentMap[34]
	get_mapname(CurrentMap, 33)

	Fisier = fopen(FisierHartiJucate, "wt")
	if(Fisier)
	{
		formatex(Temporar, 33, "%s^n", CurrentMap)
		fputs(Fisier, Temporar)
		for(i=0; i<5-1; i++)
		{
			CurrentMap = NumeHarti[i]
			if(!CurrentMap[0])
				break
				
			formatex(Temporar, 33, "%s^n", CurrentMap)
			fputs(Fisier, Temporar)
		}
		fclose(Fisier)
	}
	
}

public HartiJucateCuSay(id) {
	new HartiAnterioare[192], n
	n += formatex(HartiAnterioare[n], 191-n, "!g[JailBreak] !yHartile jucate anterior sunt:")
	for(new i; i<5; i++)
	{
		if(!NumeHarti[i][0])
		{
			n += formatex(HartiAnterioare[n-1], 191-n+1, ".")
			break
		}
		n += formatex(HartiAnterioare[n], 191-n, " %s%s", NumeHarti[i], i+1 == 5 ? "." : ",")
	}
	
	chatcolor(id, HartiAnterioare)
	return PLUGIN_CONTINUE
}

public cmd_lastrequest(id)
{
	
	static i, num[5], menu, menuname[32], option[64]
	if(g_LastDenied || id != g_PlayerLast || !is_user_alive(id) || g_PlayerIsInDuel)
		return PLUGIN_CONTINUE
	
	formatex(menuname, charsmax(menuname), "Meniu Ultimul Prizonier LR")
	menu = menu_create(menuname, "lastrequest_select")
	
	formatex(option, charsmax(option), "Zi Libera")
	menu_additem(menu, option, "1", 0)
	
	formatex(option, charsmax(option), "30 credite")
	menu_additem(menu, option, "2", 0)
	
	formatex(option, charsmax(option), "Duel BOX")
	menu_additem(menu, option, "3", 0)
	
	for(i = 0; i < sizeof(_Duel); i++)
	{
		num_to_str(i + 4, num, charsmax(num))
		formatex(option, charsmax(option), "%s", _Duel[i][_opt])
		menu_additem(menu, option, num, 0)
	}
	menu_display(id, menu)
	return PLUGIN_CONTINUE
}

public lastrequest_select(id, menu, item)
{
	
	if(item == MENU_EXIT || !is_user_alive(id))
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	if(g_GameMode)
	{
		chatcolor(id, "%L",0,"IS_DAYS_LR")
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	static dst[32], data[5], access, callback, option[64]
	
	menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
	get_user_name(id, dst, charsmax(dst))
	switch(data[0])
	{
		case('1'):
		{
			formatex(option, charsmax(option), "%s a ales freeday", dst)
			player_hudmessage(0, 6, 3.0, {0, 255, 0}, option)
			set_bit(g_FreedayAuto, id)
			user_silentkill(id)
		}
		case('2'):
		{
			if(get_playersnum() >= 8)
			{
				formatex(option, charsmax(option), "%s a ales 30 credite", dst)
				player_hudmessage(0, 6, 3.0, {0, 255, 0}, option)
				credite[id]+=30
				user_silentkill(id)
			} else {
				chatcolor(id, "Trebuie sa fie minim 8 jucatori online ca sa primesti 30 credite.")
			}
		}
		case('3'):
		{
			for(new i = 0; i <= get_maxplayers(); i++)
			{
				if(!is_user_alive(i))
					continue
				strip_user_weapons(i)
			}
			g_Duel = 3
			menu_players(id, CS_TEAM_CT, 0, 1, "duel_cutite", "Alege")
		}
		default:
		{
			for(new i = 0; i <= get_maxplayers(); i++)
			{
				if(!is_user_alive(i))
					continue
					
				strip_user_weapons(i)
			}
			g_Duel = str_to_num(data)
			menu_players(id, CS_TEAM_CT, 0, 1, "duel_arme", "Alege")
		}
	}
	menu_destroy(menu)
	return PLUGIN_HANDLED
}

public duel_cutite(id, menu, item)
{
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		g_LastDenied = 1
		return PLUGIN_HANDLED
	}
	
	static dst[32], data[5], access, callback, option[128], player, src[32]
	
	menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
	get_user_name(id, src, charsmax(src))
	player = str_to_num(data)
	formatex(option, charsmax(option), "Duel de BOX: %s vs %s", src, dst)
	client_cmd(0, "mp3 play sound/jb_sounds/boxezw.mp3")
	player_hudmessage(0, 6, 3.0, {0, 255, 0}, option)
	
	g_PlayerDuelT = id
	strip_user_weapons(id)
	player_glow(id, g_Colors[3])
	set_user_health(player, 100)
	clear_bit(g_PlayerCrowbar, id)
	g_PlayerDuelCT = player
	strip_user_weapons(player)
	player_glow(player, g_Colors[2])
	set_user_health(id, 100)
	give_item(id, "weapon_knife")
	give_item(player, "weapon_knife")
	
	g_BlockWeapons = 1
	g_PlayerIsInDuel = 1;
	
	return PLUGIN_HANDLED
}

public duel_arme(id, menu, item)
{
	
	if(item == MENU_EXIT && !is_user_connected(id))
	{
		menu_destroy(menu)
		g_LastDenied = 1
		g_Duel = 0
		return PLUGIN_HANDLED
	}
	static dst[32], data[5], access, callback, option[168], player, src[32]
	
	menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
	get_user_name(id, src, charsmax(src))
	player = str_to_num(data)
	
	g_PlayerDuelT = id
	g_PlayerDuelCT = player
	
	player_glow(id, g_Colors[3])
	clear_bit(g_PlayerCrowbar, id)
	player_glow(player, g_Colors[2])
	g_BlockWeapons = 1;
	g_PlayerIsInDuel = 1;
	switch(g_Duel)
	{
		case 4:
		{
			formatex(option, charsmax(option), "%s a ales duel cu DEAGLE^nDuel: %s vs %s", src, src, dst)
			player_hudmessage(0, 6, 3.0, {0, 255, 0}, option)
			
			if(id > 0 && is_user_connected(id) && is_user_alive(id))
			{
				g_PlayerDuelT = id
				strip_user_weapons(id)
				
				new iEnt = give_item(id, "weapon_deagle")
				if (is_valid_ent(iEnt))
					cs_set_weapon_ammo(iEnt, 1)
				
				set_user_health(id, 100)
				player_glow(id, g_Colors[3])
			}
			
			if(player > 0 && is_user_connected(player) && is_user_alive(player))
			{
				g_PlayerDuelCT = player
				strip_user_weapons(player)
				
				new iEnt = give_item(player, "weapon_deagle")
				if (is_valid_ent(iEnt))
					cs_set_weapon_ammo(iEnt, 1)
				
				set_user_health(player, 100)
				player_glow(player, g_Colors[2])
			}
			
			client_cmd(0, "mp3 play sound/jb_sounds/lrduel.mp3")
		}
		case 5:
		{
			formatex(option, charsmax(option), "%s a ales duel cu SCOUT^nDuel: %s vs %s", src, src, dst)
			player_hudmessage(0, 6, 3.0, {0, 255, 0}, option)
			
			if(id > 0 && is_user_connected(id) && is_user_alive(id))
			{
				g_PlayerDuelT = id
				strip_user_weapons(id)
				
				new iEnt = give_item(id, "weapon_scout")
				if (is_valid_ent(iEnt))
					cs_set_weapon_ammo(iEnt, 1)
				
				set_user_health(id, 100)
				player_glow(id, g_Colors[3])
			}
			
			if(player > 0 && is_user_connected(player) && is_user_alive(player))
			{
				g_PlayerDuelCT = player
				strip_user_weapons(player)
				
				new iEnt = give_item(player, "weapon_scout")
				if (is_valid_ent(iEnt))
					cs_set_weapon_ammo(iEnt, 1)
				
				set_user_health(player, 100)
				player_glow(player, g_Colors[2])
			}
			
			client_cmd(0, "mp3 play sound/jb_sounds/lrduel.mp3")
		}
		case 6:
		{
			formatex(option, charsmax(option), "%s a ales duel cu GRENADE^nDuel: %s vs %s", src, src, dst)
			player_hudmessage(0, 6, 3.0, {0, 255, 0}, option)
			
			if(id > 0 && is_user_connected(id) && is_user_alive(id))
			{
				g_PlayerDuelT = id
				strip_user_weapons(id)
				
				new iEnt = give_item(id, "weapon_hegrenade")
				if (is_valid_ent(iEnt))
					cs_set_weapon_ammo(iEnt, 1)
				
				set_user_health(id, 100)
				player_glow(id, g_Colors[3])
			}
			
			if(player > 0 && is_user_connected(player) && is_user_alive(player))
			{
				g_PlayerDuelCT = player
				strip_user_weapons(player)
				
				new iEnt = give_item(player, "weapon_hegrenade")
				if (is_valid_ent(iEnt))
					cs_set_weapon_ammo(iEnt, 1)
				
				set_user_health(player, 100)
				player_glow(player, g_Colors[2])
			}
			
			client_cmd(0, "mp3 play sound/jb_sounds/lrduel.mp3")
		}
		case 7:
		{
			formatex(option, charsmax(option), "%s a ales duel cu AWP^nDuel: %s vs %s", src, src, dst)
			player_hudmessage(0, 6, 3.0, {0, 255, 0}, option)
			
			if(id > 0 && is_user_connected(id) && is_user_alive(id))
			{
				g_PlayerDuelT = id
				strip_user_weapons(id)
				
				new iEnt = give_item(id, "weapon_awp")
				if (is_valid_ent(iEnt))
					cs_set_weapon_ammo(iEnt, 1)
				
				set_user_health(id, 100)
				player_glow(id, g_Colors[3])
			}
			
			if(player > 0 && is_user_connected(player) && is_user_alive(player))
			{
				g_PlayerDuelCT = player
				strip_user_weapons(player)
				
				new iEnt = give_item(player, "weapon_awp")
				if (is_valid_ent(iEnt))
					cs_set_weapon_ammo(iEnt, 1)
				
				set_user_health(player, 100)
				player_glow(player, g_Colors[2])
			}
			
			client_cmd(0, "mp3 play sound/jb_sounds/lrduel.mp3")
		}
		case 8:
		{
			formatex(option, charsmax(option), "%s a ales duel cu M4A1^nDuel: %s vs %s", src, src, dst)
			player_hudmessage(0, 6, 3.0, {0, 255, 0}, option)
			
			if(id > 0 && is_user_connected(id) && is_user_alive(id))
			{
				g_PlayerDuelT = id
				strip_user_weapons(id)
				
				new iEnt = give_item(id, "weapon_m4a1")
				if (is_valid_ent(iEnt))
					cs_set_weapon_ammo(iEnt, 3)
				
				set_user_health(id, 100)
				player_glow(id, g_Colors[3])
			}
			
			if(player > 0 && is_user_connected(player) && is_user_alive(player))
			{
				g_PlayerDuelCT = player
				strip_user_weapons(player)
				
				new iEnt = give_item(player, "weapon_m4a1")
				if (is_valid_ent(iEnt))
					cs_set_weapon_ammo(iEnt, 3)
				
				set_user_health(player, 100)
				player_glow(player, g_Colors[2])
			}
			
			client_cmd(0, "mp3 play sound/jb_sounds/lrduel.mp3")
		}
		case 9:
		{
			formatex(option, charsmax(option), "%s a ales duel cu AK47^nDuel: %s vs %s", src, src, dst)
			player_hudmessage(0, 6, 3.0, {0, 255, 0}, option)
			
			if(id > 0 && is_user_connected(id) && is_user_alive(id))
			{
				g_PlayerDuelT = id
				strip_user_weapons(id)
				
				new iEnt = give_item(id, "weapon_ak47")
				if (is_valid_ent(iEnt))
					cs_set_weapon_ammo(iEnt, 3)
				
				set_user_health(id, 100)
				player_glow(id, g_Colors[3])
			}
			
			if(player > 0 && is_user_connected(player) && is_user_alive(player))
			{
				g_PlayerDuelCT = player
				strip_user_weapons(player)
				
				new iEnt = give_item(player, "weapon_ak47")
				if (is_valid_ent(iEnt))
					cs_set_weapon_ammo(iEnt, 3)
				
				set_user_health(player, 100)
				player_glow(player, g_Colors[2])
			}
			
			client_cmd(0, "mp3 play sound/jb_sounds/lrduel.mp3")
		}
	}
	g_PlayerIsInDuel = 1;
	return PLUGIN_HANDLED
}

public player_cmdstart(id, handle, seed)
{
	if(is_user_alive(id) && g_Duel)
	{
		if(g_Duel == 4)
			cs_set_user_bpammo(id, CSW_DEAGLE, 1)
		else if(g_Duel == 5)
			cs_set_user_bpammo(id, CSW_SCOUT, 1)
		else if(g_Duel == 6)
			cs_set_user_bpammo(id, CSW_HEGRENADE, 1)
		else if(g_Duel == 7)
			cs_set_user_bpammo(id, CSW_AWP, 1)
		else if(g_Duel == 8)
			cs_set_user_bpammo(id, CSW_M4A1, 1)
		else if(g_Duel == 9)
			cs_set_user_bpammo(id, CSW_AK47, 1)
	}	
	return FMRES_HANDLED
}

public task_last_duel()
{
	
	if(g_RoundEnd || g_TeamAlive[CS_TEAM_CT] <= 0)
		return PLUGIN_HANDLED
	
	new TAlive
	
	for(new i = 0; i <= get_maxplayers(); i++)
	{
		if(!is_user_alive(i))
			continue
		
		if(cs_get_user_team(i) == CS_TEAM_T)
			TAlive++
	}
	
	if(TAlive == 1) 
	{
		for(new i = 0; i <= get_maxplayers(); i++)
		{
			if(!is_user_alive(i))
				continue
			
			if(cs_get_user_team(i) == CS_TEAM_T) 
			{
				g_PlayerLast = i
				cmd_lastrequest(i)
				break;
				
			}
			
		}
	}
	
	return PLUGIN_CONTINUE
}
public duel_end()
{
	client_cmd(0, "stopsound")
	task_last_duel()
	
	g_Duel = 0
	g_PlayerDuelT = 0
	g_PlayerDuelCT = 0
	g_LastDenied = 0
	g_PlayerLast = 0
	g_BlockWeapons = 0
}

public VipStatus(const MsgId, const MsgType, const MsgDest)
{
	static id;
	id = get_msg_arg_int(1);
	
	if(get_user_flags(id) & read_flags("x") && !get_msg_arg_int(2))
		set_msg_arg_int(2, ARG_BYTE, (1 << 2 ));
} 

stock create_explosion(const origin[3])
{
	message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
	write_byte(21); 
	write_coord(origin[0]); 
	write_coord(origin[1]); 
	write_coord(origin[2]); 
	write_coord(origin[0]); 
	write_coord(origin[1]); 
	write_coord(origin[2] + 385);
	write_short(ShockwSpr); 
	write_byte(0); 
	write_byte(0); 
	write_byte(4); 
	write_byte(60);
	write_byte(0);
	write_byte(0); 
	write_byte(206); 
	write_byte(209); 
	write_byte(100); 
	write_byte(0); 
	message_end();
	
	message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
	write_byte(21); 
	write_coord(origin[0]); 
	write_coord(origin[1]); 
	write_coord(origin[2]); 
	write_coord(origin[0]); 
	write_coord(origin[1]); 
	write_coord(origin[2] + 470); 
	write_short(ShockwSpr); 
	write_byte(0); 
	write_byte(0); 
	write_byte(4); 
	write_byte(60); 
	write_byte(0); 
	write_byte(0); 
	write_byte(206); 
	write_byte(209); 
	write_byte(100); 
	write_byte(0); 
	message_end();
	
	message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
	write_byte(21); 
	write_coord(origin[0]); 
	write_coord(origin[1]); 
	write_coord(origin[2]); 
	write_coord(origin[0]); 
	write_coord(origin[1]); 
	write_coord(origin[2] + 555); 
	write_short(ShockwSpr); 
	write_byte(0); 
	write_byte(0); 
	write_byte(4); 
	write_byte(60); 
	write_byte(0); 
	write_byte(0); 
	write_byte(206); 
	write_byte(209); 
	write_byte(100); 
	write_byte(0); 
	message_end();
	
	message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
	write_byte(27); 
	write_coord(origin[0]); 
	write_coord(origin[1]); 
	write_coord(origin[2]); 
	write_byte(floatround(240.0/5.0)); 
	write_byte(0);
	write_byte(206); 
	write_byte(209); 
	write_byte(8);
	write_byte(60);
	message_end();
} 

Blood( iorigin[ 3 ] )
{
message_begin( MSG_BROADCAST, SVC_TEMPENTITY ); 
write_byte( TE_LAVASPLASH ); 
write_coord( iorigin[ 0 ] ); 
write_coord( iorigin[ 1 ] ); 
write_coord( iorigin[ 2 ] ); 
message_end(); 
}

public cmd_shopmenu(id)
{
new szText[ 555 char ];
if(ShopUsed[id]) 
{
	chatcolor(id, "!y[!gSHOP!y] Poti folosi shop-ul doar odata pe runda.")
	return PLUGIN_HANDLED;
}
if(get_user_team(id) == 0 || g_GameMode || g_PlayerLast || g_GunDayFortat)
{
	return PLUGIN_HANDLED;
}
if(cs_get_user_team(id) == CS_TEAM_T)
{
	
	formatex( szText, charsmax( szText ), "\yMagazinul \rPrizonierilor^n\yCredite:\w %d", credite[id])
	new shop_menu = menu_create( szText, "ShopMenuT_handler" );
	
	formatex( szText, charsmax( szText ), "HE Grenade \d- \y250 Credite" );
	menu_additem( shop_menu, szText, "1", 0 );
	
	formatex( szText, charsmax( szText ), "Freeday \d- \y350 Credite" );
	menu_additem( shop_menu, szText, "2", 0 );
	
	formatex( szText, charsmax( szText ), "Baros De Spart Capuri \d - \y450 Credite" );
	menu_additem( shop_menu, szText, "3", 0 );

	formatex( szText, charsmax( szText ), "Viteza \d- \y520 Credite" );
	menu_additem( shop_menu, szText, "4", 0 );
	
	formatex( szText, charsmax( szText ), "Gravitatie \d- \y500 Credite" );
	menu_additem( shop_menu, szText, "5", 0 );	
	
	formatex( szText, charsmax( szText ), "Deagle(2 gloante) \d- \y550 Credite" );
	menu_additem( shop_menu, szText, "6", 0 );
	
	formatex( szText, charsmax( szText ), "Scout(5 gloante) \d- \y570 Credite" );
	menu_additem( shop_menu, szText, "7", 0 );
	
	formatex( szText, charsmax( szText ), "Deghizare \d- \y520 Credite" );
	menu_additem( shop_menu, szText, "8", 0 );
	
	formatex( szText, charsmax( szText ), "80 HP \d - \y150 Credite" );
	menu_additem( shop_menu, szText, "9", 0 );
	
	formatex( szText, charsmax( szText ), "Revive \d - \y500 Credite" );
	menu_additem( shop_menu, szText, "10", 0 );
	
	formatex( szText, charsmax( szText ), "Droguri \d - \y250 Credite" );
	menu_additem( shop_menu, szText, "11", 0 );
	
	menu_display( id, shop_menu, 0)
}
else if(cs_get_user_team(id) == CS_TEAM_CT)
{
	
	formatex( szText, charsmax( szText ), "\yMagazinul \rGardienilor^n\yCredite: %d", credite[id]);
	new shop_menu = menu_create( szText, "ShopMenuCT_handler" );
	
	formatex( szText, charsmax( szText ), "Invizibilitate \d- \y250 Credite" );
	menu_additem( shop_menu, szText, "1", 0 );
	
	formatex( szText, charsmax( szText ), "Viteza \d- \y250 Credite" );
	menu_additem( shop_menu, szText, "2", 0 );
	
	formatex( szText, charsmax( szText ), "Reinvie \d- \y250 Credite" );
	menu_additem( shop_menu, szText, "3", 0 );
	
	formatex( szText, charsmax( szText ), "150 HP \d- \y100 Credite" );
	menu_additem( shop_menu, szText, "4", 0 );
	
	menu_display( id, shop_menu, 0)
}

return PLUGIN_HANDLED;
}

public ShopMenuT_handler( id, menu, item )
{
	if( item == MENU_EXIT )
	{
		menu_destroy( menu )
		return PLUGIN_HANDLED
	}
	if(get_user_team(id) == 0)
	{
		return PLUGIN_HANDLED;
	}
	new data[6], iName[64]
	new access, callback
	new name[32]
	get_user_name(id, name, charsmax(name))
	menu_item_getinfo( menu, item, access, data,5, iName, 63, callback )
	new key = str_to_num( data )
	switch( key )
	{
		case 1:
		{
			if(is_user_alive(id) && credite[id]>=250)
			{
				give_item(id, "weapon_hegrenade")
				chatcolor(id, "[SHOP] Ai primit o grenada!")
				credite[id]=credite[id]-250
				ShopUsed[id] = true;
				g_Invizibil[id] = true;
				if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop 1 grenada", name)
			}
			else
				chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")  
			}
			case 2:
			{
				if(is_user_alive(id) && credite[id]>=350 && !get_bit(g_PlayerWanted, id))
				{	
					chatcolor(id, "[SHOP] Ai primit freeday!")
					credite[id]=credite[id]-350
					set_bit(g_PlayerFreeday, id)
					cs_set_player_model(id, "jblgcs")
					set_pev(id, pev_body, 2)
					set_pev(id, pev_skin, 3)
					ShopUsed[id] = true;
				}
				else
					chatcolor(id, "[SHOP] Nu ai destule credite sau nu indeplinesti anumite conditii!")
			}
			case 3:
			{
				if(is_user_alive(id) && credite[id] >= 450)
				{
					engclient_cmd(id, "weapon_knife")
					u_knife[id] = 3
					set_pev(id, pev_viewmodel2, "models/jb_models/VipModels/v_hammer.mdl")
					set_pev(id, pev_weaponmodel2, "models/jb_models/VipModels/p_hammer.mdl")	
					chatcolor(id, "[SHOP] !yAi cumparat !tBAROS !")
					credite[id]=credite[id]-450
					ShopUsed[id] = true;
					if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop 1 baros", name)
				}
				else
					chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")  
			}
			case 4:
			{
				if(is_user_alive(id) && credite[id]>=520)
				{	
					set_pev(id, pev_maxspeed, 444.0)
					g_Speed[id] = 1
					chatcolor(id, "[SHOP] Ai primit viteza mai mare!")  
					credite[id]=credite[id]-520
					ShopUsed[id] = true;
					if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop viteza", name)
				}
				else
					chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")  
			}
			case 5:
			{
				if(is_user_alive(id) && credite[id]>=500)
				{
					set_user_gravity(id, 0.4)
					chatcolor(id, "[SHOP] Ai primit gravitatie scazuta!")  
					credite[id]=credite[id]-500
					ShopUsed[id] = true;
					if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop gravity", name)
				}
				else
					chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")
			}
			case 6:
			{
				if(is_user_alive(id) && credite[id]>=550)
				{
					new iEnt = give_item(id, "weapon_deagle")
					if (is_valid_ent(iEnt))
						cs_set_weapon_ammo(iEnt, 2)
					chatcolor(id, "[SHOP] Ai primit un deagle cu 2 gloante!")  
					credite[id]=credite[id]-550
					ShopUsed[id] = true;
					if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop 1 deagle", name)
				}
				else
					chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")
			}
			
			case 7:
			{
				if(is_user_alive(id) && credite[id]>=570)
				{
					new iEnt = give_item(id, "weapon_scout")
					if (is_valid_ent(iEnt))
						cs_set_weapon_ammo(iEnt, 5)
					chatcolor(id, "[SHOP] Ai primit un scout cu 5 gloante!")  
					credite[id]=credite[id]-570
					ShopUsed[id] = true;
					if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop 1 scout", name)
				}
				else
					chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")    
			}
			case 8:
			{
				if(is_user_alive(id) && credite[id]>=520)
				{
					cs_set_player_model(id, "jblgcs")
					set_pev(id, pev_body, 3)
					chatcolor(id, "[SHOP] Ai primit deghizare! Acum arati ca un gardian.")  
					credite[id]=credite[id]-520
					ShopUsed[id] = true;
					if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop deghizare", name)
				}
				else
					chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")
			}
			case 9:
			{
				if(is_user_alive(id) && credite[id] >= 150)
				{
					set_user_health(id, get_user_health(id) +80)
					chatcolor(id, "!g[SHOP] !yAi cumparat !t80 HP!")
					credite[id]=credite[id]-150
					ShopUsed[id] = true;
					if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop 80 hp", name)
				}
				else
					chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")	
			}
			case 10:
			{
				if(!is_user_alive(id) && credite[id] >= 500)
				{
					ExecuteHamB(Ham_CS_RoundRespawn, id)
					chatcolor(id, "!g[SHOP] !yAi cumparat !tREVIVE !")
					credite[id]=credite[id]-500
					ShopUsed[id] = true;
					g_PlayerRevived[id] = 1;
					if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop revive", name)
				}
				else
					chatcolor(id, "!g[SHOP] !yNu poti !tREINVIA !y - deoarece esti deja VIU sau nu ai 1000 credite!")	
			}
			case 11:
			{
				if(is_user_alive(id) && credite[id] >= 250)
				{
					message_begin(MSG_ONE, get_user_msgid("SetFOV"), { 0, 0, 0 }, id)
					write_byte(180)
					message_end()
				}
				else
					chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")	
			}
		}
	cs_set_user_money(id, credite[id])
	menu_destroy( menu )
	return PLUGIN_HANDLED
} 


public ShopMenuCT_handler( id, menu, item )
{
	if( item == MENU_EXIT )
	{
		menu_destroy( menu )
		return PLUGIN_HANDLED
	}
	if(get_user_team(id) == 0)
	{
		return PLUGIN_HANDLED;
	}
	new data[6], iName[64]
	new access, callback
	new name[32]
	get_user_name(id, name, charsmax(name))
	menu_item_getinfo( menu, item, access, data,5, iName, 63, callback )
	new key = str_to_num( data )
	switch( key )
	{
		case 1:
		{
			if(is_user_alive(id))
			{
				if(is_user_alive(id) && credite[id] >= 250)
				{
					set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0)
					chatcolor(id, "[SHOP] Ai primit invizibilitate 15 secunde!")
					set_task(15.0, "RemoveInvis", id) 
					credite[id]=credite[id]-250
					ShopUsed[id] = true;
					g_Invizibil[id] = true;
					if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop invizbilitate[CT]", name)
				}
				else
					chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")
			}
		}
		case 2:
		{
			if(is_user_alive(id))
			{
				if(is_user_alive(id) && credite[id] >= 250)
				{
					set_pev(id, pev_maxspeed, 444.0)
					g_Speed[id] = 1
					chatcolor(id, "[SHOP] Ai primit viteza!")  
					credite[id]=credite[id]-250
					ShopUsed[id] = true;
					if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop viteza[CT]", name)
				}
			}
			else
				chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")
		}
		case 3:
		{
			if(!is_user_alive(id) && credite[id] >= 250)
			{
				ExecuteHamB(Ham_CS_RoundRespawn, id);
				chatcolor(id, "[SHOP] Tocmai ai fost reinviat!")  
				credite[id]=credite[id]-250
				ShopUsed[id] = true;
				if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop revive[CT]", name)
			}
			else
				chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")
		}
		case 4:
		{
			if(is_user_alive(id) && credite[id] >= 100)
			{
				set_user_health(id, get_user_health(id) +150)
				chatcolor(id, "[SHOP] !yAi cumparat !t150 HP!")
				credite[id]=credite[id]-100
				ShopUsed[id] = true;
				if(g_organizator[id]) log_to_file("logshoporganizatori.log", "%s si-a luat din shop 150HP[CT]", name)
			}
			else
				chatcolor(id, "[SHOP] Nu ai destule credite sau esti mort!")	
		}
	}

	menu_destroy( menu )
	return PLUGIN_HANDLED
}

public cmd_daysmenu(id)
{
	
	if(g_PlayerLast)
	{
		chatcolor(id, "!g[BoxMenu]!y Nu poti sa accesa !gDaysMenu cand !yeste !gUltimul !tPrizonier !yin !gViata!y.")
		return PLUGIN_HANDLED
	}
	if(g_DayRestrict >= 1)
	{
		client_print(id, print_chat, "[DAYS] Nu poti da o Zi Speciala acum, deoarece trebuie sa astepti: %s %s", g_DayRestrict == 1? "1":"2", g_DayRestrict == 1? "zi.":"zile.");
		return PLUGIN_HANDLED
	}
	
	if(g_Simon == id)
	{
			if(is_user_alive(id))
			if(!g_GameMode || !g_GunDayFortat)
			JBDays(id);
			else
			chatcolor(id, "!t[!gJailBreak!t] !eu !gZi !tSpeciala !ya fost aleasa !gdeja!y.")
	}
	else
		chatcolor(id, "!t[!gJailBreak!t] Doar !gSimon !yare acces la meniul zilelor speciale.")
	
	return PLUGIN_HANDLED
}

public JBDays(id)
{
	if(g_Simon && is_user_alive(id))
	{
		new szText[ 555 char ];
		
		formatex( szText, charsmax( szText ), "Meniu Zile Speciale");
		new vip_menu = menu_create( szText, "vipmenuT_handler" );
		
		formatex( szText, charsmax( szText ), "Zombie Day" );
		menu_additem( vip_menu, szText, "1", 0 );
		
		formatex( szText, charsmax( szText ), "Spartan Day" );
		menu_additem( vip_menu, szText, "2", 0 );
		
		formatex( szText, charsmax( szText ), "Gravity Day" );
		menu_additem( vip_menu, szText, "3", 0 );
		
		formatex( szText, charsmax( szText ), "Grenade Day" );
		menu_additem( vip_menu, szText, "4", 0 );
		
		formatex( szText, charsmax( szText ), "Nightcrawler Day" );
		menu_additem( vip_menu, szText, "5", 0 );
		
		formatex( szText, charsmax( szText ), "NoScope Day" );
		menu_additem( vip_menu, szText, "6", 0 );
		
		formatex( szText, charsmax( szText ), "War Day" );
		menu_additem( vip_menu, szText, "7", 0 );
		
		formatex( szText, charsmax( szText ), "HNS Day" );
		menu_additem( vip_menu, szText, "8", 0 );
		
		new a = get_timeleft()
		if(a < 301)
		{
			formatex( szText, charsmax( szText ), "GodMode Day" );
			menu_additem( vip_menu, szText, "9", 0 );
			} else if(a > 301) {
			formatex( szText, charsmax( szText ), "GodMode Day" );
			menu_additem( vip_menu, szText, "9", ADMIN_ADMIN );
		}
		
		formatex( szText, charsmax( szText ), "Freezetag Day" );
		menu_additem( vip_menu, szText, "10", 0 );
		
		formatex( szText, charsmax( szText ), "1HP Day" );
		menu_additem( vip_menu, szText, "11", 0 );
		
		formatex( szText, charsmax( szText ), "HeadShot Day" );
		menu_additem( vip_menu, szText, "12", 0 );
		
		formatex( szText, charsmax( szText ), "SpiderMan Day" );
		menu_additem( vip_menu, szText, "13", 0 );
		
		formatex( szText, charsmax( szText ), "Furien Day" );
		menu_additem( vip_menu, szText, "14", 0 );
		
		formatex( szText, charsmax( szText ), "HungerGames Day" );
		menu_additem( vip_menu, szText, "15", 0 );
		
		formatex( szText, charsmax( szText ), "USP Day" );
		menu_additem( vip_menu, szText, "16", 0 );
		
		formatex( szText, charsmax( szText ), "Deagle Day" );
		menu_additem( vip_menu, szText, "17", 0 );
		
		menu_display( id, vip_menu, 0)
	}
	return PLUGIN_HANDLED;
}

public vipmenuT_handler( iPlayer, menu, item )
{
	if( item == MENU_EXIT || !is_user_alive(iPlayer) )
	{
		menu_destroy( menu );
		return PLUGIN_HANDLED;
	}
	
	new data[ 6 ], iName[ 64 ], access, callback;
	menu_item_getinfo( menu, item, access, data, charsmax( data ), iName, charsmax( iName ), callback );
	
	new key = str_to_num( data );
	new iPlayers[32]
	new iNum
	new id
	static i
	for(i = 1; i <= g_MaxClients; i++)
	{
		if(is_user_alive(i)) strip_user_weapons(i);
		if(is_user_connected(i) && !is_user_alive(i) && !is_user_bot(i)) 
		{
			if(get_user_team(i) == 1 || get_user_team(i) == 2)
			{
				ExecuteHamB(Ham_CS_RoundRespawn, i)
				strip_user_weapons(i);
			}
		}
	}
	new crowbar_ent
	while((crowbar_ent=engfunc(EngFunc_FindEntityByString, crowbar_ent, "classname", gCrowbarClassname)) != 0)
		engfunc(EngFunc_RemoveEntity, crowbar_ent)
	switch( key )
	{
		case 1: //Zombie Day
		{
			get_players( iPlayers, iNum )
			for( new i = 0; i < iNum; i++ )
			{
				id = iPlayers[i]
				if(!is_user_alive(id))
					continue;
				strip_user_weapons(id)
				
				secundeday = 300;
				g_GameMode = 1
				g_ResetValues = 1;
				CreateFog(0, 100, 0, 0, 0.0040); // rosu
				if(cs_get_user_team(id) == CS_TEAM_T)
				{
					set_user_health(id, 2000);
					cs_set_player_model(id, "ezwjb_zm")
					set_pev(id, pev_body, 1)
					give_item(id, "weapon_knife");
					set_pev(id, pev_viewmodel2, "models/jb_models/v_zmez.mdl")
					cmd_zombieclass(id)
				}
				if(cs_get_user_team(id) == CS_TEAM_CT)
				{
					give_item(id, "weapon_knife")
					set_user_health(id, 400);
					give_item(id, "weapon_m4a1")
					cs_set_user_bpammo(id, CSW_M4A1, 999)
					give_item(id, "weapon_ak47")
					cs_set_user_bpammo(id, CSW_AK47, 999)
				}
			}
		}
		case 2: // Spartan Day
		{
			get_players( iPlayers, iNum )
			for( new i = 0; i < iNum; i++ )
			{
				id = iPlayers[i]
				if(!is_user_alive(id))
					continue;
				strip_user_weapons(id)
				secundeday = 255
				g_ResetValues = 1;
				g_GameMode = 2
				if(cs_get_user_team(id) == CS_TEAM_CT)
				{
					give_item(id, "weapon_m4a1")
					cs_set_user_bpammo(id, CSW_M4A1, 999)
					give_item(id, "weapon_ak47")
					cs_set_user_bpammo(id, CSW_AK47, 999)
					set_user_health(id, 140);
				}
				
				if(cs_get_user_team(id) == CS_TEAM_T)
				{
					set_user_health(id, 99);
					give_item(id, "weapon_shield");
					give_item(id, "weapon_deagle");
					cs_set_user_bpammo(id, CSW_DEAGLE, 999)
				}
			}
		}
		case 3: //Gravity Day
		{
			get_players( iPlayers, iNum )
			for( new i = 0; i < iNum; i++ )
			{
				id = iPlayers[i]
				if(!is_user_alive(id))
					continue;
				strip_user_weapons(id)
				secundeday = 255
				g_GameMode = 3
				g_Gravity[id] = 1;

				if (cs_get_user_team(id) == CS_TEAM_T)
				{
					give_item(id, "weapon_knife")
					give_item(id, "weapon_deagle")
					cs_set_user_bpammo(id, CSW_DEAGLE, 999)
					set_user_gravity(id, 0.3)
					set_user_maxspeed(id, 250.0)
				}
				
				if (cs_get_user_team(id) == CS_TEAM_CT)
				{
					give_item(id, "weapon_deagle")
					cs_set_user_bpammo(id, CSW_DEAGLE, 999)
					give_item(id, "weapon_m4a1")
					cs_set_user_bpammo(id, CSW_M4A1, 999)
					set_user_health(id, 300)
					set_user_gravity(id, 0.3)
					set_user_maxspeed(id, 250.0)
				}
			}
		}
		case 4: //Grenade Day
		{
			get_players( iPlayers, iNum )
			for( new i = 0; i < iNum; i++ )
			{
				id = iPlayers[i]
				if(!is_user_alive(id))
					continue;
				strip_user_weapons(id)
				secundeday = 300
				g_GameMode = 4
				give_item(id, "weapon_hegrenade")
				cs_set_user_bpammo(id, CSW_HEGRENADE, 9999)
				g_ResetValues = 1;
			}
		}
		case 5: //Night Day
		{
			get_players( iPlayers, iNum )
			for( new i = 0; i < iNum; i++ )
			{
				id = iPlayers[i]
				if(!is_user_alive(id))
					continue;
				strip_user_weapons(id)
				secundeday = 300
				g_GameMode = 5
				g_ResetValues = 1;
				//jb_remove_hats()
				if(cs_get_user_team(id) == CS_TEAM_CT)
				{
					set_user_health(id, 150);
					set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0);
					give_item(id, "weapon_knife")
					
				}
				if(cs_get_user_team(id) == CS_TEAM_T)
				{
					set_user_health(id, 100)
					give_item(id, "weapon_ak47")
					give_item(id, "weapon_m4a1")
					give_item(id, "weapon_deagle");
					cs_set_user_bpammo( id, CSW_AK47, 999 );
					cs_set_user_bpammo( id, CSW_M4A1, 999 );
					cs_set_user_bpammo(id, CSW_DEAGLE, 999);
				}
			}
		}
		case 6: //NoScope Day
		{
			get_players( iPlayers, iNum )
			for( new i = 0; i < iNum; i++ )
			{
				id = iPlayers[i]
				if(!is_user_alive(id))
					continue;
				strip_user_weapons(id)
				secundeday = 300
				g_GameMode = 6
				g_ResetValues = 1;
	
				if(get_user_team(id) == 1)
				{
					set_user_health(id, 15);
					give_item(id, "weapon_awp")
					cs_set_user_bpammo(id, CSW_AWP, 999);
				}
				else if(get_user_team(id) == 2)
				{
					set_user_health(id, 65);
					give_item(id, "weapon_awp")
					cs_set_user_bpammo(id, CSW_AWP, 999);
				}
			}
		}
		case 7: //War Day
		{
			get_players( iPlayers, iNum )
			for( new i = 0; i < iNum; i++ )
			{
				id = iPlayers[i]
				if(!is_user_alive(id))
					continue;
				strip_user_weapons(id)
				secundeday = 300
				g_GameMode = 7
				g_ResetValues = 1;
				give_item(id, "weapon_deagle")
				give_item(id, "weapon_ak47")
				give_item(id, "weapon_m4a1")
				give_item(id, "weapon_awp")
				cs_set_user_bpammo(id, CSW_DEAGLE, 999);
				cs_set_user_bpammo(id, CSW_AK47, 999);
				cs_set_user_bpammo(id, CSW_M4A1, 999);
				cs_set_user_bpammo(id, CSW_AWP, 999);
				set_user_health(id, 150);
				
				if(cs_get_user_team(id) == CS_TEAM_T)
				{
					set_user_health(id, 100);
				}
				else if(cs_get_user_team(id) == CS_TEAM_CT)
				{
					set_user_health(id, 200);
				}
				
			}
		}
		case 8: //HNS Day
		{
			get_players( iPlayers, iNum )
			for( new i = 0; i < iNum; i++ )
			{
				id = iPlayers[i]
				if(!is_user_alive(id))
					continue;
				strip_user_weapons(id)
				secundeday = 350
				give_item(id, "weapon_knife");
				g_GameMode = 8

				if(cs_get_user_team(id) == CS_TEAM_T)
				{
					PlayerFreeze(id, 0);
				}
				if(cs_get_user_team(id) == CS_TEAM_CT)
				{
					set_task(60.0, "reset", 4567)
					Fade_To_Black(id)
					PlayerFreeze(id, 1);
				}
			}
		}
		
		case 9: //GodMode Day
		{
			get_players( iPlayers, iNum )
			for( new i = 0; i < iNum; i++ )
			{
				id = iPlayers[i]
				if(!is_user_alive(id))
					continue;
				strip_user_weapons(id)
				secundeday = 666
				g_GameMode = 9
				give_item(id, "weapon_knife");
				
				if (cs_get_user_team(id) == CS_TEAM_CT)
				{
					give_item(id, "weapon_deagle")
					cs_set_user_bpammo( id, CSW_DEAGLE, 999)
					set_user_godmode(id, 1)
					
				}
			}
		}
		case 10: //Tag Day
		{
			get_players( iPlayers, iNum )
			for( new i = 0; i < iNum; i++ )
			{
				id = iPlayers[i]
				if(!is_user_alive(id))
					continue;
				strip_user_weapons(id)
				secundeday = 300
				g_GameMode = 10
				
			if (cs_get_user_team(id) == CS_TEAM_CT) 
			{ 
				szPlayerCT[id] = true
				set_user_godmode(id, 1)
				set_pev(id, pev_flags, pev(id, pev_flags) | FL_FROZEN)
			} 
		
			if (cs_get_user_team(id) == CS_TEAM_T) 
			{
				set_user_maxspeed(id, 450.0)
				set_user_gravity(id, 0.3)
			} 
				give_item(id, "weapon_knife");
				
				set_task(1.0, "PrisoneInformer", 1234, _, _, "b")
				set_task(1.0, "Timer", 123, _, _, "b")
			}
			
		}
		case 11: //1HP Day
		{
			get_players( iPlayers, iNum )
			for( new i = 0; i < iNum; i++ )
			{
				id = iPlayers[i]
				if(!is_user_alive(id))
					continue;
				strip_user_weapons(id)
				secundeday = 200
				g_GameMode = 11
				g_ResetValues = 1;
				if (cs_get_user_team(id) == CS_TEAM_CT)
				{
					set_user_health(id, 30);
					give_item(id, "weapon_knife");
				} 
				
				if (cs_get_user_team(id) == CS_TEAM_T) 
				{
					set_user_health(id, 1);
					give_item(id, "weapon_knife");
				}
			}
		}
		case 12: //HeadShot Day
		{
			get_players( iPlayers, iNum )
			for( new i = 0; i < iNum; i++ )
			{
				id = iPlayers[i]
				if(!is_user_alive(id))
					continue;
				strip_user_weapons(id)
				secundeday = 150
				g_GameMode = 12
				g_ResetValues = 1;
				register_forward(FM_TraceLine, "Forward_TraceLine_Post", 1)
				if (cs_get_user_team(id) == CS_TEAM_CT)
				{
					give_item(id,"weapon_m4a1")
					cs_set_user_bpammo( id, CSW_M4A1, 999 );
				}
				
				if (cs_get_user_team(id) == CS_TEAM_T)
				{
					give_item(id,"weapon_deagle")
					cs_set_user_bpammo(id, CSW_DEAGLE, 999);
				}
			}
		}
		case 13: //SpiderMan Day
		{
			chatcolor(0, "!y[!gSpiderMan Day!y] Sa va puneti bind c !g+hook")
			get_players( iPlayers, iNum )
			for( new i = 0; i < iNum; i++ )
			{
				id = iPlayers[i]
				if(!is_user_alive(id))
					continue;
				strip_user_weapons(id)
				secundeday = 150
				g_GameMode = 13
				g_ResetValues = 1;
				if (cs_get_user_team(id) == CS_TEAM_CT)
				{
					give_item(id, "weapon_deagle")
					give_item(id, "weapon_ak47")
					give_item(id, "weapon_m4a1")
					give_item(id, "weapon_awp")
					cs_set_player_model(id, "SpiderManDay")
					cs_set_user_bpammo(id, CSW_DEAGLE, 999);
					cs_set_user_bpammo( id, CSW_AK47, 999 );
					cs_set_user_bpammo( id, CSW_M4A1, 999 );
					cs_set_user_bpammo( id, CSW_AWP, 999 );
					set_user_health(id, 600);
				}
				
				if (cs_get_user_team(id) == CS_TEAM_T)
				{
					give_item(id, "weapon_deagle")
					give_item(id, "weapon_ak47")
					give_item(id, "weapon_m4a1")
					give_item(id, "weapon_awp")
					cs_set_user_bpammo(id, CSW_DEAGLE, 999);
					cs_set_user_bpammo( id, CSW_AK47, 999 );
					cs_set_user_bpammo( id, CSW_M4A1, 999 );
					cs_set_user_bpammo( id, CSW_AWP, 999 );
					set_user_health(id, 100)
				}
			}
		}
		case 14: // Furien Day
		{
			get_players( iPlayers, iNum )
			for( new i = 0; i < iNum; i++ )
			{
				id = iPlayers[i]
				if(!is_user_alive(id))
					continue;
				strip_user_weapons(id)
				
				secundeday = 200
				g_GameMode = 14
				g_Speed[id] = 1
				if(cs_get_user_team(id) == CS_TEAM_T)
				{
					set_user_health(id, 200);
					give_item(id, "weapon_knife");
					engclient_cmd(id, "weapon_knife")
					u_knife[id] = 1
					cs_set_player_model(id, "FurienDay")
					set_pev(id, pev_viewmodel2, "models/jb_models/VipModels/v_stik.mdl")
					set_pev(id, pev_weaponmodel2, "models/jb_models/VipModels/p_stik.mdl")
					
				}
				if(cs_get_user_team(id) == CS_TEAM_CT)
				{
					give_item(id, "weapon_m4a1");
					give_item(id, "weapon_deagle");
					cs_set_user_bpammo(id, CSW_M4A1, 9999);
					cs_set_user_bpammo(id, CSW_DEAGLE, 9999);
					give_item( id, "weapon_knife" );
					set_user_health(id, 100)
				}
			}
		}
		case 15: // Hunger Games Day
		{
			get_players( iPlayers, iNum )
			for( new i = 0; i < iNum; i++ )
			{
				id = iPlayers[i]
				if(!is_user_alive(id))
					continue;
				strip_user_weapons(id)
				
				secundeday = 150
				g_GameMode = 15

				set_cvar_num("mp_friendlyfire", 1)
				if(cs_get_user_team(id) == CS_TEAM_T)
				{
					set_user_health(id, 100);
					give_item(id, "weapon_m4a1");
					cs_set_user_bpammo(id, CSW_M4A1, 9999);
					give_item( id, "weapon_knife" );
					
				}
				if(cs_get_user_team(id) == CS_TEAM_CT)
				{
					give_item(id, "weapon_m4a1");
					cs_set_user_bpammo(id, CSW_M4A1, 9999);
					give_item( id, "weapon_knife" );
					set_user_health(id, 100)
				}
			}
		}
		case 16: //usp Day
		{
			get_players( iPlayers, iNum )
			for( new i = 0; i < iNum; i++ )
			{
				id = iPlayers[i]
				if(!is_user_alive(id))
					continue;
				strip_user_weapons(id)
				secundeday = 300
				g_GameMode = 16
				g_ResetValues = 1;
				if(get_user_team(id) == 1)
				{
					set_user_health(id, 100);
					give_item(id, "weapon_usp")
					cs_set_user_bpammo(id, CSW_USP, 999);
				}
				else if(get_user_team(id) == 2)
				{
					set_user_health(id, 220);
					give_item(id, "weapon_usp")
					cs_set_user_bpammo(id, CSW_USP, 999);
				}
			}
		}
		case 17: //Deagle Day
		{
			get_players( iPlayers, iNum )
			for( new i = 0; i < iNum; i++ )
			{
				id = iPlayers[i]
				if(!is_user_alive(id))
					continue;
				strip_user_weapons(id)
				secundeday = 300
				g_GameMode = 17
				g_ResetValues = 1;

				if(get_user_team(id) == 1)
				{
					set_user_health(id, 100);
					give_item(id, "weapon_deagle")
					cs_set_user_bpammo(id, CSW_DEAGLE, 999);
				}
				else if(get_user_team(id) == 2)
				{
					set_user_health(id, 220);
					give_item(id, "weapon_deagle")
					cs_set_user_bpammo(id, CSW_DEAGLE, 999);
				}
			}
		}
	}
	g_BlockWeapons = 1;
	jail_open()
	g_Freeday = 0
	g_DayRestrict = 3;

	new name[32]
	get_user_name(g_Simon, name, charsmax(name))
	chatcolor(0, "!t[!gDays!t] !ySimon !t[!g%s!t] !ya pornit !gZiua Speciala!y: !t[!g %s !t]", name, g_DayName[g_GameMode]);

	
	return PLUGIN_HANDLED;
}
public Forward_TraceLine_Post(Float:v1[3], Float:v2[3], fNoMonsters, id, pentru)
{
    if( fNoMonsters || !( 1 <= id <= get_maxplayers()) )
        return FMRES_IGNORED
	if(g_GameMode == 12)
	{
		static pHit; pHit = Get_HitWitch(pentru)
		if(  1 <= pHit <= get_maxplayers() )
		{
			if( Get_HitPlace(pentru) != 1 )
			{
				Set_HitPlace(pentru)
				return FMRES_SUPERCEDE
			}
		}
	}
    return FMRES_IGNORED
} 
public GunDayFortat()
{
	if(float(g_TeamCount[CS_TEAM_T]) / 3 < float(g_TeamCount[CS_TEAM_CT]))
	{
		
		new iPlayers[32]
		new iNum
		new id
		
		g_GunDayFortat = 1;
		chatcolor(0, "!g[JailBreak]!y Deoarece sunt prea multi !gGardieni!y, serverul a dat !gGun Day !yFortat!")

		get_players( iPlayers, iNum )
		for( new i = 0; i < iNum; i++ )
		{
			id = iPlayers[i]
			if(!is_user_alive(id))
				continue;
			jail_open()
			if (cs_get_user_team(id) == CS_TEAM_CT)
			{
				give_item(id, "weapon_deagle")
				give_item(id, "weapon_m4a1")
				cs_set_user_bpammo(id, CSW_DEAGLE, 999);
				cs_set_user_bpammo( id, CSW_M4A1, 999 );
				set_user_health(id, 300);
			}
			
			if (cs_get_user_team(id) == CS_TEAM_T)
			{
				give_item(id, "weapon_deagle")
				give_item(id, "weapon_m4a1")
				cs_set_user_bpammo(id, CSW_DEAGLE, 999);
				cs_set_user_bpammo( id, CSW_M4A1, 999 );
				set_user_health(id, 100)
			}
		}
	} else if(float(g_TeamCount[CS_TEAM_T]) / 3 > float(g_TeamCount[CS_TEAM_CT])) {
		chatcolor(0, "!y[!gGun Day Fortat!y] Gun Day-ul fortat a fost anulat deoarece echipele au fost echilibrate.")
	}
	return PLUGIN_HANDLED;
}

/*public ImparteEchipele() {
	new iPlayers[32]
	new iNum
	new id
	
	get_players( iPlayers, iNum )
	for( new i = 0; i < iNum; i++ )
	{
		id = iPlayers[i]
		if(!is_user_alive(id))
			continue;
		if(cs_get_user_team(id) == CS_TEAM_T) {	
			
			if(ImparteEchipele1 <= ImparteEchipele2)
			{
				ImparteEchipele1++;
				cs_set_player_model(id, "JB_FootBall_TeamA")
				set_pev(id, pev_body, 2)
				set_pev(id, pev_skin, 6)
				set_hudmessage(0, 104, 139, -1.0, 0.74, 0, 6.0, 15.0)
				show_hudmessage(0, "ESTI IN ECHIPA ALBASTRA")
				chatcolor(id, "!y[FOOTBALL] Esti in !gECHIPA ROSIE.");
			}
			else
			{
				cs_set_player_model(id, "JB_FootBall_TeamB")
				set_pev(id, pev_body, 2)
				set_pev(id, pev_skin, 5)
				set_hudmessage(0, 104, 139, -1.0, 0.74, 0, 6.0, 15.0)
				show_hudmessage(0, "ESTI IN ECHIPA ROSIE")
				chatcolor(id, "!y[FOOTBALL] Esti in !gECHIPA ROSIE.");
				ImparteEchipele2++;
			}
		}
	}
}*/

public RemoveInvis(id)
{
	if(is_user_alive(id))
	{
		set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255)
		chatcolor(id, "[SHOP] Atentie! Nu mai esti invizibil acum!")
	}
}

public ClCmdGiveCredits( id )
{
	if( !( get_user_flags( id ) & read_flags("a") ) )
	{
		client_cmd( id, "NU ai acces la aceasta comanda!" );
		return 1;
	}
	
	new szFirstArg[ 32 ], szSecondArg[ 10 ];
	
	read_argv( 1, szFirstArg, sizeof ( szFirstArg ) -1 );
	read_argv( 2, szSecondArg, sizeof ( szSecondArg ) -1 );
	
	if( equal( szFirstArg, "" ) || equal( szSecondArg, "" ) )
	{
		client_cmd( id, "amx_give_credits < nume / @T > < credite >" );
		return 1;
	}
	
	new iPlayers[ 32 ];
	new iPlayersNum;
	
	new iCredits = str_to_num( szSecondArg );
	
	if( iCredits <= 0 )
	{
		client_cmd( id, "Valoare creditelor trebuie sa fie mai mare decat 0!" );
		return 1;
	}
	
	if( szFirstArg[ 0 ] == '@' )
	{
		switch ( szFirstArg[ 1 ] )
		{
			case 'T':
			{
				if( equal( szFirstArg, "@T" ) )
				{
					
					get_players( iPlayers, iPlayersNum, "ceh", "TERRORIST" );
					if( iPlayersNum == 0 )
					{
						client_cmd( id, "NU se afla niciun jucator in aceasta echipa!" );
						return 1;
					}
					for( new i = 0; i < iPlayersNum ; i++ )
						credite[ iPlayers[ i ] ] += iCredits;
					
					new szName[ 32 ];
					get_user_name( id, szName, sizeof ( szName ) -1 );
					chatcolor(0, "!yAdmin-ul !t[!g%s!t] !yle-a dat !t[!g%i!t] !yCredite Prizonierilor!g.", szName, iCredits)
					log_to_file("LogCredits.log", "Admin-ul !t[!g%s!t] !yle-a dat !t[!g%i!t] !yCreditele Prizonierilor!g.", szName, iCredits)
					return 1;
				}
			}
		}
	}
	
	new iPlayer = cmd_target( id, szFirstArg, 8 );
	if( !iPlayer )
	{
		client_cmd( id, "Jucatorul %s nu a fost gasit!", szFirstArg );
		return 1;
	}

	credite[ iPlayer ] += iCredits;
	new szName[ 32 ], _szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	get_user_name( iPlayer, _szName, sizeof ( _szName ) -1 );
	chatcolor(0, "!yAdmin-ul !t[!g%s!t] !yi-a dat !t[!g%i!t] !yCredite lui !t[!g%s!t]!g.", szName, iCredits, _szName)
	log_to_file("LogCredits.log", "Admin-ul !t[!g%s!t] !yi-a dat !t[!g%i!t] !yCreditele lui !t[!g%s!t]!g.", szName, iCredits, _szName)
	return 1;
}

public ClCmdTakeCredits( id )
{
	if( !( get_user_flags( id ) & read_flags("a") ) )
	{
		client_cmd( id, "NU ai acces la aceasta comanda!" );
		return 1;
	}
	
	new szFirstArg[ 32 ], szSecondArg[ 10 ];
	
	read_argv( 1, szFirstArg, sizeof ( szFirstArg ) -1 );
	read_argv( 2, szSecondArg, sizeof ( szSecondArg ) -1 );
	
	if( equal( szFirstArg, "" ) || equal( szSecondArg, "" ) )
	{
		client_cmd( id, "amx_take_credits < nume > < credite >" );
		return 1;
	}
	
	new iCredits = str_to_num( szSecondArg );
	if( iCredits <= 0 )
	{
		client_cmd( id, "Valoare creditelor trebuie sa fie mai mare decat 0!" );
		return 1;
	}
	
	new iPlayer = cmd_target( id, szFirstArg, 8 );
	if( !iPlayer )
	{
		client_cmd( id, "Jucatorul %s nu a fost gasit!", szFirstArg );
		return 1;
	}
	
	if( credite[ iPlayer ] < iCredits )
	{
		client_cmd( id, "Jucatorul %s nu are atatea Credite! Are doar %i", szFirstArg, credite[ iPlayer ] );
		return 1;
	}

	credite[ iPlayer ] -= iCredits;
	new szName[ 32 ], _szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	get_user_name( iPlayer, _szName, sizeof ( _szName ) -1 );
	chatcolor(0, "Admin-ul !t[!g%s!t] !yi-a luat !t[!g%i!t] !yCredite lui !t[!g%s!t]!g.", szName, iCredits, _szName)
	log_to_file("LogCredits.log", "Admin-ul !t[!g%s!t] !yi-a luat !t[!g%i!t] !yCredite lui !t[!g%s!t]!g.", szName, iCredits, _szName)
	
	return 1;
}

public scoategodmode(id) set_user_godmode(id, 0 );

public class_menu(id)
{
	if(get_user_team(id) != 2 || g_GameMode || g_PlayerLast || !is_user_connected(id) || !is_user_alive(id)) return PLUGIN_HANDLED;
	
	if (g_usedguns[id] > 2)
	{
		chatcolor(id, "!g[JailBreak] !yGuns de 3 ori pe runda, teapa fraiere!");
		return PLUGIN_HANDLED;
	}
	if(is_user_alive(id) && is_user_connected(id))
	{
		new classmenu = menu_create("\wMeniu Arme Gardieni \yJB.LeagueCS.RO", "weapons_handler");
		

		menu_additem(classmenu, "\wFortele Rusesti \y[AK47+DEAGLE]", "1", 0);
		menu_additem(classmenu, "\wFortele NATO \y[M4A1+DEAGLE]", "2", 0)
		menu_additem(classmenu, "\wFortele Lunetistilor \y[AWP+DEAGLE]", "3", 0);
		menu_additem(classmenu, "\wFortele Americane \y[MP5+DEAGLE]", "4", 0);
		menu_additem(classmenu, "\wFortele Naziste \y[FAMAS+DEAGLE]", "5", 0);
		menu_additem(classmenu, "\wFortele Franceze \y[P90+DEAGLE]", "6", 0);
		menu_additem(classmenu, "\wFortele Arabe \y[M249+DEAGLE]", "7", 0)
		
		menu_setprop(classmenu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, classmenu, 0);
	}
	return PLUGIN_HANDLED;
}

public weapons_handler(id, classmenu, item)
{
	if(get_user_team(id) != 2 || g_GameMode || g_PlayerLast || !is_user_connected(id) || !is_user_alive(id) || g_GunDayFortat) return PLUGIN_HANDLED;
	if( item == MENU_EXIT || !is_user_alive(id) )
	{
		menu_destroy(classmenu);
		return PLUGIN_HANDLED;
	}
	
	new data[6], iName[64]
	new access, callback;
	
	menu_item_getinfo(classmenu, item, access, data,5, iName, 63, callback);
	
	new key = str_to_num(data);
	switch(key)
	{
		case 1: // AK47 + DEAGLE
		{
			strip_user_weapons(id);
			give_item(id, "weapon_knife")
			give_item(id, "weapon_ak47");
			give_item(id, "weapon_deagle");
			cs_set_user_bpammo(id, CSW_AK47, 120);
			cs_set_user_bpammo(id, CSW_DEAGLE, 35);
		}
		case 2: // M4A1 + DEAGLE
		{
			strip_user_weapons(id);
			give_item(id, "weapon_knife")
			give_item(id, "weapon_m4a1");
			give_item(id, "weapon_deagle");
			cs_set_user_bpammo(id, CSW_M4A1, 120);
			cs_set_user_bpammo(id, CSW_DEAGLE, 35);
		}
		case 3: // AWP + DEAGLE
		{
			strip_user_weapons(id);
			give_item(id, "weapon_knife")
			give_item(id, "weapon_awp");
			give_item(id, "weapon_deagle");
			cs_set_user_bpammo(id, CSW_AWP, 40);
			cs_set_user_bpammo(id, CSW_DEAGLE, 35);
		}
		case 4: // MP5 + DEAGLE
		{
			strip_user_weapons(id);
			give_item(id, "weapon_knife")
			give_item(id, "weapon_mp5navy");
			give_item(id, "weapon_deagle");
			cs_set_user_bpammo(id, CSW_MP5NAVY, 120);
			cs_set_user_bpammo(id, CSW_DEAGLE, 35);
		}
		case 5: // FAMAS + DEAGLE
		{
			strip_user_weapons(id);
			give_item(id, "weapon_knife")
			give_item(id, "weapon_famas");
			give_item(id, "weapon_deagle");
			cs_set_user_bpammo(id, CSW_FAMAS, 125);
			cs_set_user_bpammo(id, CSW_DEAGLE , 35);
		}
		case 6: // P90 + DEAGLE
		{
			strip_user_weapons(id);
			give_item(id, "weapon_knife")
			give_item(id, "weapon_p90");
			give_item(id, "weapon_deagle");
			cs_set_user_bpammo(id, CSW_P90, 150);
			cs_set_user_bpammo(id, CSW_DEAGLE, 35);
		}
		case 7: // M249 + DEAGLE
		{
			strip_user_weapons(id);
			give_item(id, "weapon_knife")
			give_item(id, "weapon_m249");
			give_item(id, "weapon_deagle");
			cs_set_user_bpammo(id, CSW_M249, 250);
			cs_set_user_bpammo(id, CSW_DEAGLE, 35);
		}
	}
	g_usedguns[id]++;
	menu_destroy(classmenu);
	return PLUGIN_HANDLED;
}

public cmd_vipnew(id)
{
	if(cs_get_user_team(id) == CS_TEAM_CT || cs_get_user_team(id) == CS_TEAM_T)
	{
		new szText[ 555 char ];
		
		formatex( szText, charsmax( szText ), "Meniu VIP \yJb.LeagueCS.Ro");
		new vip_menu = menu_create( szText, "vipmenuT_handler22" );
			
		formatex( szText, charsmax( szText ), "Meniu VIP Silver]" );
		menu_additem( vip_menu, szText, "1", 0 );
			
		
		menu_display( id, vip_menu, 0)
		
	}
	return PLUGIN_HANDLED;
}

public vipmenuT_handler22( id, menu, item )
{
	if( item == MENU_EXIT )
	{
		menu_destroy( menu );
		return PLUGIN_HANDLED;
	}
	if(g_GameMode || g_PlayerLast || get_user_team(id) == 0 || g_BoxStarted || IsEventActivated || g_GunDayFortat)
	{
		chatcolor(id, "!g[V.I.P] !yNu poti accesa !tMENIUL V.I.P!")
		return PLUGIN_HANDLED
	}
	new data[ 6 ], iName[ 64 ], access, callback;
	menu_item_getinfo( menu, item, access, data, charsmax( data ), iName, charsmax( iName ), callback );
	
	new key = str_to_num( data );
	
	switch( key )
	{
		case 1: cmd_vipmenu(id)

	}

	return PLUGIN_HANDLED;
}
public cmd_vipmenu(id)
{
	if(get_user_team(id) == 0) return PLUGIN_HANDLED;
		new szText[ 555 char ];
		
		formatex( szText, charsmax( szText ), "Meniu VIP \yJb.LeagueCS.Ro");
		new vip_menu = menu_create( szText, "vipmenuT_handler2" );
		
		if(get_user_flags(id) & read_flags("x"))
		{
			formatex( szText, charsmax( szText ), "Cutit de gheata \d[Ingheata inamicul]" );
			menu_additem( vip_menu, szText, "1", 0 );
			
			formatex( szText, charsmax( szText ), "Baros de spart capuri \d[Arunca inamicul]" );
			menu_additem( vip_menu, szText, "2", 0 );
			
			formatex( szText, charsmax( szText ), "Cutit de ninja \d[DMG Mare]" );
			menu_additem( vip_menu, szText, "3", 0 );
			
			if(blockrevive[id]<=0)
			{
				formatex( szText, charsmax( szText ), "Revive \d[Primesti Revive]" );
				menu_additem( vip_menu, szText, "4", 0 );
			}
			if(!blockmedkit[id])
			{
				formatex( szText, charsmax( szText ), "MedKit \d[HP+Armura]" );
				menu_additem( vip_menu, szText, "5", 0 );
			}
			if(blockviteza[id]<=0)
			{
				formatex( szText, charsmax( szText ), "Viteza \d[Viteza mai mare]" );
				menu_additem( vip_menu, szText, "6", 0 );
			}
			if(blockgravity[id]<=0)
			{
				formatex( szText, charsmax( szText ), "Gravity \d[Gravitatie mai mica]" );
				menu_additem( vip_menu, szText, "7", 0 );
			}
		} else {
		
			formatex( szText, charsmax( szText ), "Cutit de gheata \d[Ingheata inamicul]" );
			menu_additem( vip_menu, szText, "1", ADMIN_ADMIN );
			
			formatex( szText, charsmax( szText ), "Baros de spart capuri \d[Arunca inamicul]" );
			menu_additem( vip_menu, szText, "2", ADMIN_ADMIN );
			
			formatex( szText, charsmax( szText ), "Cutit de ninja \d[DMG Mare]" );
			menu_additem( vip_menu, szText, "3", ADMIN_ADMIN );
			
			if(blockrevive[id]<=0)
			{
				formatex( szText, charsmax( szText ), "Revive \d[Primesti Revive]" );
				menu_additem( vip_menu, szText, "4", ADMIN_ADMIN );
			}
			if(!blockmedkit[id])
			{
				formatex( szText, charsmax( szText ), "MedKit \d[HP+Armura]" );
				menu_additem( vip_menu, szText, "5", ADMIN_ADMIN );
			}
			if(blockviteza[id]<=0)
			{
				formatex( szText, charsmax( szText ), "Viteza \d[Viteza mai mare]" );
				menu_additem( vip_menu, szText, "6", ADMIN_ADMIN );
			}
			if(blockgravity[id]<=0)
			{
				formatex( szText, charsmax( szText ), "Gravity \d[Gravitatie mai mica]" );
				menu_additem( vip_menu, szText, "7", ADMIN_ADMIN );
			}
			
		}
		menu_display( id, vip_menu, 0)
	return PLUGIN_HANDLED;
}

public vipmenuT_handler2( id, menu, item )
{
	if( item == MENU_EXIT )
	{
		menu_destroy( menu );
		return PLUGIN_HANDLED;
	}
	if(g_GameMode || g_PlayerLast || get_user_team(id) == 0 || g_BoxStarted || IsEventActivated || g_GunDayFortat)
	{
		chatcolor(id, "!g[V.I.P] !yNu poti accesa !tMENIUL V.I.P!")
		return PLUGIN_HANDLED
	}
	new data[ 6 ], iName[ 64 ], access, callback;
	menu_item_getinfo( menu, item, access, data, charsmax( data ), iName, charsmax( iName ), callback );
	
	new key = str_to_num( data );
	
	switch( key )
	{
		case 1:
		{
			if(is_user_alive(id))
			{
				engclient_cmd(id, "weapon_knife")
				u_knife[id] = 1
				set_pev(id, pev_viewmodel2, "models/jb_models/VipModels/v_stik.mdl")
				set_pev(id, pev_weaponmodel2, "models/jb_models/VipModels/p_stik.mdl")
			}
			else
				chatcolor(id, "!g[V.I.P] !yNu poti accesa !tACEST MENIU !ydeoarece esti MORT !")
		}
		case 2:
		{
			if(is_user_alive(id))
			{
				engclient_cmd(id, "weapon_knife")
				u_knife[id] = 3
				set_pev(id, pev_viewmodel2, "models/jb_models/VipModels/v_hammer.mdl")
				set_pev(id, pev_weaponmodel2, "models/jb_models/VipModels/p_hammer.mdl")
			}
			else
				chatcolor(id, "!g[V.I.P] !yNu poti accesa !tACEST MENIU !ydeoarece esti MORT !")
		}
		case 3:
		{
			if(is_user_alive(id))
			{
				engclient_cmd(id, "weapon_knife")
				u_knife[id] = 4
				set_pev(id, pev_viewmodel2, "models/jb_models/VipModels/v_knifevip.mdl")
				set_pev(id, pev_weaponmodel2, "models/jb_models/VipModels/p_knifevip.mdl")
			}
			else
				chatcolor(id, "!g[V.I.P] !yNu poti accesa !tACEST MENIU !ydeoarece esti MORT !")
		}
		case 4:
		{
			if(g_RoundEnd)
			{
				chatcolor(id, "!y[!gNotBug!y] Tzeaca fraiere!")
				return PLUGIN_HANDLED
			}
			if(!is_user_alive(id))
			{
				ExecuteHamB(Ham_CS_RoundRespawn, id)
				blockrevive[id] = 4
				g_PlayerRevived[id] = 1;
				chatcolor(id, "!g[V.I.P] !yAi ales !tREVIVE !")
			}
			else
				chatcolor(id, "!g[V.I.P] !yNu poti !tREINVIA !y - deoarece esti deja VIU !")	
		}
		case 5:
		{
			if(is_user_alive(id))
			{
				set_user_health(id, 150)
				set_user_armor(id, 70)
				blockmedkit[id] = true
				chatcolor(id, "!g[V.I.P] !yAi ales !tMedKit.")
			}
			else
				chatcolor(id, "!g[V.I.P] !yNu poti accesa !gMedKit !ydeoarece esti MORT !")  
		}
		
		case 6:
		{
			if(is_user_alive(id)) {
				set_pev(id, pev_maxspeed, 444.0)
				blockviteza[id] = 4
				g_Speed[id] = 1
				chatcolor(id, "!g[V.I.P] !yAi ales !tSpeed.")
			}
			else
				chatcolor(id, "!g[V.I.P] !yNu poti accesa !tACEST MENIU !ydeoarece esti MORT !")
		}
		
		case 7:
		{
			if(is_user_alive(id)) {
				
				set_user_gravity(id, 0.4)
				g_Gravity[id] = true
				blockgravity[id] = 4
				chatcolor(id, "!g[V.I.P] !yAi ales !tGravitatie.")
			}
			else
				chatcolor(id, "!g[V.I.P] !yNu poti accesa !tACEST MENIU !ydeoarece esti MORT !")
		}
	}

	return PLUGIN_HANDLED;
}


public cmd_adminmenus(id)
{
	if(get_user_flags(id) & read_flags("c"))
	{
		new simon_menu = menu_create("Meniu Admini", "ctmenu_choice");
		
		menu_additem(simon_menu, "Pune Simon pe cineva", "1", 0);
		if(get_user_flags(id) & read_flags("o"))
		{
			menu_additem(simon_menu, "Meniu Revive T", "2", 0);
			} else {
			menu_additem(simon_menu, "Meniu Revive T", "2", ADMIN_ADMIN);
		}
		if(get_user_flags(id) & read_flags("o"))
		{
			menu_additem(simon_menu, "Meniu Revive CT", "3", 0);
			} else {
			menu_additem(simon_menu, "Meniu Revive CT", "3", ADMIN_ADMIN);
		}
		menu_additem(simon_menu, "Meniu Ban CT", "4", 0);
		menu_additem(simon_menu, "Muta un Gardian la T", "5", 0);
		menu_additem(simon_menu, "Muta un Prizonier la CT", "6", 0);
		if(get_user_flags(id) & read_flags("o"))
		{
			menu_additem(simon_menu, "Gun Day Fortat OFF", "7", 0);
			menu_additem(simon_menu, "Gun Day Fortat ON", "8", 0);
		}
		else
		{
			menu_additem(simon_menu, "Gun Day Fortat OFF", "7", ADMIN_ADMIN);
			menu_additem(simon_menu, "Gun Day Fortat ON", "8", ADMIN_ADMIN);
		}
		menu_display(id, simon_menu, 0);
		menu_setprop(simon_menu, MPROP_EXIT, MEXIT_ALL);
		
	}
	else
		client_print(id, print_chat, "*** Nu esti ADMIN deci nu poti accesa ADMIN MENU ***");
	
	return PLUGIN_HANDLED;
}

public ctmenu_choice(id, simon_menu, item)
{
	if( item == MENU_EXIT )
	{
		menu_destroy(simon_menu);
		return PLUGIN_HANDLED;
	}
	
	new data[6], iName[64], name[32];
	new access, callback;
	
	get_user_name(g_Simon, name, charsmax(name))
	menu_item_getinfo(simon_menu, item, access, data,5, iName, 63, callback);
	
	new key = str_to_num(data);
	switch(key)
	{
		case 1: cmd_ctmenu(id)
		case 2: cmd_simonrevive(id)
		case 3: cmd_simonrevivect(id)
		case 4: chatcolor(id, "!y[!gAdminMenu!y] Comanda a fost scoasa din meniu ca se dadea direct permanent, foloseste jb_banct nume secunde")
		case 5: cmd_mutatero(id)
		case 6: cmd_mutaCT(id)
		case 7:
		{
			g_IsForcedOffline = 1;
			chatcolor(id, "!y[AdminMenu] Ai dezactivat cu succes gunday-ul fortat.")
		}
		case 8:
		{
			g_IsForcedOffline = 0;
			chatcolor(id, "!y[AdminMenu] Ai activat cu succes gunday-ul fortat.")
		}
	}
	menu_destroy(simon_menu);
	return PLUGIN_HANDLED;
}

public cmd_mutatero(id)
{
	
	if(g_Simon == id || get_user_flags(id) & read_flags("c"))
		menu_amenu(id, CS_TEAM_CT, "mutalateroct", "Team Menu")
	
	return PLUGIN_CONTINUE
}

public mutalateroct(id, menu, item)
{
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	static dst[32], data[5], access, callback, player
	
	menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
	player = str_to_num(data)
	new name[32], name2[32]
	get_user_name(id, name, 31)
	get_user_name(player, name2, 31)
	
	if(player > 0 && is_user_connected(player))
	{
		user_kill(player);
		cs_set_user_team(player, 1);
		menu_cancel(player);
		chatcolor(0, "!g[AdminMenu] !yAdmin !g%s !yl-a mutat pe !g%s la Prizonieri.", name, name2)
		log_to_file("AdminMenuLog.log"," %s la mutat la tero %s", name, name2)
	}
	cmd_adminmenus(id)
	return PLUGIN_HANDLED
}

public cmd_mutaCT(id)
{
	
	if(g_Simon == id || get_user_flags(id) & read_flags("c"))
		menu_amenu(id, CS_TEAM_T, "mutalateroct2", "Team Menu")
	
	return PLUGIN_CONTINUE
}

public mutalateroct2(id, menu, item)
{
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	static dst[32], data[5], access, callback, player
	
	menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
	player = str_to_num(data)
	new name[32], name2[32]
	get_user_name(id, name, 31)
	get_user_name(player, name2, 31)
	
	if(player > 0 && is_user_connected(player))
	{
		user_kill(player);
		cs_set_user_team (player, 2);
		menu_cancel(player);
		chatcolor(0, "!g[AdminMenu] !yAdmin !g%s !yl-a mutat pe !g%s la Gardieni.", name, name2)
		log_to_file("AdminMenuLog.log"," %s la mutat la ct pe %s", name, name2)
	}
	cmd_adminmenus(id)
	return PLUGIN_HANDLED
}

public cmd_simonrevive(id)
{
	if(g_Simon == id || get_user_flags(id) & read_flags("c"))
		menu_revive(id, CS_TEAM_T, "revive", "Revive Menu")
	
	return PLUGIN_CONTINUE
}

public revive(id, menu, item)
{
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	static dst[32], data[5], access, callback, player
	
	menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
	player = str_to_num(data)
	new name[32], name2[32]
	get_user_name(id, name, 31)
	get_user_name(player, name2, 31)
	
	if(player > 0 && is_user_connected(player))
	{
		ExecuteHamB(Ham_CS_RoundRespawn, player)
		strip_user_weapons(player)
		give_item(player, "weapon_knife")
		
		if(g_Simon == id)
		{
			chatcolor(0, "!g[SimonMenu] !ySimon !g%s !yi-a dat !grevive !tPrizonierului !g%s", name, name2)
			} else {
			chatcolor(0, "!g[Admin Menu] !yAdmin !g%s !yi-a dat !grevive !tPrizonierului !g%s", name, name2)
		}
		log_to_file("SimonMenuLogs.log"," %s ia dat revive lui %s", name, name2)
	}
	cmd_simonrevive(id)
	return PLUGIN_HANDLED
}

public cmd_simonrevivect(id)
{
	if(g_Simon == id || get_user_flags(id) & read_flags("c"))
		menu_revive(id, CS_TEAM_CT, "revivect", "Revive Menu")
	
	return PLUGIN_CONTINUE
}

public revivect(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	static dst[32], data[5], access, callback, player
	
	menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
	player = str_to_num(data)
	new name[32], name2[32]
	get_user_name(id, name, 31)
	get_user_name(player, name2, 31)
	
	if(player > 0 && is_user_connected(player) && !is_user_alive(player))
	{
		ExecuteHamB(Ham_CS_RoundRespawn, player)
		strip_user_weapons(player)
		give_item(player, "weapon_knife")
		chatcolor(0, "!g[Admin Menu] !yAdmin !g%s !yi-a dat !grevive !tGardianului !g%s", name, name2)
		log_to_file("SimonMenuLogs.log"," %s ia dat revive lui %s", name, name2)
	}
	
	cmd_simonrevivect(id)
	return PLUGIN_HANDLED
}

public cmd_simonreset(id)
{
	if((g_Simon == id) || get_user_flags(id) & read_flags ("a"))
		menu_players(id, CS_TEAM_CT, id, 1, "cmd_simon_ct", "\rCine vrei sa fie SIMON in loc ?")
	
	return PLUGIN_CONTINUE
}

public cmd_simon_ct(id, menu, item)
{
	if(item == MENU_EXIT || (g_Simon != id))
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	static dst[32],src[32], data[5], player, access, callback
	menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
	player = str_to_num(data)
	
	if (g_Simon == player)
		return PLUGIN_CONTINUE
	
	g_Simon = 0
	cmd_simon(player)
	get_user_name(player, dst, charsmax(dst))
	get_user_name(id, src, charsmax(src))
	set_hudmessage(0, 104, 139, -1.0, -0.35, 0, 6.0, 10.0)
	show_hudmessage(0, "%s a predat grad-ul de SIMON lui %s",  src, dst)
	
	cs_set_player_model(player, "jblgcs")
	set_pev(player, pev_body, 1)
	
	cs_set_player_model(id, "jblgcs")
	set_pev(id, pev_body, 3)
	
	
	
	return PLUGIN_HANDLED
}

public cmd_ctmenu(id)
{
	
	if(get_user_flags(id) & read_flags ("c"))
		menu_players(id, CS_TEAM_CT, id, 1, "cmd_simon_cttt", "\wCine vrei sa fie SIMON ?")
	
	return PLUGIN_CONTINUE
}

public cmd_simon_cttt(id, menu, item)
{
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	static dst[32],src[32], data[5], player, access, callback
	menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
	player = str_to_num(data)
	
	if (g_Simon == player)
		return PLUGIN_CONTINUE
	
	g_Simon = 0
	cmd_simon(player)
	get_user_name(player, dst, charsmax(dst))
	get_user_name(id, src, charsmax(src))
	set_hudmessage(0, 104, 139, -1.0, -0.35, 0, 6.0, 5.0)
	show_hudmessage(0, "Admin: %s la bagat simon pe %s",  src, dst)
	log_to_file("AdminMenuLog.log"," %s la pus simon pe %s", src, dst)

	cs_set_player_model(player, "jbindvip0S")
	set_pev(player, pev_body, 1)

	return PLUGIN_HANDLED
}

public cmd_boxmenu(id)
{
	if(cs_get_user_team(id) == CS_TEAM_CT)
	{
		new szText[ 555 char ];
		
		formatex( szText, charsmax( szText ), "JailBreak Romania v5.0 ^nMeniu BOX");
		new menu = menu_create( szText, "box_handler" );
		
		formatex( szText, charsmax( szText ), "Porneste BOX-ul" );
		menu_additem( menu, szText, "1", 0 );
		
		formatex( szText, charsmax( szText ), "Opreste BOX-ul" );
		menu_additem( menu, szText, "2", 0 );
		
		menu_display( id, menu, 0)
	}
	else {
		chatcolor(id, "!g[BoxMenu]!y Nu poti accesa meniul de box deoarece nu esti la Gardieni.")
	}
	return PLUGIN_HANDLED
}

public box_handler( id, menu, item )
{
	
	if( item == MENU_EXIT )
	{
		menu_destroy( menu )
		return PLUGIN_HANDLED
	}
	
	new data[6], iName[64]
	new access, callback
	
	menu_item_getinfo( menu, item, access, data,5, iName, 63, callback )
	new key = str_to_num( data )
	switch( key )
	{
		case 1:
		{
			cmd_boxmenu(id)
			cmd_box(id)
		}
		case 2:
		{
			cmd_boxoff(id)
			cmd_boxmenu(id)
		}
	}

	menu_destroy( menu )
	return PLUGIN_HANDLED
}

public cmd_box(id)
{
	
	if(g_PlayerLast || g_BoxStarted || g_GunDayFortat)
	{
		chatcolor(id, "!t[!gBox!t] !yNu poti face asta!")
		return PLUGIN_HANDLED
	}
	new name[32]
	get_user_name(id, name, 63)
	static i
	g_BoxStarted = 1
	for(i = 1; i <= g_MaxClients; i++)
	{
		if(is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_T) 
		{
			set_user_health(i, 100)
		}
	}
	chatcolor(0, "!y[!gBOX!y] %s a pornit !gBOX-ul!", name)
	player_hudmessage(0, 1, 3.0, _, "BOX-ul a fost pornit de: %s", name)
	
	client_cmd(0, "mp3 play sound/jb_sounds/boxezw.mp3")
	set_cvar_num("mp_tkpunish", 0)
	set_cvar_num("mp_friendlyfire", 1)
	
	return PLUGIN_HANDLED
}

public cmd_boxoff(id)
{
	
	if(g_PlayerLast || !g_BoxStarted || g_GunDayFortat)
	{
		chatcolor(id, "!t[!gBox!t] !yNu poti face asta!")
		return PLUGIN_HANDLED
	}
	
	static i
	if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT || get_user_flags(id) & read_flags("b"))
	{
		for(i = 1; i <= g_MaxClients; i++)
		if(is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_T)
		{
			set_user_health(i, 100)
			set_user_godmode(i, false)
			set_pev(i, pev_viewmodel2, "models/jb_models/v_pumni7.mdl")
			set_pev(i, pev_weaponmodel2, "models/jb_models/p_pumni7.mdl")
		}
		
		set_cvar_num("mp_tkpunish", 0)
		set_cvar_num("mp_friendlyfire", 0)
	
		g_BoxStarted = 0
		client_cmd(0, "mp3 stop")
		
		new name[32]
		get_user_name(id, name, 63)
		chatcolor(0, "%L",0,"BOX_STOP", name)
		player_hudmessage(0, 1, 3.0, _, "BOX-ul a fost oprit de: %s", name)
	}
	
	return PLUGIN_HANDLED
}

public cmd_glowmenu(id)
{
	
	if(is_user_alive(id) && is_user_connected(id) && !g_GameMode || g_GameMode == 9)
	{
		new simon_menu = menu_create("Meniu Glow JailBreak", "GlowMenuChoice");
		
		new menuBody[1024];
		new key;
		
		format(menuBody, 1023, "Glow Menu^n^n 1.  Red^n 2.  Orange^n 3.  Yellow^n 4.  Green^n 5.  Light Blue^n 6.  Blue^n 7.  Purple^n 8.  White^n^n 9.  Glow OFF^n^n 0.  Exit.") 
		key = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9) 
		
		show_menu(id, key, menuBody) 
		
		menu_setprop(simon_menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, simon_menu, 0);
	}
	else
		chatcolor(id, "!y[!gGlow Menu!y] Nu poti accesa meniul de Glow acum!")
	
	return PLUGIN_HANDLED;
}

public GlowMenuChoice(id, key) 
{
	new client[32];
	get_user_name(id, client, 31);
	
	switch(key) 
	{ 
		case 0: 
		{
			client_print(0, print_console, "Jucatorul %s si-a activat glow red.", client);
			set_user_rendering(id,kRenderFxGlowShell,255,0,0,kRenderNormal,25)
		}
		case 1: 
		{
			client_print(0, print_console, "Jucatorul %s si-a activat glow orange.", client);
			set_user_rendering(id,kRenderFxGlowShell,255,140,0,kRenderNormal,25)
		}
		case 2: 
		{
			client_print(0, print_console, "Jucatorul %s si-a activat glow yellow.", client);
			set_user_rendering(id,kRenderFxGlowShell,255,255,0,kRenderNormal,25)
		}
		case 3:
		{
			client_print(0, print_console, "Jucatorul %s si-a activat glow green.", client);
			set_user_rendering(id,kRenderFxGlowShell,0,255,0,kRenderNormal,25)
		} 
		case 4: 
		{
			client_print(0, print_console, "Jucatorul %s si-a activat glow lightblue.", client);
			set_user_rendering(id,kRenderFxGlowShell,0,255,255,kRenderNormal,25)
		} 
		case 5: 
		{ 
			client_print(0, print_console, "Jucatorul %s si-a activat glow blue.", client);
			set_user_rendering(id,kRenderFxGlowShell,0,0,255,kRenderNormal,25)
		}
		case 6: 
		{
			client_print(0, print_console, "Jucatorul %s si-a activat glow purple.", client);
			set_user_rendering(id,kRenderFxGlowShell,255,0,255,kRenderNormal,25)
		}
		case 7: 
		{
			client_print(0, print_console, "Jucatorul %s si-a activat glow white.", client);
			set_user_rendering(id,kRenderFxGlowShell,192,192,192,kRenderNormal,25)
		}
		case 8: 
		{
			client_print(0, print_console, "Jucatorul %s si-a dezactivat glow.", client);
			set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderNormal,25)
		} 
		case 9: 
		{
			return PLUGIN_CONTINUE;
		} 
	}

	return PLUGIN_HANDLED;
}

stock chatcolor(const id, const input[], any:...)
{
	new count = 1, players[32]
	static msg[191]
	vformat(msg, 190, input, 3)
	
	replace_all(msg, 190, "!g", "^4")
	replace_all(msg, 190, "!y", "^1")
	replace_all(msg, 190, "!t", "^3")
	
	if (id) players[0] = id; else get_players(players, count, "ch")
	{
		for (new i = 0; i < count; i++)
		{
			if (is_user_connected(players[i]))
			{
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
				write_byte(players[i]);
				write_string(msg);
				message_end();
			}
		}
	}
}

stock in_array(needle, data[], size)
{
	for(new i = 0; i < size; i++)
	if(data[i] == needle)
		return i
	
	return -1
}

stock player_hudmessage(id, hudid, Float:time = 0.0, color[3] = {0, 255, 0}, msg[], any:...)
{
	static text[512], Float:x, Float:y
	x = g_HudSync[hudid][_x]
	y = g_HudSync[hudid][_y]

	if(time > 0)
		set_hudmessage(color[0], color[1], color[2], x, y, 0, 0.00, time, 0.00, 0.00)
	else
		set_hudmessage(color[0], color[1], color[2], x, y, 0, 0.00, g_HudSync[hudid][_time], 0.00, 0.00)
	
	vformat(text, charsmax(text), msg, 6)
	ShowSyncHudMsg(id, g_HudSync[hudid][_hudsync], text)
}

stock menu_players(id, CsTeams:team, skip, alive, callback[], title[], any:...)
{
	static i, name[32], num[5], menu, menuname[32]
	vformat(menuname, charsmax(menuname), title, 7)
	menu = menu_create(menuname, callback)
	
	for(i = 1; i <= g_MaxClients; i++)
	{
		if(!is_user_connected(i) || (alive && !is_user_alive(i)) || (skip == i))
			continue
		
		if(!(team == CS_TEAM_T || team == CS_TEAM_CT) || ((team == CS_TEAM_T || team == CS_TEAM_CT) && (cs_get_user_team(i) == team)))
		{
			get_user_name(i, name, charsmax(name))
			num_to_str(i, num, charsmax(num))
			menu_additem(menu, name, num, 0)
		}
	}
	
	menu_display(id, menu)
}

stock player_glow(id, color[3], amount=40)
	if(is_user_connected(id) && is_user_alive(id)) set_user_rendering(id, kRenderFxGlowShell, color[0], color[1], color[2], kRenderNormal, amount)

stock player_strip_weapons(id)
{
	strip_user_weapons(id)
	give_item(id, "weapon_knife")
	set_pdata_int(id, 116, 0)
}

stock freeday_set(id, player)
{
	static src[32], dst[32]
	get_user_name(player, dst, charsmax(dst))
	
	if(is_user_alive(player) && is_user_connected(player) && !get_bit(g_PlayerWanted, player))
	{
		
		cs_set_player_model(player, "jblgcs")
		set_pev(player, pev_body, 2)
		set_pev(player, pev_skin, 3)

		set_bit(g_PlayerFreeday, player)
		if(0 < id <= g_MaxClients)
		{
			get_user_name(id, src, charsmax(src))
			player_hudmessage(0, 6, 3.0, {0, 255, 0}, "%L", LANG_SERVER, "JBE_GUARD_FREEDAYGIVE", src, dst)
		}
		else if(!is_freeday())
			player_hudmessage(0, 6, 3.0, {0, 255, 0}, "%L", LANG_SERVER, "JBE_PRISONER_HASFREEDAY", dst)
	}
}

stock PlayerFreeze(i_Player, i_Freeze)
{
	if(i_Freeze)
	{
		gi_IsFrozen[i_Player] = 1;
		entity_set_int(i_Player, EV_INT_flags, entity_get_int(i_Player, EV_INT_flags) | FL_FROZEN);
		
		if(cs_get_user_team(i_Player) == CS_TEAM_CT)
			set_user_godmode(i_Player, 1);
	}
	else
	{
		gi_IsFrozen[i_Player] = 0;
		entity_set_int(i_Player, EV_INT_flags, entity_get_int(i_Player, EV_INT_flags) & ~FL_FROZEN);
	}
}

stock menu_revive(id, CsTeams:team, callback[], title[], any:...)
{
	
	static i, name[32], num[5], menu, menuname[32]
	formatex(menuname, charsmax(menuname), title)
	menu = menu_create(menuname, callback)
	
	for(i = 1; i <= g_MaxClients; i++)
	{
		if(!is_user_connected(i) || is_user_alive(i))
			continue
		
		if(!(team == CS_TEAM_T || team == CS_TEAM_CT) || ((team == CS_TEAM_T || team == CS_TEAM_CT) && (cs_get_user_team(i) == team)))
		{
			get_user_name(i, name, charsmax(name))
			num_to_str(i, num, charsmax(num))
			menu_additem(menu, name, num, 0)
		}
	}
	
	menu_display(id, menu)
}
stock menu_amenu(id, CsTeams:team, callback[], title[], any:...)
{
	
	static i, name[32], num[5], menu, menuname[32]
	formatex(menuname, charsmax(menuname), title)
	menu = menu_create(menuname, callback)
	
	for(i = 1; i <= g_MaxClients; i++)
	{
		if(!is_user_connected(i))
			continue
		
		if(!(team == CS_TEAM_T || team == CS_TEAM_CT) || ((team == CS_TEAM_T || team == CS_TEAM_CT) && (cs_get_user_team(i) == team)))
		{
			get_user_name(i, name, charsmax(name))
			num_to_str(i, num, charsmax(num))
			menu_additem(menu, name, num, 0)
		}
	}
	
	menu_display(id, menu)
}

stock have_freeday_menu(id, callback[], title[], any:...)
{
	
	static i, name[32], num[5], menu, menuname[32]
	formatex(menuname, charsmax(menuname), title)
	menu = menu_create(menuname, callback)
	
	for(i = 1; i <= g_MaxClients; i++)
	{
		if(!is_user_connected(i))
			continue
		
		if(get_user_team(i) == 1 && get_bit(g_PlayerFreeday, i))
		{
			get_user_name(i, name, charsmax(name))
			num_to_str(i, num, charsmax(num))
			menu_additem(menu, name, num, 0)
		}
	}
	
	menu_display(id, menu)
}

stock is_freeday()
	return (g_FreedayNext || g_Freeday)
	
public cmd_zombieclass(id)
{

	new class_menuzm = menu_create("Meniu Clase Zombie", "class_choice2");
			
	menu_additem(class_menuzm, "Walker Zombie [ Speed ]", "1", 0);
	menu_additem(class_menuzm, "Air Zombie [ Gravity ]", "2", 0)
	menu_additem(class_menuzm, "Super Zombie [ 3000 HP ]", "3", 0);
			
	menu_setprop(class_menuzm, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, class_menuzm, 0);

	return PLUGIN_HANDLED;
}

public class_choice2(id, class_menuzm, item)
{
	
	if( item == MENU_EXIT || !is_user_alive(id) )
	{
		menu_destroy(class_menuzm);
		return PLUGIN_HANDLED;
	}
	
	new data[6], iName[64], name[32];
	new access, callback;
	
	get_user_name(g_Simon, name, charsmax(name))
	menu_item_getinfo(class_menuzm, item, access, data,5, iName, 63, callback);
	g_ResetValues = 0;
	new key = str_to_num(data);
	switch(key)
	{
		case 1: 
		{
			set_user_maxspeed(id, 445.0)
			g_Speed[id] = 1
		}
		case 2: set_user_gravity(id, 0.3)
		case 3: set_user_health(id, 3000)
		
	}
	menu_destroy(class_menuzm);
	return PLUGIN_HANDLED;
}	

public commandSpiderSwing( id )
{
	if(g_GameMode == 13 || IsEventActivated && g_organizator[id])
	{
		set_user_gravity( id, 0.0 );
		set_task( 0.1, "SwingThink", id + 12839162, _, _, "b" );
		
		bHookToOrigin[ id ][ 0 ] = 999999;
		SwingThink( id + 12839162 );
		
		emit_sound( id, CHAN_VOICE, "weapons/cbar_miss1.wav", VOL_NORM, ATTN_NORM, 0, PITCH_NORM );
	}
	return PLUGIN_HANDLED;
}

public SwingThink( taskid )
{
	new id = taskid - 12839162;
	new iOrigin[ 3 ];

	get_user_origin( id, iOrigin, 0 );
	
	message_begin( MSG_PVS, SVC_TEMPENTITY, iOrigin );
	write_byte( TE_BEAMENTPOINT );
	write_short( id );
	write_coord( bHookToOrigin[ id ][ 0 ] );
	write_coord( bHookToOrigin[ id ][ 1 ] );
	write_coord( bHookToOrigin[ id ][ 2 ] );
	write_short(HookSpr);
	write_byte( 1 );
	write_byte( 1 );		
	write_byte( 2 );		
	write_byte( 5 );		
	write_byte( 0 );
	write_byte( random( 256 ) );		
	write_byte( random( 256 ) );		
	write_byte( random( 256 ) );		
	write_byte( 123 );		
	write_byte( 0 );
	message_end();

	if( bHookToOrigin[ id ][ 0 ] == 999999 )
	{
		new iOriginAim[ 3 ];
		get_user_origin( id, iOriginAim, 3 );
		
		bHookToOrigin[ id ][ 0 ] = iOriginAim[ 0 ];
		bHookToOrigin[ id ][ 1 ] = iOriginAim[ 1 ];
		bHookToOrigin[ id ][ 2 ] = iOriginAim[ 2 ];
	}

	new Float:flVelocity[ 3 ];
	
	flVelocity[ 0 ] = ( float( bHookToOrigin[ id ][ 0 ] ) - float( iOrigin[ 0 ] ) ) * 3.0;
	flVelocity[ 1 ] = ( float( bHookToOrigin[ id ][ 1 ] ) - float( iOrigin[ 1 ] ) ) * 3.0;
	flVelocity[ 2 ] = ( float( bHookToOrigin[ id ][ 2 ] ) - float( iOrigin[ 2 ] ) ) * 3.0;
	
	new Float:flCoordY = flVelocity[ 0 ] * flVelocity[ 0 ] + flVelocity[ 1 ] * flVelocity[ 1 ] + flVelocity[ 2 ] * flVelocity[ 2 ];
	new Float:flCoordX = ( 5.0 * 120.0 ) / floatsqroot( flCoordY );
	
	flVelocity[ 0 ] *= flCoordX;
	flVelocity[ 1 ] *= flCoordX;
	flVelocity[ 2 ] *= flCoordX;
	
	set_pev( id, pev_velocity, flVelocity );
}

public commandSpiderSwingOff( id )
{
	if( is_user_alive( id ) )
	{
		set_user_gravity( id, 1.0 );
	}
	
	if( task_exists( id + 12839162 ) )
	{
		remove_task( id + 12839162 );
	}

	return PLUGIN_HANDLED;
}
public Message_ScoreInfo(iMsgId, iMsgType, iMsgEnt)
{
	new id = get_msg_arg_int(PlayerID)
	
	set_msg_arg_int(Frags, ARG_SHORT, get_user_health(id) )
	set_msg_arg_int(Deaths, ARG_SHORT, get_user_armor(id) )
}

Send_ScoreInfo(id, iFrags, iDeaths, iTeamID)
{
	if(iFrags > 69)
	{
		iFrags = 69
		iDeaths = 69
	}
	
	message_begin(MSG_BROADCAST, get_user_msgid("ScoreInfo"))
	write_byte(id)  
	write_short(is_user_alive(id) ? iFrags : 0) 
	write_short(is_user_alive(id) ? iDeaths : 0) 
	write_short(0) 
	write_short(iTeamID) 
	message_end()
}

public EventBattery(id)
	Send_ScoreInfo(id, get_user_health(id), read_data(1), get_user_team(id) )

public EventHealth(id)
	Send_ScoreInfo(id, read_data(1), get_user_armor(id), get_user_team(id) )


public slayteam(id,level,cid)
{
	if(!cmd_access(id,level,cid,2))
		return PLUGIN_HANDLED;
   
	static cmd[32], players[32], totalplayers, admin[32];
    
	read_argv(1,cmd, sizeof cmd -1)
    
	get_players(players, totalplayers);
    
	if(cmd[0]=='@')
	{
		for (new i = 0; i < totalplayers; i++)
		{
			if(equali(cmd[1],"All"))
			{    
				user_silentkill(players[i]);
				copy(sz_slayteam, sizeof sz_slayteam -1, "ALL");
				g_GameMode = 0;
			}
			else
			if(equali(cmd[1],"T") && get_user_team(players[i]) == 1)
			{
				user_silentkill(players[i])
				copy(sz_slayteam, sizeof sz_slayteam -1, "Terrorists");
				g_GameMode = 0;
			}
			else
			if(equali(cmd[1],"CT") && get_user_team(players[i]) == 2)
			{
				user_silentkill(players[i])
				copy(sz_slayteam, sizeof sz_slayteam -1, "Counter-Terrorists");
				g_GameMode = 0;
			}
		}
	}
    
	get_user_name(id, admin, 31);
    
	switch (get_cvar_num("amx_show_activity"))
	{
		case 2: chatcolor(0, "!y[!gAdminControl!y] Admin !g%s !ySlay !g%s", admin, sz_slayteam)
		case 1: chatcolor(0, "!y[!gAdminControl!y] Admin Slay !g%s", sz_slayteam)
	}
    
	return PLUGIN_HANDLED;
}

public cmdct(id, level, cid)
{ 
	if (!cmd_access(id, level, cid, 2))
	{
		return PLUGIN_HANDLED;
	}

	new arg[32], cmd[32];
	read_argv(0,cmd,31);
	read_argv(1,arg,31);
	new player = cmd_target(id,arg,CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF);

	if (!player)
	{
		return PLUGIN_HANDLED;
	}

	if (cs_get_user_team(player) == CS_TEAM_CT)
	{
		console_print(id, "[Transfer-Player] Jucatorul este deja CT.");
		return PLUGIN_HANDLED;
	}
	
	new name[32], name2[32];
	get_user_name(id,name,31);
	get_user_name(player,name2, 31);

	if (is_user_alive (player) )
	{
		user_silentkill(player);
	}

	cs_set_user_team(player,CS_TEAM_CT);
    	log_amx("Admin %s: Task amx_ct/t %s",name, name2);
	chatcolor(0, "!y[!gAdminControl!y] Admin !g%s !yl-a transferat pe !g%s !yla !gCT", name, name2)

	return PLUGIN_HANDLED;
}

public cmdt(id, level, cid)
{ 
	if (!cmd_access(id, level, cid, 2))
	{
		return PLUGIN_HANDLED;
	}

	new arg[32], cmd[32];
	read_argv(0,cmd,31);
	read_argv(1,arg,31);
	new player = cmd_target(id,arg,CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF);

	if (!player)
	{
		return PLUGIN_HANDLED;
	}

	if (cs_get_user_team(player) == CS_TEAM_T)
	{
		console_print(id, "[Transfer-Player] Jucatorul este deja T.");
		return PLUGIN_HANDLED;
	}
	
	new name[32], name2[32];
	get_user_name(id,name,31);
	get_user_name(player,name2, 31);

	if (is_user_alive (player) )
	{
		user_silentkill(player);
	}
	
	cs_set_user_team(player,CS_TEAM_T);
    	log_amx("Admin %s: Task amx_t %s",name, name2);
	chatcolor(0, "!y[!gAdminControl!y] Admin !g%s !yl-a transferat pe !g%s !yla !gT", name, name2)

	return PLUGIN_HANDLED;
}

public cmdspec(id, level, cid)
{ 
	if (!cmd_access(id, level, cid, 2))
	{
		return PLUGIN_HANDLED;
	}

	new arg[32], cmd[32];
	read_argv(0,cmd,31);
	read_argv(1,arg,31);
	new player = cmd_target(id,arg,CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF);

	if (!player)
	{
		return PLUGIN_HANDLED;
	}

	if (cs_get_user_team(player) == CS_TEAM_SPECTATOR)
	{
		console_print(id, "[Transfer-Player] Jucatorul este deja la Spectatori.");
		return PLUGIN_HANDLED;
	}
	
	new name[32], name2[32];
	get_user_name(id,name,31);
	get_user_name(player,name2, 31);

	if (is_user_alive (player) )
	{
		user_silentkill(player);
	}

	cs_set_user_team(player,CS_TEAM_SPECTATOR);
    	log_amx("Admin %s: Task amx_spec %s",name, name2);
	chatcolor(0, "!y[!gAdminControl!y] Admin !g%s !yl-a transferat pe !g%s !yla !gSPEC", name, name2)

	return PLUGIN_HANDLED;
}

public client_PostThink(id)
{
	if(id != g_Simon || g_Invizibil[id] || g_GameMode || !gc_SimonSteps || !is_user_alive(id) ||
		!(entity_get_int(id, EV_INT_flags) & (1<<9)) || entity_get_int(id, EV_ENT_groundentity))
		return PLUGIN_CONTINUE
	
	static Float:origin[3]
	static Float:last[3]

	entity_get_vector(id, EV_VEC_origin, origin)
	if(get_distance_f(origin, last) < 32.0)
	{
		return PLUGIN_CONTINUE
	}

	vec_copy(origin, last)
	if(entity_get_int(id, EV_INT_bInDuck))
		origin[2] -= 18.0
	else
		origin[2] -= 36.0


	message_begin(MSG_BROADCAST, SVC_TEMPENTITY, {0,0,0}, 0)
	write_byte(TE_WORLDDECAL)
	write_coord(floatround(origin[0]))
	write_coord(floatround(origin[1]))
	write_coord(floatround(origin[2]))
	write_byte(105)
	message_end()

	return PLUGIN_CONTINUE
}

stock CreateFog (const index = 0, const red = 127, const green = 127, const blue = 127, const Float:density_f = 0.001, bool:clear = false) 
{    
	static msgFog;
	
	if (msgFog || (msgFog = get_user_msgid("Fog")))     
	{         
		new density = _:floatclamp(density_f, 0.0001, 0.25) * _:!clear;                 
		message_begin(index ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, msgFog, .player = index);         
		write_byte(clamp(red, 0, 255));         
		write_byte(clamp(green, 0, 255));         
		write_byte(clamp(blue , 0, 255));         
		write_byte((density & 0xFF));         
		write_byte((density >>  8) & 0xFF);         
		write_byte((density >> 16) & 0xFF);         
		write_byte((density >> 24) & 0xFF);         
		message_end();     
	} 
}

public cmd_stopsound(id)
{
	if(get_user_flags(id) & read_flags("p") && !g_GameMode)
	{
		client_cmd(0, "mp3 stop")
	} 
	else 
		chatcolor(id, "!y[!gSounds!y] Nu ai acces la Stop Sound.")
}

stock CREATE_SPRITETRAIL(const Float:fOrigin[3], pSprite, iCount, iLife, iScale, iVelocityAlongVector, iRandomVelocity)
{
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
	write_byte(TE_SPRITETRAIL);
	engfunc(EngFunc_WriteCoord, fOrigin[0]);
	engfunc(EngFunc_WriteCoord, fOrigin[1]);
	engfunc(EngFunc_WriteCoord, fOrigin[2]);
	engfunc(EngFunc_WriteCoord, fOrigin[0]);
	engfunc(EngFunc_WriteCoord, fOrigin[1]);
	engfunc(EngFunc_WriteCoord, fOrigin[2]);
	write_short(pSprite);
	write_byte(iCount);
	write_byte(iLife); // 0.1's
	write_byte(iScale);
	write_byte(iVelocityAlongVector);
	write_byte(iRandomVelocity);
	message_end(); 
}

stock CREATE_BREAKMODEL(const Float:fOrigin[3], Float:fSize[3] = {16.0, 16.0, 16.0}, Float:fVelocity[3] = {25.0, 25.0, 25.0}, iRandomVelocity, pModel, iCount, iLife, iFlags)
{
message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
write_byte(TE_BREAKMODEL);
engfunc(EngFunc_WriteCoord, fOrigin[0]);
engfunc(EngFunc_WriteCoord, fOrigin[1]);
engfunc(EngFunc_WriteCoord, fOrigin[2] + 24);
engfunc(EngFunc_WriteCoord, fSize[0]);
engfunc(EngFunc_WriteCoord, fSize[1]);
engfunc(EngFunc_WriteCoord, fSize[2]);
engfunc(EngFunc_WriteCoord, fVelocity[0]);
engfunc(EngFunc_WriteCoord, fVelocity[1]);
engfunc(EngFunc_WriteCoord, fVelocity[2]);
write_byte(iRandomVelocity);
write_short(pModel);
write_byte(iCount); // 0.1's
write_byte(iLife); // 0.1's
write_byte(iFlags);
message_end();
}

public cmd_camera(id)
{
		if(is_user_alive(id) && is_user_connected(id))
		{
			new simon_menu = menu_create("Meniu Camera \yJb.LeagueCS.Ro", "camm_handler");

			menu_additem(simon_menu, "Vizionare Normala", "1", 0);
			menu_additem(simon_menu, "3RD", "2", 0);
			menu_additem(simon_menu, "Up Left", "3", 0);
			menu_additem(simon_menu, "Top Down", "4", 0);
			
			menu_setprop(simon_menu, MPROP_EXIT, MEXIT_ALL);
			menu_display(id, simon_menu, 0);
		}
	else
		chatcolor(id, "!y[!gCamera!y] Nu poti accesa acest meniu deoarece esti mort!")
	
	return PLUGIN_HANDLED;
}

public camm_handler(id, simon_menu, item)
{
	
	if( item == MENU_EXIT || !is_user_alive(id) )
	{
		menu_destroy(simon_menu);
		return PLUGIN_HANDLED;
	}
	
	new data[6], iName[64]
	new access, callback;
	
	menu_item_getinfo(simon_menu, item, access, data,5, iName, 63, callback);
	new szEventActivator[32]
	get_user_name(id, szEventActivator, charsmax(szEventActivator))
	new key = str_to_num(data);
	switch(key)
	{
		case 1: 
		{
			set_view(id, 0)
			chatcolor(id, "!y[!gCamera!y] Ti-ai selectat vizionare !gNormala!")
		}
		case 2: 
		{
			set_view(id, 1)
			chatcolor(id, "!y[!gCamera!y] Ti-ai selectat vizionare !g3RD!")
		}	
		case 3:
		{
			set_view(id, 2)
			chatcolor(id, "!y[!gCamera!y] Ti-ai selectat vizionare !gUp Left!")
		}
		case 4:
		{
			set_view(id, 3)
			chatcolor(id, "!y[!gCamera!y] Ti-ai selectat vizionare !gTop Down!")
		}
	}
	
	menu_destroy(simon_menu);
	return PLUGIN_HANDLED;
}

public client_PreThink(id)
{
	if(!is_user_alive(id)) 
		return PLUGIN_HANDLED

	new Float:fallspeed = 100.0 * -1.0

	new button = get_user_button(id)
	if(button & IN_USE) 
	{
		new Float:velocity[3]
		entity_get_vector(id, EV_VEC_velocity, velocity)
		if (velocity[2] < 0.0) 
		{
			entity_set_int(id, EV_INT_sequence, 3)
			entity_set_int(id, EV_INT_gaitsequence, 1)
			entity_set_float(id, EV_FL_frame, 1.0)
			entity_set_float(id, EV_FL_framerate, 1.0)

			velocity[2] = (velocity[2] + 40.0 < fallspeed) ? velocity[2] + 40.0 : fallspeed
			entity_set_vector(id, EV_VEC_velocity, velocity)
		}
	}
	if(!g_Duel && !g_BhopON)
	{
		entity_set_float(id, EV_FL_fuser2, 0.0)		// Disable slow down after jumping

		if (entity_get_int(id, EV_INT_button) & 2) {	// If holding jump
			new flags = entity_get_int(id, EV_INT_flags)

			if (flags & (1<<11))
				return PLUGIN_CONTINUE
			if ( entity_get_int(id, EV_INT_waterlevel) >= 2 )
				return PLUGIN_CONTINUE
			if ( !(flags & (1<<9)) )
				return PLUGIN_CONTINUE

			new Float:velocity[3]
			entity_get_vector(id, EV_VEC_velocity, velocity)
			velocity[2] += 250.0
			entity_set_vector(id, EV_VEC_velocity, velocity)

			entity_set_int(id, EV_INT_gaitsequence, 6)	// Play the Jump Animation
		}
	}
	return PLUGIN_CONTINUE
}
public ReviveHunger(id)
{
	ExecuteHamB(Ham_CS_RoundRespawn, id)
	strip_user_weapons(id)
	give_item(id, "weapon_knife");
	set_user_godmode(id, 1)
	set_task(3.0, "ungod_hunger", id)
}
public ungod_hunger(id)
{
	if(is_user_alive(id))
	{
		set_user_godmode(id, 0)
	}
}
public HungerGamesRespawn(id)
{
		new rand = random_num(0,6) 
		switch(rand) 
		{
			case 0:
			{
				give_item(id, "weapon_knife");
				give_item(id, "weapon_deagle");
				cs_set_user_bpammo(id, CSW_DEAGLE, 120);
			}
			case 1:
			{
				give_item(id, "weapon_knife");
				give_item(id, "weapon_ak47");
				cs_set_user_bpammo(id, CSW_AK47, 120);
			}
			case 2:
			{
				give_item(id, "weapon_knife");
				give_item(id, "weapon_scout");
				cs_set_user_bpammo(id, CSW_SCOUT, 120);
			}
			case 3:
			{
				give_item(id, "weapon_knife");
				give_item(id, "weapon_mp5navy");
				cs_set_user_bpammo(id, CSW_MP5NAVY, 120);
			}
			case 4:
			{
				give_item(id, "weapon_knife");
				give_item(id, "weapon_hegrenade");
				cs_set_user_bpammo(id, CSW_HEGRENADE, 15);
			}
			case 5:
			{
				give_item(id, "weapon_knife");
				give_item(id, "weapon_g3sg1");
				cs_set_user_bpammo(id, CSW_G3SG1, 120);
			}
			case 6:
			{
				give_item(id, "weapon_knife");
				give_item(id, "weapon_famas");
				cs_set_user_bpammo(id, CSW_FAMAS, 120);
			}
	}
}
public cmd_preturi(id) chatcolor(id, "!y[!gPreturi!y] Pentru a vedea preturile, acceseaza leaguecs.ro");

stock freeday_remove(id, player)
{
	static src[32], dst[32]
	get_user_name(player, dst, charsmax(dst))
	
	if(is_user_alive(player) && !get_bit(g_PlayerWanted, player))
	{		
		clear_bit(g_PlayerFreeday, player)
		
		cs_set_player_model(player, "jblgcs")
		set_pev(player, pev_body, 2)
		set_pev(player, pev_skin, 1)

		
		if(0 < id <= g_MaxClients)
		{
			get_user_name(id, src, charsmax(src))
			player_hudmessage(0, 6, 3.0, {0, 255, 0}, "%s i-a scos freeday-ul lui %s", src, dst)
		}
	}
}

public fwdDamagePlayer(victim, attacker, Float:damage, Float:direction[3], tracehandle, damagebits, Float:vecOrigin[3])
{
	
	if(!is_user_connected(victim) || !is_user_connected(attacker) || victim == attacker || g_GameMode == 0)
		return HAM_IGNORED
	

	if(g_GameMode == 10)
	{
		if(cs_get_user_team(attacker) == CS_TEAM_CT && cs_get_user_team(victim) == CS_TEAM_T)
		{
			if(!tagday[victim] && !szPlayerCaught[victim])
			{
				set_pev(victim, pev_flags, pev(victim, pev_flags) | FL_FROZEN)
				set_user_rendering(victim, kRenderFxGlowShell, 0, 206, 209, kRenderNormal, 25)
				szPlayerCaught[victim] = true
				set_user_godmode(victim, 1)
				szPlayerTime[victim] = 20
				set_task(1.0, "TouchKill", victim)
				++szHelpNum

				new ent = create_entity( "info_target" )
				new Float: iOrigin[ 3 ]
				entity_get_vector( victim, EV_VEC_origin, iOrigin )
	
				set_pev( ent, pev_body, 1 )
				entity_set_model( ent, "models/jb_models/_icecube.mdl" )
			
				iOrigin[ 2 ] -= 35;
				entity_set_origin( ent, iOrigin )
	
				set_pev( ent, pev_owner, victim );
				set_rendering( ent, kRenderFxNone, 255, 255, 255, kRenderTransAdd, 255 )
		
				entity_set_string( ent, EV_SZ_classname, CLASSNAME_ICE )
				entity_set_int( ent, EV_INT_solid, 2 )
	
				new Float: iOriginNew[ 3 ]
				entity_get_vector( victim, EV_VEC_origin, iOriginNew )
			}
			set_user_health(victim, 100)
		}
		else if(szPlayerCaught[victim] && cs_get_user_team(attacker) == CS_TEAM_T && cs_get_user_team(victim) == CS_TEAM_T)
		{
			szPlayerCaught[victim] = false
			set_user_godmode(victim, 0)
			remove_task(victim)
			szPlayerTime[victim] = 0  
			
			new szHealth
			szHealth = 25
			set_user_health(victim, get_user_health(victim) - szHealth)
			set_user_health(victim, get_user_health(attacker) + szHealth)
			_RemoveEntity(victim)
		
			set_user_rendering(victim, kRenderFxGlowShell, 0, 0, 0, kRenderNormal, 25)
			set_pev(victim, pev_flags, pev(victim, pev_flags) & ~FL_FROZEN)
			
			tagday[victim] = true
			set_task(2.0, "tagday_end", victim + 22838)
		}
	}
	
	return HAM_IGNORED
}

public Timer()
{
	
	new szPlayers[32]
	new szNum, szPlayer
	
	get_players(szPlayers, szNum)
	for(new i; i < szNum; i++)
	{
		szPlayer = szPlayers[i]
		if(!is_user_alive(szPlayer) || !is_user_connected(szPlayer))
			continue
		
		if(g_GameMode == 10)
		{
			if(cs_get_user_team(szPlayer) == CS_TEAM_CT)
			{
				szPlayerCT[szPlayer] = false
				
				set_pev(szPlayer, pev_flags, pev(szPlayer, pev_flags) & ~FL_FROZEN)
				
				new Float:szSpeed
				szSpeed = 420.0
				set_user_maxspeed(szPlayer, szSpeed)
				
				new Float:szGravity
				szGravity = 0.3
				set_user_gravity(szPlayer, szGravity)
			}
		}
	}
}

public tagday_end(taskid)
{
	
	new Touched = taskid - 22838
	if(tagday[Touched]) tagday[Touched] = false
	remove_task(Touched + 22838)
}

public TouchKill(id)
{
	if(szPlayerCaught[id] && szPlayerTime[id] > 0)
	{
		--szPlayerTime[id]
		set_task(1.0, "TouchKill", id)
	}
	else
	{
		set_pev(id, pev_flags, pev(id, pev_flags) & ~FL_FROZEN)
		user_kill(id)
	}
}

public PrisoneInformer(id)
{
	
	if(szHelpNum > 0 && g_GameMode == 10)
	{
		szHelpNum = 0
		
		static n
		new szText[512], szFormat[512]
		
		n = 0
		n = strlen(szText)
		
		new szPlayers[32]
		new szNum, szPlayer
		
		get_players(szPlayers, szNum)
		for(new i; i < szNum; i++)
		{
			szPlayer = szPlayers[i]
			if(szPlayerCaught[szPlayer])
			{
				if(szPlayerTime[szPlayer] >= 1)
				{
					new szName[32]
					get_user_name(szPlayer, szName, charsmax( szName ))
					
					n += copy(szText[n], charsmax( szText ) - n, "^n^t")
					
					formatex(szFormat, charsmax( szFormat ), "  %s [%i]", szName, szPlayerTime[szPlayer])
					n += copy(szText[n], charsmax( szText ) - n, szFormat)
					
					++szHelpNum
				}
			}
		}
		
		set_hudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), 0.0, 0.6, 0, 6.0, 1.0)
		ShowSyncHudMsg(0, CreateHudSyncObj(), "Inghetati:  [%d] ^n%s", szHelpNum, szText)
	}
}

public _RemoveEntity( id ) {
	if( !is_user_connected(id) )
		return
		
	new iEnt = find_ent_by_owner( 0, CLASSNAME_ICE, id );
	
	if( pev_valid(iEnt) )
		remove_entity( iEnt )
}

public cmd_voicemenu(id)
{
new Buffer[512]
formatex(Buffer, charsmax(Buffer), "Voice Manager")
new i_Menu = menu_create(Buffer, "cmd_voicemenu_handler")

new s_Players[32], i_Num, i_Player
new s_Name[32], s_Player[10]

get_players(s_Players, i_Num)

for (new i; i < i_Num; i++)
{
	i_Player = s_Players[i]
	
	if(is_user_alive(i_Player) && id != i_Player && get_user_team(i_Player) == 1)
	{
		get_user_name(i_Player, s_Name, charsmax(s_Name))
		num_to_str(i_Player, s_Player, charsmax(s_Player))
		
		if(get_bit(g_PlayerVoice, i_Player))
			formatex(Buffer, charsmax(Buffer), "%s \y[ Scoate Voice ]", s_Name)
		else
			formatex(Buffer, charsmax(Buffer), "%s \y[ Ofera Voice ]", s_Name)
		menu_additem(i_Menu, Buffer, s_Player, 0)
	}
}

menu_display(id, i_Menu, 0)
return PLUGIN_HANDLED
}

public cmd_voicemenu_handler(id, i_Menu, item)
{
if(item == MENU_EXIT)
{
	menu_destroy(i_Menu)
	return PLUGIN_HANDLED
}

new s_Data[6], s_Name[64], i_Access, i_Callback
menu_item_getinfo(i_Menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

new i_Player = str_to_num(s_Data)

new name[32], name_player[32]
get_user_name(id, name, charsmax(name))
get_user_name(i_Player, name_player, charsmax(name_player))

if(id != i_Player)
{
	if(get_bit(g_PlayerVoice, i_Player))
	{
		chatcolor(0, "!g[VoiceMenu] !g%s !yi-a luat !gVocea !tlui !g%s .", name, name_player)
		clear_bit(g_PlayerVoice, i_Player)
		cmd_voicemenu(id)
	}
	else
	{
		chatcolor(0, "!g[VoiceMenu] !g%s !yi-a dat !gVoce !tlui !g%s .", name, name_player)
		set_bit(g_PlayerVoice, i_Player)
		cmd_voicemenu(id)
	}
}
return PLUGIN_HANDLED
}

public block_FITH_audio(msg_id, msg_dest, entity)
{
	if(g_GameMode && get_msg_args() == 3)
	{
		if(get_msg_argtype(2) == ARG_STRING)
		{
			new value2[64];
			get_msg_arg_string(2 ,value2 ,63);
			if(equal(value2 ,"%!MRAD_FIREINHOLE"))
			{
				return PLUGIN_HANDLED;
			}
		}
	}
	return PLUGIN_CONTINUE;
}

public cmd_showip(id, level, cid)
{
	if(!cmd_access(id, level, cid, 1))
		return PLUGIN_HANDLED;
	
	console_print(id, "Lista jucatorilor.")
	console_print(id, "NUME    |    IP    |  STEAM    |  USERID");
	static name[32], ip[33], steamid[33], userid;
	for(new i = 1; i <= get_maxplayers(); i++)
	{
		if(!is_user_connected(i))
			continue;
		get_user_name(i, name, charsmax(name));
		get_user_ip(i, ip, charsmax(ip), 1); // fara port, daca vrei portul dupa 31, pui inloc de 1 valoarea 0.
		get_user_authid(i, steamid, charsmax(steamid));
		if(steamid[7] != ':')
			formatex(steamid, charsmax(steamid), "Non-Steam");
		userid = get_user_userid(i);
		console_print(id, "=================================");
		console_print(id, "[ %s ] - [ %s ] - [ %s ] - [ #%d ]", name, ip, steamid, userid);
	}
	console_print(id, "=================================");
	return PLUGIN_HANDLED;
}

public cmd_wpn(id, level, cid)
{
	if(g_organizator[id])
	{
       new szTarget[32], szWpn[24], szAmmo[4];
       read_argv(1, szTarget, charsmax(szTarget))
       read_argv(2, szWpn, 23)
       read_argv(3, szAmmo, 3)
       new player = cmd_target(id, szTarget, ~CMDTARGET_OBEY_IMMUNITY)
       format(szWpn, charsmax(szWpn), "weapon_%s", szWpn)
       strtolower(szWpn)
       if(!player || !get_weaponid(szWpn)) return 1;
	   player_strip_weapons(player);
       give_item(player, szWpn)
       cs_set_user_bpammo(id,get_weaponid(szWpn),str_to_num(szAmmo))
	}
       return 1;
} 

public set_crowbar_player(id)
{
	g_Had_Crowbar[id] = 1
	g_Stab[id] = 1
	if(get_user_weapon(id) == CSW_KNIFE)
	{
		set_pev(id, pev_viewmodel2, "models/jb_models/v_crowbarcraft.mdl")
		set_pev(id, pev_weaponmodel2, "models/jb_models/p_crowbarcraft.mdl")
		
		Set_WeaponAnim(id, 3)
		set_pdata_float(id, 83, 0.75, 5)
		} else {
		engclient_cmd(id, "weapon_knife")
	}
}


public Remove_Crowbar(id) g_Had_Crowbar[id] = g_Stab[id] = 0

public fw_Item_Deploy_PostRanga(Ent)
{
	
	if(g_PlayerCrowbar) {
		if(pev_valid(Ent) != 2)
			return
		static Id; Id = get_pdata_cbase(Ent, 41, 4)
		if(get_pdata_cbase(Id, 373) != Ent)
			return
		if(!g_Had_Crowbar[Id])
			return
		
		set_pev(Id, pev_viewmodel2, "models/jb_models/v_crowbarcraft.mdl")
		set_pev(Id, pev_weaponmodel2, "models/jb_models/p_crowbarcraft.mdl")
	}
}

public fw_CmdStartRanga(id, uc_handle, seed)
{
	if(g_PlayerCrowbar) {
		if(!is_user_alive(id))
			return
		
		static Button; Button = get_uc(uc_handle, UC_Buttons)
		if(Button & IN_ATTACK) g_Stab[id] = 0
		if(Button & IN_ATTACK2) g_Stab[id] = 1
	}
}

public fw_EmitSoundRanga(id, channel, const sample[], Float:volume, Float:attn, flags, pitch)
{
	
	if(g_PlayerCrowbar) {
		if(!is_user_connected(id))
			return FMRES_IGNORED
		if(!g_Had_Crowbar[id])
			return FMRES_IGNORED
		
		if(sample[8] == 'k' && sample[9] == 'n' && sample[10] == 'i')
		{
			if(sample[14] == 's' && sample[15] == 'l' && sample[16] == 'a')
			{
				emit_sound(id, channel, WeaponSoundss[random_num(1, 2)], volume, attn, flags, pitch)
				set_pdata_float(id, 83, 0.5, 5)
				
				return FMRES_SUPERCEDE
			}
			if (sample[14] == 'h' && sample[15] == 'i' && sample[16] == 't')
			{
				if (sample[17] == 'w') // wall
				{
					if(g_Stab[id]) emit_sound(id, channel, WeaponSoundss[3], volume, attn, flags, pitch)
					else {
						emit_sound(id, channel, WeaponSoundss[5], volume, attn, flags, pitch)
						set_pdata_float(id, 83, 0.5, 5)
					}
					
					return FMRES_SUPERCEDE
					} else {
					emit_sound(id, channel, WeaponSoundss[6], volume, attn, flags, pitch)
					set_pdata_float(id, 83, 0.5, 5)
					
					return FMRES_SUPERCEDE
				}
			}
			if (sample[14] == 's' && sample[15] == 't' && sample[16] == 'a')
			{
				emit_sound(id, channel, WeaponSoundss[3], volume, attn, flags, pitch)
				return FMRES_SUPERCEDE;
			}
		}
	}
	return FMRES_IGNORED
	
}

public OnSniperSecondaryAttack( const weapon )
{
    if(g_GameMode == 6)
    {
        ExecuteHam( Ham_Weapon_PrimaryAttack, weapon );
        return HAM_SUPERCEDE;
    }
 
    return HAM_IGNORED;
} 

public Player_TakeDamage(victim, inflicator, attacker, Float:damage, damage_type, bitsDamage)
{
	if (!is_user(attacker) || !is_user(victim))
		return;
	
	if(get_user_weapon(attacker) != CSW_KNIFE)
		return;
	
	if(pev(attacker, pev_button) & IN_ATTACK && u_knife[attacker] == 3)
	{
		user_slap(victim,0,0)
		user_slap(victim,0,0)
		user_slap(victim,0,0)
		user_slap(victim,0,0)
	}
	else if(pev(attacker, pev_button) & IN_ATTACK2 && u_knife[attacker] == 3)
	{
		user_slap(victim,0,0)
		user_slap(victim,0,0)
		user_slap(victim,0,0)
		user_slap(victim,0,0)
		user_slap(victim,0,0)
		user_slap(victim,0,0)
	}
	
	if(pev(attacker, pev_button) & IN_ATTACK && u_knife[attacker] == 1)
	{
		if(cs_get_user_team(attacker) == cs_get_user_team(victim))
			return;
		
		knifespeed[victim] = victim
		set_user_maxspeed(knifespeed[victim], 1.0)
		set_task(3.0, "speeds", knifespeed[victim]);
		client_cmd(0, "spk jb_sounds/VipSounds/strong/frostnova.wav")
		new origin[3];
		get_user_origin(knifespeed[victim], origin);
		create_explosion(origin);
	}
	else if(pev(attacker, pev_button) & IN_ATTACK2 && u_knife[attacker] == 1)
	{ 
		if(cs_get_user_team(attacker) == cs_get_user_team(victim))
			return;
		
		knifespeed[victim] = victim
		set_user_maxspeed(knifespeed[victim], 1.0)
		set_task(3.0, "speeds", knifespeed[victim]);
		client_cmd(0, "spk jb_sounds/VipSounds/strong/frostnova.wav")
	}
	
	if(pev(attacker, pev_button) & IN_ATTACK && u_knife[attacker] == 4)
	{
		if(cs_get_user_team(attacker) == cs_get_user_team(victim))
			return;
		
		new vorigin[ 3 ];
		get_user_origin( victim, vorigin );
		Blood( vorigin );
	}
	else if(pev(attacker, pev_button) & IN_ATTACK2 && u_knife[attacker] == 4)
	{ 
		if(cs_get_user_team(attacker) == cs_get_user_team(victim))
			return;
		
		new vorigin[ 3 ];
		get_user_origin( victim, vorigin );
		Blood( vorigin );
	}
}

stock Set_WeaponAnim(id, anim)
{ 
	if(g_PlayerCrowbar) 
	{
		set_pev(id, pev_weaponanim, anim)

		message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, {0, 0, 0}, id)
		write_byte(anim)
		write_byte(pev(id, pev_body))
		message_end()
	}
}


Imagini:
Image
User avatar
CyBer[N]eTicK
Membru, skill 0
Membru, skill 0
Posts: 2
Joined: Sat Jun 26, 2021 8:34 pm
Status: Help | Force
Detinator Steam: Da
SteamID: STEAM_0:1:215915520
Gaming experience: Bun
Location: LocalHost
Been thanked: 2 times
Contact:

Re: Plugin JailBreak Mode

Post by CyBer[N]eTicK »

Fain
Post Reply

Return to “Pluginuri”