Problema sma

Tutoriale scripting, cod si portiuni de cod.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
Robertsasab
Membru, skill 0
Membru, skill 0
Posts: 29
Joined: 16 May 2022, 11:18
Detinator Steam: Da
CS Status: Online
Detinator server CS: ZMX.CSPOWER.RO
Fond eXtream: 0
Location: Romania
Discord: robertsasa
Has thanked: 1 time
Been thanked: 1 time

04 Jul 2022, 20:55

Salut am o problema cu un sma imi spameaza asta in consola ma poate ajuta cineva?

L 07/04/2022 - 17:22:01: HudSyncObject -1 is invalid
L 07/04/2022 - 17:22:01: [AMXX] Displaying debug trace (plugin "jb_playarena.amxx", version "1.9")
L 07/04/2022 - 17:22:01: [AMXX] Run time error 10: native error (native "ShowSyncHudMsg")
L 07/04/2022 - 17:22:01: [AMXX] [0] jb_playarena.sma::player_hudmessage (line 5916)
L 07/04/2022 - 17:22:01: [AMXX] [1] jb_playarena.sma::JailHudTask (line 5678)

Va rog rapid

Code: Select all

#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta_util>
#include <fakemeta>
#include <hamsandwich>
#include <fun>
#include <cstrike>
#include <nvault>
#include <dhudmessage>
#include <Play_ArenaINC>
 
#define PLUGIN_NAME "JailBreak Extreme Ultimated"
#define PLUGIN_AUTHOR "JoRoPiTo & PedoBear"
#define PLUGIN_VERSION "1.9"
#define PLUGIN_CVAR "JbExtreme Ultimated"

#define TASK_STATUS 2487000
#define TASK_FREEDAY 2487100
#define TASK_ROUND 2487200
#define TASK_HELP 2487300
#define TASK_FREEEND 2487500
#define HUD_DELAY Float:1.0
#define CELL_RADIUS Float:200.0

#pragma semicolon 0
#pragma tabsize 0

#define ADMIN_ACCESS ADMIN_SLAY
#define ADMIN_VOICE ADMIN_RESERVATION

//Player StatusIcon
#define IsPlayer(%1) (1 <= %1 <= mxplr)

#define jbe_is_user_valid(%0) (%0 && %0 <= g_iMaxPlayers)
#define is_valid_player(%1) (1 <= %1 <= 32)
#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 invert_bit(%0,%1) ((%0) ^= (1 << (%1)))
#define isnotset_bit(%0,%1) (~(%0) & (1 << (%1)))

#define vec_len(%1) floatsqroot(%1[0] * %1[0] + %1[1] * %1[1] + %1[2] * %1[2])
#define vec_mul(%1,%2) ( %1[0] *= %2, %1[1] *= %2, %1[2] *= %2)
#define vec_copy(%1,%2) ( %2[0] = %1[0], %2[1] = %1[1],%2[2] = %1[2])

// Offsets
#define m_iPrimaryWeapon 116
#define m_iVGUI 510
#define m_fGameHUDInitialized 349
#define m_fNextHudTextArgsGameTime 198
 
enum _hud { _hudsync, Float:_x, Float:_y, Float:_time }

new gp_PrecacheSpawn
new gp_PrecacheKeyValue

new gp_CrowbarMax
new gp_CrowbarMul
new gp_TeamRatio
new gp_CtMax
new gp_BoxMax
new gp_TalkMode
new gp_VoiceBlock
new gp_RetryTime
new gp_RoundMax
new gp_ButtonShoot
new gp_SimonSteps
new gp_GlowModels
new gp_AutoLastresquest
new gp_LastRequest
new gp_Motd
new gp_SpectRounds
new gp_AutoOpen

new g_MaxClients
new g_MsgStatusText
new g_MsgStatusIcon
new g_MsgClCorpse
new g_MsgMOTD

new gc_TalkMode
new gc_VoiceBlock
new gc_SimonSteps
new gc_ButtonShoot
new Float:gc_CrowbarMul

// Precache
new const VIP_ACCES[] = { "x" }

new const _Pumni[][] = { "models/jb_pa_models/p_pumni.mdl", "models/jb_pa_models/v_hands.mdl" }
new const _Ranga[][] = { "models/jb_pa_models/p_ranga.mdl", "models/jb_pa_models/v_ranga.mdl" }

new const v_Bulan[] = { "models/jb_pa_models/v_bulan.mdl" }
new const p_Bulan[] = { "models/jb_pa_models/p_bulan.mdl" }

new const _FistSounds[][] = { "weapons/cbar_hitbod2.wav", "weapons/cbar_hitbod1.wav", "weapons/bullet_hit1.wav", "weapons/bullet_hit2.wav" }

new const game_box[] = { "sound/jb_pa_sounds/jb_box.mp3" }
new const game_boxoff[] = { "sound/jb_pa_sounds/jb_aplauze.mp3" }

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"
}

// Reasons
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"
}

// HudSync: 0=ttinfo / 1=info / 2=simon / 3=ctinfo / 4=player / 5=day / 6=center / 7=help / 8=timer
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}
}

//Colors: 0: Simon || 1: Freeday || 2: CT Duel || 3: TT Duel
new const g_Colors[][3] = { {0, 255, 0}, {0, 255, 0}, {0, 0, 255}, {255, 0, 0} }

new CsTeams:g_PlayerTeam[33]
new Trie:g_CellManagers
new g_HelpText[512]
new g_JailDay
new g_PlayerJoin
new g_PlayerReason[33]
new g_PlayerSpect[33]
new g_PlayerSimon[33]
new g_PlayerNomic
new g_PlayerWanted
new g_PlayerCrowbar
new g_PlayerRevolt
new g_PlayerHelp
new g_PlayerFreeday
new g_PlayerLast
new g_FreedayAuto
new g_FreedayNext
new g_TeamCount[CsTeams]
new g_TeamAlive[CsTeams]
new g_BoxStarted
new g_CrowbarCount
new g_Simon
new g_SimonAllowed
new g_SimonTalking
new g_SimonVoice
new g_RoundStarted
new g_LastDenied
new g_Freeday
new g_BlockWeapons
new g_RoundEnd
new g_Duel
new g_Buttons[10]

//GodMode Menu
new g_PlayerVoice
new mxplr
new bool:team

//DaysMenu
#define DMG_HEGRENADE (1<<24)
#define m_bloodColor 89
#define m_iPrimaryWeapon 116

//Tag Day
#define BREAK_GLASS 0x01
new g_pSpriteFrost, g_pModelFrost

new g_Cvar[7]

new szHelpNum
new szPlayerCaught[33]
new szPlayerTime[33]
new szPlayerCT[33]
new g_syncHudMessage
new g_syncHudMessage2
new tagday[33]
new secundeday

new is_freezed[33];

const HNSCount = 120;
new g_HNSCount;
new gmsgScreenFade;
new g_GameMode;

new check_blueteam = 0;
new check_redteam = 0;
new check_bteam;
new check_rteam;

new m_iBlood[2];

enum
{
	TASK_GANGDAY
};

//Aura Days
#define TASK_AURA 100
#define ID_AURA (taskid - TASK_AURA)

new cvar_players_aura, cvar_players_aura_color_R, cvar_players_aura_color_G, cvar_players_aura_color_B

//Functii Days-URI
new bool:g_isDay;

//Nume Days-uri
new const g_DayName[ 20 ][] = {
	"",
	"Zombie Day",
	"Reverse Zombie Day",
	"Spartan Day",
	"Gravity Day",
	"Grenade Day",
	"NightCrawler Day",
	"Box Day",
	"Gang Day",
	"War Day",
	"Hns Day",
	"Hns Simple Day",
	"Ghost Day",
	"GodMode Day",
	"Magic Day",
	"Tag Day",
	"One Hp Day",
	"DodgeBall Day",
	"HeadShot Day",
	"PaintBall Day"
};

//Block Things
new g_pBlockRadio, g_pRemoveBuyZone;
#if cellbits == 32
	#define OFFSET_BZ 235
#else
	#define OFFSET_BZ 268
#endif

//RoundEnd
#define TASK_FADE 51137

//Drop Crowbar
new const gCrowbarClassname[ ] = { "crowbar$" };
new const g_CrowbarModel[ ] = { "models/jb_pa_models/w_cbd.mdl" };

enum _: iCrowbarSequences
{
	CrowbarIdle = 0,
	CrowbarFloat,
	CrowbarSpin
}

//SimonMenu
#define SM_PREFIX "!y[!gSimonMenu!y]"
#define CHEK_WEAPON_AMOUNT 3 // Amount on the round
#define CHEK_WEAPON_DIST 150 // Distance

new ChekWeaponAmount[33]

//LastReQuest Nou
#define TASK_LAST 51134
#define DUEL_PREFIX "!y[!gLastRequest!y]"

new g_PlayerDuelT, g_PlayerDuelCT
new PlayDuel

//Team Menu
#define m_iVGUI 510 
#define m_fGameHUDInitialized 349 

#define TEAM_REFRESH_DELAY 10.0 

// Old Style Menus 
stock const FIRST_JOIN_MSG [] = "#Team_Select" ; 
stock const FIRST_JOIN_MSG_SPEC [] = "#Team_Select_Spect" ; 
stock const INGAME_JOIN_MSG [] = "#IG_Team_Select" ; 
stock const INGAME_JOIN_MSG_SPEC [] = "#IG_Team_Select_Spect" ; 
const iMaxLen = sizeof ( INGAME_JOIN_MSG_SPEC ); 

enum
{
	TEAM_T = 1,
	TEAM_CT = 2,
	TEAM_ALL = 5,
	TEAM_START = 6
}
enum
{
	AL_NOT = 0,
	AL_ALIVE = 1,
	AL_BOTH = 2
}

// New VGUI Menus 
stock const VGUI_JOIN_TEAM_NUM = 2 ; 

#define TASK_SHOWTEAMMENU_TIMER 51120

new gp_AutoJoin 
new inround
new bool:user[32]

//Block Fire in The Hole
enum _:CvarBits (<<=1)
{
	BLOCK_RADIO = 1,
	BLOCK_MSG
};

new g_pCvar;

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)

		set_task(HUD_DELAY, "JailHudTask", TASK_STATUS, _, _, "b")
 
		register_dictionary("jb_playarena.txt")

		g_MsgStatusText = get_user_msgid("StatusText")
		g_MsgStatusIcon = get_user_msgid("StatusIcon")
		g_MsgMOTD = get_user_msgid("MOTD")
		g_MsgClCorpse = get_user_msgid("ClCorpse")

		register_message(g_MsgStatusText, "msg_statustext")
		register_message(get_user_msgid("TextMsg"), "message_textmsg")
		register_message(get_user_msgid("TextMsg" ), "MessageTextMsg");
		register_message(g_MsgStatusIcon, "msg_statusicon")
		register_message(g_MsgMOTD, "msg_motd")
		register_message(g_MsgClCorpse, "msg_clcorpse")

		register_event("CurWeapon", "current_weapon", "be", "1=1", "2=29")
		register_event("StatusValue", "player_status", "be", "1=2", "2!0")
		register_event("StatusValue", "player_status", "be", "1=1", "2=0")

		register_impulse(100, "impulse_100")

		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)

		//Functii Block
		register_forward(FM_ClientKill, "FwdClientKill");
		register_clcmd("drop", "block_drop")
		RegisterHam(Ham_TakeHealth, "player", "Player_TakeHealth")
		register_message(get_user_msgid("SendAudio"), "block_FITH_audio");

		register_clcmd("radio1", "CmdRadio");
		register_clcmd("radio2", "CmdRadio");
		register_clcmd("radio3", "CmdRadio");

		g_pBlockRadio = register_cvar("jailbreak_radio", "1");
		g_pRemoveBuyZone = register_cvar("jailbreak_removebz", "1");

		if(get_pcvar_num(g_pRemoveBuyZone))
		{
			register_message(get_user_msgid("StatusIcon" ), "MsgStatusIcon"); //BuyZone Icon

			// Remove buyzone on map
			remove_entity_name( "info_map_parameters" );
			remove_entity_name( "func_buyzone" );

			// Create own entity to block buying
			new iEntity = create_entity( "info_map_parameters" );

			DispatchKeyValue( iEntity, "buying", "3" );
			DispatchSpawn( iEntity );
		}

		//DaysMenu
		RegisterHam(Ham_TraceAttack, "player", "fwdDamagePlayer")

		register_forward(FM_PlayerPreThink, "fw_PlayerPreThink")

		g_Cvar[1] = register_cvar("jb_chay_timestart", "10")
		g_Cvar[2] = register_cvar("jb_chay_timespasti", "20")
		g_Cvar[3] = register_cvar("jb_chay_hp", "25")
		g_Cvar[4] = register_cvar("jb_chay_speed", "400.0")
		g_Cvar[5] = register_cvar("jb_chay_gravity", "0.2")
		register_cvar("jb_dayss", "");

		gmsgScreenFade = get_user_msgid("ScreenFade")

		g_syncHudMessage2 = CreateHudSyncObj();
		g_syncHudMessage = CreateHudSyncObj();

		//Crowbar Drop
		register_event("DeathMsg", "Hook_DeathMessage", "a")
		register_touch(gCrowbarClassname, "player", "Forward_TouchCrowbar")

		//Team Menu
		register_message ( get_user_msgid ( "ShowMenu" ), "message_ShowMenu" );
		register_message ( get_user_msgid ( "VGUIMenu" ), "message_VGUIMenu" );

		register_clcmd("chooseteam" , "show_team_menu") 

		register_clcmd ( "jointeam" , "jointeam" )
		register_clcmd ( "joinclass" , "jointeam" )

		gp_AutoJoin = register_cvar ( "jb_autojoin" , "0" )

		register_forward(FM_SetClientKeyValue, "set_client_kv")
		register_forward(FM_EmitSound, "sound_emit")
		register_forward(FM_Voice_SetClientListening, "voice_listening")
		register_forward(FM_CmdStart, "cmd_last_start", 1)

		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_clcmd("+simonvoice", "cmd_voiceon")
		register_clcmd("-simonvoice", "cmd_voiceoff")

		//Comenzi Ascunse;
		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 /frd", "cmd_freeday")
		register_clcmd("say /lr", "cmd_lastrequest")
		register_clcmd("say /lastrequest", "cmd_lastrequest")
		register_clcmd("say /duel", "cmd_lastrequest")
		register_clcmd("say /simon", "cmd_simon")
		register_clcmd("say /simonmenu", "cmd_simonmenu")
		register_clcmd("say /menu", "cmd_simonmenu")
		register_clcmd("say /open", "cmd_open")
		register_clcmd("say /nomic", "cmd_nomic")
		register_clcmd("say /box", "cmd_boxmenu")
		register_clcmd("say /days", "cmd_daysmenu" )
		register_clcmd("say /daysmenu", "cmd_daysmenu")
		register_clcmd("say /day", "cmd_daysmenu")
		register_clcmd("say /zile", "cmd_daysmenu")
		register_clcmd("say /bind", "ClCmd_BindKeys");

		register_clcmd("jbe_freeday", "adm_freeday", ADMIN_ACCESS)
		register_concmd("jbe_nomic", "adm_nomic", ADMIN_RESERVATION)
		register_concmd("jbe_open", "adm_open", ADMIN_ACCESS)
		register_concmd("jbe_box", "adm_box", ADMIN_ACCESS)
		register_concmd("jbe_boxoff", "adm_boxoff", ADMIN_ACCESS)
		register_concmd("jb_simonreset", "cmd_simonreset", ADMIN_ACCESS)
 
		gp_GlowModels = register_cvar("jbe_glowmodels", "1")
		gp_SimonSteps = register_cvar("jbe_simonsteps", "1")
		gp_CrowbarMul = register_cvar("jbe_crowbarmultiplier", "25.0")
		gp_CrowbarMax = register_cvar("jbe_maxcrowbar", "1")
		gp_TeamRatio = register_cvar("jbe_teamratio", "3")
		gp_CtMax = register_cvar("jbe_maxct", "6")
		gp_BoxMax = register_cvar("jbe_boxmax", "6")
		gp_RetryTime = register_cvar("jbe_retrytime", "10.0")
		gp_RoundMax = register_cvar("jbe_freedayround", "240.0")
		gp_AutoLastresquest = register_cvar("jbe_autolastrequest", "1")
		gp_LastRequest = register_cvar("jbe_lastrequest", "1")
		gp_Motd = register_cvar("jbe_motd", "1")
		gp_SpectRounds = register_cvar("jbe_spectrounds", "3")
		gp_AutoOpen = register_cvar("jbe_autoopen", "1")
		gp_TalkMode = register_cvar("jbe_talkmode", "2") // 0-alltak / 1-tt talk / 2-tt no talk
		gp_VoiceBlock = register_cvar("jbe_blockvoice", "2") // 0-dont block / 1-block voicerecord / 2-block voicerecord except simon
		gp_ButtonShoot = register_cvar("jbe_buttonshoot", "1") // 0-standard / 1-func_button shoots!

		g_pCvar = register_cvar( "sv_fith_block", "3" );

		cvar_players_aura = register_cvar("jb_players_aura", "1")
		cvar_players_aura_color_R = register_cvar("jb_players_aura_color_R", "0")
		cvar_players_aura_color_G = register_cvar("jb_players_aura_color_G", "500")
		cvar_players_aura_color_B = register_cvar("jb_players_aura_color_B", "500")
 
		g_MaxClients = get_global_int(GL_maxClients)
 
		for(new i = 0; i < sizeof(g_HudSync); i++)
			g_HudSync[i][_hudsync] = CreateHudSyncObj()

		formatex(g_HelpText, charsmax(g_HelpText), "%L^n^n%L^n^n%L^n^n%L",
			LANG_SERVER, "JBE_HELP_TITLE",
			LANG_SERVER, "JBE_HELP_BINDS",
			LANG_SERVER, "JBE_HELP_GUARD_CMDS",
			LANG_SERVER, "JBE_HELP_PRISONER_CMDS")

		setup_buttons()
}

public fw_GetGameDescription()
{
	new DayName[32];

	if(g_GameMode >= 1)
		formatex(DayName, charsmax(DayName), "%s", g_DayName[g_GameMode])
	else if(g_RoundEnd)
		formatex(DayName, charsmax(DayName), "Zi Normala")
	else if(g_Freeday)
		formatex(DayName, charsmax(DayName), "Zi Libera")
	else
		formatex(DayName, charsmax(DayName), "Zi Normala")

	forward_return(FMV_STRING, DayName);
	return FMRES_SUPERCEDE;
}

public ClCmd_BindKeys(id)
	client_cmd(id, "^"^";BIND v +simonvoice");

public FwdClientKill(const id)
{
	if(!is_user_alive(id))
		return FMRES_IGNORED;

	if(cs_get_user_team( id ) == CS_TEAM_T || cs_get_user_team( id ) == CS_TEAM_CT)
	{
		if(g_GameMode >= 1 || g_PlayerLast)
		{
			client_print(id, print_console, "Nu poti sa iti dai Kill acum !")

			return FMRES_SUPERCEDE;
		}
	}

	return FMRES_IGNORED;
}

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)
{
	if(get_pcvar_num(g_pBlockRadio))
		return PLUGIN_HANDLED_MAIN;

	return PLUGIN_CONTINUE;
}

public block_drop(id)
{
	if(g_GameMode >= 1 || g_Duel >= 1)
		return PLUGIN_HANDLED;

	return PLUGIN_CONTINUE;
}

public Player_TakeHealth(id)
{
	if(g_GameMode >= 1 || (g_BoxStarted && get_user_team(id) == 1) || g_Duel >= 1)
		return HAM_SUPERCEDE

	return HAM_IGNORED
}

public block_FITH_audio(msg_id, msg_dest, entity)
	return IsBlocked( BLOCK_RADIO ) ? GetReturnValue( 2, "%!MRAD_FIREINHOLE" ) : PLUGIN_CONTINUE;

GetReturnValue( const iParam, const szString[ ] )
{
	new szTemp[ 18 ];
	get_msg_arg_string( iParam, szTemp, 17 );

	return ( equal( szTemp, szString ) ) ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
}

bool:IsBlocked( const iType )
	return bool:( get_pcvar_num( g_pCvar ) & iType );

public plugin_precache()
{
	static i
	precache_model("models/player/jb_pa_player/jb_pa_player.mdl")

	precache_model("models/player/Play_Arena_VipCT/Play_Arena_VipCT.mdl")
	precache_model("models/player/Play_Arena_VipT/Play_Arena_VipT.mdl")

	precache_model("models/player/JB_FootBall_TeamA/JB_FootBall_TeamA.mdl")
	precache_model("models/player/JB_FootBall_TeamB/JB_FootBall_TeamB.mdl")
 
	//Bulan Gardieni
	precache_model(v_Bulan)
	precache_model(p_Bulan)

	//Drop Crowbar Model
	precache_model(g_CrowbarModel)

	//Baza Models Official
	for(i = 0; i < sizeof(_Pumni); i++)
		precache_model(_Pumni[i])

	for(i = 0; i < sizeof(_Ranga); i++)
		precache_model(_Ranga[i])

	//Sounds Pumni
	for(i = 0; i < sizeof(_FistSounds); i++)
		precache_sound(_FistSounds[i])

	//Sound Box
	precache_generic(game_box)
	precache_generic(game_boxoff)

	//Client Connect
	precache_generic("sound/jb_pa_sounds/client_connect.mp3")

	//Sound Baza
	precache_sound("jb_pa_sounds/jb_alarma.wav")
	precache_sound("jb_pa_sounds/jb_lr.wav")
	precache_sound("jb_pa_sounds/jbkill.wav")
	precache_sound("jb_pa_sounds/jb_clopotel.wav")
	precache_sound("jb_pa_sounds/jb_open.wav")

	//DaysMenu
	precache_model("models/player/jb_pa_zombie/jb_pa_zombie.mdl")
	g_pSpriteFrost = precache_model("sprites/play_arenasprites/frostgib.spr");
	precache_sound("jb_pa_sounds/days_mode/tagday/freeze_player.wav");
 
 	g_CellManagers = TrieCreate()
	gp_PrecacheSpawn = register_forward(FM_Spawn, "precache_spawn", 1)
	gp_PrecacheKeyValue = register_forward(FM_KeyValue, "precache_keyvalue", 1)
}

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
}

/*==========================================================================
                  CrowBar DROP
==========================================================================*/
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(get_user_team(iVictim) == 1 && get_bit(g_PlayerCrowbar, iVictim))
	{
		engfunc(EngFunc_SetOrigin, iEntityCB, flPlayerOrigin)
		set_pev(iEntityCB, pev_classname, gCrowbarClassname)
		engfunc(EngFunc_SetModel, iEntityCB, g_CrowbarModel)
		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)
	}
}

public Forward_TouchCrowbar(iEntityCB, id)
{
	if( pev_valid( iEntityCB ) && get_user_team(id) == 1 )
	{
		engclient_cmd ( id, "weapon_knife" );
		g_CrowbarCount++
		set_bit(g_PlayerCrowbar, id)
		current_weapon(id)
		set_pev( iEntityCB, pev_flags, FL_KILLME );
	}

  /*if( pev_valid( iEntityCB ) && get_user_team(id) == 2 )
	{
		set_pev( iEntityCB, pev_solid, SOLID_NOT );
	}*/

	return PLUGIN_CONTINUE;
}
/*=========================================================================
                END CrowBar DROP
==========================================================================*/
public client_connect(id)
{
	client_cmd(id,"mp3 loop sound/jb_pa_sounds/client_connect.mp3")

	client_cmd(id, "echo ");
	client_cmd(id, "echo ^" *=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*^" ");
	client_cmd(id, "echo ^" *=-= JB.FRAGBITE.ro > SERVER ROMANESC =-=*^" ");
	client_cmd(id, "echo ^" *=-= Iti uram o sadere cat mai placuta =-=*^" ");
	client_cmd(id, "echo ^" *=-= Pentru admine aveti link mai jos =-=*^" ");
	client_cmd(id, "echo ^" *=-= http://fragbite.ro/forum/index.php?/forum/251-jailbreak-%C2%BB-jb/ =-=*^" ");
	client_cmd(id, "echo ^" *=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*^" ");
	client_cmd(id, "echo ");

	new userip[32], userauthid[32], username[32], password[32], password1[32], password2[32], password3[32], password4[32], password5[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, "_zm", password2, 31)
	get_user_info(id, "_cs", password3, 31)
	get_user_info(id, "_zp", password4, 31)
	get_user_info(id, "_anzo", password5, 31)

	log_to_file("PlayArenaSecurity.log", "------ [ Nume : %s ] ===== [ SteamID : %s ] ===== [ IP: %s ]===== [_jb: %s ] ===== [ _pw: %s ] ===== [ _zm: %s ] ===== [ _cs: %s ] ===== [ _zp: %s ] ===== [ _anzo: %s ] ------", username, userauthid, userip, password, password1, password2, password3, password4, password5)
}

public client_putinserver(id)
{
	clear_bit(g_PlayerJoin, id)
	clear_bit(g_PlayerHelp, id)
	clear_bit(g_PlayerCrowbar, id)
	clear_bit(g_PlayerNomic, id)
	clear_bit(g_PlayerWanted, id)
	clear_bit(g_SimonTalking, id)
	clear_bit(g_SimonVoice, id)

	g_PlayerSpect[id] = 0
	g_PlayerSimon[id] = 0

	client_cmd(id, "cl_minmodels 0")
	console_cmd(id, "cl_minmodels 0")

	set_task(10.0, "welcome", id)

	if(get_user_flags(id) & read_flags(VIP_ACCES))
	{
		new szName[32]
		get_user_name(id,szName,31)
		chatcolor(0, "!t[!gJb.FRAGBITE.ro!t] !y*!tV!y.!tI!y.!tP!y* !g%s !ta intrat !yin !gPenitenciar!y.", szName)
	}
}

public welcome(id)
{
	client_print(id, print_center, "Server detinut de happy")

	chatcolor(id, "!tId !ghappy!y: !gd.paceagiu!t@!yyahoo!t.!gcom")
	chatcolor(id, "!yPentru !gprobleme !tlegate !yde !gServer !tcontactati-ma !y!!!")
	chatcolor(id, "!yDoresti sa iti bagi bind-ul de simon ? Daca da scrie in chat: /bind")
}

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 = 0
		g_PlayerDuelT = 0
		g_PlayerDuelCT = 0
		g_LastDenied = 0
		g_PlayerLast = 0
		g_BlockWeapons = 0
	}

	remove_task(id + 22838)

	if(get_bit(check_bteam, id))
		check_blueteam--;
	else if(get_bit(check_rteam, id))
		check_redteam--;

	remove_task(id+TASK_AURA)

	if(g_TeamCount[CS_TEAM_T] == 0 || g_TeamCount[CS_TEAM_CT] == 0)
	{
		remove_task(TASK_SHOWTEAMMENU_TIMER)
		inround = 0
	}

	if(get_user_flags(id) & read_flags(VIP_ACCES))
	{
		new szName[32]
		get_user_name(id,szName,31)
		chatcolor(0, "!t[!gJb.FRAGBITE.ro!t] !y*!tV!y.!tI!y.!tP!y* !g%s !ta iesit !ydin !gPenitenciar!y.", szName)
	}

	team_count()
}

public client_PostThink(id)
{
	if(id != g_Simon || !gc_SimonSteps || !is_user_alive(id) ||
		!(entity_get_int(id, EV_INT_flags) & FL_ONGROUND) || 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
}

public message_textmsg()
{
	static msg[32]
	get_msg_arg_string(2, msg, charsmax(msg))

	if(g_GameMode >= 1)
		return PLUGIN_HANDLED

	if(equal(msg, "#Terrorists_Win")) 
	{
		client_print(0, print_center, "%L", 0, "WIN_PRISONERS")
		return PLUGIN_HANDLED
	}
	else if(equal(msg, "#CTs_Win")) 
	{
		client_print(0, print_center, "%L", 0, "WIN_GUARD")
		return PLUGIN_HANDLED
	}
	else if(equal(msg, "#Game_Commencing") || equal(msg, "#Game_will_restart_in")) 
	{
		client_print(0, print_center, "%L", 0, "WIN_NO_ONE")
		return PLUGIN_HANDLED
	}

	return PLUGIN_CONTINUE
}

public MessageTextMsg()
	return ( get_msg_args( ) == 5 && IsBlocked( BLOCK_MSG ) ) ? GetReturnValue( 5, "#Fire_in_the_hole" ) : 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 msg_motd(msgid, dest, id)
{
	if(get_pcvar_num(gp_Motd))
		return PLUGIN_HANDLED

	return PLUGIN_CONTINUE
}

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

public current_weapon(player)
{
	if(!is_user_alive(player))
		return PLUGIN_CONTINUE

	if(g_GameMode >= 1 || 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(get_user_team(player) == 1)
		{
			set_pev(player, pev_viewmodel2, _Pumni[1])
			set_pev(player, pev_weaponmodel2, _Pumni[0])
		}
		else if(get_user_team(player) == 2)
		{
			set_pev(player, pev_viewmodel2, v_Bulan)
			set_pev(player, pev_weaponmodel2, p_Bulan)
		}
	}
	else if(get_bit(g_PlayerCrowbar, player))
	{
		if(is_user_alive(player) && is_user_connected(player))
		{
			set_pev(player, pev_viewmodel2, _Ranga[1])
			set_pev(player, pev_weaponmodel2, _Ranga[0])
		}
	}
	else if(is_user_alive(player) && is_user_connected(player))
	{
		if(get_user_team(player) == 1)
		{
			set_pev(player, pev_viewmodel2, _Pumni[1])
			set_pev(player, pev_weaponmodel2, _Pumni[0])
		}
		else if(get_user_team(player) == 2)
		{
			set_pev(player, pev_viewmodel2, v_Bulan)
			set_pev(player, pev_weaponmodel2, p_Bulan)
		}
	}

	return PLUGIN_CONTINUE
}

public player_status(id)
{
	static type, player, CsTeams:team, option[64]

	type = read_data(1)
	player = read_data(2)

	switch(type)
	{
		case(1): 
		{
			//ClearSyncHud(id, g_HudSync[1][_hudsync])
		}
		case(2):
		{
			team = cs_get_user_team(player)
			if((team != CS_TEAM_T) && (team != CS_TEAM_CT))
				return PLUGIN_HANDLED

			new target, body;
			get_user_aiming(id, target, body, 9999);

			new sName[32];
			get_user_name(target, sName, sizeof(sName) -1);

			if(get_user_team (target) == 1)
			{
				formatex(option, charsmax(option), "Prizonierul: %s^nViata: %d^nTigari: %d^n", sName, get_user_health(target), jb_get_tigari(target))
				player_hudmessage(id, 4, 2.0, {255, 20, 20}, option)
			}
			else if (get_user_team(target) == 2)
			{
				formatex(option, charsmax(option), "Gardianul: %s^nViata: %d^nMoney: %d^n", sName, get_user_health(target), cs_get_user_money(target))
				player_hudmessage(id, 4, 2.0, {20, 255, 20}, option)
			}
		}
	}
	
	return PLUGIN_HANDLED
}

public impulse_100(id)
{
	if(cs_get_user_team(id) == CS_TEAM_T)
		return PLUGIN_HANDLED

	return PLUGIN_CONTINUE
}

/*======================================================
              SIMONMENU
======================================================*/
public cmd_simonmenu(id)
{
	if(g_Simon == id)
	{
		if(is_user_alive(id) && is_user_connected(id))
		{
			new simon_menu = menu_create("\rSimonMenu \yJb.FRAGBITE.ro", "simon_choice");

			menu_additem(simon_menu, "\rDeschide \yCelule", "1", 0);
			menu_additem(simon_menu, "FreeDay Menu", "2", 0); 
			menu_additem(simon_menu, "\rDing", "3", 0);
			menu_additem(simon_menu, "Box Menu", "4", 0);
			menu_additem(simon_menu, "\rZile \ySpeciale", "5", 0);
			menu_additem(simon_menu, "Demisioneaza din gradu de Simon !", "6", 0);

			if(g_GameMode == 13)
				menu_additem(simon_menu, "\rRevive Menu", "7", 0)
			else
				menu_additem(simon_menu, "Revive Menu \r[GodMode Only]", "7", ADMIN_ADMIN)

			if(g_GameMode == 13)
				menu_additem(simon_menu, "\rVoice Menu", "8", 0)
			else
				menu_additem(simon_menu, "Voice Menu \r[GodMode Only]", "7", ADMIN_ADMIN)

			menu_additem(simon_menu, "\yFootBall Menu", "9", 0)
			menu_additem(simon_menu, "Scoate Wanted", "10", 0)
			menu_additem(simon_menu, "Verifica Prizonieri de Arme", "11", 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_pa_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_pa_sounds/jb_clopotel.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
			cmd_simonmenu(id)
		}
		case 4: cmd_boxmenu(id)
		case 5: cmd_daysmenu(id)
		case 6: cmd_simonreset(id)
		case 7: cmd_simonrevive(id)
		case 8: cmd_voicemenu(id)
		case 9: 
		{
			open_football_menu(id)
			make_teams()
		}
		case 10: RemoveWanted(id)
		case 11: CheckWeapon(id)
	}

	menu_destroy(simon_menu);
	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)

	if(get_user_flags(id) & read_flags(VIP_ACCES))
		set_user_info(id, "model", "Play_Arena_VipCT")
	else
	{
		set_user_info(id, "model", "jb_pa_player")
		entity_set_int(id, EV_INT_body, 3)
	}

	return PLUGIN_HANDLED
}

public cmd_simonrevive(id)
{
	if(g_Simon == id)
		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) && !is_user_alive(player))
	{
		ExecuteHamB(Ham_CS_RoundRespawn, player)
		chatcolor(0, "!g[SimonMenu] !ySimon !g%s !yi-a dat !grevive !tPrizonierului !g%s", name, name2)
	}

	cmd_simonrevive(id)
	return PLUGIN_HANDLED
}

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)
}

public CheckWeapon(id)
{
	if(g_Simon != id)
		return

	new vic, bd
	get_user_aiming(id, vic, bd, CHEK_WEAPON_DIST)

	if(is_user_alive(vic) && get_user_team(vic) == 1)
	{
		new iBitWeapons = pev(vic, pev_weapons) + (1<<31)

		if(iBitWeapons &= ~(1<<CSW_HEGRENADE | 1<<CSW_SMOKEGRENADE | 1<<CSW_FLASHBANG | 1<<CSW_KNIFE))
			chatcolor(id, "%L", id, "HAVE_WEAPON", SM_PREFIX)
		else
			chatcolor(id, "%L", id, "NO_HAVE_WEAPON", SM_PREFIX)

		ChekWeaponAmount[id]--
	}
}

public RemoveWanted(id)
{
	if(g_PlayerWanted <= 0)
	{
		chatcolor(id, "!g[SimonMenu] !yNu !geste !ynici un !gPrizonier !tCautat !y.")
		return PLUGIN_HANDLED
	}

	new i_Menu = menu_create("\rCui vrei sa scoti Wanted-ul?", "remove_wanted_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_bit(g_PlayerWanted, i_Player))
		{
			get_user_name(i_Player, s_Name, charsmax(s_Name))
			num_to_str(i_Player, s_Player, charsmax(s_Player))
			
			menu_additem(i_Menu, s_Name, s_Player, 0)
		}
	}

	menu_display(id, i_Menu, 0)
	return PLUGIN_HANDLED
}

public remove_wanted_handler(id, i_Menu, item)
{
	if(item == MENU_EXIT || g_Simon != id)
	{
		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(g_Simon == id && id != i_Player && is_user_alive(i_Player) && get_user_team(i_Player) == 1 && get_bit(g_PlayerWanted, i_Player))
	{
		set_hudmessage(20, 255, 255, -1.0, 0.74, 0, 6.0, 8.0)
		show_hudmessage(0, "%L", id, "CLEAR_WANTED_LIST", name, name_player)

		clear_bit(g_PlayerWanted, i_Player)

		set_user_info(i_Player, "model", "jb_pa_player")
		entity_set_int(i_Player, EV_INT_body, 2)
		entity_set_int(i_Player, EV_INT_skin, random_num(0, 2))
		set_user_rendering(i_Player, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
	}

	menu_destroy(i_Menu)
	return PLUGIN_HANDLED
}

public cmd_voicemenu(id)
{
	new Buffer[512]
	formatex(Buffer, charsmax(Buffer), "%L", id, "GIVE_OR_TAKE_VOICE_MENU")
	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), "%L", id, "GIVE_VOICE", s_Name)
			else
				formatex(Buffer, charsmax(Buffer), "%L", id, "PICK_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(g_Simon == id && id != i_Player && get_user_team(i_Player) == 1)
	{
		if(get_bit(g_PlayerVoice, i_Player))
		{
			chatcolor(0, "!g[VoiceMenu] !ySimon !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] !ySimon !g%s !yi-a dat !gVoce !tlui !g%s .", name, name_player)
			set_bit(g_PlayerVoice, i_Player)
			cmd_voicemenu(id)
		}
	}

	menu_destroy(i_Menu)
	return PLUGIN_HANDLED
}

public make_teams()
{
	static i
	for(i = 0; i < mxplr; i++)
	{
		if(!is_user_alive(i) || get_user_team(i) != 1)
			continue

		if(team)
		{
			set_user_info(i, "model", "JB_FootBall_TeamA")
			entity_set_int(i, EV_INT_body, random_num(0, 1))
		}
		else
		{
			set_user_info(i, "model", "JB_FootBall_TeamB")
			entity_set_int(i, EV_INT_body, random_num(0, 1))
		}

		team = !team
	}
}
/*======================================================
              END SIMONMENU ---> BoxMenu
======================================================*/
public cmd_boxmenu(id)
{
	if((is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT))
	{
		if(g_PlayerLast)
		{
			chatcolor(id, "!g[BoxMenu]!y Nu poti sa dai box cand e !gUltimul !tPrizonier !yin !gViata!y.")
			return PLUGIN_HANDLED
		}

		/*if(g_GameMode == 1 || g_GameMode == 17 || g_GameMode == 15)
		{
			chatcolor(id, "!g[BoxMenu]!y Nu poti sa dai box cand e !gZi Speciala!y.")
			return PLUGIN_HANDLED
		}*/

		if(g_GameMode == 0 || g_GameMode == 13)
		{
			new szText[ 555 char ];

			formatex( szText, charsmax( szText ), "%L", id, "BOXMENU_TITLE");
			new menu = menu_create( szText, "box_handler" );

			formatex( szText, charsmax( szText ), "%L", id, "BOXMENU_M1" );
			menu_additem( menu, szText, "1", 0 );

			formatex( szText, charsmax( szText ), "%L", id, "BOXMENU_M2" );
			menu_additem( menu, szText, "2", 0 );

			menu_display( id, menu, 0)
		}
		else
			chatcolor(id, "!g[BoxMenu]!y Nu poti sa dai box cand e !gZi Speciala!y.")
	}
	else
		chatcolor(id, "%L",0,"BOX_ACCES")

	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_box(id)
			cmd_boxmenu(id)
		}
		case 2:
		{
			cmd_boxoff(id)
			cmd_boxmenu(id)
		}
	}

	menu_destroy( menu )
	return PLUGIN_HANDLED
}

public cmd_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
	}

	static i
	if((id < 0) || (is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT) || get_user_flags(id) & read_flags("f"))
	{
		if(g_GameMode == 13 && g_TeamAlive[CS_TEAM_T] > 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)

			client_cmd(0, "mp3 play ^"%s^"", game_box)
			set_cvar_num("mp_tkpunish", 0)
			set_cvar_num("mp_friendlyfire", 1)
			jb_strip_user_cold_weapons(i)
			g_BoxStarted = 1

			if(get_user_team(id) == 2)
			{
				new name[32]
				get_user_name(id, name, 63)
				chatcolor(0, "%L",0,"BOX_START", name)
				player_hudmessage(0, 1, 3.0, _, "Modul Box a fost pornit de: %s", name)
			}
		}
		else if(g_GameMode == 0 && g_TeamAlive[CS_TEAM_T] <= get_pcvar_num(gp_BoxMax) && g_TeamAlive[CS_TEAM_T] > 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)
					give_item(i, "weapon_knife")
					set_cvar_string("jbe_shop", "0");
				}

			client_cmd(0, "mp3 play ^"%s^"", game_box)
			set_cvar_num("mp_tkpunish", 0)
			set_cvar_num("mp_friendlyfire", 1)
			g_BoxStarted = 1

			if(get_user_team(id) == 2)
			{
				new name[32]
				get_user_name(id, name, 63)
				chatcolor(0, "%L",0,"BOX_START", name)
				player_hudmessage(0, 1, 3.0, _, "Modul Box a fost pornit de: %s", name)
			}
		}
		else
			player_hudmessage(id, 1, 3.0, _, "%L", LANG_SERVER, "JBE_GUARD_CANTBOX")
	}

	return PLUGIN_HANDLED
}

public cmd_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
	}

	static i
	if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT || get_user_flags(id) & read_flags("f"))
	{
		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_cvar_string("jbe_shop", "1");
			}

		client_cmd(0, "mp3 play ^"%s^"", game_boxoff)
		set_cvar_num("mp_tkpunish", 0)
		set_cvar_num("mp_friendlyfire", 0)
		g_BoxStarted = 0
		new name[32]
		get_user_name(id, name, 63)
		chatcolor(0, "%L",0,"BOX_STOP", name)
		player_hudmessage(0, 1, 3.0, _, "Modul Box a fost oprit de: %s", name)
	}

	return PLUGIN_HANDLED
}
/*======================================================
              END BOXMENU --> HELPMENU
======================================================*/
public cmd_helpmenu(id)
{
	if(!is_user_alive(id))
		return PLUGIN_HANDLED

	static menu
	menu = menu_create("\yHelpMenu \wJb.FRAGBITE.ro", "helpmenu_handler")

	menu_additem(menu, "\rInformatii \wMod", "1")
	menu_additem(menu, "\rInformatii \wServer", "2")
	menu_additem(menu, "\rMeniu \wWho\y/\wDonatii", "3")

	menu_display(id, menu)
	return PLUGIN_HANDLED
}

public helpmenu_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: info_mod(id)
		case 2: informatii(id)
		case 3: client_cmd(id,"say /who")
	}

	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public info_mod(id)
{
	show_motd(id,"/addons/amxmodx/configs/PedoBearHome/info_mod.htm")
	return 0
}

public informatii(id)
{
	show_motd(id,"/addons/amxmodx/configs/PedoBearHome/info_server.htm")
	return 0
}
/*======================================================
              END HELPEMENU ---> FreedayMenu
======================================================*/
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)

		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'):
		{
			if((cs_get_user_team(id) == CS_TEAM_CT) || get_user_flags(id) & read_flags ("c"))
				cmd_ask(id)
		}
	}

	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)

	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_isDay)
			{
				chatcolor(id, "!g[JailBreak] !yNu poti da !gFreeDay !ypentru ca este in curs o !gZi Speciala !t.")
				return PLUGIN_HANDLED
			}

			if(g_PlayerLast)
			{
				chatcolor(id, "!g[JailBreak] !yNu poti activa !tZiua Libera,!y cand este !gUltimul Prizonier!y, !tin !gviata !y!")
				return PLUGIN_HANDLED
			}

			if((cs_get_user_team(id) == CS_TEAM_CT))
			{
				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(TASK_FREEDAY)
			}
		}
		case('2'):
		{
			if(g_isDay)
			{
				chatcolor(id, "!g[JailBreak] !yNu poti da !gFreeDay !ypentru ca este in curs o !gZi Speciala !t.")
				return PLUGIN_HANDLED
			}

			if(g_PlayerLast)
			{
				chatcolor(id, "!g[JailBreak]  !yNu poti da !tZi Libera,!y cand este !gUltimul Prizonier!y, !tin !gviata !y!")
				return PLUGIN_HANDLED
			}

			if((cs_get_user_team(id) == CS_TEAM_CT))
				cmd_freeday(id)
		}
	}

	return PLUGIN_HANDLED
}/*======================================================
              End FreedayMenu ---> DaysMenu
======================================================*/
public cmd_daysmenu(id)
{
	/*if(g_JailDay == 0 || g_JailDay == 5 || g_JailDay == 6 || g_JailDay == 7)
		return PLUGIN_HANDLED*/

	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_Simon == id)
	{
		if(is_user_alive(id))
			if(g_GameMode <= 0)
				JBDays(id);
			else
				chatcolor(id, "!t[!gManagerDays!t] !eu !gZi !tSpeciala !ya fost aleasa !gdeja!y.")
	}
	else
		chatcolor(id, "!t[!gManagerDays!t] !gTu !tnu esti !gSimon!y.")

	return PLUGIN_HANDLED
}

public HnsCount() 
{
	set_hudmessage(0 , 255, 0, -1.0, 0.28, 2, 1.1, 1.1, 0.01, 0.01);
	show_hudmessage(0, "Prizonierii au: %d secunede sa se ascunda !!", g_HNSCount--);

	if(g_HNSCount == 0)
	{
		set_hudmessage(random_num(1,255), random_num(1,255), random_num(1,255), -1.0, -1.0, 0, 6.0, 12.0)
		show_hudmessage(0, "Timp-ul s-a scurs, iar Gardienii vor veni sa va caute !!")
	}
} 

public JBDays(id)
{
	new a = get_timeleft()
	new menu = menu_create("\rDaysMenu \yJb.FRAGBITE.ro", "days_menu_handler");

	menu_additem(menu, "Zombie Day", "1", 0);
	menu_additem(menu, "Spartan Day", "2", 0);
	menu_additem(menu, "Gravity Day", "3", 0);
	menu_additem(menu, "Grenade Day", "4", 0);
	menu_additem(menu, "NightCrawler Day", "5", 0);
	menu_additem(menu, "Box Day", "6", 0);
	menu_additem(menu, "Gang Day", "7", 0);
	menu_additem(menu, "War Day", "8", 0);
	menu_additem(menu, "Hns Day", "9", 0);
	menu_additem(menu, "Ghost Day", "10", 0);

	if( a < 301 )
		menu_additem(menu, "GodMode Day", "11", 0);
	else
		menu_additem(menu, "\dGodMode Day\r [Numai in ultimele 5 min]", "11", 0);

	menu_additem(menu, "Magic Day", "12", 0);
	menu_additem(menu, "Tag Day", "13", 0);
	menu_additem(menu, "One Hp Day", "14", 0);
	menu_additem(menu, "DodgeBall Day", "15", 0);
	menu_additem(menu, "HeadShot Day", "16", 0);
	menu_additem(menu, "PaintBall Day \r[DEZACTIVAT]", "17", ADMIN_ADMIN);

	menu_setprop(menu, MPROP_NEXTNAME, "Inainte")
	menu_setprop(menu, MPROP_BACKNAME, "Inapoi")
	menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER);
	menu_display(id, menu, 0);

	return PLUGIN_HANDLED;
}

public days_menu_handler(id, menu, item)
{
	if( item == MENU_EXIT || !is_user_alive(id) )
	{
		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: ZombieDayMenu(id)
		case 2:
		{
			SpartanDay()
			set_cvar_string("jb_dayss", "Spartan Day");
			set_cvar_string("jbe_shop", "0");
			set_cvar_string("jbe_blockweaponmenu", "0");
			secundeday = 300

			set_task(1.0, "block_weapons_task", id)

			new name[33]
			get_user_name(id, name, 31)
			chatcolor(0, "!t[!gDays!t] !ySimon !t[!g%s!t] !ya pornit !gZiua Speciala!y: !t[!g Spartan Day !t]", name);
		}
		case 3:
		{
			GravityDay()
			set_cvar_string("jb_dayss", "Gravity Day");
			set_cvar_string("jbe_shop", "0");
			set_cvar_string("sv_parachute", "0");
			set_cvar_string("jbe_blockweaponmenu", "0");
			secundeday = 300

			set_task(1.0, "block_weapons_task", id)

			new name[33]
			get_user_name(id, name, 31)
			chatcolor(0, "!t[!gDays!t] !ySimon !t[!g%s!t] !ya pornit !gZiua Speciala!y: !t[!g Gravity Day !t]", name);
		}
		case 4:
		{
			GrenadeDay()
			set_cvar_string("jb_dayss", "Grenade Day");
			set_cvar_string("jbe_shop", "0");
			set_cvar_string("jbe_blockweaponmenu", "0");
			secundeday = 300

			set_task(1.0, "block_weapons_task", id)

			new name[33]
			get_user_name(id, name, 31)
			chatcolor(0, "!t[!gDays!t] !ySimon !t[!g%s!t] !ya pornit !gZiua Speciala!y: !t[!g Grenade Day !t]", name);
		}
		case 5:
		{
			NightDay()
			set_cvar_string("jb_dayss", "NightCrawler Day");
			set_cvar_string("jbe_shop", "0");
			set_cvar_string("jbe_camera", "0");
			set_cvar_string("jbe_blockweaponmenu", "0");
			secundeday = 300

			set_task(1.0, "block_weapons_task", id)

			new name[33]
			get_user_name(id, name, 31)
			chatcolor(0, "!t[!gDays!t] !ySimon !t[!g%s!t] !ya pornit !gZiua Speciala!y: !t[!g NightCrawler Day !t]", name);
		}
		case 6:
		{
			BoxDay()
			set_cvar_string("jb_dayss", "Box Day");
			set_cvar_string("jbe_shop", "0");
			set_cvar_string("jbe_blockweaponmenu", "0");
			secundeday = 300

			set_task(1.0, "block_weapons_task", id)

			new name[33]
			get_user_name(id, name, 31)
			chatcolor(0, "!t[!gDays!t] !ySimon !t[!g%s!t] !ya pornit !gZiua Speciala!y: !t[!g Box Day !t]", name);
		}
		case 7:
		{
			GangDay()
			set_cvar_string("jb_dayss", "Gang Day");
			set_cvar_string("jbe_shop", "0");
			set_cvar_string("jbe_blockweaponmenu", "0");
			secundeday = 300

			set_task(1.0, "block_weapons_task", id)

			new name[33]
			get_user_name(id, name, 31)
			chatcolor(0, "!t[!gDays!t] !ySimon !t[!g%s!t] !ya pornit !gZiua Speciala!y: !t[!g Gang Day !t]", name);
		}
		case 8:
		{
			WarDay()
			set_cvar_string("jb_dayss", "War Day");
			set_cvar_string("jbe_shop", "0");
			set_cvar_string("jbe_blockweaponmenu", "0");
			secundeday = 300

			set_task(1.0, "block_weapons_task", id)

			new name[33]
			get_user_name(id, name, 31)
			chatcolor(0, "!t[!gDays!t] !ySimon !t[!g%s!t] !ya pornit !gZiua Speciala!y: !t[!g War Day !t]", name);
		}
		case 9: HnsDayMenu(id)
		case 10:
		{
			GhostDay()
			set_cvar_string("jb_dayss", "Ghost Day");
			set_cvar_string("jbe_shop", "0");
			set_cvar_string("jbe_blockweaponmenu", "0");
			secundeday = 300

			set_task(1.0, "block_weapons_task", id)

			new name[33]
			get_user_name(id, name, 31)
			chatcolor(0, "!t[!gDays!t] !ySimon !t[!g%s!t] !ya pornit !gZiua Speciala!y: !t[!g Ghost Day !t]", name);
		}
		case 11:
		{
			new a = get_timeleft()
			if( a < 301 )
			{
				GodModeDay()
				set_cvar_string("jb_dayss", "GodMode Day");
				set_cvar_string("jbe_shop", "0");
				set_cvar_string("jb_autojoin", "1");
				secundeday = 500

				new name[33]
				get_user_name(id, name, 31)
				chatcolor(0, "!t[!gDays!t] !ySimon !t[!g%s!t] !ya pornit !gZiua Speciala!y: !t[!g GodMode Day !t]", name);
			}
			else
				chatcolor(0, "!t[!gDays!t] !gGodMode Day!y poate fi dat numai in !gUltimele 5 Minute !y.");
		}
		case 12:
		{
			MagicDay()
			set_cvar_string("jb_dayss", "Magic Day");
			set_cvar_string("jbe_shop", "0");
			set_cvar_string("jbe_blockweaponmenu", "0");
			secundeday = 300

			set_task(1.0, "block_weapons_task", id)

			new name[33]
			get_user_name(id, name, 31)
			chatcolor(0, "!t[!gDays!t] !ySimon !t[!g%s!t] !ya pornit !gZiua Speciala!y: !t[!g Magic Day !t]", name);
		}
		case 13:
		{
			TagDay()
			set_cvar_string("jb_dayss", "Tag Day");
			set_cvar_string("jbe_shop", "0");
			set_cvar_string("sv_parachute", "0");
			set_cvar_string("jbe_blockweaponmenu", "0");
			secundeday = 300

			set_task(1.0, "block_weapons_task", id)

			new name[33]
			get_user_name(id, name, 31)
			chatcolor(0, "!t[!gDays!t] !ySimon !t[!g%s!t] !ya pornit !gZiua Speciala!y: !t[!g Tag Day !t]", name);
		}
		case 14:
		{
			OneHpDay()
			set_cvar_string("jb_dayss", "One Hp Day");
			set_cvar_string("jbe_shop", "0");
			set_cvar_string("jbe_blockweaponmenu", "0");
			secundeday = 200

			set_task(1.0, "block_weapons_task", id)

			new name[33]
			get_user_name(id, name, 31)
			chatcolor(0, "!t[!gDays!t] !ySimon !t[!g%s!t] !ya pornit !gZiua Speciala!y: !t[!g One Hp Day !t]", name);
		}
		case 15:
		{
			DodgeBallDay()
			set_cvar_string("jb_dayss", "DodgeBall Day");
			set_cvar_string("jbe_shop", "0");
			set_cvar_string("sv_parachute", "0");
			set_cvar_string("jbe_blockweaponmenu", "0");
			secundeday = 200

			set_task(1.0, "block_weapons_task", id)

			new name[33]
			get_user_name(id, name, 31)
			chatcolor(0, "!t[!gDays!t] !ySimon !t[!g%s!t] !ya pornit !gZiua Speciala!y: !t[!g DodgeBall Day !t]", name);
		}
		case 16:
		{
			HeadShotDay()
			set_cvar_string("jb_dayss", "HeadShot Day");
			set_cvar_string("jbe_shop", "0");
			set_cvar_string("jbe_blockweaponmenu", "0");
			secundeday = 200

			set_task(1.0, "block_weapons_task", id)

			new name[33]
			get_user_name(id, name, 31)
			chatcolor(0, "!t[!g Days !t] Simon !t[!g %s !t] a pornit !gZiua Speciala!y: !t[!g HeadShot Day !t]", name);
		}
		case 17:
		{
			PaintBallDay()
			set_cvar_string("jb_dayss", "PaintBall Day");
			set_cvar_string("jbe_shop", "0");
			set_cvar_string("jbe_blockweaponmenu", "0");
			secundeday = 200

			set_task(1.0, "block_weapons_task", id)

			new name[33]
			get_user_name(id, name, 31)
			chatcolor(0, "!t[!gDays!t] !ySimon !t[!g%s!t] !ya pornit !gZiua Speciala!y: !t[!g PaintBall Day !t]", name);
		}
	}

	new crowbar_ent
	while((crowbar_ent=engfunc(EngFunc_FindEntityByString, crowbar_ent, "classname", gCrowbarClassname)) != 0)
		engfunc(EngFunc_RemoveEntity, crowbar_ent)

	jb_strip_user_cold_weapons(id)

	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public ZombieDayMenu(id)
{
	new menu = menu_create("\rZombie Day \yMenu", "zomibieday_menu_handler");

	menu_additem(menu, "Zombie Day \d[\rPrizonieri Zombie\d]", "1", 0);
	menu_additem(menu, "Reverse Zombie Day \d[\rGardieni Zombie\d]", "2", 0);

	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);

	return PLUGIN_HANDLED;
}

public zomibieday_menu_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:
		{
			ZombieDay()
			set_cvar_string("jb_dayss", "Zombie Day");
			set_cvar_string("jbe_shop", "0");
			set_cvar_string("jbe_blockweaponmenu", "0");
			secundeday = 400

			set_task(1.0, "block_weapons_task", id)

			new name[33]
			get_user_name(id, name, 31)
			chatcolor(0, "!t[!gDays!t] !ySimon !t[!g%s!t] !ya pornit !gZiua Speciala!y: !t[!g Zombie Day !t]", name);
		}
		case 2:
		{
			RzmDay()
			set_cvar_string("jb_dayss", "Reverse Zombie Day");
			set_cvar_string("jbe_shop", "0");
			set_cvar_string("jbe_blockweaponmenu", "0");
			secundeday = 400

			set_task(1.0, "block_weapons_task", id)

			new name[33]
			get_user_name(id, name, 31)
			chatcolor(0, "!t[!gDays!t] !ySimon !t[!g%s!t] !ya pornit !gZiua Speciala!y: !t[!g Reverse Zombie Day !t]", name);
		}
	}

	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public HnsDayMenu(id)
{
	new menu = menu_create("\rHns Day \yMenu", "hnsday_menu_handler");

	menu_additem(menu, "Hns Day \d[\rNormal\d]", "1", 0);
	menu_additem(menu, "Hns Simple Day \d[\rFun\d]", "2", 0);

	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);

	return PLUGIN_HANDLED;
}

public hnsday_menu_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:
		{
			HnsDay()
			set_cvar_string("jb_dayss", "Hns Day");
			set_cvar_string("jbe_shop", "0");
			set_cvar_string("jbe_blockweaponmenu", "0");
			secundeday = 300

			set_task(1.0, "block_weapons_task", id)

			new name[33]
			get_user_name(id, name, 31)
			chatcolor(0, "!t[!gDays!t] !ySimon !t[!g%s!t] !ya pornit !gZiua Speciala!y: !t[!g Hns Day !t]", name);
		}
		case 2:
		{
			HnsSimpleDay()
			set_cvar_string("jb_dayss", "Hns Simple Day");
			set_cvar_string("jbe_shop", "0");
			set_cvar_string("jbe_blockweaponmenu", "0");
			secundeday = 500

			set_task(1.0, "block_weapons_task", id)

			new name[33]
			get_user_name(id, name, 31)
			chatcolor(0, "!t[!gDays!t] !ySimon !t[!g%s!t] !ya pornit !gZiua Speciala!y: !t[!g Hns Simple Day !t]", name);
		}
	}

	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

/*============ PUBLIC ZILE SPECIALE ============*/
public ZombieDay()
{
	new iPlayers[32]
	new iNum
	new id

	g_isDay = true;
	g_GameMode = 1
	secundeday = 400
	set_cvar_string("jb_dayss", "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);
		set_lights("b")

		if(get_user_team(id) == 1)
		{
			set_user_health(id, 3000);
			set_user_info(id, "model", "jb_pa_zombie")
			entity_set_int(id, EV_INT_body, 1)
			give_item(id, "weapon_knife");
		}
		else if(get_user_team(id) == 2)
		{
			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);
			set_user_health(id, 300);
		}
	}

	fog()
}

public RzmDay()
{
	new iPlayers[32]
	new iNum
	new id

	g_isDay = true;
	g_GameMode = 2
	secundeday = 400
	set_cvar_string("jb_dayss", "Reverse 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);
		set_lights("b")

		if (cs_get_user_team(id) == CS_TEAM_CT)
		{
			set_user_info(id, "model", "jb_pa_zombie")
			entity_set_int(id, EV_INT_body, 1)
			set_user_health(id, 3000);
			give_item(id, "weapon_knife");
		}

		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, 300);
		}
	}

	fog()
}

public SpartanDay()
{
	new iPlayers[32]
	new iNum
	new id

	g_isDay = true;
	g_GameMode = 3
	secundeday = 300
	set_cvar_string("jb_dayss", "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);

		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_user_bpammo(id, CSW_DEAGLE, 200);
			cs_set_user_bpammo(id, CSW_AK47, 300);
			cs_set_user_bpammo(id, CSW_M4A1, 300);
			cs_set_user_bpammo(id, CSW_AWP, 300);
		}

		if(cs_get_user_team(id) == CS_TEAM_T)
		{
			give_item(id, "weapon_deagle")
			give_item(id, "weapon_shield")
			cs_set_user_bpammo(id, CSW_DEAGLE, 200);
			set_user_health(id, 200);
		}
	}
}

public GravityDay()
{
	new iPlayers[32]
	new iNum
	new id

	g_isDay = true;
	is_freezed[id] = true

	g_GameMode = 4
	secundeday = 300
	set_cvar_string("jb_dayss", "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)

		if (cs_get_user_team(id) == CS_TEAM_T)
		{
			give_item(id, "weapon_knife")

			set_user_gravity(id, 0.375);
		}

		if (cs_get_user_team(id) == CS_TEAM_CT)
		{
			give_item(id, "weapon_deagle")
			cs_set_user_bpammo(id, CSW_DEAGLE, 200)

			set_user_gravity(id, 0.375);
		}
	}
}

public GrenadeDay()
{
	new iPlayers[32]
	new iNum
	new id

	g_isDay = true;
	g_GameMode = 5
	secundeday = 300
	set_cvar_string("jb_dayss", "Grenade Day");

	get_players( iPlayers, iNum )
	for( new i = 0; i < iNum; i++ )
	{
		id = iPlayers[i]
		if(!is_user_alive(id))
			continue;

		set_task(0.0, "give_hegrenade_task", id)

		strip_user_weapons(id);
	}
}

public NightDay()
{
	new iPlayers[32]
	new iNum
	new id

	g_isDay = true;
	g_GameMode = 6
	secundeday = 300
	set_cvar_string("jb_dayss", "NightCrawler 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);

		if(cs_get_user_team(id) == CS_TEAM_CT)
		{
			set_user_health(id, 150);
			set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0);
			set_pev(id, pev_weaponmodel2, _Pumni[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);
		}
	}
}

public BoxDay()
{
	new iPlayers[32]
	new iNum
	new id

	g_isDay = true;
	g_GameMode = 7
	secundeday = 300
	set_cvar_string("jb_dayss", "Box 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);
		give_item(id, "weapon_knife");
		set_user_health(id, 100);
		client_cmd(0, "mp3 play ^"%s^"", game_box)
	}
}

public GangDay() 
{
	new iPlayers[32]; 
	new iNum; 
	new ids; 

	g_isDay = true;
	g_GameMode = 8
	secundeday = 300
	set_cvar_string("jb_dayss", "Gang Day");

	get_players( iPlayers, iNum );
	for( new i = 0; i < iNum; i++ )
	{
		ids = iPlayers[i]
		if( !is_user_alive( ids ) )
			continue;

		if(cs_get_user_team(ids) == CS_TEAM_T)
		{
			strip_user_weapons(ids);

			if(check_blueteam <= check_redteam)
			{
				check_blueteam++;
				clear_bit(check_rteam, ids);
				set_bit(check_bteam, ids);
				give_item(ids, "weapon_mp5navy");
				cs_set_user_bpammo(ids, CSW_MP5NAVY, 50000);
				set_user_rendering(ids, kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 40)
				chatcolor(ids, "!g[GangDay]!y Esti in !gEchipa !yAlbastra")
			}
			else
			{
 				check_redteam++;
				clear_bit(check_bteam, ids);
				set_bit(check_rteam, ids);
				give_item(ids, "weapon_mp5navy");
				cs_set_user_bpammo( ids, CSW_MP5NAVY, 50000 );
				set_user_rendering(ids, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 40)
				chatcolor(ids, "!g[GangDay]!y Esti in !gEchipa !yAlbastra")
			}
		}
		else if(cs_get_user_team(ids) == CS_TEAM_CT)
		{
			set_user_godmode(ids, true);
			give_item(ids, "weapon_mp5navy");
			cs_set_user_bpammo(ids, CSW_MP5NAVY, 50000);
		}
	}

	set_task( 1.0, "GangDay_Countdown", TASK_GANGDAY, _, _, "a", 123451234 );
}

public GangDay_Countdown()
{
	if(check_redteam > 0 && check_blueteam > 0)
	{
		set_hudmessage(255, 20, 20, 0.84, 0.70, 0, 6.0, 1.2);
		ShowSyncHudMsg(0, g_syncHudMessage2, "Rosii: %d^nAlbastrii: %d", check_redteam, check_blueteam);
	}
	else
		if( task_exists(TASK_GANGDAY))
			remove_task(TASK_GANGDAY);
}

public WarDay()
{
	new iPlayers[32]
	new iNum
	new id

	g_isDay = true;
	g_GameMode = 9
	secundeday = 300
	set_cvar_string("jb_dayss", "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);
		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, 200);
		cs_set_user_bpammo(id, CSW_AK47, 300);
		cs_set_user_bpammo(id, CSW_M4A1, 300);
		cs_set_user_bpammo(id, CSW_AWP, 300);
		set_user_health(id, 150);
	}
}

public HnsDay()
{
	new iPlayers[32]
	new iNum
	new id

	g_isDay = true;
	g_GameMode = 10
	secundeday = 300
	set_cvar_string("jb_dayss", "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);
		give_item(id, "weapon_knife");
		set_task(120.0, "reset", id)
		jail_open()

		if (cs_get_user_team(id) == CS_TEAM_CT)
		{
			Fade_To_Black(id)
			set_user_godmode(id, true);
			set_pev(id, pev_flags, pev(id, pev_flags) | FL_FROZEN);
		}
	}

	set_lights("b")

	g_HNSCount = HNSCount;
	set_task( 1.0 , "HnsCount" , _ , _ , _ , "a" , g_HNSCount);
}

public reset(id)
{
	switch(get_user_team(id))
	{
		case 1: set_pev(id, pev_flags, pev(id, pev_flags) | FL_FROZEN);
		case 2:
		{
			set_pev(id, pev_flags, pev(id, pev_flags) & ~FL_FROZEN);
			Reset_Screen(id)
		}
	}
}

public HnsSimpleDay()
{
	new iPlayers[32]
	new iNum
	new id

	g_isDay = true;
	g_GameMode = 11
	secundeday = 500
	set_cvar_string("jb_dayss", "Hns Simple 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);
		give_item(id, "weapon_knife");
		set_task(120.0, "reset_simple", id)
		jail_open()
		set_lights("b")

		if (cs_get_user_team(id) == CS_TEAM_CT)
		{
			Fade_To_Black(id)
			set_user_godmode(id, true);
			set_pev(id, pev_flags, pev(id, pev_flags) | FL_FROZEN);
		}
	}

	g_HNSCount = HNSCount;
	set_task( 1.0 , "HnsCount" , _ , _ , _ , "a" , g_HNSCount);
}

public reset_simple(id)
{
	if(get_user_team(id))
	{
		set_pev(id, pev_flags, pev(id, pev_flags) & ~FL_FROZEN);
		Reset_Screen(id)
	}
}

public GhostDay()
{
	new iPlayers[32]
	new iNum
	new id

	g_isDay = true;
	g_GameMode = 12
	secundeday = 300
	set_cvar_string("jb_dayss", "Ghost 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);
		set_lights("b");
		jail_open()

		if(cs_get_user_team(id) == CS_TEAM_CT)
		{
			user_rendering(id, kRenderFxGlowShell, 150.0, 150.0, 170.0, kRenderNormal, 0.0);
			set_user_noclip(id, 1)
			set_pev(id, pev_health, 506.0);
			set_pdata_int(id, m_bloodColor, 15);
			set_pev(id, pev_maxspeed, 320.0);
			give_item(id, "weapon_knife");
		}

		if (cs_get_user_team(id) == CS_TEAM_T)
		{
			new iEnt = give_item(id, "weapon_m249")

			if (is_valid_ent(iEnt))
				cs_set_weapon_ammo(iEnt, 2000)

			set_pev(id, pev_health, 120.0);
		}
	}
}

public GodModeDay()
{
	new iPlayers[32]
	new iNum
	new id

	g_isDay = true;
	g_GameMode = 13
	secundeday = 1200
	jail_open()
	set_cvar_string("jb_dayss", "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);
		give_item(id, "weapon_knife");
		//set_lights("a")

		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)

			/*if(get_pcvar_num(cvar_players_aura))
				set_task(0.1, "players_aura", id+TASK_AURA, _, _, "b")*/
		}
	}
}

public MagicDay()
{
	new iPlayers[32]
	new iNum
	new id

	g_isDay = true;
	g_GameMode = 14
	secundeday = 300
	set_cvar_string("jb_dayss", "Magic 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);
		give_item(id, "weapon_knife")
		set_lights("b")

		if (cs_get_user_team(id) == CS_TEAM_CT)
		{
			set_user_health(id, 200);
			start_magic(id)
			set_pev(id, pev_maxspeed, 450.0);
		}

		if (cs_get_user_team(id) == CS_TEAM_T)
		{
			set_user_health(id, 100);
			start_magic(id)
		}
	}
}

public TagDay()
{
	new iPlayers[32]
	new iNum
	new id

	g_isDay = true;
	g_GameMode = 15
	secundeday = 300
	set_cvar_string("jb_dayss", "Tag Day");

	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_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) 
		{
			new Float:szSpeed
			szSpeed = get_pcvar_float( g_Cvar[4] )
			set_user_maxspeed(id, szSpeed)

			new Float:szGravity
			szGravity = get_pcvar_float( g_Cvar[5] )
			set_user_gravity(id, szGravity)
		} 

		strip_user_weapons(id);
		give_item(id, "weapon_knife");
		jail_open()

		set_task(1.0, "PrisoneInformer", 1234, _, _, "b")
		set_task(1.0, "Timer", 123, _, _, "b")
	}
}

public OneHpDay() 
{ 
	new iPlayers[32] 
	new iNum 
	new id 

	g_isDay = true;
	g_GameMode = 16
	secundeday = 200
	set_cvar_string("jb_dayss", "One Hp 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);
		give_item(id, "weapon_knife");

		if (cs_get_user_team(id) == CS_TEAM_CT)
		{
			set_user_health(id, 25);
			give_item(id, "weapon_knife");
		} 

		if (cs_get_user_team(id) == CS_TEAM_T) 
			set_user_health(id, 1);
	} 
}

public DodgeBallDay()
{
	new iPlayers[32]
	new iNum
	new id

	g_isDay = true;
	g_GameMode = 17
	secundeday = 200
	set_cvar_string("jb_dayss", "DodgeBall 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);
		give_item(id, "weapon_knife");
		start_dodgeballday()
		jail_open()
	}
}

public HeadShotDay()
{
	new iPlayers[32]
	new iNum
	new id

	g_isDay = true;
	g_GameMode = 18
	secundeday = 200
	set_cvar_string("jb_dayss", "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);

		if (cs_get_user_team(id) == CS_TEAM_CT)
		{
			give_item(id,"weapon_m4a1")
			cs_set_user_bpammo( id, CSW_M4A1, 999 );
			set_user_hitzones(0, 0, 2)
		}

		if (cs_get_user_team(id) == CS_TEAM_T)
		{
			give_item(id,"weapon_deagle")
			cs_set_user_bpammo(id, CSW_DEAGLE, 999);
			set_user_hitzones(0, 0, 2)
		}
	}
}

public PaintBallDay()
{
	new iPlayers[32]
	new iNum
	new id

	g_isDay = true;
	g_GameMode = 19
	secundeday = 200
	set_cvar_string("jb_dayss", "PaintBall 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);
		//start_paintball(id)

		if (cs_get_user_team(id) == CS_TEAM_CT)
		{
			give_item( id, "weapon_mp5navy" )
			cs_set_user_bpammo( id, CSW_MP5NAVY, 999 );
		}
		if (cs_get_user_team(id) == CS_TEAM_T)
		{
			give_item( id, "weapon_mp5navy" )
			cs_set_user_bpammo( id, CSW_MP5NAVY, 999 );
		}
	}
}

public give_hegrenade_task(id)
{
	give_item(id, "weapon_hegrenade")
	cs_set_user_bpammo(id, CSW_HEGRENADE, 9999)
}

public block_weapons_task(id)
	g_BlockWeapons = 1

/*=================== FiNISH ===================*/
/*============ PUBLIC ZILE SPECIALE ============*/


public ResModel(id)
{
	new iPlayers[32], iNum, iPid;
	get_players( iPlayers, iNum, "a" );

	for( new i; i < iNum; i++ )
	{
		iPid = iPlayers[i];
		cs_reset_user_model(iPid)
	}
}

public user_kills()
{
	new iPlayers[32]; 
	new iNum; 
	new id; 

	get_players( iPlayers, iNum ); 
	for( new i = 0; i < iNum; i++ ) 
	{
		id = iPlayers[i];

		if(get_bit(check_rteam, id))
			chatcolor(id, "!t[!gGang System!t] !yAti primit !t[!g10!t] !yTigari !")

		user_silentkill(id)

		chatcolor(id, "!t[!gGang System!t] !yCastigatoii !tsunt !yEchipa !gAlbastra !")
	}
}

public user_killss()
{
	new iPlayers[32]; 
	new iNum; 
	new id; 

	get_players( iPlayers, iNum ); 
	for( new i = 0; i < iNum; i++ ) 
	{
		id = iPlayers[i]; 

		if(get_bit(check_bteam, id))
			chatcolor(id, "!t[!gGang System!t] !yAti primit !t[!g10!t] !yCREDITE !")

		user_silentkill(id)

		chatcolor(id, "!t[!gGang System!t] !yCastigatoii !gsunt !tEchipa !gAlbastra !")
	}
}

public kill_all()
{
	for(new i = 1; i <= g_MaxClients; i++)
	{
		if(!is_user_connected(i) || !is_user_alive(i))
			continue

		switch(g_GameMode)
		{
			case 1: if(get_user_team(i) == 1) user_kill(i)
			case 2: if(get_user_team(i) == 1) user_kill(i)
			case 3: user_kill(i)
			case 4: user_kill(i)
			case 5: if(get_user_team(i) == 2) user_kill(i)
			case 6: user_kill(i)
			case 7: if(get_user_team(i) == 1) user_kill(i)
			case 8: user_kill(i)
			case 9: if(get_user_team(i) == 2) user_kill(i)
			case 10: if(get_user_team(i) == 2) user_kill(i)
			case 11: if(get_user_team(i) == 2) user_kill(i)
			case 12: user_kill(i)
			case 13: user_kill(i)
			case 14: if(get_user_team(i) == 2) user_kill(i)
			case 15: if(get_user_team(i) == 1) user_kill(i)
			case 16: user_kill(i)
			case 17: if(get_user_team(i) == 2) user_kill(i)
			case 18: if(get_user_team(i) == 2) user_kill(i)
			case 19: user_kill(i)
			case 20: user_kill(i)
		}

		//user_kill(i)
	}
}

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)
		return HAM_IGNORED

	if(g_GameMode == 8)
	{
		if(cs_get_user_team(attacker) == CS_TEAM_T && cs_get_user_team(victim) == CS_TEAM_T)
		{
			if(get_bit(check_bteam, attacker) && get_bit(check_bteam, victim)|| get_bit(check_rteam, attacker) && get_bit(check_rteam, victim))
				return HAM_SUPERCEDE;
			else if(get_bit(check_bteam, attacker) && get_bit(check_rteam, victim)|| get_bit(check_rteam, attacker) && get_bit(check_bteam, victim))
			{
				if(get_user_health(victim) > 28)
				{
					static Float:Origin[3]
					fm_get_aimorigin(attacker, Origin)
					create_blood(Origin)
					set_user_health( victim, get_user_health(victim)-28 );
				}
				else
					sw_kill(attacker, victim, 1, "Gang Day" )
			}
		}
		else if(cs_get_user_team(attacker) == CS_TEAM_CT && cs_get_user_team(victim) == CS_TEAM_T)
			return HAM_SUPERCEDE;
	}

	if(g_GameMode == 15)
	{
		if(get_user_team(attacker) == 2 && get_user_team(victim) == 1)
		{
			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
				szPlayerTime[victim] = get_pcvar_num( g_Cvar[2] )
				set_task(1.0, "TouchKill", victim)
				++szHelpNum
			}
			set_user_health(victim, 100)
		}
		else if(szPlayerCaught[victim] && get_user_team(attacker) == 1 && get_user_team(victim) == 1)
		{
			szPlayerCaught[victim] = false
			remove_task(victim)
			szPlayerTime[victim] = 0  

			new szHealth
			szHealth = get_pcvar_num( g_Cvar[3] )
			set_user_health(victim, get_user_health(victim) - szHealth)
			set_user_health(victim, get_user_health(attacker) + szHealth)

			vecOrigin[2] += 15.0;
			CREATE_SPRITETRAIL(vecOrigin, g_pSpriteFrost, 30, 20, 2, 20, 10);

			new Float:fOrigin[3];
			CREATE_BREAKMODEL(fOrigin, _, _, 10, g_pModelFrost, 10, 25, BREAK_GLASS);

			emit_sound(victim, CHAN_AUTO, "jb_pa_sounds/days_mode/tagday/freeze_player.wav", VOL_NORM, ATTN_NORM, 0, PITCH_NORM);

			set_user_rendering(victim, kRenderFxGlowShell, 0, 0, 0, kRenderNormal, 25)
			set_pev(victim, pev_flags, pev(victim, pev_flags) & ~FL_FROZEN)

			new Float:szSpeed
			szSpeed = get_pcvar_float( g_Cvar[4] )
			set_user_maxspeed(victim, szSpeed)

			new Float:szGravity
			szGravity = get_pcvar_float( g_Cvar[5] )
			set_user_gravity(victim, szGravity)

			tagday[victim] = true
			set_task(2.0, "tagday_end", victim + 22838)
		}
	}

	return HAM_IGNORED
}

public Fade_To_Black(id)
{
	message_begin(MSG_ONE_UNRELIABLE, gmsgScreenFade, _, 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, gmsgScreenFade, _, 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 fog()
{
	message_begin(MSG_ALL,get_user_msgid("Fog"),{0,0,0},0)
	write_byte(215)  // R
	write_byte(0)  // G
	write_byte(0)  // B
	write_byte(66) // SD
	write_byte(96)  // ED
	write_byte(27)   // D1
	write_byte(59)  // D2
	message_end()
}

public nofog()
{
	message_begin(MSG_ALL,get_user_msgid("Fog"),{0,0,0},0)
	write_byte(0)  // R
	write_byte(0)  // G
	write_byte(0)  // B
	write_byte(0) // SD
	write_byte(0)  // ED
	write_byte(0)   // D1
	write_byte(0)  // D2
	message_end()
}

public fw_PlayerPreThink(id)
{
	if(g_GameMode <= 0)
	{
		if(g_PlayerLast || g_LastDenied)
		{
			if(is_user_alive(id) && is_user_connected(id))
			{
				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
		}
	}

	return FMRES_IGNORED;
}

stock sw_kill( Killer, Victim, ScoreBoard, const Weapon[  ] )
{
	set_msg_block( get_user_msgid( "DeathMsg" ), BLOCK_SET );

	ExecuteHamB( Ham_Killed, Victim, Killer, 0 );

	set_msg_block( get_user_msgid( "DeathMsg" ), BLOCK_NOT );

	make_deathmsg( Killer, Victim, 0, Weapon );

	if( ScoreBoard )
	{
		message_begin( MSG_BROADCAST, get_user_msgid( "ScoreInfo" ) );
		write_byte( Killer );
		write_short( pev( Killer, pev_frags ) );
		write_short( get_user_deaths( Killer ) );
		write_short( 0 );
		write_short( get_user_team( Killer ) );
		message_end(  );

		message_begin( MSG_BROADCAST, get_user_msgid( "ScoreInfo" ) );
		write_byte( Victim );
		write_short( pev( Victim, pev_frags ) );
		write_short( get_user_deaths( Victim ) );
		write_short( 0 );
		write_short( get_user_team( Victim ) );
		message_end(  );
	}

	if(cs_get_user_team(Victim) == CS_TEAM_T && get_bit(check_bteam, Victim))
	{
		check_blueteam--;
		if(check_blueteam == 0)
			user_kills()
	}
	else if(cs_get_user_team(Victim) == CS_TEAM_T && get_bit(check_rteam, Victim))
	{
		check_redteam--;
		if(check_redteam == 0)
			user_killss()
	}
}

stock create_blood(const Float:origin[3])
{
	// Show some blood :)
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY) 
	write_byte(TE_BLOODSPRITE)
	engfunc(EngFunc_WriteCoord, origin[0])
	engfunc(EngFunc_WriteCoord, origin[1])
	engfunc(EngFunc_WriteCoord, origin[2])
	write_short(m_iBlood[1])
	write_short(m_iBlood[0])
	write_byte(75)
	write_byte(5)
	message_end()
}

stock fm_get_aimorigin(index, Float:origin[3])
{
	new Float:start[3], Float:view_ofs[3];
	pev(index, pev_origin, start);
	pev(index, pev_view_ofs, view_ofs);
	xs_vec_add(start, view_ofs, start);

	new Float:dest[3];
	pev(index, pev_v_angle, dest);
	engfunc(EngFunc_MakeVectors, dest);
	global_get(glb_v_forward, dest);
	xs_vec_mul_scalar(dest, 9999.0, dest);
	xs_vec_add(start, dest, dest);

	engfunc(EngFunc_TraceLine, start, dest, 0, index, 0);
	get_tr2(0, TR_vecEndPos, origin);

	return 1;
}

stock user_rendering(id, iRenderFx, Float:flRed, Float:flGreen, Float:flBlue, iRenderMode,  Float:flRenderAmt)
{
	new Float:fRenderColor[3];
	fRenderColor[0] = flRed;
	fRenderColor[1] = flGreen;
	fRenderColor[2] = flBlue;
	set_pev(id, pev_renderfx, iRenderFx);
	set_pev(id, pev_rendercolor, fRenderColor);
	set_pev(id, pev_rendermode, iRenderMode);
	set_pev(id, pev_renderamt, flRenderAmt);
}

stock Fade(index, red, green, blue, alpha)
{
	message_begin(MSG_ONE,get_user_msgid("ScreenFade"),{0,0,0},index);
	write_short(1<<10);
	write_short(1<<10);
	write_short(1<<12);
	write_byte(red);
	write_byte(green);
	write_byte(blue);
	write_byte(alpha);
	message_end();
}

public players_aura(taskid)
{
	// Get player's origin
	static origin[3]
	get_user_origin(ID_AURA, origin)

	// Colored Aura
	message_begin(MSG_PVS, SVC_TEMPENTITY, origin)
	write_byte(TE_DLIGHT) // TE id
	write_coord(origin[0]) // x
	write_coord(origin[1]) // y
	write_coord(origin[2]) // z
	write_byte(20) // radius
	write_byte(get_pcvar_num(cvar_players_aura_color_R)) // r
	write_byte(get_pcvar_num(cvar_players_aura_color_G)) // g
	write_byte(get_pcvar_num(cvar_players_aura_color_B)) // b
	write_byte(2) // life
	write_byte(0) // decay rate
	message_end()
}

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 == 15)
		{
			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 = get_pcvar_float( g_Cvar[4] )
				set_user_maxspeed(szPlayer, szSpeed)

				new Float:szGravity
				szGravity = get_pcvar_float( g_Cvar[5] )
				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)
	{
		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, g_syncHudMessage, "Inghetati:  [%d] ^n%s", szHelpNum, szText)
	}
}

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();
}
/*========================================================
			 END DaysMenu
========================================================*/

public player_spawn(id)
{
	static CsTeams:team

	if(!is_user_connected(id))
		return HAM_IGNORED

	set_pdata_float(id, m_fNextHudTextArgsGameTime, get_gametime() + 999999.0)
	player_strip_weapons(id)

	ChekWeaponAmount[id] = 3
	is_freezed[id] = 0
	g_SimonAllowed = 1
	g_BlockWeapons = 0
	g_FreedayNext = 0
	g_isDay = false
	secundeday = 0
	g_GameMode = 0
	g_HNSCount = 0
	PlayDuel = false

	set_user_maxspeed(id, 250.0)
	set_user_noclip(id, 0)
	set_user_godmode(id, 0)
	set_user_gravity(id, 1.0)

	set_cvar_string("jbe_shop", "1");
	set_cvar_string("jbe_camera", "1");
	set_cvar_string("sv_parachute", "1");
	set_cvar_string("jbe_blockweaponmenu", "1");
	set_cvar_string("jb_autojoin", "0");
	set_cvar_string("jb_dayss", "");

	if (get_pcvar_num(cvar_players_aura))
		remove_task(id+TASK_AURA)

	if(g_RoundEnd)
	{
		g_RoundEnd = 0
		jbe_set_day_week(++g_JailDay);
	}

	set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)

	clear_bit(g_PlayerCrowbar, id)
	clear_bit(g_PlayerWanted, id)
	team = cs_get_user_team(id)

	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(VIP_ACCES))
				set_user_info(id, "model", "Play_Arena_VipT")
			else
			{
				set_user_info(id, "model", "jb_pa_player")
				entity_set_int(id, EV_INT_body, 2)
				entity_set_int(id, EV_INT_skin, random_num(0, 2))
			}

			if(is_freeday() || get_bit(g_FreedayAuto, id))
			{
				freeday_set(0, id)
				clear_bit(g_FreedayAuto, id)
			}
			else
				entity_set_int(id, EV_INT_skin, random_num(0, 2))

			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):
		{
			g_PlayerSimon[id]++

			if(get_user_flags(id) & read_flags(VIP_ACCES))
				set_user_info(id, "model", "Play_Arena_VipCT")
			else
			{
				set_user_info(id, "model", "jb_pa_player")
				entity_set_int(id, EV_INT_body, 3)
			}

			give_item(id, "weapon_knife")
			engclient_cmd(id, "weapon_knife")

			set_pev(id, pev_viewmodel2, v_Bulan)
			set_pev(id, pev_weaponmodel2, p_Bulan)

			cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM)
			fm_give_item(id, "weapon_deagle")
			cs_set_user_bpammo(id, CSW_DEAGLE, 35)
		}
	}

	user[id] = false
	//first_join(id)

	return HAM_IGNORED
}

public player_damage(victim, ent, attacker, Float:damage, DamageType, bits)
{
	if(get_user_team(attacker) == get_user_team(victim) && bits & DMG_HEGRENADE )
		return HAM_IGNORED

	if(!is_user_connected(attacker) || get_user_weapon(attacker) != CSW_KNIFE)
		return HAM_IGNORED

	if(is_user_connected(attacker) && is_user_connected(victim))
		if(victim == attacker)
			if(DamageType & DMG_HEGRENADE)
				return HAM_SUPERCEDE

	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 * gc_CrowbarMul)
				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
		}
	}

	return HAM_IGNORED
}

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))
					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)
	{
		if(get_knife1(attacker) && get_user_weapon(attacker) == CSW_KNIFE)
		{
			if(get_user_health(victim) > 30)
			{
				static Float:Origin[3]
				fm_get_aimorigin(attacker, Origin)
				create_blood(Origin)
				set_user_health( victim, get_user_health(victim)-30 );
			}
			else
				sw_kill(attacker, victim, 1, "Box" )

			if(get_pdata_int(victim, 75) == HIT_HEAD)
			{
				if(get_user_health(victim) > 15)
				{
					static Float:Origin[3]
					fm_get_aimorigin(attacker, Origin)
					create_blood(Origin)
					set_user_health( victim, get_user_health(victim)-15 );
				}
				else
					sw_kill(attacker, victim, 1, "Box" )
			}
		}
		else if(get_knife2(attacker) && get_user_weapon(attacker) == CSW_KNIFE)
		{
			if(get_user_health(victim) > 60)
			{
				static Float:Origin[3]
				fm_get_aimorigin(attacker, Origin)
				create_blood(Origin)
				set_user_health( victim, get_user_health(victim)-60 );
			}
			else
				sw_kill(attacker, victim, 1, "Box" )

			if(get_pdata_int(victim, 75) == HIT_HEAD)
			{
				if(get_user_health(victim) > 15)
				{
					static Float:Origin[3]
					fm_get_aimorigin(attacker, Origin)
					create_blood(Origin)
					set_user_health( victim, get_user_health(victim)-15 );
				}
				else
					sw_kill(attacker, victim, 1, "Box" )
			}
		}
		else if(get_knife3(attacker) && get_user_weapon(attacker) == CSW_KNIFE)
		{
			if(get_user_health(victim) > 80)
			{
				static Float:Origin[3]
				fm_get_aimorigin(attacker, Origin)
				create_blood(Origin)
				set_user_health( victim, get_user_health(victim)-80 );
			}
			else
				sw_kill(attacker, victim, 1, "Box" )

			if(get_pdata_int(victim, 75) == HIT_HEAD)
			{
				if(get_user_health(victim) > 15)
				{
					static Float:Origin[3]
					fm_get_aimorigin(attacker, Origin)
					create_blood(Origin)
					set_user_health( victim, get_user_health(victim)-15 );
				}
				else
					sw_kill(attacker, victim, 1, "Box" )
			}
		}
		else if(!get_knife1(attacker) && !get_knife2(attacker) && !get_knife3(attacker) && get_user_weapon(attacker) == CSW_KNIFE)
		{
			if(get_user_health(victim) > 25)
			{
				static Float:Origin[3]
				fm_get_aimorigin(attacker, Origin)
				create_blood(Origin)
				set_user_health( victim, get_user_health(victim)-25 );
			}
			else
				sw_kill(attacker, victim, 1, "Box" )

			if(get_pdata_int(victim, 75) == HIT_HEAD)
			{
				if(get_user_health(victim) > 15)
				{
					static Float:Origin[3]
					fm_get_aimorigin(attacker, Origin)
					create_blood(Origin)
					set_user_health( victim, get_user_health(victim)-15 );
				}
				else
					sw_kill(attacker, victim, 1, "Box" )
			}
		}
	}*/

	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)
			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) && gc_ButtonShoot)
	{
		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, shouldgib)
{
	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)

	if(g_Simon == victim)
	{
		g_Simon = 0
		emit_sound(0, CHAN_AUTO, "jb_pa_sounds/jbkill.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
	}

	if(get_pcvar_num(cvar_players_aura))
		remove_task(victim+TASK_AURA)

	if(cs_get_user_team(victim) == CS_TEAM_T && get_bit(check_bteam, victim))
		check_blueteam--;
	else if(cs_get_user_team(victim) == CS_TEAM_T && get_bit(check_rteam, victim))
		check_redteam--;

	switch(g_Duel)
	{
		case(0):
		{
			switch(vteam)
			{
				case(CS_TEAM_CT):
				{
					if(kteam == CS_TEAM_T && !get_bit(g_PlayerWanted, attacker))
					{
						set_bit(g_PlayerWanted, attacker)
						
						if(g_GameMode == 1)
						{
							set_bit(g_PlayerWanted, attacker)

							set_user_info(attacker, "model", "jb_pa_zombie")
							entity_set_int(attacker, EV_INT_skin, 1)
							player_glow(attacker, g_Colors[3])
						}
						else
						{
							if(get_user_flags(attacker) & read_flags(VIP_ACCES))
							{
								set_user_info(attacker, "model", "Play_Arena_VipT")
								player_glow(attacker, g_Colors[3])
							}
							else
							{
								set_user_info(attacker, "model", "jb_pa_player")
								entity_set_int(attacker, EV_INT_skin, 4)
							}
						}
					}
				}
				case(CS_TEAM_T):
				{
					clear_bit(g_PlayerRevolt, victim)
					clear_bit(g_PlayerWanted, victim)
				}
			}
		}
		default:
		{
			if (vteam == CS_TEAM_T)
			{
				if(task_exists(TASK_LAST))
					remove_task(TASK_LAST)

				set_cvar_string("jbe_shop", "0");

				set_task(2.1, "task_last_duel", TASK_LAST)
			}

			if(g_Duel != 2 && (attacker == g_PlayerDuelT || attacker == g_PlayerDuelCT || victim == g_PlayerDuelT || victim == g_PlayerDuelCT))
			{
				//set_user_rendering(victim, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
				set_user_rendering(attacker, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
				duel_end()

				g_PlayerLast = 0
				g_Duel = 0
				team_count()
			}
		}
	}

	return HAM_IGNORED
}

public player_touchweapon(id, ent)
{
	static model[32], class[32]

	if(g_BlockWeapons)
		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)
	{
		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 sound_emit(id, channel, sample[])
{
	if(is_user_alive(id) && equal(sample, "weapons/knife_", 14))
	{
		switch(sample[17])
		{
			case('b'): emit_sound(id, CHAN_WEAPON, "weapons/cbar_hitbod2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
			case('w'): emit_sound(id, CHAN_WEAPON, "weapons/cbar_hitbod1.wav", 1.0, ATTN_NORM, 0, PITCH_LOW)
			case('1', '2'): emit_sound(id, CHAN_WEAPON, "weapons/bullet_hit2.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
		}

		return FMRES_SUPERCEDE
	}

	return FMRES_IGNORED
}

public voice_listening(receiver, sender, bool:listen)
{
	if((receiver == sender))
		return FMRES_IGNORED

	if(!is_user_connected(sender) || !is_user_connected(receiver))
		return FMRES_IGNORED

	if(get_user_flags(sender) & read_flags(VIP_ACCES) || get_user_flags(sender) & read_flags("b"))
	{
		engfunc(EngFunc_SetClientListening, receiver, sender, true)
		return FMRES_SUPERCEDE
	}

	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
			}
		}
	}

	if(!is_user_alive(sender))
	{
		engfunc(EngFunc_SetClientListening, receiver, sender, false)
		return FMRES_SUPERCEDE
	}

	if(sender == g_Simon)
	{
		engfunc(EngFunc_SetClientListening, receiver, sender, true)
		return FMRES_SUPERCEDE
	}

	listen = true

	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)
		}
	}

	//Player Voice
	if(get_bit(g_PlayerVoice, sender) && is_user_alive(sender))
	{
		engfunc(EngFunc_SetClientListening, receiver, sender, true)
		return FMRES_SUPERCEDE
	}

	engfunc(EngFunc_SetClientListening, receiver, sender, listen)
	return FMRES_SUPERCEDE
}

public round_first()
{
	g_JailDay = 0
	for(new i = 1; i <= g_MaxClients; i++)
		g_PlayerSimon[i] = 0

	set_cvar_num("sv_alltalk", 0)
	set_cvar_num("mp_roundtime", 3)
	set_cvar_num("mp_limitteams", 0)
	set_cvar_num("mp_autoteambalance", 0)

	round_end()
}

public jbe_set_day_week(iWeek)
	g_JailDay = (g_JailDay > 6) ? 1 : iWeek;

public round_start()
{
	if(g_RoundEnd)
		return

	new JailDay[256]

	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")
		case 7: formatex(JailDay, charsmax(JailDay), "Duminica")
	}

	team_count()

	if(!g_Simon && is_freeday())
	{
		g_Freeday = 1
		emit_sound(0, CHAN_AUTO, "jb_pa_sounds/jb_clopotel.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
		check_freeday(TASK_FREEDAY)
	}
	else
		set_task(60.0, "check_freeday", TASK_FREEDAY)

	for(new i = 1; i <= g_MaxClients; i++)
	{
		if(!is_user_connected(i))
			continue

		set_user_maxspeed(i, 250.0) 
		set_user_noclip(i, 0)
		set_user_godmode(i, 0)
		set_user_gravity(i, 1.0)

		remove_task(TASK_FADE)
		user[i] = false

		set_hudmessage(random_num( 1, 255 ), random_num( 1, 255 ), random_num( 1, 255 ), -1.0, 0.71, 2, 6.0, 3.0, 0.1, 1.5);
		show_hudmessage(i, "[ Astazi este %s ]^n[ Trezirea ]", JailDay);
	}

	set_task(120.0, "freeday_end", TASK_FREEDAY)

	g_SimonAllowed = 1
	g_BlockWeapons = 0
	g_FreedayNext = 0
	g_isDay = false
	secundeday = 0
	g_GameMode = 0
	g_HNSCount = 0
	PlayDuel = false
	remove_task(TASK_FADE)

	set_cvar_string("jbe_shop", "1");
	set_cvar_string("jbe_camera", "1");
	set_cvar_string("sv_parachute", "1");
	set_cvar_string("jbe_blockweaponmenu", "1");
	set_cvar_string("jb_autojoin", "0");
	set_cvar_string("jb_dayss", "");

	inround = 0
	if(g_TeamCount[CS_TEAM_T] > 0 && g_TeamCount[CS_TEAM_CT] > 0)
		set_task(1.0, "CnT", TASK_SHOWTEAMMENU_TIMER, _, _, "b")

	new crowbar_ent
	while((crowbar_ent=engfunc(EngFunc_FindEntityByString, crowbar_ent, "classname", gCrowbarClassname)) != 0)
		engfunc(EngFunc_RemoveEntity, crowbar_ent)
}

public round_end()
{
	static CsTeams:team
	static spectrounds

	g_PlayerRevolt = 0
	g_PlayerFreeday = 0
	g_PlayerLast = 0
	g_BoxStarted = 0
	g_Simon = 0
	g_CrowbarCount = 0
	g_SimonAllowed = 0
	g_RoundStarted = 0
	g_LastDenied = 0
	g_BlockWeapons = 0
	g_TeamCount[CS_TEAM_T] = 0
	g_TeamCount[CS_TEAM_CT] = 0
	g_Freeday = 0
	g_FreedayNext = (random_num(0,99) >= 95)
	g_RoundEnd = 1
	g_Duel = 0
	g_PlayerLast = 0
	PlayDuel = false

	//remove_task(TASK_STATUS)
	remove_task(TASK_FREEDAY)
	remove_task(TASK_FREEEND)
	remove_task(TASK_ROUND)

	spectrounds = get_pcvar_num(gp_SpectRounds)

	duel_end()

	for(new i = 1; i <= g_MaxClients; i++)
	{
		if(!is_user_connected(i))
			continue

		szPlayerCT[i] = false
		szPlayerCaught[i] = false
		szPlayerTime[i] = 0
		g_GameMode = 0
		secundeday = 0

		set_user_maxspeed(i, 250.0)
		set_user_noclip(i, 0)
		set_user_godmode(i, 0)
		set_user_gravity(i, 1.0)

		set_lights("#OFF");

		set_cvar_string("mp_friendlyfire", "0");
		set_cvar_string("jb_autojoin", "0");

		g_isDay = false
		set_cvar_string("jb_dayss", "");

		set_user_hitzones(0, 0, 255)

		nofog()

		if(task_exists(TASK_GANGDAY))
			remove_task(TASK_GANGDAY);

		clear_bit(check_bteam, i);
		clear_bit(check_rteam, i);
		check_blueteam = 0;
		check_redteam = 0;

		set_cvar_string("jbe_shop", "1");
		set_cvar_string("jbe_camera", "1");
		set_cvar_string("sv_parachute", "1");
		set_cvar_string("jbe_blockweaponmenu", "1");
		set_cvar_string("jb_autojoin", "0");
		set_cvar_string("jb_dayss", "");

		remove_task(TASK_FADE)

		set_task(0.6, "end_fadescreen", TASK_FADE)

		menu_cancel(i)
		team = cs_get_user_team(i)

		player_strip_weapons(i)

		switch(team)
		{
			case(CS_TEAM_SPECTATOR,CS_TEAM_UNASSIGNED):
			{
				g_PlayerSpect[i]++
				if(g_PlayerSpect[i] > spectrounds)
				{
					client_cmd(i, "disconnect")
					server_print("JBE Disconnected spectator client #%i", i)
				}
			}
		}
	}

	for(new i = 0; i < sizeof(g_HudSync); i++)
		ClearSyncHud(0, g_HudSync[i][_hudsync])
}

public end_fadescreen()
{
	for(new i = 1; i <= g_MaxClients; i++)
	{
		set_hudmessage(random_num( 1, 255 ), random_num( 1, 255 ), random_num( 1, 255 ), -1.0, 0.71, 2, 6.0, 3.0, 0.1, 1.5);
		show_hudmessage(i, "****^n [ Ziua a luat Sfarsit ]^n [ Toata lumea la Somn ]^n *****");
	}

	message_begin(MSG_BROADCAST, get_user_msgid("ScreenFade"))
	write_short(12288)
	write_short(12288)
	write_short(0x0001)
	write_byte(0)
	write_byte(0)
	write_byte(0)
	write_byte(255)
	message_end()
}

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))
		set_pev(id, pev_body, 1)
		g_PlayerSimon[id]--

		set_user_info(id, "model", "jb_pa_player")
		entity_set_int(id, EV_INT_body, 1)

		ChekWeaponAmount[id] = 3

		client_print( id, print_chat, "*** Acum este simon, da-le comenzi PRIZONIERILOR ! ***");
		cmd_simonmenu(id)
	}

	return PLUGIN_HANDLED
}

public cmd_open(id)
{
	if(id == g_Simon)
	{
		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_pa_sounds/jb_open.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
	}
	else if(g_Freeday)
	{
		if(is_user_alive(id) && is_user_connected(id))
		{
			if(get_user_team(id) == 2)
			{
				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)
				show_hudmessage(0, "%L", 0, "JBE_OPEN_DOOR_GUARD", name)

				emit_sound(0, CHAN_AUTO, "jb_pa_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)
	{
		server_print("JBE Transfered guard to prisoners team client #%i", id)

		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 cmd_help(id)
{
	if(id > g_MaxClients)
		id -= TASK_HELP

	remove_task(TASK_HELP + id)
	switch(get_bit(g_PlayerHelp, id))
	{
		case(0):
		{
			set_bit(g_PlayerHelp, id)
			player_hudmessage(id, 7, 15.0, {230, 100, 10}, "%s", g_HelpText)
			set_task(15.0, "cmd_help", TASK_HELP + id)
		}
		default:
		{
			clear_bit(g_PlayerHelp, id)
			ClearSyncHud(id, g_HudSync[7][_hudsync])
		}
	}
}

/*======================================================
              End FreedayMenu ---> LAST REQUEST
======================================================*/
public cmd_lastrequest(id)
{
	if(g_isDay)
	{
		player_hudmessage(id, 8, 3.0, {0, 255, 0}, "%L", LANG_SERVER, "JBE_CANT_LR")
		return PLUGIN_HANDLED
	}

	if(g_TeamAlive[CS_TEAM_CT] <= 0)
		return PLUGIN_HANDLED

	if(!is_user_alive(g_PlayerLast))
		task_last_duel()

	if(!get_pcvar_num(gp_LastRequest) || g_LastDenied || g_PlayerLast != id || !is_user_alive(id) || g_Duel || GetPlayersNum( 1, 1 ) == 5)
		return PLUGIN_HANDLED

	new Buffer[512]

	formatex(Buffer, charsmax(Buffer), "%L", id, "DUEL_MENU_NAME")
	new menu = menu_create(Buffer, "lastrequest_select")

	if(!PlayDuel)
		formatex(Buffer, charsmax(Buffer), "%L", id, "DUEL_MENU_MONEY")
	else
		formatex(Buffer, charsmax(Buffer), "\d%L", id, "DUEL_MENU_MONEY")
	menu_additem(menu, Buffer, "1")

	if(!PlayDuel)
		formatex(Buffer, charsmax(Buffer), "%L", id, "DUEL_MENU_FREEDAY")
	else
		formatex(Buffer, charsmax(Buffer), "\d%L", id, "DUEL_MENU_FREEDAY")
	menu_additem(menu, Buffer, "2")

	formatex(Buffer, charsmax(Buffer), "%L", id, "DUEL_MENU_KNIFE")
	menu_additem(menu, Buffer, "3")

	formatex(Buffer, charsmax(Buffer), "%L", id, "DUEL_MENU_DEAGLE")
	menu_additem(menu, Buffer, "4")

	formatex(Buffer, charsmax(Buffer), "%L", id, "DUEL_MENU_GRENADE")
	menu_additem(menu, Buffer, "5")

	formatex(Buffer, charsmax(Buffer), "%L", id, "DUEL_MENU_M249")
	menu_additem(menu, Buffer, "6")

	formatex(Buffer, charsmax(Buffer), "%L", id, "DUEL_MENU_AWP")
	menu_additem(menu, Buffer, "7")

	formatex(Buffer, charsmax(Buffer), "%L", id, "DUEL_MENU_SCOUT")
	menu_additem(menu, Buffer, "8")

	/*formatex(Buffer, charsmax(Buffer), "%L", id, "DUEL_MENU_BAGHETE")
	menu_additem(menu, Buffer, "9")*/

	menu_display(id, menu, 0)
	return PLUGIN_HANDLED
}

public lastrequest_select(id, menu, item)
{
	if(g_isDay)
	{
		player_hudmessage(id, 8, 3.0, {0, 255, 0}, "%L", LANG_SERVER, "JBE_CANT_LR")
		return PLUGIN_HANDLED
	}

	if(item == MENU_EXIT || g_PlayerLast != id || !is_user_alive(id) || g_Duel)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}

	new dst[32], option[128]

	new data[6], iName[64], access, callback
	menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)

	get_user_name(id, dst, charsmax(dst))

	new key = str_to_num(data)
	switch(key)
	{
		case 1:
		{
			if(!PlayDuel)
			{
				formatex(option, charsmax(option), "Prizonierul %s a ales sa primeasca^n8000 Dolari", dst)
				player_hudmessage(0, 6, 3.0, {139, 101, 8}, option)

				cs_set_user_money(id, 8000)
				user_kill(id)
				g_Duel = 0
			}
			else
			{
				chatcolor(id, "%L", id, "DUEL_ALREDY", DUEL_PREFIX)
				cmd_lastrequest(id)
			}
		}
		case 2:
		{
			if(!PlayDuel)
			{
				set_bit(g_FreedayAuto, id)
				user_silentkill(id)

				formatex(option, charsmax(option), "Prizonierul %s a ales sa primeasca^nZi Libera", dst)
				player_hudmessage(0, 6, 3.0, {0, 255, 0}, option)
				g_Duel = 2
			}
			else
			{
				chatcolor(id, "%L", id, "DUEL_ALREDY", DUEL_PREFIX)
				cmd_lastrequest(id)
			}
		}
		case 3:
		{
			g_Duel = 3
			menu_players(id, CS_TEAM_CT, 0, 1, "duel_box", "%L", id, "MENU_DUEL_PLAYERS")
		}
		default:
		{
			g_Duel = key
			menu_players(id, CS_TEAM_CT, 0, 1, "duel_arme", "%L", id, "MENU_DUEL_PLAYERS")
		}
	}

	menu_destroy(menu)
	return PLUGIN_HANDLED
}

public duel_box(id, menu, item)
{
	if(g_isDay)
	{
		player_hudmessage(0, 8, 3.0, {0, 255, 0}, "%L", LANG_SERVER, "JBE_CANT_LR")
		return PLUGIN_HANDLED
	}

	if(item == MENU_EXIT || g_PlayerLast != id)
	{
		menu_destroy(menu)
		g_LastDenied = 0
		g_Duel = 0
		return PLUGIN_HANDLED
	}

	new 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), "%s a ales Duel de Box^nDuel: %s vs %s", src, src, dst)
	player_hudmessage(0, 6, 3.0, {139, 101, 8}, option)

	client_cmd(0, "mp3 play ^"%s^"", game_box)

	if(id > 0 && is_user_connected(id) && is_user_alive(id))
	{
		g_PlayerDuelT = id
		set_user_health(id, 100)
		clear_bit(g_PlayerCrowbar, id)
		strip_user_weapons(id);
		give_item(id, "weapon_knife");
		set_user_noclip(id, 0)
		set_user_godmode(id, 0)
		set_user_gravity(id,1.0)
		set_user_maxspeed(id, 250.0)
		player_glow(id, g_Colors[3])
		jb_strip_user_cold_weapons(id)
	}

	if(player > 0 && is_user_connected(player) && is_user_alive(player))
	{
		g_PlayerDuelCT = player
		strip_user_weapons ( player );
		give_item ( player, "weapon_knife" );
		player_glow(player, g_Colors[2])
		set_user_health(player, 100)
		set_user_maxspeed(player, 250.0)
		set_user_noclip(player, 0)
		set_user_godmode(player, 0)
		set_user_gravity(player,1.0)
		jb_strip_user_cold_weapons(player)
	}

	new crowbar_ent
	while((crowbar_ent=engfunc(EngFunc_FindEntityByString, crowbar_ent, "classname", gCrowbarClassname)) != 0)
		engfunc(EngFunc_RemoveEntity, crowbar_ent)

	g_BlockWeapons = 1
	g_PlayerLast = 0
	g_LastDenied = 1
	g_Duel = 3
	PlayDuel = true

	jail_open()

	set_cvar_string("jbe_shop", "0");
	set_cvar_string("jbe_blockweaponmenu", "0");

	return PLUGIN_HANDLED
}

public cmd_last_start(id, handle, seed)
{
	if(!is_user_alive(id) || !g_Duel)
		return FMRES_IGNORED

	if(g_Duel != 6) // m249
	{
		if(g_Duel == 4)
			cs_set_user_bpammo(id, CSW_DEAGLE, 1)
		else if(g_Duel == 5)
			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_SCOUT, 1)
	}

	return FMRES_IGNORED
}

public duel_arme(id, menu, item)
{
	if(g_isDay)
	{
		player_hudmessage(0, 8, 3.0, {0, 255, 0}, "%L", LANG_SERVER, "JBE_CANT_LR")
		return PLUGIN_HANDLED
	}

	if(item == MENU_EXIT || g_PlayerLast != id)
	{
		menu_destroy(menu)
		g_LastDenied = 0
		g_Duel = 0
		return PLUGIN_HANDLED
	}

	PlayDuel = true
	new 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)

	emit_sound(0, CHAN_AUTO, "jb_pa_sounds/jb_lr.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)

	set_user_health(id, 100)
	set_user_maxspeed(id, 250.0)
	set_user_noclip(id, 0)
	set_user_godmode(id, 0)
	set_user_gravity(id,1.0)
	player_glow(id, g_Colors[3])

	set_user_health(player, 100)
	set_user_maxspeed(player, 250.0)
	set_user_noclip(player, 0)
	set_user_godmode(player, 0)
	set_user_gravity(player,1.0)
	player_glow(player, g_Colors[2])

	set_hudmessage(139, 101, 8, -1.0, 0.6, 0, 6.0, 1.0)

	switch(g_Duel)
	{
		case 4:
		{
			formatex(option, charsmax(option), "%s a ales Duel de Deagle^nDuel: %s vs %s", src, src, dst)
			player_hudmessage(0, 6, 3.0, {139, 101, 8}, 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])
			}
			g_Duel = 4
		}
		case 5:
		{
			formatex(option, charsmax(option), "%s a ales Duel de Grenade^nDuel: %s vs %s", src, src, dst)
			player_hudmessage(0, 6, 3.0, {139, 101, 8}, 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)

				player_glow(id, g_Colors[3])
				set_user_health(id, 100)
			}

			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)

				player_glow(player, g_Colors[2])

				set_user_health(player, 100)
			}
			g_Duel = 5
		}
		case 6:
		{
			formatex(option, charsmax(option), "%s a ales Duel de Rambo^nDuel: %s vs %s", src, src, dst)
			player_hudmessage(0, 6, 3.0, {139, 101, 8}, option)

			if(id > 0 && is_user_connected(id) && is_user_alive(id))
			{
				g_PlayerDuelT = id
				strip_user_weapons(id)
				//cs_set_user_bpammo(id, CSW_M249,0)

				new iEnt = give_item(id, "weapon_m249")
				if (is_valid_ent(iEnt))
					cs_set_weapon_ammo(iEnt, 2000)

				player_glow(id, g_Colors[3])

				set_user_health(id, 2000)
			}

			if(player > 0 && is_user_connected(player) && is_user_alive(player))
			{
				g_PlayerDuelCT = player
				strip_user_weapons(player)
				//cs_set_user_bpammo(player, CSW_M249, 0)

				new iEnt = give_item(player, "weapon_m249")
				if (is_valid_ent(iEnt))
					cs_set_weapon_ammo(iEnt, 2000)

				player_glow(player, g_Colors[2])

				set_user_health(player, 2000)
			}
			g_Duel = 6
		}
		case 7:
		{
			formatex(option, charsmax(option), "%s a ales Duel de Awp^nDuel: %s vs %s", src, src, dst)
			player_hudmessage(0, 6, 3.0, {139, 101, 8}, 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])
			}
			g_Duel = 7
		}
		case 8:
		{
			formatex(option, charsmax(option), "%s a ales Duel de Scout^nDuel: %s vs %s", src, src, dst)
			player_hudmessage(0, 6, 3.0, {139, 101, 8}, 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])
			}
			g_Duel = 8
		}
		case 9:
		{
			formatex(option, charsmax(option), "%s a ales Duel de Baghete^nDuel: %s vs %s", src, src, dst)
			player_hudmessage(0, 6, 3.0, {139, 101, 8}, option)

			if(id > 0 && is_user_connected(id) && is_user_alive(id))
			{
				g_PlayerDuelT = id
				strip_user_weapons(id)

				start_magic(id)

				set_user_health(id, 500)
				player_glow(id, g_Colors[3])
			}

			if(player > 0 && is_user_connected(player) && is_user_alive(player))
			{
				g_PlayerDuelCT = player
				strip_user_weapons(player)

				start_magic(player)

				set_user_health(player, 500)
				player_glow(player, g_Colors[2])
			}
			g_Duel = 9
		}
	}

	new crowbar_ent
	while((crowbar_ent=engfunc(EngFunc_FindEntityByString, crowbar_ent, "classname", gCrowbarClassname)) != 0)
		engfunc(EngFunc_RemoveEntity, crowbar_ent)

	g_BlockWeapons = 1
	g_PlayerLast = 0
	g_LastDenied = 1

	jail_open()

	set_cvar_string("jbe_shop", "0");
	set_cvar_string("jbe_blockweaponmenu", "0");

	return PLUGIN_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(get_user_team(i) == 1)
			TAlive++
	}

	if(TAlive == 1) 
	{
		for(new i = 0; i <= get_maxplayers(); i++)
		{
			if(!is_user_alive(i))
				continue

			if(get_user_team(i) == 1) 
			{
				g_PlayerLast = i
				cmd_lastrequest(i)
				break;
			}
		}
	}

	set_cvar_string("jbe_blockweaponmenu", "0");
	set_cvar_string("jbe_shop", "0");

	return PLUGIN_CONTINUE
}

public duel_end()
{
	new Duel[256]
	switch(g_Duel)
	{
		case 0: formatex(Duel, charsmax(Duel), "Box")
		case 1: formatex(Duel, charsmax(Duel), "Box")
		case 2: formatex(Duel, charsmax(Duel), "Box")
		case 3: formatex(Duel, charsmax(Duel), "Box")
		case 4: formatex(Duel, charsmax(Duel), "Deagle")
		case 5: formatex(Duel, charsmax(Duel), "Grenazi")
		case 6: formatex(Duel, charsmax(Duel), "M249")
		case 7: formatex(Duel, charsmax(Duel), "Awp")
		case 8: formatex(Duel, charsmax(Duel), "Scout")
		case 9: formatex(Duel, charsmax(Duel), "Magic")
	}

	if(g_PlayerDuelT == 1 && g_PlayerDuelCT >= 1)
	{
		new name[32]
		if(is_user_connected(g_PlayerDuelT) && is_user_alive(g_PlayerDuelT))
		{
			get_user_name(g_PlayerDuelT, name, charsmax(name))

			chatcolor(0, "!t[!gLastRequest!t]!y Prizonierul !t[!g%s!t] !ya castigat !tDuelul !yde !t[!g%s!t] !y.", name, Duel)
			set_user_rendering(g_PlayerDuelT)
		}
		else if(is_user_connected(g_PlayerDuelCT) && is_user_alive(g_PlayerDuelCT))
		{
			get_user_name(g_PlayerDuelT, name, charsmax(name))

			chatcolor(0, "!t[!gLastRequest!t]!y Gardianul !t[!g%s!t] !ya castigat !tDuelul !yde !t[!g%s!t] !y.", name, Duel)
			set_user_rendering(g_PlayerDuelCT)
		}
	}

	if(g_Duel >= 3) 
	{
		player_strip_weapons(g_PlayerDuelCT)
		player_strip_weapons(g_PlayerDuelT)
	}

	client_cmd(0, "stopsound")
	set_cvar_string("jbe_shop", "0");
	task_last_duel()

	g_Duel = 0
	g_PlayerDuelT = 0
	g_PlayerDuelCT = 0
	g_LastDenied = 0
	g_PlayerLast = 0
	g_BlockWeapons = 0
}

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;
}

stock remove_frozen()
{
	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

		set_pev(szPlayer, pev_flags, pev(szPlayer, pev_flags) & ~FL_FROZEN)
	}
}
/*======================================================
              End Last Request ---> COMENZI ADMIN
======================================================*/
public adm_freeday(id)
{
	if(g_isDay)
	{
		chatcolor(id, "!g[JailBreak] !yNu poti da !gFreeDay !ypentru ca este in curs o !gZi Speciala !t.")
		return PLUGIN_HANDLED
	}

	if(g_PlayerLast)
	{
		chatcolor(id, "!g[JailBreak]  !yNu poti da !tZi Libera,!y cand este !gUltimul Prizonier!y, !tin !gviata !y!")
		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(get_user_flags(id) & read_flags ("c"))
	{
		new name[32], name2[32];
		get_user_name(id,name,31);
		get_user_name(player,name2, 31);

		if(is_user_connected(player) && cs_get_user_team(player) == CS_TEAM_T)
		{
			freeday_set(id, player)
			chatcolor(0, "!y[!gAdminControl!y] !tAdmin-ul !y[!g%s!y] !ya dat zi libera lui !y[!g%s!y].", name, name2)
			log_to_file("LogJailBreak.log","[ JBE_FREEDAY ] Admin-ul [ %s ] a dat zi libera lui [ %s ].", name, name2)
			emit_sound(0, CHAN_AUTO, "jb_pa_sounds/jb_clopotel.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
		}
	}
	else
	{
		chatcolor(id, "!y[!gAdminControl!y] !yNu ai !gacces !yla aceasta comanda.")
		return PLUGIN_CONTINUE
	}

	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_ACCESS)
	{
		new nume[18]
		get_user_name(id, nume, 17)

		chatcolor(0, "!y[!gAdminControl!y] !tAdmin-ul !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_pa_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_CONTINUE
	}

	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_ACCESS)
	{
		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_CONTINUE
	}

	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_ACCESS)
	{
		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_CONTINUE
	}

	return PLUGIN_HANDLED
}

public FreeDayALL(id)
{
	g_Simon = 0

	chatcolor(0, "!g[Jb.FRAGBITE.ro] !gFreeDay ALL!y a fost dat !gAUTOMAT !ypentru aceasta!g Zi Speciala.");

	check_freeday(TASK_FREEDAY)
}
/*======================================================
              END COMENZI ADMIN ---> Team Menu
======================================================*/
public show_team_menu(id) 
{
	if(inround < 30)
	{
		if(!user[id])
		{
			if(cs_get_user_team(id) != CS_TEAM_SPECTATOR && cs_get_user_team(id) != CS_TEAM_T && cs_get_user_team(id) != CS_TEAM_CT)
			{
				cs_set_user_team(id, 3)
				user_kill(id)
			}

			static menu, szText[ 555 char ];
			menu = menu_create( "\wMeniu Echipe \yJb.FRAGBITE.ro:^n\rRatie: \d[\w3\d] \rPrizonieri \w- \d[\w1\d] \yGardian", "team_choice" );

			formatex( szText, charsmax( szText ), "\rPrizonieri \y[\d%d\y]", g_TeamAlive[CS_TEAM_T] );
			menu_additem( menu, szText, "1")

			if(get_user_flags(id) & read_flags("x") || get_user_flags(id) & read_flags("a") || get_player_num(TEAM_CT, AL_BOTH) <= get_player_num(TEAM_T, AL_BOTH)/4
				|| g_TeamCount[CS_TEAM_CT] == 0 || g_TeamCount[CS_TEAM_T] > 5 && g_TeamCount[CS_TEAM_CT] == 1|| g_TeamCount[CS_TEAM_T] > 8 && g_TeamCount[CS_TEAM_CT] == 2 || g_TeamCount[CS_TEAM_T] > 11 && g_TeamCount[CS_TEAM_CT] == 3 || g_TeamCount[CS_TEAM_T] > 14 && g_TeamCount[CS_TEAM_CT] == 4 || g_TeamCount[CS_TEAM_T] > 17 && g_TeamCount[CS_TEAM_CT] == 5
				|| g_TeamCount[CS_TEAM_T] > 20 && g_TeamCount[CS_TEAM_CT] == 6)
			{
				formatex( szText, charsmax( szText ), "\yGardieni \r[\d%d\r]^n^n", g_TeamAlive[CS_TEAM_CT] );
				menu_additem( menu, szText, "2")
			}
			else
				menu_additem( menu, "Gardieni \r[Ocupat]^n^n","2", ADMIN_ADMIN);

			menu_additem( menu, "\yVizitatori penitenciar", "3")

			menu_display ( id , menu ) 
		}
		else
			client_print(id, print_center, "[Play-Arena] Ti-ai schimbat odata echipa runda asta !!!")
	}
	else if(get_user_flags(id) & read_flags("a") || get_user_flags(id) & read_flags("x"))
	{
		if(!user[id])
		{
			static menu, szText[ 555 char ];
			menu = menu_create( "\wMeniu Echipe \yJb.FRAGBITE.ro:^n\rRatie: \d[\w3\d] \rPrizonieri \w- \d[\w1\d] \yGardian", "team_choice" );

			formatex( szText, charsmax( szText ), "\rPrizonieri \y[\d%d\y]", g_TeamAlive[CS_TEAM_T] );
			menu_additem( menu, szText, "1")

			formatex( szText, charsmax( szText ), "\yGardieni \r[\d%d\r]^n^n", g_TeamAlive[CS_TEAM_CT] );
			menu_additem( menu, szText, "2")

			menu_additem( menu, "\yVizitatori \rPenitenciar", "3")

			menu_display ( id , menu ) 
		}
	}
	else
	{
		if(cs_get_user_team(id) != CS_TEAM_SPECTATOR && cs_get_user_team(id) != CS_TEAM_T && cs_get_user_team(id) != CS_TEAM_CT)
		{
			cs_set_user_team(id, 3)
			user_kill(id)
		}
		else
			client_print(id, print_center, "[Play-Arena] Nu poti intra in timpul rundei !!!")
	}

	return PLUGIN_HANDLED 
} 

public team_choice ( id , menu , item ) 
{ 
	static dst [ 32 ], data [ 5 ], access , callback 
	static restore, vgui
	if( item == MENU_EXIT ) 
	{ 
		menu_destroy ( menu ) 
		return PLUGIN_HANDLED 
	} 

	restore = get_pdata_int(id, m_iVGUI)
	vgui = restore & (1<<0)
	if(vgui)
		set_pdata_int(id, m_iVGUI, restore & ~(1<<0))
	menu_item_getinfo ( menu , item , access , data , charsmax ( data ), dst , charsmax ( dst ), callback ) 
	menu_destroy ( menu ) 
	
	switch( data [ 0 ]) 
	{ 
		case('1'): 
		{
			if(inround < 30)
			{
				if(!user[id] && is_user_connected(id))
				{
					if(cs_get_user_team(id) == CS_TEAM_T)
						show_team_menu ( id ) 
					else
					{
						new msgblock = get_msg_block(get_user_msgid ( "ShowMenu" ))
						set_msg_block(get_user_msgid ( "ShowMenu" ), BLOCK_ONCE)
						engclient_cmd(id, "jointeam", "1")
						engclient_cmd(id, "joinclass", "1")
						if(cs_get_user_team(id) != CS_TEAM_T)
						{
							cs_set_user_team(id, 1)
							user_kill(id)
						}
						set_msg_block(get_user_msgid ( "ShowMenu" ), msgblock)
						user[id] = true
						new name[32]
						get_user_name(id, name, 31)
					}
				}
				else
					client_print(id, print_center, "[Play-Arena] Nu poti intra in timpul rundei !!!")
			}
			else if(get_user_flags(id) & read_flags("x") || get_user_flags(id) & read_flags("a"))
			{
				if(cs_get_user_team(id) == CS_TEAM_T)
					show_team_menu ( id ) 
				else
				{
					new msgblock = get_msg_block(get_user_msgid ( "ShowMenu" ))
					set_msg_block(get_user_msgid ( "ShowMenu" ), BLOCK_ONCE)
					engclient_cmd(id, "jointeam", "1")
					engclient_cmd(id, "joinclass", "1")
					if(cs_get_user_team(id) != CS_TEAM_T)
					{
						cs_set_user_team(id, 1)
						user_kill(id)
					}
					set_msg_block(get_user_msgid ( "ShowMenu" ), msgblock)
					user[id] = true
					new name[32]
					get_user_name(id, name, 31)
				}
			}
			else
				client_print(id, print_center, "[Play-Arena] Nu poti intra in timpul rundei !!!")
		}
		case('2'): 
		{
			if(inround < 30)
			{
				if(!user[id] && is_user_connected(id))
				{
					if(cs_get_user_team(id) == CS_TEAM_CT)
						show_team_menu ( id ) 
					else
					{
						if(get_user_flags(id) & read_flags("x") || get_user_flags(id) & read_flags("a") || get_player_num(TEAM_CT, AL_BOTH) <= get_player_num(TEAM_T, AL_BOTH)/4 
							|| g_TeamCount[CS_TEAM_CT] == 0 || g_TeamCount[CS_TEAM_T] > 5 && g_TeamCount[CS_TEAM_CT] == 1|| g_TeamCount[CS_TEAM_T] > 8 && g_TeamCount[CS_TEAM_CT] == 2 || g_TeamCount[CS_TEAM_T] > 11 && g_TeamCount[CS_TEAM_CT] == 3 || g_TeamCount[CS_TEAM_T] > 14 && g_TeamCount[CS_TEAM_CT] == 4 || g_TeamCount[CS_TEAM_T] > 17 && g_TeamCount[CS_TEAM_CT] == 5
							|| g_TeamCount[CS_TEAM_T] > 20 && g_TeamCount[CS_TEAM_CT] == 6)
						{
							new msgblock = get_msg_block(get_user_msgid ( "ShowMenu" ))
							set_msg_block(get_user_msgid ( "ShowMenu" ), BLOCK_ONCE)
							engclient_cmd(id, "jointeam", "2")
							engclient_cmd(id, "joinclass", "1")
							if(cs_get_user_team(id) != CS_TEAM_CT)
							{
								cs_set_user_team(id, 2)
								user_kill(id)
							}
							set_msg_block(get_user_msgid ( "ShowMenu" ), msgblock)
							user[id] = true
							new name[32]
							get_user_name(id, name, 31)
						}
						else
						{
							show_team_menu ( id ) 
							client_print(id, print_center, "[Play-Arena] Sunt prea multi Gardieni !!!")
						}
					}
				}
				else
					client_print(id, print_center, "[Play-Arena] Ti-ai schimbat odata echipa runda asta !!!")
			}
			else if(get_user_flags(id) & read_flags("x") || get_user_flags(id) & read_flags("a"))
			{
				new msgblock = get_msg_block(get_user_msgid ( "ShowMenu" ))
				set_msg_block(get_user_msgid ( "ShowMenu" ), BLOCK_ONCE)
				engclient_cmd(id, "jointeam", "2")
				engclient_cmd(id, "joinclass", "1")
				if(cs_get_user_team(id) != CS_TEAM_CT)
				{
					cs_set_user_team(id, 2)
					user_kill(id)
				}
				set_msg_block(get_user_msgid ( "ShowMenu" ), msgblock)
				
				user[id] = true
				new name[32]
				get_user_name(id, name, 31)
			}
			else
				client_print(id, print_center, "[Play-Arena] Nu poti intra in timpul rundei !!!")
		}
		case('3'): 
		{
			if(inround < 30)
			{
				if(!user[id] && is_user_connected(id))
				{
					if(cs_get_user_team(id) == CS_TEAM_SPECTATOR)
						show_team_menu ( id ) 
					else
					{
						new msgblock = get_msg_block(get_user_msgid ( "ShowMenu" ))
						set_msg_block(get_user_msgid ( "ShowMenu" ), BLOCK_ONCE)
						engclient_cmd(id, "jointeam", "6")
						engclient_cmd(id, "joinclass", "1")
						set_msg_block(get_user_msgid ( "ShowMenu" ), msgblock)
						user[id] = true
						if(cs_get_user_team(id) != CS_TEAM_SPECTATOR)
						{
							cs_set_user_team(id, 3)
							user_kill(id)
						}
						new name[32]
						get_user_name(id, name, 31)
					}
				}
				else
					client_print(id, print_center, "[Play-Arena] Ti-ai schimbat odata echipa runda asta !!!")
			}
			else if(get_user_flags(id) & read_flags("x") || get_user_flags(id) & read_flags("a"))
			{
				if(!user[id] && is_user_connected(id))
				{
					if(cs_get_user_team(id) == CS_TEAM_SPECTATOR)
						show_team_menu ( id ) 
					else
					{
						new msgblock = get_msg_block(get_user_msgid ( "ShowMenu" ))
						set_msg_block(get_user_msgid ( "ShowMenu" ), BLOCK_ONCE)
						engclient_cmd(id, "jointeam", "6")
						engclient_cmd(id, "joinclass", "1")
						set_msg_block(get_user_msgid ( "ShowMenu" ), msgblock)
						if(cs_get_user_team(id) != CS_TEAM_SPECTATOR)
						{
							cs_set_user_team(id, 3)
							user_kill(id)
						}
						user[id] = true
						new name[32]
						get_user_name(id, name, 31)
					}
				}
			}
			else
				client_print(id, print_center, "[Play-Arena] Nu poti intra in timpul rundei !!!")
		}
	}

	if(vgui)
		set_pdata_int(id, m_iVGUI, restore)

	return PLUGIN_HANDLED 
} 

stock get_player_num(team, alive)
{
	static player_num
	player_num = 0
	
	for(new i = 0; i < get_maxplayers(); i++)
	{
		if(!is_user_connected(i))
			continue
		if(alive == AL_NOT)
		{
			if(is_user_alive(i))
				continue
		}else if(alive == AL_ALIVE) {
			if(!is_user_alive(i))
				continue	
		}else if(alive == AL_BOTH)
		
		if(team == TEAM_ALL)
		{
			if(cs_get_user_team(i) == CS_TEAM_UNASSIGNED || cs_get_user_team(i) == CS_TEAM_SPECTATOR)
				continue
			} else if(team == TEAM_T) {
			if(cs_get_user_team(i) != CS_TEAM_T)
				continue
			} else if(team == TEAM_CT) {
			if(cs_get_user_team(i) != CS_TEAM_CT)
				continue
		}
		
		player_num++
	}
	
	return player_num
}

public jointeam ( id ) 
	return PLUGIN_HANDLED 


public CnT()
{
	inround++

	if(inround == 30)
		remove_task(TASK_SHOWTEAMMENU_TIMER)

	return PLUGIN_HANDLED
}

public message_ShowMenu ( iMsgid , iDest , id ) 
{
	static sMenuCode [ iMaxLen ]; 
	get_msg_arg_string ( 4 , sMenuCode , sizeof ( sMenuCode ) - 1 );
	if( equal ( sMenuCode , FIRST_JOIN_MSG ) || equal ( sMenuCode , FIRST_JOIN_MSG_SPEC )) 
	{
		if ( get_pcvar_num ( gp_AutoJoin ) == 1 )
			set_autojoin_task( id , iMsgid ) 
		else
			show_team_menu ( id )

		return PLUGIN_HANDLED ; 
	}

	return PLUGIN_CONTINUE ; 
} 

public message_VGUIMenu ( iMsgid , iDest , id ) 
{
	if( get_msg_arg_int ( 1 ) != VGUI_JOIN_TEAM_NUM ) 
		return PLUGIN_CONTINUE ; 

	cs_set_user_team(id, 3)
	user_kill(id)
	show_team_menu ( id )

	return PLUGIN_HANDLED ; 
} 

public task_Autojoin ( iParam [], id ) 
{
	if(g_PlayerLast)
		return PLUGIN_HANDLED

	new iMsgBlock = get_msg_block ( iParam [ 0 ]);
	set_msg_block ( iParam [ 0 ], BLOCK_SET );

	engclient_cmd ( id , "jointeam" , "1" )
	engclient_cmd ( id , "joinclass" , "1" )

	set_msg_block ( iParam [ 0 ], iMsgBlock );

	return PLUGIN_HANDLED
}

stock set_autojoin_task ( id , iMsgid ) 
{
	if(g_PlayerLast)
		return PLUGIN_HANDLED

	new iParam [ 2 ]; 
	iParam [ 0 ] = iMsgid ; 
	set_task ( 0.1 , "task_Autojoin" , id , iParam , sizeof ( iParam ));

	return PLUGIN_HANDLED
}

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 = 0
		g_PlayerDuelT = 0
		g_PlayerDuelCT = 0
		g_Duel = 0
	}
}
/*======================================================
              END Team Menu
======================================================*/
public prisoner_last(id)
{
	static name[32], Float:roundmax

	if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T)
	{
		roundmax = get_pcvar_float(gp_RoundMax)
		get_user_name(id, name, charsmax(name))

		g_PlayerLast = id
		//player_hudmessage(0, 6, 5.0, {0, 0, 255}, "%L", LANG_SERVER, "JBE_PRISONER_LAST", name)

		remove_task(TASK_ROUND)

		if(roundmax > 0.0)
		{
			player_hudmessage(0, 8, 3.0, {255, 0, 255}, "%L", LANG_SERVER, "JBE_STATUS_ENDTIMER", floatround(roundmax - 60.0))
			set_task(roundmax - 60.0, "check_end", TASK_ROUND)
		}

		if((g_TeamAlive[CS_TEAM_CT] > 0) && get_pcvar_num(gp_AutoLastresquest))
		{
			cmd_lastrequest(id)
			set_cvar_string("jbe_shop", "0");
			set_cvar_string("jbe_blockweaponmenu", "1");
		}
	}
}

public revolt_start()
{
	emit_sound(0, CHAN_AUTO, "jb_pa_sounds/jb_alarma.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
	set_task(5.0, "stop_sound")
}

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

public JailHudTask()
{
	static i, n
	new name[32], simon[32], last[32], szStatus[64], wanted[1024], freeday[1024], JailDay[256], DayName[256]

	if(g_RoundStarted < 5 / 2)
		g_RoundStarted++

	n = 0
	formatex(wanted, charsmax(wanted), "%L", LANG_SERVER, "JBE_PRISONER_WANTED")
	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), "%L", LANG_SERVER, "JBE_STATUS", g_TeamAlive[CS_TEAM_T], g_TeamCount[CS_TEAM_T])
	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 >=1 && g_GameMode >= 1)
	{
		secundeday--;
		formatex(DayName, charsmax(DayName), "%s - %d:%02d", g_DayName[g_GameMode], (secundeday / 60), (secundeday % 60))
	}
	else if(g_GameMode >= 1 && secundeday <= 0)
	{
		formatex(DayName, charsmax(DayName), "Zi Normala")
		kill_all()
	}
	else if(g_Freeday == 1)
		formatex(DayName, charsmax(DayName), "Zi Libera")
	else if(g_Freeday == 0)
		formatex(DayName, charsmax(DayName), "Zi Normala")
	else
		formatex(DayName, charsmax(DayName), "Zi Normala")

	get_user_name(g_PlayerLast, last, charsmax(last))


	get_user_name(g_Simon, simon, charsmax(simon))
	if(secundeday <= 0)
	{
		if(g_Simon)
			player_hudmessage(0, 2, HUD_DELAY + 1.0, {0, 104, 139}, "%s este Simon :: Astazi este %s :: %s", simon, JailDay, DayName)
		else if(g_Freeday && g_Simon == 0)
			player_hudmessage(0, 2, HUD_DELAY + 1.0, {0, 104, 139}, "Astazi este %s :: %s", JailDay, DayName)
		else
			player_hudmessage(0, 2, HUD_DELAY + 1.0, {0, 104, 139}, "Nu este Simon :: Astazi este %s :: %s", JailDay, DayName)
	}
	else if(secundeday >= 1)
	{
		if(g_Simon)
			player_hudmessage(0, 2, HUD_DELAY + 1.0, {0, 104, 139}, "%s este Simon :: Astazi este %s :: %s", simon, JailDay, DayName)
		else
			player_hudmessage(0, 2, HUD_DELAY + 1.0, {0, 104, 139}, "Nu este Simon :: Astazi este %s :: %s", JailDay, DayName)
	}

	if(!(g_PlayerLast))
	{
		if(g_PlayerWanted)
			player_hudmessage(0, 3, HUD_DELAY + 1.0, {255, 0, 0}, "%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 = get_pcvar_num(gp_TalkMode)
	gc_VoiceBlock = get_pcvar_num(gp_VoiceBlock)
	gc_SimonSteps = get_pcvar_num(gp_SimonSteps)
	gc_ButtonShoot = get_pcvar_num(gp_ButtonShoot)
	gc_CrowbarMul = get_pcvar_float(gp_CrowbarMul)
}

public check_freeday(task)
{
	static Float:roundmax, i

	if(g_isDay)
		return PLUGIN_HANDLED

	if(!g_Simon && !g_PlayerLast)
	{
		g_Freeday = 1
		jail_open()

		roundmax = get_pcvar_float(gp_RoundMax)

		if(roundmax > 0.0)
		{
			for(i = 1; i <= g_MaxClients; i++)
				if(is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_T)
					freeday_set(0, i)

			emit_sound(0, CHAN_AUTO, "jb_pa_sounds/jb_clopotel.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
			player_hudmessage(0, 8, 3.0, {255, 0, 0}, "%L", LANG_SERVER, "JBE_STATUS_ENDTIMER", floatround(roundmax - 60.0))

			remove_task(TASK_ROUND)
			set_task(roundmax - 60.0, "check_end", TASK_ROUND)
		}
	}

	if(get_pcvar_num(gp_AutoOpen))
		jail_open()

	return PLUGIN_HANDLED
}

public freeday_end(task)
{
	if(g_Freeday || g_PlayerFreeday)
	{
		emit_sound(0, CHAN_AUTO, "jb_pa_sounds/jb_clopotel.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
		player_hudmessage(0, 8, 3.0, {255, 0, 255}, "%L", LANG_SERVER, "JBE_STATUS_ENDFREEDAY")
	}
}

public check_end(task)
{
	if(g_GameMode >= 1)
	{
		player_hudmessage(0, 8, 3.0, {0, 104, 139}, "Ziua nu se poate Termina^nPentru ca este in Desfasurare o Zi Speciala")
		return PLUGIN_HANDLED
	}

	if(g_PlayerLast)
	{
		player_hudmessage(0, 8, 3.0, {0, 104, 139}, "Ziua nu se poate Termina^nPentru ca este Ultimul Prizonier in Viata")
		return PLUGIN_HANDLED
	}

	team_count()
	for(new i = 1; i <= g_MaxClients; i++)
	{
		if(g_PlayerTeam[i] == CS_TEAM_T && is_user_alive(i))
		{
			user_silentkill(i)
			cs_set_user_deaths(i, get_user_deaths(i) - 1)
		}
	}

	for(new i = 1; i <= g_MaxClients; i++)
	{
		if(g_PlayerTeam[i] == CS_TEAM_CT && is_user_alive(i))
		{
			user_silentkill(i)
			cs_set_user_deaths(i, get_user_deaths(i) - 1)
		}
	}

	emit_sound(0, CHAN_AUTO, "jb_pa_sounds/jb_clopotel.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)

	player_hudmessage(0, 6, 3.0, {255, 0, 255}, "%L", LANG_SERVER, "JBE_STATUS_ROUNDEND")

	return PLUGIN_HANDLED
}

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)
}

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

	return -1
}

stock freeday_set(id, player)
{
	static src[32], dst[32]
	get_user_name(player, dst, charsmax(dst))

	if(is_user_alive(player) && !get_bit(g_PlayerWanted, player))
	{
		if(get_pcvar_num(gp_GlowModels))
			player_glow(player, g_Colors[1])

		set_bit(g_PlayerFreeday, player)

		if(get_user_flags(player) & read_flags(VIP_ACCES))
		{
			set_user_info(player, "model", "Play_Arena_VipT")
			player_glow(player, g_Colors[1])
		}
		else
		{
			set_user_info(player, "model", "jb_pa_player")
			entity_set_int(player, EV_INT_skin, 3)
		}

		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 first_join(id)
{
	if(!get_bit(g_PlayerJoin, id))
	{
		set_bit(g_PlayerJoin, id)
		clear_bit(g_PlayerHelp, id)
		set_task(5.0, "cmd_help", TASK_HELP + id)
	}
}

stock ctcount_allowed()
{
	static count

	count = ((g_TeamCount[CS_TEAM_T] + g_TeamCount[CS_TEAM_CT]) / get_pcvar_num(gp_TeamRatio))

	if(count < 2)
		count = 2
	else if(count > get_pcvar_num(gp_CtMax))
		count = get_pcvar_num(gp_CtMax)

	return count
}

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)
	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, m_iPrimaryWeapon, 0)
}

stock player_strip_weapons_all()
	for(new i = 1; i <= g_MaxClients; i++)
		if(is_user_alive(i))
			player_strip_weapons(i)

stock is_freeday()
	return (g_FreedayNext || g_Freeday || (g_JailDay == 1))


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)
		}
	}
}

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();
			}
		}
	}
}
/*======================================================
              END Stock-URI ---> NATIVES by PedoBear
======================================================*/
public plugin_natives()
{
	//Native Baza
	register_native("get_simon", "native_user_simon", 1)
	register_native("jb_is_user_simon", "native_get_user_simon", 1)
	register_native("jb_get_user_in_duel", "jb_get_user_in_duel", 1)
	register_native("jb_is_user_last", "native_is_last", 1)
	register_native("jb_set_user_freeday", "native_set_user_freeday", 1)
	register_native("jb_give_simon", "native_get_simon", 1)
	register_native("jb_show_lr_menu", "native_show_lr_menu", 1)
	register_native("jb_open_doors", "native_open_doors", 1)
	register_native("is_free_day", "native_is_free_day", 1)
	register_native("jb_fd_all", "native_fd_all", 1)
	register_native("Jail_Day", "native_day", 1)

	//Native DaysMenu
	register_native("open_days", "cmd_daysmenu", 1)
	register_native("open_days_lr", "JBDays", 1)
	register_native("is_day", "native_is_day", 1)
	register_native("Game_Mode", "get_gamemode", 1)
	register_native("jb_set_gamemode", "jb_set_game", 1)
}

public native_get_simon(id)
	cmd_simon(id)

public native_show_lr_menu(id)
	cmd_lastrequest(id)

public native_set_user_freeday(id)
{
	new name[32]
	get_user_name(id, name, charsmax(name))

	set_bit(g_PlayerFreeday, id)
	set_user_rendering(id, kRenderFxGlowShell, 0, 250, 0, kRenderNormal, 18)

	player_hudmessage(0, 6, 3.0, {0, 104, 139}, "%s a primit FREEDAY de la SERVER !", name)
}

public native_user_simon(id)
	return g_Simon

public native_get_user_simon(id)
{
	if(cs_get_user_team(id) != CS_TEAM_CT)
		return 0

	return g_Simon == id? 1 : 0
}

public bool:jb_get_user_in_duel(id)
{
	if(id == g_PlayerDuelT || id == g_PlayerDuelCT)
		return true

	return false
}

public jb_set_game(num)
{
	switch(num)
	{
		case 1: ZombieDay()
		case 2: SpartanDay()
		case 3: GravityDay()
		case 4: GrenadeDay()
		case 5: NightDay()
		case 6: BoxDay()
		case 7: HnsDay()
		case 8: GhostDay()
		case 9: MagicDay()
		case 10: TagDay()
		case 11: DodgeBallDay()
		case 12: HeadShotDay()
		case 13: PaintBallDay()
	}
}

//Native DaysMenu
public native_is_day() return g_isDay
public get_gamemode() return g_GameMode

//Native Baza Jb
public native_open_doors() jail_open()
public native_fd_all(id) FreeDayALL(id)
public native_day() return g_JailDay
public native_is_free_day() return g_Freeday
public native_is_last() return g_PlayerLast
/*======================================================
			  END NATIVE ---> Comenzi Ascunse
======================================================*/
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
ZM2.LALEAGANE.RO
Post Reply

Return to “Scripting”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 14 guests