AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   automatic jail prank (https://forums.alliedmods.net/showthread.php?t=340198)

yagami 11-01-2022 12:24

automatic jail prank
 
Can anyone help me how do I make the games to be automatic in jailbreak?


Code:

/* LEGENDA DE SKINS
*
* BODY 4 ZOMBIE
* BODY 3 GUARDA
* BODY 2 PRISIONEIROS
* {
*                SKINS DO BODY2
*                SKIN 1 = PRISIONEIRO NORMAL ( AZUL )
*                SKIN 2 = PRISIONEIRO NORMAL ( ROXO )
*                SKIN 3 = PRISIONEIRO NORMAL ( LARANJA )
*                SKIN 4 = PRISIONEIRO FUNDADOR ( CINZA )
*                SKIN 5 = PRISIONEIRO FREEDAY ( VERDE )
*                SKIN 6 = PRISIONEIRO REBELADO ( VERMELHO )
* }
* BODY 1 GUARDA (ADM)
*
*
* ADMIN_LEVEL_A = MENU ADMINISTRADOR DO SERVIDOR
*/

#include < amxmodx >
#include < amxmisc >
#include < fakemeta >
#include < hamsandwich >
#include < engine >
#include < cstrike >
#include < csx >
#include < xs >
#include < fun >
#include < colorchat >
#include < nvault >

#if AMXX_VERSION_NUM < 183
#include <dhudmessage>
#endif

//Abaixo sao definidas as TASK do Shop

#define TASKGRAVITY                2490000
#define TASKAPAGAO                2490000
#define TASKINVISIVEL        2690000
#define TASKGOD                        2790000
#define TASKROUPATR                2890000
#define TASKROUPACT                2810000
#define TASKCLIP                2830000
#define TASK_CYLINDER        12000

#define TASK_SPEED                                10500 
#define TASK_STEALTH                        10200

/// TASK GAMEPLAYS
#define DAYS_TASK        54323
#define TASKCOUNT        54325
#define TASK_WELCOMEMSG        50000
#define FREEDAY_TASK                        65456

/// TASK SYSTEM
#define MAX_ITENS_MENU                9
#define m_iPrimaryWeapon 116
#define OFFSET_LINUX                5
#define OFFSET_CSTEAM                114
#define b_DmgGrenade                        ( 1 << 24 )
#define MAX_PLAYERS                32

#define SetBit(%1,%2)                %2 |= 1<<(%1 & 31)
#define ClearBit(%1,%2)                %2 &= ~( 1<<(%1 & 31) )
#define CheckBit(%1,%2)                ( %2 &  1<<(%1 & 31) )

#define is_player(%1)                ( 1 <= %1 <= xMaxPlayers)

#define szTag "[MAFIA BR]"
#define PrefixoC "[MAFIA BR]"
#define MenuTag "[MAFIA BR]"
#define FUNID ""
#define IsPlayer(%1) (1 <= %1 <= g_players)
#pragma tabsize 0
#pragma dynamic 32768
#pragma semicolon 1
#define m_iCsTeams                        114
#define m_iLinux                        5

enum { FM_CS_TEAM_UNASSIGNED = 0, FM_CS_TEAM_T, FM_CS_TEAM_CT, FM_CS_TEAM_SPECTATOR };
enum SpeakersType { MUTED_ALL, MUTED_SPEAKER, ALIVE_SPEAKER, ADMIN_SPEAKER, TEAM_SPEAKER };

new const PLUGIN_NAME[] = "JailBreak MAFIA BR";
new const PLUGIN_VERSION[] = "1.0";
new const PLUGIN_AUTHOR[] = "Guizot and Ryhgaa";

new const VERSION[]        = "";

// Mão dos Players
new GUARDA_MAO[33], PRISIONEIRO_MAO[33];

// Mao dos Prisioneiros
new VIEW_MODELT[]              = "models/mafiabr_models/mafiabr_hand/mafiabr_hand.mdl";

// Mao dos Guardas
new VIEW_MODELCT[]              = "models/mafiabr_models/mafiabr_taser/v_mafiabr_taser.mdl";
new PLAYER_MODELCT[]            = "models/mafiabr_models/mafiabr_taser/p_mafiabr_taser.mdl";

// Som da Mão dos Prisioneiros
new const KnuckleHit_Sounds[][]        = { "mafiabr_sounds/TR/soco1.wav", "mafiabr_sounds/TR/soco2.wav" };

// Som da Mão do Guarda
new const ct_deploy[]    = { "mafiabr_sounds/CT/CTConvoca.wav", };
new const ct_slash1[]          = { "mafiabr_sounds/CT/Slash1.wav", };
new const ct_slash2[]          = { "mafiabr_sounds/CT/Slash2.wav", };
new const ct_wall[]          = { "mafiabr_sounds/CT/CTHitWall.wav" };
new const ct_hit1[]          = { "mafiabr_sounds/CT/CTHit1.wav",  };
new const ct_hit2[]          = { "mafiabr_sounds/CT/CTHit1.wav",  };
new const ct_hit3[]          = { "mafiabr_sounds/CT/CTHit1.wav",  };
new const ct_hit4[]          = { "mafiabr_sounds/CT/CTHit1.wav",  };
new const ct_stab[]          = { "mafiabr_sounds/CT/CTStab.wav"  };

//APAG*********O
new const MP3_APAGAO[] = "mafiabr_sounds/mafiabr_apagao.wav";

// Sirene

new const SomSirene[] = "mafiabr_sounds/Sirene.wav";

new sz_gPlayer;

new const Tempestade[] = "mafiabr_sounds/tempestade.mp3";


/** SEDATIVO **/
new xHasSedativo, xUseSedativo;
new xPlayerUseSedativo[ MAX_PLAYERS+1 ];
new cvar_time_sedativo;
new const V_SEDATIVO[] = "models/mafiabr_models/mafiabr_sedativo/v_mafiabr_sedativo.mdl";
new g_msgScreenFade;

new bool:isFreeday;
new bool:xEvento;
new bool:iGotWeapon[ 33 ][ 2 ];
//new Float:g_flLastTime[33];

new
;
new xMaxPlayers;
new iRebel;

new iBhop[33];
new HasItem[33];
new HasItem2[33];
new HasItem3[33];
new HasItem4[33];
new bool:contagem = false;


//*~ Conterdown ~*//
new timers;
new g_iButtons[10];


enum {
        FM_TEAM_UNASSINGNED = 0,
        FM_TEAM_TR,
        FM_TEAM_CT,
        FM_TEAM_SPECTADOR
};


//*~ Box ~*//
new iHandler, i, iMaxPlayers;
new Tr_Vivos;
new iTrash[ 32 ], tNum;
new Verify;


new const v_BoxLuva[] = "models/mafiabr_models/mafiabr_boxing/v_mafiabr_boxing.mdl";
//new const p_BoxLuva[] = "models/One6jail/Box/p_boxred.mdl";

new const SomBox[] = "mafiabr_sounds/SoundBox1.mp3" ;

enum{
        DUELO = 0,
        REBELADO,
        ERROR,
        TEMPO,
        MORTE,
        CELA
}

new const sound_psm[][]=  { "mafiabr_sounds/rebel.wav", "mafiabr_sounds/mafiabr_duelo.wav", "buttons/blip2.wav", "mafiabr_sounds/Tempo.wav", "mafiabr_sounds/Morte.wav", "mafiabr_sounds/Cela.wav" };

#define MaxMusicas 3

new const MP3_FREEDAY[MaxMusicas][] = {
        "mafiabr_sounds/racionais.mp3",
        "mafiabr_sounds/weownit.mp3",
        "mafiabr_sounds/duality.mp3"
       
};


/// NATIVES REGISTRO ///

native buy_grenade(id);
native native_xDay();
native Jail_Days(id);

native Native_Esconde();
native Native_Pega();
native Native_Invisivel();
native Native_Sobrevivencia();
native Native_Tubarao();
native Native_Gladiador();
native Native_Zombie_tr();
native Native_Zombie_ct();

/// NATIVES REGISTRO ///

enum{
        LR_NONE=-1,
        LR_SOCO,
        LR_DEAGLE,
        LR_SCOUT,
        LR_AWP,
        LR_M3,
        LR_DROP,
        LR_TUBARAO_CT,
        LR_TUBARAO_TR,
       
        MAX_GAMES
};

enum{
        LR_PRISONER,
        LR_GUARD
};

enum{
        ALIVE,
        DEAD,
        ALL       
};

enum ( += 100 ){
        TASK_BEACON,
        TASK_ENDLR
};

new const g_szGameNames[ MAX_GAMES ][ ] = {
        "Soco",
        "Deagle \d[Tiro por Tiro]",
        "Scout \d[Sem Mira]",
        "AWP",
        "M3",
        "Drop",
        "Tubarao \d[CT]",
        "Tubarao \d[TR]"
        //"Espada \r[Novo]"
};

// Integers
////////////

new g_iCurrentGame = LR_NONE;
new g_iLastRequest[ 2 ];
new g_iCurrentPage[ 33 ];
new g_iChosenGame[ 33 ];

//new CylinderSprite

new HamHook:ForwardSecAttackScout, HamHook:UseFuncHealthChargerFwd, HamHook:UseFuncRechargeFwd;

// Booleans
///////////

new bool:g_bAlive[ 33 ];
new bool:g_bConnected[ 33 ];

new bool:g_bLastRequestAllowed;

/** EVENTOS E DATAS ESPECIAIS **/

#define HAPPY_START                12
#define HAPPY_END                20

//new g_happyhour = 0;

new szHud;

// Shop Moedas


#pragma semicolon 1


#define PICKUP_SND                "items/gunpickup2.wav"
#define HEALTH_SOUND                "items/smallmedkit1.wav"
#define ARMOR_SOUND                "items/ammopickup2.wav"
#define CLOACK_SOUND                "hornet/ag_buzz1.wav"
#define LJ_SOUND                "fvox/powermove_on.wav"
#define SOUND_NVGOFF                "items/nvg_off.wav"
#define ADMIN_ACCESS_CMD        ADMIN_KICK       
#define HAS_NVGS                (1<<0)
#define USES_NVGS                (1<<8)
#define get_user_nvg(%1)            (get_pdata_int(%1,m_iNvg) & HAS_NVGS)

new gBunnyCost;
new gSilentCost;
new gSpeedCvar;
new gAdvertiseCvar;
new gAdvertiseTimeCvar;
new xStrondaCashCvar;
new gSavePlayerPoints;
new gVault;
new gNoclipTime;
new gJetSprite;
new gJetPackCost;
new gJetTime;
new gDeagleCost;
new gMsgItemPickup;
new gLongJumpTime;
new gMessageNVG;
new HasHe[ 33 ];
new HasBothGren[ 33 ];
new HasSilent[ 33 ];
new HasHealth[ 33 ];
new HasArmor[ 33 ];
new HasSpeed[ 33 ];
new HasGravity[ 33 ];
new HasInvis[ 33 ];
new HasNoclip[ 33 ];
new HasJet[ 33 ];
new HasDeagle[ 33 ];
new HasLongJump[ 33 ];
new HasGlow[ 33 ];
new HasNVG[ 33 ];
new gSteamID[ 32 ];
new vKey[ 64 ];
new vData[ 64 ];
new xStrondaCash[ 33 ];

const m_iNvg = 129;
const m_iLinuxDiff = 5;

new SpeakersType:mySpeaker[ 33 ];

new xLimiteReviver[33];
new checkRebel[33];

new ModelTime1[] = "models/player/mafiabr_prisioneiro1/mafiabr_prisioneiro1.mdl";
new ModelTime2[] = "models/player/mafiabr_guarda/mafiabr_guarda.mdl";


//new const ServerIP[] = "187.75.163.3";

public plugin_init() {
       
        /*new szIP[32];
        get_user_ip(0,szIP,charsmax(szIP),1);
       
        if(!equal(szIP,ServerIP))
                set_fail_state("PLUGIN PRIVADO");*/
       
        register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR );
       
        register_clcmd("[Quantidade]Dinheiro","setmoney");
        register_clcmd("[DoarQuantidade]Dinheiro","xDoarDinheiro");
        register_clcmd("[SetarQuantidade]Cigarros","xSetarMoedasQ");
        register_clcmd("[RemoverQuantidade]Cigarros","xRemoverMoedas");
       
        register_clcmd("say /cela","cmdCela");
        register_clcmd("say_team /cela","cmdCela");
        register_clcmd("say /doar","xDoar");
       
        register_message( get_user_msgid( "ShowMenu" ), "message_ShowMenu" );
       
        register_clcmd( "chooseteam", "cmd_team_menu" );
        register_clcmd( "jointeam", "cmd_team_menu" );
        register_clcmd( "joinclass", "cmd_team_menu" );
       
        register_message(get_user_msgid("TextMsg"), "Message_TextMsg");
        register_message(get_user_msgid("StatusIcon"), "Message_StatusIcon");
       
        register_forward( FM_EmitSound, "FwdEmitSoundPre", 0 );
        register_forward(FM_PlayerPreThink, "PlayerPreThink");
        register_forward(FM_SetClientKeyValue, "set_client_kv");
        register_forward( FM_CmdStart, "FwdPlayerCmdStart", 1 );
        register_forward( FM_Voice_SetClientListening, "FwdSetClientListeningPre", 0 );
       
        register_event( "CurWeapon", "Event_CurWeapon", "be", "1=1" );
        register_event("HLTV", "Event_RoundStart", "a", "1=0", "2=0");
       
        RegisterHam( Ham_Spawn, "player", "FwdPlayerSpawnPost", 1 );
        RegisterHam( Ham_TakeDamage, "player", "FwdPlayerTakeDamagePre", 0 );
        RegisterHam(Ham_TraceAttack, "func_button", "FwdTraceAttack_Post", 1);
        RegisterHam( Ham_Killed, "player", "Ham_PlayerKilled_Post",        1 );
       
        register_clcmd("say /reviver", "cmdReviver");
        register_clcmd("say /shop", "CmdAcessoShop");
        register_clcmd("say /duelo", "Cmd_LastRequest");
        register_clcmd("say /celas", "CmdCelas");
        register_clcmd("say /regras","regras_motd");
       
        register_logevent( "RoundEnd", 2, "1=Round_End" );
        register_logevent( "RoundStart", 2, "1=Round_Start" );
       
        set_task( 1.0, "DaysHUD", DAYS_TASK );
       
        setup_buttons();
       
        DisableHamForward( UseFuncHealthChargerFwd );
        DisableHamForward( UseFuncRechargeFwd );
       
        /** SHOP PRISIONEIRO **/
        cvar_time_sedativo = register_cvar("shop_time_sedativo", "6");
        Tr_Vivos = register_cvar("box_num" , "5");
       
        xMaxPlayers = get_maxplayers();
        iMaxPlayers = get_maxplayers();
       
        szHud = CreateHudSyncObj( );
       
        set_task(1.0,"HudT",0,"",0,"b");
       
        register_cvar( "drshop_version", VERSION, FCVAR_SERVER | FCVAR_SPONLY );
        register_logevent( "logevent_round_start", 2, "1=Round_Start" );
        register_event( "DeathMsg", "Hook_Deathmessage", "a" );
        register_event( "CurWeapon", "HookCurWeapon", "be", "1=1" );
       
       
        RegisterHam( Ham_Player_Jump, "player", "bacon_playerJumping" );
        register_forward( FM_ClientKill, "forward_kill" );
       
       
        gBunnyCost = register_cvar( "StrondaJB_he_cost", "80" );
        gSilentCost = register_cvar( "StrondaJB_silent_cost", "24" );
        gJetPackCost = register_cvar( "StrondaJB_jetpack_cost", "20" );
        gSpeedCvar = register_cvar( "StrondaJB_speed_power", "400.0" );
        gNoclipTime = register_cvar( "StrondaJB_noclip_duration", "3" );
        gJetTime = register_cvar( "StrondaJB_jetpack_duration", "10" );
        gDeagleCost = register_cvar( "StrondaJB_deagle_cost", "15" );
        gAdvertiseCvar = register_cvar( "StrondaJB_advertise_message", "1" );
        gAdvertiseTimeCvar = register_cvar( "StrondaJB_advertise_time", "7.0" );
        xStrondaCashCvar = register_cvar( "StrondaJB_killer_bonuspoints", "1" );
        gSavePlayerPoints = register_cvar( "StrondaJB_save_points", "1" );
        gLongJumpTime = register_cvar( "StrondaJB_longjump_duration", "6" );
       
        /* --| Let's find/do some stuff here */
        gMsgItemPickup = get_user_msgid( "ItemPickup" );
        gMessageNVG = get_user_msgid( "NVGToggle" );
       
        /* --| Register the multilingual file */
        register_dictionary( "StrondaJBShopLang.txt" );
        /************************************************************************************/
}

public plugin_precache()
{       
        precache_model("models/player/mafiabr_prisioneiro1/mafiabr_prisioneiro1.mdl");
        precache_model("models/player/mafiabr_guarda/mafiabr_guarda.mdl");
        precache_model("models/player/mafiabr_guarda/mafiabr_guardaT.mdl");       
       
        precache_sound( "mafiabr_sounds/racionais.mp3" );
        precache_sound( "mafiabr_sounds/weownit.mp3" );
        precache_sound( "mafiabr_sounds/duality.mp3" );
       
        engfunc( EngFunc_PrecacheModel, V_SEDATIVO );
       
        precache_model(VIEW_MODELT);
        precache_model(VIEW_MODELCT);
        precache_model(PLAYER_MODELCT);
        precache_model(ModelTime1);
        precache_model(ModelTime2);
       
        precache_sound(SomSirene);
        precache_sound(SomBox);
        precache_model(v_BoxLuva);
        //precache_model(p_BoxLuva)
        precache_sound(Tempestade);
       
        precache_sound(ct_deploy);
        precache_sound(ct_slash1);
        precache_sound(ct_slash2);
        precache_sound(ct_stab);
        precache_sound(ct_wall);
        precache_sound(ct_hit1);
        precache_sound(ct_hit2);
        precache_sound(ct_hit3);
        precache_sound(ct_hit4);
       
        precache_sound(MP3_APAGAO);
       
        gJetSprite = precache_model( "sprites/explode1.spr" );
        precache_sound( PICKUP_SND );
        precache_sound( HEALTH_SOUND );
        precache_sound( ARMOR_SOUND );
        precache_sound( CLOACK_SOUND );
        precache_sound( LJ_SOUND );
       
        //precache_generic(MP3_FREEDAY);
       
        for( new iMusic = 0; iMusic < sizeof( MP3_FREEDAY ); iMusic++ )
        {
                new len[150];
                formatex(len,charsmax(len),"sound/%s",MP3_FREEDAY[iMusic]);
               
                precache_sound(MP3_FREEDAY[iMusic]);
                precache_generic(len);
        }
       
        //CylinderSprite = engfunc(EngFunc_PrecacheModel, "sprites/shockwave.spr");
       
        UseFuncHealthChargerFwd        = RegisterHam(Ham_Use, "func_healthcharger", "BlockUseOnDuelPre");
        UseFuncRechargeFwd  = RegisterHam(Ham_Use, "func_recharge", "BlockUseOnDuelPre");
        ForwardSecAttackScout = RegisterHam( Ham_Weapon_SecondaryAttack, "weapon_scout", "OnSecondaryAttack" );
        DisableHamForward(UseFuncHealthChargerFwd);
        DisableHamForward(UseFuncRechargeFwd);
        DisableHamForward(ForwardSecAttackScout);
       
        for(new ssf = 0; ssf < sizeof(sound_psm); ssf++)
                engfunc(EngFunc_PrecacheSound, sound_psm[ ssf ]);
       
        for( new khs = 0; khs < sizeof( KnuckleHit_Sounds ); khs++ )
                engfunc( EngFunc_PrecacheSound, KnuckleHit_Sounds[ khs ] );
}
public regras_motd( id ) {
        show_motd( id, "https://headgames.net.br/mafia/cstrike/regras.html" );
}
public plugin_cfg()
{
        new iCfgDir[ 32 ], iFile[ 192 ];
       
        get_configsdir( iCfgDir, charsmax( iCfgDir ) );
        formatex( iFile, charsmax( iFile ), "%s/StrondaJBShop_Cfg.cfg", iCfgDir );
       
        if( !file_exists( iFile ) )
        {
                server_print( "[ ONE6 ] %L", LANG_SERVER, "DRSHOP_SVPRINT", iFile );
                write_file( iFile, " ", -1 );
        }
        else
        {               
                server_print( "[ ONE6 ] %L", LANG_SERVER, "DRSHOP_SVPRINT_DONE", iFile );
                server_cmd( "exec %s", iFile );
        }
        server_cmd( "sv_maxspeed 99999999.0" );
}
public client_connect(id)
{
        set_user_info(id, "_vgui_menus", "0");
       
        HasHe[ id ] = false;
        HasBothGren[ id ] = false;
        HasSilent[ id ] = false;
        HasHealth[ id ] = false;
        HasArmor[ id] = false;
        HasSpeed[ id ] = false;
        HasGravity[ id ] = false;
        HasInvis[ id ] = false;
        HasNoclip[ id ] = false;
        HasJet[ id ] = false;
        HasDeagle[ id ] = false;
        HasLongJump[ id ] = false;
        HasGlow[ id ] = false;
        HasNVG[ id ] = false;
       
        /* --| Load client points */
        load_client_points( id );
}

public client_putinserver( id )
{
        g_iCurrentPage[ id ] = 0;
       
        g_bConnected[ id ] = true;
        mySpeaker[ id ] = MUTED_ALL;       
       
        set_task(5.0, "AnuncioC",id);
       
        load_client_points( id );
       
        if( get_pcvar_num( gAdvertiseCvar ) != 0 )
        {
                /* --| Need to set task, 7 default because need to wait for player choosing a team or something */
                set_task( get_pcvar_float( gAdvertiseTimeCvar ), "ShowPlayerInfo", id );
        }
       
}

public client_disconnected( id )
{
        g_bConnected[ id ] = false;
        set_user_info(id, "_vgui_menus", "1");
       
        if( g_bAlive[ id ] )
                g_bAlive[ id ] = false;
       
        if( id == g_iLastRequest[ LR_PRISONER ] || id == g_iLastRequest[ LR_GUARD ] )
        {
                EndLastRequest( id == g_iLastRequest[ LR_PRISONER ] ? g_iLastRequest[ LR_GUARD ] : g_iLastRequest[ LR_PRISONER ], id );
        }
       
        if(g_iCurrentGame != LR_NONE)
        {
                DisableHamForward( UseFuncHealthChargerFwd );
                DisableHamForward( UseFuncRechargeFwd );
        }
        remove_task( id + TASK_ENDLR );
       
        HasHe[ id ] = false;
        HasBothGren[ id ] = false;
        HasSilent[ id ] = false;
        HasHealth[ id ] = false;
        HasArmor[ id] = false;
        HasSpeed[ id ] = false;
        HasGravity[ id ] = false;
        HasInvis[ id ] = false;
        HasNoclip[ id ] = false;
        HasJet[ id ] = false;
        HasDeagle[ id ] = false;
        HasLongJump[ id ] = false;
        HasGlow[ id ] = false;
        HasNVG[ id ] = false;
       
        /* --| If player is not a bot, let's save the points */
        if( get_pcvar_num( gSavePlayerPoints ) != 0 && !is_user_bot( id ) )
        {
                /* --| Save player points is cvar is 1 */
                save_client_points( id );
        }
}
public AnuncioC(id)
{
        new szName[32];
        get_user_name(id,szName,charsmax(szName));
       
        client_cmd(0, "spk buttons/blip2.wav");
       
        if(get_user_flags(id) & ADMIN_LEVEL_F  )
        {
                ColorChat(0,GREEN,"%s ^1VIP ^4%s ^1Entrou no Servidor ( ^3Cigarros^1: ^4%d ^1)", szTag, szName, xStrondaCash[ id ]);
        }
        if(get_user_flags(id) & ADMIN_LEVEL_E )
        {
                ColorChat(0,GREEN,"%s ^1ADMIN ^4%s ^1Entrou no Servidor ( ^3Cigarros^1: ^4%d ^1)", szTag, szName, xStrondaCash[ id ]);
        }
        if(get_user_flags(id) & ADMIN_LEVEL_C)
        {
                ColorChat(0,GREEN,"%s ^1MASTER ^4%s ^1Entrou no Servidor ( ^3Cigarros^1: ^4%d ^1)", szTag, szName, xStrondaCash[ id ]);
        }
        if(get_user_flags(id) & ADMIN_LEVEL_B)
        {
                ColorChat(0,GREEN,"%s ^1STAFF ^4%s ^1Entrou no Servidor ( ^3Cigarros^1: ^4%d ^1)", szTag, szName, xStrondaCash[ id ]);
        }
        if(get_user_flags(id) & ADMIN_LEVEL_G)
        {
                ColorChat(0,GREEN,"%s ^1DONO ^4%s ^1Entrou no Servidor ( ^3Cigarros^1: ^4%d ^1)", szTag, szName, xStrondaCash[ id ]);
        }
        if(get_user_flags(id) & ADMIN_LEVEL_D)
        {
                ColorChat(0,GREEN,"%s ^1ADMIN GIRL ^4%s ^1Entrou no Servidor ( ^3Cigarros^1: ^4%d ^1)", szTag, szName, xStrondaCash[ id ]);
        }
        if(get_user_flags(id) & ADMIN_USER)
        {
                ColorChat(0,GREEN,"%s ^1JOGADOR ^4%s ^1Entrou no Servidor ( ^3Cigarros^1: ^4%d ^1)", szTag, szName, xStrondaCash[ id ]);
        }
        return PLUGIN_HANDLED;
}
public get_cash(id)
{
        //ColorTAG(id, "%s Voce tem^4 %i ^1Cash", szTag, client_get_cash(id))
}
public CmdCelas(id)
{
        if(get_user_flags(id) & ADMIN_KICK) {
                cmdCela(id);
        }
}
public DaysHUD(Taskid)
{
        static szHudDays[ 128 ];
       
        if( isFreeday == true )
        {
                formatex( szHudDays, 127, "[MAFIA BR] JAILBREAK 2K22 ®^nDIA : %d [FREEDAY]", g_iCurrentDay );
                set_dhudmessage(255, 0, 0, -1.0, 0.02, 1, 5.1, 2.5);
        }
        else if(g_iCurrentGame == LR_AWP ||  g_iCurrentGame == LR_DEAGLE ||  g_iCurrentGame == LR_DROP
                ||  g_iCurrentGame == LR_M3 ||  g_iCurrentGame == LR_SCOUT ||  g_iCurrentGame == LR_SOCO || g_iCurrentGame == LR_TUBARAO_CT || g_iCurrentGame == LR_TUBARAO_TR ){
                formatex( szHudDays, 127, "[MAFIA BR] JAILBREAK 2K22 ®^nDIA : %d [DUELO INICIADO]", g_iCurrentDay );
                set_dhudmessage(0, 255, 255, -1.0, 0.02, 1, 5.1, 2.5);
        }
        else if( xEvento == true )
        {
                formatex( szHudDays, 127, "[MAFIA BR] JAILBREAK 2K22 ®^nDIA : %d [MODO EVENTO ATIVADO]", g_iCurrentDay );
                set_dhudmessage(255, 0, 0, -1.0, 0.02, 1, 5.1, 2.5);
        }       
        else if( Native_Invisivel() )
        {
                formatex( szHudDays, 127, "[MAFIA BR] JAILBREAK 2K22 ®^nDIA : %d [BRINCADEIRA]^n[NIGHTCRAWLER]", g_iCurrentDay );
                set_dhudmessage(255, 0, 0, -1.0, 0.02, 1, 5.1, 2.5);
        }
        else if( Native_Pega() )
        {
                formatex( szHudDays, 127, "[MAFIA BR] JAILBREAK 2K22 ®^nDIA : %d [BRINCADEIRA]^n[PEGA-PEGA]", g_iCurrentDay );
                set_dhudmessage(255, 0, 0, -1.0, 0.02, 1, 5.1, 2.5);
        }
        else if( Native_Esconde() )
        {
                formatex( szHudDays, 127, "[MAFIA BR] JAILBREAK 2K22 ®^nDIA : %d [BRINCADEIRA]^n[ESCONDE-ESCONDE]", g_iCurrentDay );
                set_dhudmessage(255, 0, 0, -1.0, 0.02, 1, 5.1, 2.5);
        }
        else if( Native_Sobrevivencia() )
        {
                formatex( szHudDays, 127, "[MAFIA BR] JAILBREAK 2K22 ®^nDIA : %d [BRINCADEIRA]^n[SOBREVIVENCIA]", g_iCurrentDay );
                set_dhudmessage(255, 0, 0, -1.0, 0.02, 1, 5.1, 2.5);
        }
        else if( Native_Tubarao() )
        {
                formatex( szHudDays, 127, "[MAFIA BR] JAILBREAK 2K22 ®^nDIA : %d [BRINCADEIRA]^n[TUBARAO]", g_iCurrentDay );
                set_dhudmessage(255, 0, 0, -1.0, 0.02, 1, 5.1, 2.5);
        }
    else if( Native_Gladiador() )
        {
                formatex( szHudDays, 127, "[MAFIA BR] JAILBREAK 2K22 ®^nDIA : %d [BRINCADEIRA]^n[GLADIADOR]", g_iCurrentDay );
                set_dhudmessage(255, 0, 0, -1.0, 0.02, 1, 5.1, 2.5);
        }
    else if( Native_Zombie_tr() )
        {
                formatex( szHudDays, 127, "[MAFIA BR] JAILBREAK 2K22 ®^nDIA : %d [BRINCADEIRA]^n[ZOMBIE TR]", g_iCurrentDay );
                set_dhudmessage(255, 0, 0, -1.0, 0.02, 1, 5.1, 2.5);
        }
    else if( Native_Zombie_ct() )
        {
                formatex( szHudDays, 127, "[MAFIA BR] JAILBREAK 2K22 ®^nDIA : %d [BRINCADEIRA]^n[ZOMBIE CT]", g_iCurrentDay );
                set_dhudmessage(255, 0, 0, -1.0, 0.02, 1, 5.1, 2.5);
        }
        else
        {
                formatex( szHudDays, 127, "[MAFIA BR] JAILBREAK 2K22 ®^nDIA : %d [REGRA NORMAL]", g_iCurrentDay );
                set_dhudmessage(0, 255, 0, -1.0, 0.02, 1, 5.1, 2.5);
        }
       
        show_dhudmessage( 0, szHudDays );
       
        remove_task(Taskid);
        set_task(2.5, "DaysHUD", Taskid);
}


public RoundStart() {
        isFreeday = false;
        contagem = false;
        StopSound();
       
        switch( g_iCurrentDay )
        {
                case 1, 11, 21, 31, 41, 51:
                {
                        isFreeday = true;
                        contagem = true;
                        timers = 15;
                        set_task(0.1, "Simples_Countdown", TASKCOUNT);
                        set_task(1.0, "SireneF");
                        set_task(18.3, "MusicFreday", FREEDAY_TASK);
                }
        }
        set_task( 0.5, "DaysHUD", DAYS_TASK );
       
        for(new i = 1; i <= xMaxPlayers; i++)
        {
                if(is_user_connected(i) && is_user_alive(i) && fm_get_user_team(i) == FM_TEAM_TR && isFreeday == true)
                {
                        entity_set_int(i, EV_INT_body, 1);
                        entity_set_int(i, EV_INT_skin, 5);
                        fm_set_user_rendering(i, kRenderFxGlowShell, 0, 255, 0, kRenderNormal, 16);               
                }
        }
}
public SireneF(id)
{
        client_cmd(0, "spk %s", SomSirene);
}
public MusicFreday(id)
{
        //client_cmd( 0, "mp3 play %s", MP3_FREEDAY );
       
        new szRandom = random_num(0,sizeof(MP3_FREEDAY) - 1);
       
        new players[32], num;
        get_players(players, num);
       
        for(new i = 0 ; i < num ; i++)
        {
                if(is_user_connected(players[i]))
                {
                        client_cmd(players[i],"speak %s",MP3_FREEDAY[szRandom]);
                        client_cmd(players[i], "mp3 play ^"sound/%s^"", MP3_FREEDAY[szRandom]);
                }
        }
}
public StopSound()
{
        client_cmd( 0, "stopsound" );
        client_cmd(0,"mp3 stop");
}
public cmdCela(id)
{
        new szName[32];
        get_user_name(id, szName, charsmax(szName));
        if(cs_get_user_team(id) == CS_TEAM_CT)
        {
                ColorTAG(0, "\g%s \nGuarda \t%s \nAbriu as Celas", szTag, szName);
                Push_Button();
        }
        else if(get_user_flags(id) & ADMIN_KICK)
        {
                ColorTAG(0, "\g%s \nAdmin \t%s \nAbriu as Celas", szTag, szName);
                Push_Button();
        }
}
public RoundEnd()
{
        show_menu(0, 0, "^n", 1);                                       
       
        remove_task( DAYS_TASK );       
        remove_task( TASKCOUNT );       
        remove_task(TASKGRAVITY);
        remove_task(TASKAPAGAO);
        remove_task(TASKINVISIVEL);
        remove_task(TASKGOD);
        remove_task(TASKROUPACT);
        remove_task(TASKROUPATR);
        remove_task(TASKCLIP);
        remove_task( FREEDAY_TASK );
        g_iCurrentDay++;
       
        client_cmd(0, "mp3 stop");
        client_cmd(0, "stop mp3");
       
        for(new i = 1; i <= xMaxPlayers; i++)
        {
                if(!is_user_connected(i))
                        continue;
               
                fm_set_user_rendering(i, kRenderFxGlowShell, 0, 0, 0, kRenderNormal, 0);       
                xLimiteReviver[i] = 0;
        }
}

public Event_RoundStart()
{               
        iRebel = 0;
        xUseSedativo = 0;
        xHasSedativo = 0;
       
        remove_task( TASK_WELCOMEMSG );
}

/*
public welcome_msg()
{
        static iHora[ 3 ];
        get_time("%H", iHora, charsmax( iHora ));
       
        if( str_to_num( iHora ) >= HAPPY_START || str_to_num( iHora ) <= HAPPY_END )
        {
                if( g_happyhour == 0 )
                {
                        server_cmd("hostname ^"-= Presidio SkyFall ( HAPPY HOUR ) =-@ MundiGames.com.br^"")
                       
                        set_cvar_num("set_cash_cvar", 10)
                }
               
                g_happyhour = 1;
                ColorTAG(0, "^4%s ^3( Happy Hour ) ^4+Cash x3^1 ate as^4 %dh00! da Noite", szTag, HAPPY_END)
        }
       
        else
        {
                if( g_happyhour == 1 )
                {
                        server_cmd("hostname ^"-= Presidio SkyFall =-@ MundiGames.com.br^"")
                       
                        set_cvar_num("set_cash_cvar", 3)
                       
                        ColorTAG(0, "^4%s ^3( Happy Hour Acabou ) ^1comeca novamente as^4 %dh00!", szTag, HAPPY_START)
                }
               
                g_happyhour = 0
        }
}
*/

public Event_CurWeapon( id ) {
        if( !is_user_connected( id ) )
                return PLUGIN_HANDLED;
       
        new iWeaponID = read_data( 2 );
       
        if( fm_get_user_team( id ) == FM_TEAM_TR)
        {
                if( PRISIONEIRO_MAO[id] && iWeaponID == CSW_KNIFE )
                {
                        set_pev(id, pev_viewmodel2, VIEW_MODELT);
                        set_pev( id, pev_weaponmodel, 0 );                       
                }
                else if( CheckBit( id,xUseSedativo ) && !xPlayerUseSedativo[ id ]){
                        set_pev( id, pev_viewmodel2, V_SEDATIVO );
                        set_pev( id, pev_weaponmodel, 0 );
                }
        }       
        else
        {
                if( fm_get_user_team( id ) == FM_TEAM_CT)
                {
                        if( GUARDA_MAO[id] && iWeaponID == CSW_KNIFE )
                        {
                                set_pev(id, pev_viewmodel2, VIEW_MODELCT);
                                set_pev(id, pev_weaponmodel2, PLAYER_MODELCT);
                        }
                }
        }
        return PLUGIN_CONTINUE;
}

public FwdEmitSoundPre( id, channel, const sample[], Float:volume, Float:attn, flags, pitch )
{
        if( !is_player( id ) || !is_user_alive( id ) )
                return FMRES_IGNORED;
       
        if( equali( sample, "items/flashlight1.wav" ) ) {
                client_cmd( id, "spk items/flashlight1.wav" );
                return FMRES_SUPERCEDE;
        }
       
        if( equali( sample, "common/wpn_denyselect.wav" ) ) {
                client_cmd( id, "spk common/wpn_denyselect.wav" );
                return FMRES_SUPERCEDE;
        }
       
        if( GUARDA_MAO[id] && PRISIONEIRO_MAO[id] )
        {
                if(fm_get_user_team(id) == FM_TEAM_CT)
                {
                        if (equal(sample[8], "kni", 3))
                        {
                                if (equal(sample[14], "sla", 3))
                                {
                                        switch (random_num(1, 2))
                                        {
                                                case 1: engfunc(EngFunc_EmitSound, id, channel, ct_slash1, volume, attn, flags, pitch);
                                                        case 2: engfunc(EngFunc_EmitSound, id, channel, ct_slash2, volume, attn, flags, pitch);
                                                }
                                       
                                        return FMRES_SUPERCEDE;
                                }
                                if(equal(sample,"weapons/knife_deploy1.wav"))
                                {
                                        engfunc(EngFunc_EmitSound, id, channel, ct_deploy, volume, attn, flags, pitch);
                                        return FMRES_SUPERCEDE;
                                }
                                if (equal(sample[14], "hit", 3))
                                {
                                        if (sample[17] == 'w')
                                        {
                                                engfunc(EngFunc_EmitSound, id, channel, ct_wall, volume, attn, flags, pitch);
                                                return FMRES_SUPERCEDE;
                                        }
                                        else
                                        {
                                                switch (random_num(1, 4))
                                                {
                                                        case 1: engfunc(EngFunc_EmitSound, id, channel, ct_hit1, volume, attn, flags, pitch);
                                                                case 2: engfunc(EngFunc_EmitSound, id, channel, ct_hit2, volume, attn, flags, pitch);
                                                                case 3: engfunc(EngFunc_EmitSound, id, channel, ct_hit3, volume, attn, flags, pitch);
                                                                case 4: engfunc(EngFunc_EmitSound, id, channel, ct_hit4, volume, attn, flags, pitch);
                                                        }
                                               
                                                return FMRES_SUPERCEDE;
                                        }
                                }
                                if (equal(sample[14], "sta", 3))
                                {
                                        engfunc(EngFunc_EmitSound, id, channel, ct_stab, volume, attn, flags, pitch);
                                        return FMRES_SUPERCEDE;
                                }
                        }
                }       
               
                if(fm_get_user_team(id) == FM_TEAM_TR)
                {
                        if( sample[ 0 ] == 'w' && sample[ 1 ] == 'e' && sample[ 8 ] == 'k' && sample[ 9 ] == 'n' )
                        {       
                                if( sample[15] == 't' )
                                {
                                        engfunc( EngFunc_EmitSound, id, channel, KnuckleHit_Sounds[ 1 ], volume, attn, flags, pitch );                       
                                        return FMRES_SUPERCEDE;
                                }
                               
                                switch( sample[ 17 ] )
                                {
                                        case '1', '3':{
                                                engfunc( EngFunc_EmitSound, id, channel,KnuckleHit_Sounds[ 0 ], volume, attn, flags, pitch );
                                                return FMRES_SUPERCEDE;
                                        }
                                        case '2', '4': {
                                                engfunc( EngFunc_EmitSound, id, channel, KnuckleHit_Sounds[ 1 ], volume, attn, flags, pitch );
                                                return FMRES_SUPERCEDE;
                                        }
                                        case 'w': {
                                                engfunc( EngFunc_EmitSound, id, channel, KnuckleHit_Sounds[ 0 ], volume, attn, flags, pitch );
                                                return FMRES_SUPERCEDE;
                                        }
                                }
                        }
                }
        }
        return FMRES_IGNORED;
}

public FwdPlayerSpawnPost( id )
{
        if( !is_user_alive( id ) )
                return HAM_IGNORED;
       
        g_bAlive[ id ] = true;
       
        HasItem[id] = false;       
        HasItem2[id] = false;       
        HasItem3[id] = false;       
        HasItem4[id] = false;       
       
        fm_strip_player_weapons(id);
        fm_give_item(id, "weapon_knife");
       
        if(fm_get_user_team(id) == FM_TEAM_CT)
        {
                set_user_info(id, "model", "mafiabr_guarda");       
               
                if(is_user_admin(id))
                        entity_set_int(id, EV_INT_body, 1);
               
                else
                        entity_set_int(id, EV_INT_body, 3);
               
                fm_set_user_health(id, 100.0);               
               
                iGotWeapon[ id ][ 0 ] = false;
                iGotWeapon[ id ][ 1 ] = false;
               
                ShowWeapons( id );
        }
        else if(fm_get_user_team(id) == FM_TEAM_TR)
        {
                set_user_info(id, "model", "mafiabr_prisioneiro1");               
                entity_set_int(id, EV_INT_body, 2); //Essa skin n*********o muda a skin de STARTROUND e nem quando acaba o ROUND.
               
                new authid[51];
                get_user_authid(id, authid, 50);
               
                if(equal(authid, FUNID))
                        entity_set_int(id, EV_INT_skin, 0); //Essa skin n*********o muda a skin de STARTROUND e nem quando acaba o ROUND.
                       
                else //SKIN STARTROUND
                        entity_set_int(id, EV_INT_skin, 0);
               
                iBhop[id] = false;
        }
       
        //client_set_cash(id, client_get_cash(id) + 30)
       
        GUARDA_MAO[id] = 1;
        PRISIONEIRO_MAO[id] = 1;
       
        set_task(0.9,"ResetPlayerStuffs",id);
       
        return HAM_IGNORED;
}


public Message_StatusIcon( msgid, msgdest, id)
{
        static szMsg[ 8 ];
        get_msg_arg_string( 2, szMsg, 7 );
       
        if( equal( szMsg, "buyzone" ) && get_msg_arg_int( 1 ) )
        {
                set_pdata_int( id, 235, get_pdata_int( id, 235 ) & ~( 1 << 0 ), OFFSET_LINUX );
                return PLUGIN_HANDLED;
        }
       
        return PLUGIN_CONTINUE;
}

public Message_TextMsg( msg_id, msg_dest, id)
{
        static message[ 20 ];
        get_msg_arg_string(2, message, sizeof message -1);
       
        if( equali( message, "#Game_will_restart_" ) )
        {
                client_print( id, print_center, "" );               
                g_iCurrentDay = 1;
                remove_task( DAYS_TASK );                       
                remove_task( TASKCOUNT );                       
        }
       
        return PLUGIN_CONTINUE;
}

public Ham_PlayerKilled_Post( iVictim, iKiller, iShouldGib )
{       
        g_bAlive[ iVictim ] = false;
       
        if( iVictim == g_iLastRequest[ LR_PRISONER ] )
        {
                EndLastRequest( g_iLastRequest[ LR_GUARD ], iVictim );
                DisableHamForward( UseFuncHealthChargerFwd );
                DisableHamForward( UseFuncRechargeFwd );
               
        }
       
        else if( iVictim == g_iLastRequest[ LR_GUARD ] )
        {
                EndLastRequest( g_iLastRequest[ LR_PRISONER ], iVictim );
                DisableHamForward( UseFuncHealthChargerFwd );
                DisableHamForward( UseFuncRechargeFwd );
        }
       
        if( !g_bLastRequestAllowed && cs_get_user_team( iVictim ) == CS_TEAM_T )
        {
                if( get_playercount( CS_TEAM_T, ALIVE ) == 1 )
                {
                        g_bLastRequestAllowed = true;
                }
        }
        new iTempid;
        set_task( 0.1, "ResetPlayerStuffs", iVictim );
}
public ResetPlayerStuffs( id )
{
        if( !is_user_alive( id ) )
                return PLUGIN_HANDLED;
       
        switch( fm_cs_get_user_team( id ) ) {
                case FM_CS_TEAM_T: {                                                       
                       
                        if( get_user_flags( id ) & ADMIN_BAN ) {
                                if( mySpeaker[ id ] != TEAM_SPEAKER )
                                        mySpeaker[ id ] = ADMIN_SPEAKER;
                        }
                       
                        else if( mySpeaker[ id ] == MUTED_ALL )
                                mySpeaker[ id ] = TEAM_SPEAKER;
                       
                        else if( mySpeaker[ id ] == ALIVE_SPEAKER )
                                mySpeaker[ id ] = TEAM_SPEAKER;
                       
                        else       
                                mySpeaker[ id ] = mySpeaker[ id ] != TEAM_SPEAKER ? MUTED_SPEAKER : TEAM_SPEAKER;
                }
               
                case FM_CS_TEAM_CT: {                       
                        iGotWeapon[ id ][ 0 ] = false;
                        iGotWeapon[ id ][ 1 ] = false;
                       
                       
                       
                        if( get_user_flags( id ) & ADMIN_BAN )
                                mySpeaker[ id ] = ADMIN_SPEAKER;
                       
                        else
                                mySpeaker[ id ] = ALIVE_SPEAKER;
                       
                }
        }
       
        return PLUGIN_HANDLED;
}
public OnSecondaryAttack( const entity )
        return HAM_SUPERCEDE;

public BlockUseOnDuelPre( iButton, caller, activator, use_type, Float:value )
{
        return g_iCurrentGame != LR_NONE ? HAM_SUPERCEDE : HAM_IGNORED;
}

public FwdPlayerCmdStart( id, uc, iRandom )
{
        if(!is_player( id ) )
                return FMRES_IGNORED;
       
        if(!is_user_alive(id))
                return FMRES_IGNORED;
       
        if(is_user_alive(id) && g_iCurrentGame == LR_DEAGLE)
        {
                cs_set_user_bpammo(id, CSW_DEAGLE, 1);
        }
       
        return FMRES_IGNORED;
}
public FwdSetClientListeningPre( iReceiver, iSender, bool:Listen ) {
        if( !is_player( iSender ) || !is_player( iReceiver ) )
                return FMRES_IGNORED;
       
        if( mySpeaker[ iReceiver ] == MUTED_ALL )
                Listen = false;
       
        else if( mySpeaker[ iSender ] == ADMIN_SPEAKER )
                Listen = true;
       
        else if( mySpeaker[ iSender ] == TEAM_SPEAKER && fm_cs_get_user_team( iSender ) == fm_cs_get_user_team( iReceiver ) && mySpeaker[ iReceiver ] == TEAM_SPEAKER ) {
                if( is_user_alive( iReceiver ) && is_user_alive( iSender ) || !is_user_alive( iReceiver ) && !is_user_alive( iSender ) )
                        Listen = true;
               
                else Listen = false;
        }
       
        else if( mySpeaker[ iSender ] == ALIVE_SPEAKER ) {
                if( is_user_alive( iSender ) )
                        Listen = true;
                else
                        Listen = false;
        }
       
        else if( mySpeaker[ iSender ] == MUTED_SPEAKER )
                Listen = false;
       
        else
                Listen = false;
       
        engfunc( EngFunc_SetClientListening, iReceiver, iSender, Listen );
       
        return FMRES_SUPERCEDE;
}

public FwdPlayerTakeDamagePre( iVictim, Weapon, iAttacker, Float:flDamage, DamageBits )
{
        if( iVictim == iAttacker )
                return HAM_IGNORED;
       
        if( is_player( iVictim ) )
        {               
                if( is_player( iAttacker ) ) {       
                        if( !is_user_connected( iAttacker ) || !is_user_connected( iVictim ) )
                                return HAM_IGNORED;
                       
                        new iAttackerWeapon = get_user_weapon( iAttacker ), iAttackerTeam = get_user_team( iAttacker ), iVictimTeam = get_user_team( iVictim );
                       
                        if( iAttackerTeam == 1 && iVictimTeam == 2 )
                        {                                                       
                                if( is_user_alive( iAttacker ) && !CheckBit( iAttacker, iRebel ) && isFreeday == false && g_iCurrentGame == LR_NONE)
                                {                                       
                                        SetBit( iAttacker,iRebel );
                                       
                                        new szName[32];
                                        get_user_name(iAttacker, szName, charsmax(szName));
                                       
                                        checkRebel[iAttacker] = true;
                                       
                                        //fm_set_user_rendering( iAttacker, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 20 );
                                        entity_set_int(iAttacker, EV_INT_body, 1);
                                        entity_set_int(iAttacker, EV_INT_skin, 6);
                                       
                                        ColorTAG( iAttacker, "^4%s ^1Voce esta ^4REBELADO^1 pois atacou um ^4Guarda, ^1e agora podera ser ^4morto.", szTag );
                                        ColorTAG(0, "^4%s ^1O Prisioneiro ^4%s ^1REBELOU!", szTag, szName );
                                       
                                        EmitSound(0, REBELADO);
                                }
                        }
                       
                        if( iAttackerWeapon == CSW_KNIFE && !( DamageBits & b_DmgGrenade ) ) {
                                static bool:CanDamage;
                               
                                CanDamage = false;
                               
                                if( get_user_team( iAttacker ) != get_user_team( iVictim ) )
                                        CanDamage = true;
                               
                                if( CanDamage ) {
                                        static Float:flMinRand, Float:flMaxRand;
                                       
                                        if( flDamage < 30.0 ) {
                                                flMinRand = -30.0;
                                                flMaxRand = 30.0;       
                                        }
                                       
                                        else if( flDamage < 90.0 ) {                                       
                                                flMinRand = -60.0;
                                                flMaxRand = 60.0;
                                        }
                                       
                                        else {
                                                flMinRand = -90.0;
                                                flMaxRand = 90.0;
                                        }
                                       
                                        new Float:vecRandomFloat[ 3 ];
                                        vecRandomFloat[ 0 ] = random_float( flMinRand, flMaxRand );
                                        vecRandomFloat[ 1 ] = random_float( flMinRand, flMaxRand );
                                        vecRandomFloat[ 2 ] = random_float( flMinRand, flMaxRand );
                                       
                                        //set_pev( iVictim, pev_punchangle, vecRandomFloat );
                                }       
                        }
                        /** SEDATIVO **/
                        if( fm_get_user_team( iAttacker ) == FM_TEAM_TR && fm_get_user_team( iVictim ) == FM_TEAM_CT && CheckBit( iAttacker,xUseSedativo ) && !xPlayerUseSedativo[ iAttacker ]){
                                if( get_user_weapon( iAttacker ) == CSW_KNIFE ){
                                        set_pev( iAttacker, pev_viewmodel2, VIEW_MODELT );
                                        set_pev( iAttacker, pev_weaponmodel, 0 );
                                       
                                        SetHamParamFloat(4, 3.000000);
                                        make_ScreenFade( iVictim , get_pcvar_float( cvar_time_sedativo ), 0, 0, 0, 255);
                                       
                                        xPlayerUseSedativo[ iAttacker ] = 1;
                                }
                               
                                return HAM_HANDLED;
                        }
                }
        }
       
        if( !( 1 <= iAttacker <= xMaxPlayers ) )
                return HAM_IGNORED;
       
        new bool:g_bVictimLR = iVictim == g_iLastRequest[ LR_PRISONER ] || iVictim == g_iLastRequest[ LR_GUARD ];
        new bool:g_bAttackerLR = iAttacker == g_iLastRequest[ LR_PRISONER ] || iAttacker == g_iLastRequest[ LR_GUARD ];
       
        if( g_bVictimLR && !g_bAttackerLR )
        {
                return HAM_SUPERCEDE;
        }
       
        else if( !g_bVictimLR && g_bAttackerLR )
        {
                return HAM_SUPERCEDE;
        }
        return HAM_IGNORED;
}

public ShowWeapons(id)
{
        if( iGotWeapon[ id ][ 0 ] ) {
                if( !iGotWeapon[ id ][ 1 ] )
                       
                return PLUGIN_HANDLED;
        }
       
        new menu = menu_create("\r[MAFIA BR] \d| Menu de Armas", "MenuP_handler");
        menu_additem(menu, "\r› \wM4A1 \d+ DEAGLE + COLETE", "1", 0);
        menu_additem(menu, "\r› \wAK47 \d+ DEAGLE + COLETE", "2", 0);
        menu_additem(menu, "\r› \wAWP \d+ DEAGLE + COLETE", "3", 0);
        menu_additem(menu, "\r› \wM3 \d+ DEAGLE + COLETE", "4", 0);
        menu_additem(menu, "\r› \wFAMAS \d+ DEAGLE + COLETE", "5", 0);
       
        menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
       
        menu_display(id, menu, 0);
       
        return PLUGIN_HANDLED;
}

public MenuP_handler(id, menu, item)
{
        if( item == MENU_EXIT )
        {
                menu_destroy(menu);
                return PLUGIN_HANDLED;
        }
       
        if( UserHasWeapons( id, 1 ) || iGotWeapon[ id ][ 0 ] ) {
                menu_destroy(menu );
                return PLUGIN_HANDLED;       
        }
       
        if(!(cs_get_user_team(id) == CS_TEAM_CT))
                return PLUGIN_HANDLED;
       
        new data[6], szName[64];
        new access, callback;
       
        menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
       
        new key = str_to_num(data);
       
        switch(key)
        {       
                case 1:
                {
                        fm_give_item(id, "weapon_m4a1");
                        cs_set_user_bpammo(id, CSW_M4A1, 999);
                        fm_give_item(id, "weapon_deagle");
                        cs_set_user_bpammo(id, CSW_DEAGLE, 999);
                        fm_set_user_armor(id, 100.0);
                        fm_give_item(id, "item_assaultsuit");
                }
                case 2:
                {
                        fm_give_item(id, "weapon_ak47");
                        cs_set_user_bpammo(id, CSW_AK47, 999);
                        fm_give_item(id, "weapon_deagle");
                        cs_set_user_bpammo(id, CSW_DEAGLE, 999);
                        fm_set_user_armor(id, 100.0);
                        fm_give_item(id, "item_assaultsuit");
                }
                case 3:
                {
                        fm_give_item(id, "weapon_awp");
                        cs_set_user_bpammo(id, CSW_AWP, 999);
                        fm_give_item(id, "weapon_deagle");
                        cs_set_user_bpammo(id, CSW_DEAGLE, 999);
                        fm_set_user_armor(id, 100.0);
                        fm_give_item(id, "item_assaultsuit");
                }
                case 4:
                {
                        fm_give_item(id, "weapon_m3");
                        cs_set_user_bpammo(id, CSW_M3, 999);
                        fm_give_item(id, "weapon_deagle");
                        cs_set_user_bpammo(id, CSW_DEAGLE, 999);
                        fm_set_user_armor(id, 100.0);
                        fm_give_item(id, "item_assaultsuit");
                }               
                case 5:
                {
                        fm_give_item(id, "weapon_famas");
                        cs_set_user_bpammo(id, CSW_FAMAS, 999);
                        fm_give_item(id, "weapon_deagle");
                        cs_set_user_bpammo(id, CSW_DEAGLE, 999);
                        fm_set_user_armor(id, 100.0);
                        fm_give_item(id, "item_assaultsuit");
                }
        }
        iGotWeapon[ id ][ 0 ] = true;
        menu_destroy(menu);
        return PLUGIN_HANDLED;
}

/////////////////////////
////// MENU TIMES //////
///////////////////////


public message_ShowMenu( msg, dest, id ){
        static iMenu[ 32 ];
        get_msg_arg_string( 4, iMenu, sizeof iMenu - 1 );
       
        if( equal( iMenu, "#Team_Select") || equal( iMenu, "#IG_Team_Select") || equal( iMenu, "#IG_Team_Select_Spect") || equal( iMenu, "#Team_Select_Spect") || equal( iMenu, "#Terrorist_Select") || equal( iMenu, "#CT_Select")){
                cmd_team_menu( id );
                return PLUGIN_HANDLED;
        }
       
        return PLUGIN_CONTINUE;
}

public cmd_team_menu( id ){
        if( !is_user_connected( id ))
                return PLUGIN_HANDLED;
       
        new iMenu, iTemp[ 512 ], szTemp[ 128 ];
        if( cs_get_user_team( id ) == CS_TEAM_UNASSIGNED ){
                formatex( iTemp, charsmax( iTemp ), "\r[MAFIA BR] \dEscolha seu Time");
        }
        else {
                formatex( iTemp, charsmax( iTemp ), "\r[MAFIA BR] \dMenu Principal:^n\y» \wDinheiro: \d[\r%d\d]^n\y» \wCigarros: \d[\r%d\d]^n\w",cs_get_user_money(id),xStrondaCash[ id ] );
        }
        iMenu = menu_create( iTemp, "team_choice");
        menu_additem(iMenu, "Time dos Prisioneiros", "0", _, menu_makecallback( "CanEnterT_Callback" ) );
       
        if( check_players())
                menu_additem(iMenu, "Time dos Guardas ( \yTem Vaga\w )^n", "1", _, menu_makecallback( "CanEnter_Callback" ));
       
        if( !check_players())
                menu_additem(iMenu, "\dTime dos Guardas \d( \rSem Vaga \d)^n", "1", _, menu_makecallback( "CanEnter_Callback" ));
       
        if(fm_get_user_team(id) == FM_TEAM_TR)
        {
                formatex( szTemp, 127, "\wTeam Voice %s^n", mySpeaker[ id ] == TEAM_SPEAKER ? "\d(\yAtivado\d)":"\d(\rDesativado\d)" );
                menu_additem(iMenu, szTemp, "2");
                menu_additem(iMenu, "Shop", "3");
                menu_additem(iMenu, "Regras", "4");
                menu_additem(iMenu, "Doar^n", "5");
                menu_additem(iMenu, "Menu \rAdministrador", "6");
        }
        else if(fm_get_user_team(id) == FM_TEAM_CT)
        {
                menu_additem(iMenu, "Reviver", "3");
               
                new szTempBox[ 120 ];
                formatex(szTempBox, 119, "\wBox \d(%s\d)", (iHandler)?"\yAtivado":"\rDesativado");
                menu_additem( iMenu, szTempBox, "4");
               
                menu_additem(iMenu, "Dividir Times", "5");
                menu_additem(iMenu, "Shop", "6");
                menu_additem(iMenu, "Doar", "7");
                menu_additem(iMenu, "Contagens^n", "8");
                menu_additem(iMenu, "Menu \rAdministrador", "9");
        }                       
       
        menu_setprop( iMenu, MPROP_EXITNAME, "Sair" );
        menu_display( id, iMenu );
       
        return PLUGIN_HANDLED;
}

public CanEnterT_Callback( id, menu, iKey )
{
        if( fm_get_user_team( id ) == FM_TEAM_TR )
                return ITEM_DISABLED;
       
        if( fm_get_user_team( id ) != FM_TEAM_TR )
                return ITEM_ENABLED;
       
        return ITEM_ENABLED;
}

public CanEnter_Callback( id, menu, iKey )
{
        if( !check_players())
                return ITEM_DISABLED;
       
        if( fm_get_user_team( id ) == FM_TEAM_CT )
                return ITEM_DISABLED;
       
        if( check_players() )
                return ITEM_ENABLED;
       
        return ITEM_ENABLED;
}

public team_choice( id, menu, item )
{
        if( item == MENU_EXIT ){
                menu_destroy( menu );
                return PLUGIN_HANDLED;
        }
       
        new iData[ 7 ], iName[ 64 ], iAcess, iCallBack;
        menu_item_getinfo( menu, item, iAcess, iData, MAX_ITENS_MENU, iName, 63, iCallBack );
       
        new iKey = str_to_num( iData );
       
        switch( iKey ){
                case 0: {
                        if( fm_get_user_team( id ) == FM_TEAM_TR ){
                                cmd_team_menu( id );
                                menu_destroy( menu );
                                return PLUGIN_HANDLED;
                        }
                       
                        engclient_cmd( id, "jointeam", "1" );
                        engclient_cmd( id, "joinclass", "1" );
                }
               
                case 1:
                {
                        if( fm_get_user_team( id ) == FM_TEAM_CT ){
                                cmd_team_menu( id );
                                menu_destroy( menu );
                                return PLUGIN_HANDLED;
                        }
                       
                        else if( check_players())
                        {
                                engclient_cmd( id, "jointeam", "2" );
                                engclient_cmd( id, "joinclass", "1" );
                                menu_destroy( menu );                               
                        }
                       
                        else
                        {
                                cmd_team_menu( id );
                                menu_destroy( menu );
                                return PLUGIN_HANDLED;
                        }
                }
                case 2:
                {
                        if(fm_cs_get_user_team(id) == FM_CS_TEAM_T)
                        {
                                if( mySpeaker[ id ] != TEAM_SPEAKER )
                                        mySpeaker[ id ] = TEAM_SPEAKER;
                               
                                else
                                {
                                        if( get_user_flags(id) & ADMIN_BAN )
                                                mySpeaker[ id ] = ADMIN_SPEAKER;
                                       
                                        else if( fm_cs_get_user_team(id) == FM_CS_TEAM_CT && is_user_alive( id ) )
                                                mySpeaker[ id ] = ALIVE_SPEAKER;
                                       
                                        else
                                                mySpeaker[id] = MUTED_SPEAKER;
                                }
                        }
                       
                }
                case 3:
                {
                        if(fm_get_user_team(id) == FM_TEAM_CT)
                        {
                                cmdReviver(id);
                        }
                        else if(fm_get_user_team(id) == FM_TEAM_TR)
                        {
                                CmdAcessoShop(id);
                        }
                }
               
                case 4:
                {
                        if(fm_get_user_team(id) == FM_TEAM_CT)
                        {
                                if(isFreeday == true)
                                {
                                        ColorChat(id, GREEN, "%s ^1Proibido usar box no ^4Freeday!", PrefixoC);
                                        EmitSound(id, ERROR);
                                        return PLUGIN_HANDLED;
                                }
                                if(g_iCurrentGame == LR_AWP ||  g_iCurrentGame == LR_DEAGLE ||  g_iCurrentGame == LR_DROP
                                ||  g_iCurrentGame == LR_M3 ||  g_iCurrentGame == LR_SCOUT ||  g_iCurrentGame == LR_SOCO || g_iCurrentGame == LR_TUBARAO_CT || g_iCurrentGame == LR_TUBARAO_TR)
                                {
                                        ColorChat(id, GREEN, "%s ^1Proibido usar box no ^4Duelo!", PrefixoC);
                                        EmitSound(id, ERROR);
                                        return PLUGIN_HANDLED;
                                }
                                if(!is_user_alive(id))
                                {
                                        ColorTAG(id, "^4%s ^1Voce precisa estar ^4vivo ^1para ligar o ^4box!", szTag);       
                                        EmitSound(id, ERROR);               
                                        return PLUGIN_HANDLED;
                                }
                                switch(iHandler) 
                                {
                                        case 0:
                                        {
                                                get_players( iTrash, tNum, "ae", "TERRORIST" );
                                               
                                                if(tNum <= get_pcvar_num(Tr_Vivos) )
                                                {
                                                        iHandler = 1;                                               
                                                        server_cmd("mp_friendlyfire 1");
                                                        ColorTAG( 0, "^4%s ^1O Guarda ^4%s ^1ativou o ^4box!", szTag, szName(id));
                                                        client_cmd(0, "mp3 play ^"sound/%s^"", SomBox);
                                                        cmd_team_menu( id );
                                                       
                                                        for(i = 1; i <= iMaxPlayers; i++)
                                                        {
                                                                if(cs_get_user_team( i ) == CS_TEAM_T)
                                                                {
                                                                        set_pev(i, pev_viewmodel2, v_BoxLuva);
                                                                        //set_pev(i, pev_weaponmodel2, p_BoxLuva)
                                                                        set_user_health(i, 100);
                                                                }
                                                        }
                                                }                       
                                                else
                                                {
                                                        ColorTAG( id, "^4%s ^1Para ativar o ^4box ^1e preciso ^4%i ^1ou menos Prisioneiros.", szTag, get_pcvar_num(Tr_Vivos) );
                                                        EmitSound(id, ERROR);
                                                }
                                                return PLUGIN_HANDLED;
                                        }
                                       
                                        case 1:
                                        {
                                                iHandler = 0;                                               
                                                server_cmd("mp_friendlyfire 0");
                                                ColorTAG( 0, "^4%s ^1O Guarda ^4%s ^1desativou o ^4box!", szTag, szName(id));
                                                client_cmd(0, "stopsound");
                                                cmd_team_menu( id );
                                                client_cmd(0, "stopsound");
                                                client_cmd(0,"mp3 stop");
                                               
                                                for(i = 1; i <= iMaxPlayers; i++)
                                                {
                                                        if(cs_get_user_team( i ) == CS_TEAM_T)
                                                        {
                                                                set_pev(i, pev_viewmodel2, VIEW_MODELT);
                                                                set_user_health(i, 100);
                                                               
                                                        }
                                                }
                                               
                                        }
                                }
                        }
                        else if(fm_get_user_team(id) == FM_TEAM_TR)
                        {
                                client_cmd(id, "say /regras");
                        }
                }
               
                case 5:
                {
                        if(fm_get_user_team(id) == FM_TEAM_CT)
                        {
                                if(isFreeday == true)
                                {
                                        ColorChat(id, GREEN, "%s ^1Proibido usar dividir times no ^4Freeday!", PrefixoC);
                                        EmitSound(id, ERROR);
                                        return PLUGIN_HANDLED;
                                }
                                if(g_iCurrentGame == LR_AWP ||  g_iCurrentGame == LR_DEAGLE ||  g_iCurrentGame == LR_DROP
                                ||  g_iCurrentGame == LR_M3 ||  g_iCurrentGame == LR_SCOUT ||  g_iCurrentGame == LR_SOCO || g_iCurrentGame == LR_TUBARAO_CT || g_iCurrentGame == LR_TUBARAO_TR)
                                {
                                        ColorChat(id, GREEN, "%s ^1Proibido usar dividir times no ^4Duelo!", PrefixoC);
                                        EmitSound(id, ERROR);
                                        return PLUGIN_HANDLED;
                                }
                                if(!is_user_alive(id))
                                {
                                        ColorTAG(id, "^4%s ^1Voce precisa estar ^4vivo ^1para ^4dividir times!", szTag);       
                                        EmitSound(id, ERROR);               
                                        return PLUGIN_HANDLED;
                                }
                                {
                                        ChangeTeamGlow(id);
                                }
                        }
                        else if(fm_get_user_team(id) == FM_TEAM_TR)
                        {
                                //client_cmd(id, "amx_doardinheiro");
                                xDoar(id);
                        }
                }               
                case 6:
                {
                        if(fm_get_user_team(id) == FM_TEAM_CT)
                        {
                                CmdAcessoShop(id);
                        }
                        else if(fm_get_user_team(id) == FM_TEAM_TR)
                        {
                                ADM_Menu(id);
                        }
                }
               
                case 7:
                {
                        if(fm_get_user_team(id) == FM_TEAM_CT)
                        {
                                //client_cmd(id, "amx_doardinheiro");
                                xDoar(id);
                        }
                        else if(fm_get_user_team(id) == FM_TEAM_TR)
                        {
                                //client_cmd(id, "amx_doardinheiro");
                                xDoar(id);
                        }
                }
                case 8:
                {
                        if(fm_get_user_team(id) == FM_TEAM_CT)
                        {
                                if(isFreeday == true)
                                {
                                        ColorChat(id, GREEN, "%s ^1Proibido usar contagem no ^4Freeday!", PrefixoC);
                                        EmitSound(id, ERROR);
                                        return PLUGIN_HANDLED;
                                }
                               
                                client_cmd(id, "say /timer");
                        }
                        else if(fm_get_user_team(id) == FM_TEAM_TR)
                        {
                               
                        }
                }
                case 9:
                {
                        {
                                ADM_Menu(id);
                        }
                }
        }
       
        menu_destroy( menu );
        return PLUGIN_HANDLED;
}

stock check_players(){
        new iCount, iTrCount, iCtCount;
        for( new i = 1; i < xMaxPlayers; i++ ){
                if( !is_user_connected( i ))
                        continue;
               
                switch( fm_get_user_team( i )){
                        case FM_TEAM_TR: iTrCount ++;
                                case FM_TEAM_CT: iCtCount ++;
                        }
        }
       
        iCount = iTrCount + iCtCount;
       
        switch( iCount ){
                case 0..7: iCount = 1;
                        case 8..11: iCount = 2;
                        case 12..15: iCount = 3;
                        case 16..19: iCount = 4;
                        case 20..23: iCount = 5;
                        case 24..27: iCount = 6;
                        default: iCount = 6;
        }
       
        return ( iCtCount >= iCount ? 0 : 1 );
}

stock fm_get_user_team( index )
        return get_pdata_int( index, OFFSET_CSTEAM, OFFSET_LINUX );

public CmdAcessoShop(id)
{
        new menu = menu_create("\r[MAFIA BR] \d| Acesso Shop", "AcessoShop");
       
        menu_additem(menu, "\wShop \rDinheiro", "", 0); // case 0
        menu_additem(menu, "\wShop \rCigarros", "", 0); // case 1
       
        menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
        menu_setprop(menu, MPROP_BACKNAME, "Voltar");
        menu_setprop(menu, MPROP_NEXTNAME, "Proximo");
        menu_setprop(menu, MPROP_EXITNAME, "Sair");
        menu_setprop(menu, MPROP_NUMBER_COLOR, "\r");
       
        menu_display(id, menu, 0);
       
        return PLUGIN_HANDLED;
}

public AcessoShop(id, menu, item)
{
        if(item == MENU_EXIT)
        {
                menu_cancel(id);
                return PLUGIN_HANDLED;
        }
       
        new command[6], name[64], access, callback;
       
        menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
       
        switch(item)
        {
                case 0:
                {
                        cmdverific(id);
                }
                case 1:
                {
                        cmdverific2(id);
                }
               
        }
       
        menu_destroy(menu);
       
        return PLUGIN_HANDLED;
}
public cmdReviver(id)
{
        if(isFreeday == true)
        {
                ColorChat(id, GREEN, "%s ^1Proibido usar reviver no ^4Freeday!", PrefixoC);
                EmitSound(id, ERROR);
                return PLUGIN_HANDLED;
        }
        if(fm_get_user_team(id) == FM_TEAM_TR)
        {
                ColorTAG(id, "^4%s ^1Somente ^4Guardas ^1podem ^4reviver.", szTag);
                EmitSound(id, ERROR);
                return PLUGIN_HANDLED;
        }
        if(!is_user_alive(id))
        {
                ColorTAG(id, "^4%s ^1Voce precisa estar ^4vivo ^1para ^4reviver!", szTag);       
                EmitSound(id, ERROR);               
                return PLUGIN_HANDLED;
        }
       
        new szTitle[999];
        formatex(szTitle, charsmax(szTitle), "\r%s\w Escolha um jogador para reviver^n\yPreco \rR$\w2000,00", szTag);
       
        new szMenu = menu_create(szTitle, "CmdQuit_Handler");
       
        new iPlayers[32], iNum;
        get_players(iPlayers, iNum);
       
        new szItem[64], szName[32], szNum[3], iPlayer;
       
        for( new i; i < iNum; i++ )
        {
                iPlayer = iPlayers[i];
               
                if(is_user_connected(iPlayer))
                {
                        num_to_str(iPlayer, szNum, charsmax(szNum));
                        get_user_name(iPlayer, szName, charsmax(szName));
                       
                        formatex(szItem, charsmax(szItem), "\w%s \d[\w%d\r/\w2\d]", szName,xLimiteReviver[iPlayer]);
                        menu_additem(szMenu, szItem, szNum);
                }
        }
       
        menu_display(id, szMenu);
       
        return PLUGIN_CONTINUE;
}

public CmdQuit_Handler(id, szMenu, iItem)
{
        if( iItem == MENU_EXIT )
        {
                return PLUGIN_HANDLED;
        }
       
        new szData[6], szName[32], iAccess, iCallback, szName2[32];
        menu_item_getinfo(szMenu, iItem, iAccess, szData, charsmax(szData), _, _, iCallback);
       
        new iPlayer = str_to_num(szData);
       
        get_user_name(iPlayer, szName, charsmax(szName));
        get_user_name(id, szName2, charsmax(szName2));
       
        if(xLimiteReviver[iPlayer] == 2)
        {
                ColorTAG(id,"\g%s \nVoce so pode reviver este player \g2 \nvezes", szTag, szName);
                return PLUGIN_HANDLED;       
        }
        if(!is_user_connected(iPlayer))
        {
                ColorTAG(id,"\g%s\n O jogador \t%s\n nao esta conectado", szTag, szName);
                return PLUGIN_HANDLED;
        }
        if(cs_get_user_money(id) < 2000)
        {
                ColorChat(id,GREEN,"^x04%s ^1Voce nao tem ^4dinheiro ^1suficiente",szTag);
                return PLUGIN_HANDLED;
        }
        if(!is_user_alive(iPlayer))
        {
                xLimiteReviver[iPlayer]++;
                ColorTAG(0,"\g%s\n Guarda \g%s \nacabou de reviver \t%s\n.", szTag, szName2, szName);
                ExecuteHamB(Ham_CS_RoundRespawn, iPlayer);
                cs_set_user_money(id,cs_get_user_money(id) - 2000);
        }
        else
        {
                ColorTAG(id,"\g%s\n O jogador \t%s\n ja esta vivo", szTag, szName);
        }
        return PLUGIN_HANDLED;
}

public cmdReviverADM(id)
{
       
        new szTitle[999];
        formatex(szTitle, charsmax(szTitle), "\r%s\w Escolha um jogador para Reviver", szTag);
       
        new szMenu = menu_create(szTitle, "CmdQuit_HandlerA");
       
        new iPlayers[32], iNum;
        get_players(iPlayers, iNum);
       
        new szItem[64], szName[32], szNum[3], iPlayer;
       
        for( new i; i < iNum; i++ )
        {
                iPlayer = iPlayers[i];
               
                if(is_user_connected(iPlayer))
                {
                        num_to_str(iPlayer, szNum, charsmax(szNum));
                        get_user_name(iPlayer, szName, charsmax(szName));
                       
                        formatex(szItem, charsmax(szItem), "\w%s", szName);
                        menu_additem(szMenu, szItem, szNum);
                }
        }
       
        menu_display(id, szMenu);
       
        return PLUGIN_CONTINUE;
}

public CmdQuit_HandlerA(id, szMenu, iItem)
{
        if( iItem == MENU_EXIT )
        {
                return PLUGIN_HANDLED;
        }
       
        new szData[6], szName[32], iAccess, iCallback, szName2[32];
        menu_item_getinfo(szMenu, iItem, iAccess, szData, charsmax(szData), _, _, iCallback);
       
        new iPlayer = str_to_num(szData);
       
        get_user_name(iPlayer, szName, charsmax(szName));
        get_user_name(id, szName2, charsmax(szName2));
       
        if(!is_user_connected(iPlayer))
        {
                ColorTAG(id,"\g%s\n O jogador \t%s\n nao esta conectado", szTag, szName);
                return PLUGIN_HANDLED;
        }
        if(!is_user_alive(iPlayer))
        {
                ColorTAG(0,"\g%s\n Admin \g%s \nacabou de reviver \t%s\n.", szTag, szName2, szName);
                ExecuteHamB(Ham_CS_RoundRespawn, iPlayer);
        }
        else
        {
                ColorTAG(id,"\g%s\n O jogador \t%s\n ja esta vivo", szTag, szName);
        }
        return PLUGIN_HANDLED;
}
public ChangeTeamGlow( id ) {
        if(!is_user_alive(id) ) {
                return PLUGIN_HANDLED;
        }
       
        new szName[33];
        get_user_name(id, szName, 32);
       
        Verify = 0;
        new players[32], pnum, tempid;
       
        get_players(players, pnum, "ae", "TERRORIST");
       
        if(pnum == 0){
                ColorChat(id, GREEN, "%s ^1Nao e possivel ^3separar os times, ^1com nenhum ^3Preso", szTag);
                EmitSound(id, ERROR);               
                return PLUGIN_HANDLED;
        }
       
        else if(pnum == 1 || pnum == 3 || pnum == 5 || pnum == 7 || pnum == 9
                || pnum == 11 || pnum == 13 || pnum == 15 || pnum == 17 || pnum == 19
        || pnum == 21 || pnum == 23 || pnum == 25 || pnum == 27 || pnum == 29
        || pnum == 31) {
                ColorChat(id, GREEN, "%s ^1Nao e possivel ^3separar os times, ^1com numero de player ^3impar.", szTag);
                EmitSound(id, ERROR);
                return PLUGIN_HANDLED;
        }
       
        ColorChat(0, GREEN, "%s ^1O Guarda ^3%s ^1separou os Times!", szTag, szName);
        new TeaM = pnum / 2;
       
        for( new i; i<pnum; i++ ) {
                tempid = players[i];
                if( TeaM == Verify ) {
                        fm_set_user_rendering(tempid, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 25);
                        ColorChat(tempid, GREEN, "%s ^1Voce Ficou no ^3Time Vermelho!", szTag);
                        new const ModelTime1[] = "models/player/mafiabr_prisioneiro1/mafiabr_prisioneiro1.mdl";
                        //cs_set_user_model(tempid, ModelTime1);               
                        entity_set_int(tempid, EV_INT_body, 2);
                        entity_set_int(tempid, EV_INT_skin, 0);       
                }
               
                else {
                        fm_set_user_rendering(tempid, kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 25);
                        ColorChat(tempid, GREEN, "%s ^1Voce Ficou no ^3Time Azul", szTag);
                        new const ModelTime2[] = "models/player/mafiabr_prisioneiro1/mafiabr_prisioneiro1.mdl";
                        //cs_set_user_model(tempid, ModelTime2);       
                        entity_set_int(tempid, EV_INT_body, 2);
                        entity_set_int(tempid, EV_INT_skin, 0);
                        Verify++;
                }
        }
       
        return PLUGIN_CONTINUE;
}

public ADM_Menu(id)
{       
        if(get_user_flags(id) & ADMIN_KICK) {
                new menu = menu_create("\r[MAFIA BR]\d| Menu Administrador:", "ShowADM_Menu");
               
                menu_additem(menu, "\wMenu \rReviver", "1", 0, -1);
                menu_additem(menu, "\wAbrir \rCelas", "2", 0, -1);
                menu_additem(menu, "\wMenu \rBola", "3", 0, -1);
                menu_additem(menu, "\wBrincadeiras", "4", 0, -1);
                menu_additem(menu, "\wMenu \rFundador", "5", 0, -1);
               
               
                menu_setprop(menu, 4, "\wSair");
               
                menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
                menu_display(id, menu, 0);
        }
        else
        {
                ColorChat(id, GREEN, "%s ^1Somente ^4Admins ^1pode acessar este ^4Menu.", szTag);
                EmitSound(id, ERROR);
        }
       
        return PLUGIN_HANDLED;
}

public ShowADM_Menu(id, menu, item)
{
        if( item == MENU_EXIT )
        {
                menu_destroy(menu);
                return PLUGIN_HANDLED;
        }
       
        new data[6], szName[64];
        new access, callback;
        menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
        new key = str_to_num(data);
       
        switch(key)
        {
                case 1:
                {
                        cmdReviverADM(id);
                }
                case 2:
                {
                        Push_Button();
                }
                case 3:
                {
                        client_cmd(id,"say /ball");
                }
                case 4:
                {
                        Jail_Days(id);
                }                       
                case 5:
                {
                        if(get_user_flags(id) & ADMIN_CVAR)
                        {
                                Fun_Menu(id);
                        }       
                        else
                        {
                                ColorChat(id, GREEN, "%s ^1Somente ^4Fundador ^1pode acessar este ^4Menu.", szTag);
                                EmitSound(id, ERROR);
                                return PLUGIN_HANDLED;
                        }
                }                       
        }
        return PLUGIN_HANDLED;
}

public Fun_Menu(id)
{       
        new menu = menu_create("\r[MAFIA BR]\d| Menu Fundador:", "ShowFun_Menu");
       
        menu_additem(menu, "\wDoar \rDinheiro^n", "1", 0, -1);
        menu_additem(menu, "\wAtivar \rModo Evento", "2", 0, -1);
        menu_additem(menu, "\wDesativar \rModo Evento^n", "3", 0, -1);
        menu_additem(menu, "\wDoar \rCigarros", "4", 0, -1);
        menu_additem(menu, "\wRemover \rCigarros", "5", 0, -1);
       
        menu_setprop(menu, 4, "\wSair");
       
        menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
        menu_display(id, menu, 0);
       
        return PLUGIN_HANDLED;
}

public ShowFun_Menu(id, menu, item)
{
        if( item == MENU_EXIT )
        {
                menu_destroy(menu);
                return PLUGIN_HANDLED;
        }
       
        new data[6], szName[64];
        new access, callback;
        menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
        new key = str_to_num(data);
       
        switch(key)
        {
                case 1:
                {
                        MoneyCmd(id);
                }                       
                case 2:
                {
                        xEvento = true;
                       
                        new players[32], num, player;
                        get_players( players,  num, "a" );
                       
                        for(new i = 0; i < num; i++)
                        {
                                player = players[i];
                               
                                if(!is_user_alive( player ))
                                        continue;
                               
                                StripPlayerWeapons( player );
                                fm_give_item(player, "weapon_knife");
                               
                                switch(fm_get_user_team(player))
                                {
                                        case FM_TEAM_CT:
                                        {                                                                       
                                                fm_set_user_health(player, 100.0);
                                                fm_set_user_godmode(player, 1);
                                                fm_set_user_rendering(player, kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 20);
                                        }
                                       
                                        case FM_TEAM_TR:
                                        {                       
                                                fm_set_user_health(player, 100.0);
                                        }
                                }
                        }
                }                       
                case 3:
                {
                        xEvento = false;
                       
                        new players[32], num, player;
                        get_players( players,  num, "a" );
                       
                        for(new i = 0; i < num; i++)
                        {
                                player = players[i];
                               
                                if(!is_user_alive( player ))
                                        continue;
                               
                                StripPlayerWeapons( player );
                                fm_give_item(player, "weapon_knife");
                               
                                switch(fm_get_user_team(player))
                                {
                                        case FM_TEAM_CT:
                                        {                                                                       
                                                fm_set_user_health(player, 100.0);
                                                fm_set_user_godmode(player, 0);
                                                fm_set_user_rendering(player, kRenderFxGlowShell, 0, 0, 0, kRenderNormal, 0);       
                                        }
                                       
                                        case FM_TEAM_TR:
                                        {                       
                                                fm_set_user_health(player, 100.0);
                                        }
                                }
                        }
                }
                case 4:
                {
                        xSetarMoedas(id);
                }
                case 5:
                {
                        xRemoverMoedasQ(id);
                }
        }
        return PLUGIN_HANDLED;
}
public MoneyCmd(id)
{
        if(!(get_user_flags(id) & ADMIN_KICK))
        {
                ColorTAG(id,"\g%s\n Somente \gAdmins \ntem acesso a este Comando", szTag);
                client_cmd(id, "spk buttons/button2.wav");
                return PLUGIN_HANDLED;
        }
       
        new szTitle[150];
        formatex(szTitle, charsmax(szTitle), "\r%s\w Escolha um jogador para setar Dinheiro", MenuTag);
       
        new szMenu = menu_create(szTitle, "cmdmoney_Handler");
       
        new iPlayers[32], iNum;
        get_players(iPlayers, iNum);
       
        new szItem[64], szName[32], szNum[3], iPlayer;
       
        for( new i; i < iNum; i++ )
        {
                iPlayer = iPlayers[i];
               
                if(is_user_connected(iPlayer))
                {
                        num_to_str(iPlayer, szNum, charsmax(szNum));
                        get_user_name(iPlayer, szName, charsmax(szName));
                       
                        formatex(szItem, charsmax(szItem), "\w%s", szName);
                        menu_additem(szMenu, szItem, szNum);
                }
        }
       
        menu_display(id, szMenu);
       
        return PLUGIN_CONTINUE;
}
public cmdmoney_Handler(id, szMenu, iItem)
{
        if( iItem == MENU_EXIT )
        {
                return PLUGIN_HANDLED;
        }
       
        new szData[6],szName[32], iAccess, iCallback;
        menu_item_getinfo(szMenu, iItem, iAccess, szData, charsmax(szData), _, _, iCallback);
       
        new iPlayer = str_to_num(szData);
        sz_gPlayer = iPlayer;
       
        get_user_name(iPlayer, szName, charsmax(szName));
       
        if(!is_user_connected(iPlayer))
        {
                ColorTAG(id,"\g%s\nO jogador \g%s\n nao esta conectado",szTag,szName);
                return PLUGIN_HANDLED;
        }
       
        client_cmd(id,"messagemode [Quantidade]Dinheiro");
        ColorTAG(id,"\g%s\n Digite a quantidade de dinheiro para dar para \g%s\n.",szTag,szName);
       
        return PLUGIN_CONTINUE;
}
public setmoney(id)
{
        if(!is_user_connected(sz_gPlayer))
        {
                ColorTAG(id,"\g%s\n Este jogador nao esta conectado\g.", szTag);
                return PLUGIN_HANDLED;
        }
        if(!(get_user_flags(id) & ADMIN_KICK))
        {
                ColorTAG(id,"\g%s\n Voce nao tem acesso a este comando", szTag);
                return PLUGIN_HANDLED;
        }
        if(cs_get_user_money(sz_gPlayer) >= 16000)
        {
                ColorChat(id,GREEN,"^x04%s ^1Quantidade maxima nao pode ultrapassar 16000",szTag);
                return PLUGIN_HANDLED;
        }
        new szName[32];
        new szName2[32];
        get_user_name(id, szName, 31);
        get_user_name(sz_gPlayer, szName2, 31);
       
        new amount[30]; read_args(amount, charsmax(amount)); remove_quotes(amount);
        new ammount = str_to_num(amount);
       
        ColorTAG(sz_gPlayer,"\g%s\n Voce recebeu \g%d de Dinheiro\n do admin \t%s\n",szTag,ammount,szName);
        ColorTAG(id,"\g%s\n Voce deu \g%d\n de Dinheiro para \t%s\n",szTag,ammount,szName2);
        cs_set_user_money(sz_gPlayer,cs_get_user_money(sz_gPlayer) + ammount);
        return PLUGIN_HANDLED;
}
public xDoar(id)
{
        new szTitle[150];
        formatex(szTitle, charsmax(szTitle), "\r[MAFIA BR] \y| \dMenu de Doacao^nSeu Dinheiro \y|| \r[%d]",cs_get_user_money(id));
       
        new szMenu = menu_create(szTitle, "xDoar_Handler");
       
        new iPlayers[32], iNum;
        get_players(iPlayers, iNum);
       
        new szItem[64], szName[32], szNum[3], iPlayer;
       
        for( new i; i < iNum; i++ )
        {
                iPlayer = iPlayers[i];
               
                if(is_user_connected(iPlayer))
                {
                        if (iPlayer == id)
                        {
                                num_to_str(iPlayer, szNum, charsmax(szNum));
                                get_user_name(iPlayer, szName, charsmax(szName));
                               
                                formatex(szItem, charsmax(szItem), "\r* \d%s \r- \d( \yDinheiro\w: \r[%d] \d)", szName , cs_get_user_money(iPlayer));
                                menu_additem(szMenu, szItem, szNum);
                        }
                        else
                        {
                                num_to_str(iPlayer, szNum, charsmax(szNum));
                                get_user_name(iPlayer, szName, charsmax(szName));
                               
                                formatex(szItem, charsmax(szItem), "\w%s \r- \d( \yDinheiro\w: \r[%d] \d)", szName , cs_get_user_money(iPlayer));
                                menu_additem(szMenu, szItem, szNum);
                        }
                }
        }
       
        menu_display(id, szMenu);
       
        return PLUGIN_CONTINUE;
}
public xDoar_Handler(id, szMenu, iItem)
{
        if( iItem == MENU_EXIT )
        {
                menu_destroy(szMenu);
                return PLUGIN_HANDLED;
        }
       
        new szData[6],szName[32], iAccess, iCallback;
        menu_item_getinfo(szMenu, iItem, iAccess, szData, charsmax(szData), _, _, iCallback);
       
        new iPlayer = str_to_num(szData);
        sz_gPlayer = iPlayer;
       
        get_user_name(iPlayer, szName, charsmax(szName));
       
        if(!is_user_connected(iPlayer))
        {
                ColorChat(id,GREEN,"%s^1 O jogador ^4%s^1 nao esta conectado",szTag,szName);
                return PLUGIN_HANDLED;
        }
        if (iPlayer == id)
        {
                ColorChat(id,GREEN,"%s ^1Voce nao pode doar ^3Dinheiro ^1para voce mesmo^4.",szTag,szName);
                return PLUGIN_HANDLED;
        }
       
       
        client_cmd(id,"messagemode [DoarQuantidade]Dinheiro");
        client_cmd(id, "spk events/enemy_died.wav");
        ColorChat(id,GREEN,"%s^1 Digite a quantidade de ^4Dinheiro ^1para dar para ^4%s^1.",szTag,szName);
       
        menu_destroy(szMenu);
        return PLUGIN_CONTINUE;
}
public xDoarDinheiro(id)
{
        new szName[32];
        new szName2[32];
        get_user_name(id, szName, 31);
        get_user_name(sz_gPlayer, szName2, 31);
       
        new amount[30]; read_args(amount, charsmax(amount)); remove_quotes(amount);
        new ammount = str_to_num(amount);
        new szNum = str_to_num(amount);
       
        if(!is_user_connected(sz_gPlayer))
        {
                ColorChat(id,GREEN,"%s ^1O jogador ^4%s^1 nao esta conectado",szTag,szName);
                return PLUGIN_HANDLED;
        }
        if(cs_get_user_money(id) < ammount)
        {
                ColorChat(id,GREEN,"^x04%s ^1Voce nao tem ^4Dinheiro ^1suficiente",szTag);
                return PLUGIN_HANDLED;
        }
        if(cs_get_user_money(sz_gPlayer) >= 16000)
        {
                ColorChat(id,GREEN,"^x04%s ^1Quantidade maxima nao pode ultrapassar 16000",szTag);
                return PLUGIN_HANDLED;
        }
        if (szNum <= 0)
        {
                set_dhudmessage(255, 0, 0, 0.02, 0.17, 2, 0.3, 2.0, 0.07, 0.07);
                show_dhudmessage(id, "Quantia invalida.");
                ColorChat(id,GREEN, "%s ^1Quantia Invalida^3.",szTag);
                xDoar(id);
               
                return PLUGIN_HANDLED;
        }
       
        ColorChat(sz_gPlayer,GREEN,"%s^1 Voce recebeu ^4%d ^1de Dinheiro^1 do jogador ^3%s^1",szTag,ammount,szName);
        ColorChat(id,GREEN,"%s^1 Voce deu ^4%d^1de Dinheiro para ^3%s^1.",szTag,ammount,szName2);
       
        //log_to_file ( "STD_MENUDOAR.log", "[STD] Player %s Deu %s Cash parar o Jogador: %s", szName, ammount, szName2 );
       
        cs_set_user_money(sz_gPlayer, cs_get_user_money(sz_gPlayer) + ammount);
        cs_set_user_money(id, cs_get_user_money(id) - ammount);
       
        return PLUGIN_HANDLED;
}
public xSetarMoedas(id)
{
        new szTitle[150];
        formatex(szTitle, charsmax(szTitle), "\r%s \y| \dMenu de Doacao",szTag);
       
        new szMenu = menu_create(szTitle, "xSetarMoedas_Handler");
       
        new iPlayers[32], iNum;
        get_players(iPlayers, iNum);
       
        new szItem[64], szName[32], szNum[3], iPlayer;
       
        for( new i; i < iNum; i++ )
        {
                iPlayer = iPlayers[i];
               
                if(is_user_connected(iPlayer))
                {
                        if (iPlayer == id)
                        {
                                num_to_str(iPlayer, szNum, charsmax(szNum));
                                get_user_name(iPlayer, szName, charsmax(szName));
                               
                                formatex(szItem, charsmax(szItem), "\r* \d%s \r- \d( \yCigarros\w: \r[%d] \d)", szName , xStrondaCash[ iPlayer ]);
                                menu_additem(szMenu, szItem, szNum);
                        }
                        else
                        {
                                num_to_str(iPlayer, szNum, charsmax(szNum));
                                get_user_name(iPlayer, szName, charsmax(szName));
                               
                                formatex(szItem, charsmax(szItem), "\w%s \r- \d( \yCigarros\w: \r[%d] \d)", szName , xStrondaCash[ iPlayer ]);
                                menu_additem(szMenu, szItem, szNum);
                        }
                }
        }
       
        menu_display(id, szMenu);
       
        return PLUGIN_CONTINUE;
}
public xSetarMoedas_Handler(id, szMenu, iItem)
{
        if( iItem == MENU_EXIT )
        {
                menu_destroy(szMenu);
                return PLUGIN_HANDLED;
        }
       
        new szData[6],szName[32], iAccess, iCallback;
        menu_item_getinfo(szMenu, iItem, iAccess, szData, charsmax(szData), _, _, iCallback);
       
        new iPlayer = str_to_num(szData);
        sz_gPlayer = iPlayer;
       
        get_user_name(iPlayer, szName, charsmax(szName));
       
        if(!is_user_connected(iPlayer))
        {
                ColorChat(id,GREEN,"%s^1 O jogador ^4%s^1 nao esta conectado",szTag,szName);
                return PLUGIN_HANDLED;
        }
       
       
        client_cmd(id,"messagemode [SetarQuantidade]Cigarros");
        client_cmd(id, "spk events/enemy_died.wav");
        ColorChat(id,GREEN,"%s^1 Digite a quantidade de ^4Cigarros ^1para dar para ^4%s^1.",szTag,szName);
       
        menu_destroy(szMenu);
        return PLUGIN_CONTINUE;
}
public xSetarMoedasQ(id)
{
        new szName[32];
        new szName2[32];
        get_user_name(id, szName, 31);
        get_user_name(sz_gPlayer, szName2, 31);
       
        new amount[30]; read_args(amount, charsmax(amount)); remove_quotes(amount);
        new ammount = str_to_num(amount);
        new szNum = str_to_num(amount);
       
        if(!is_user_connected(sz_gPlayer))
        {
                ColorChat(id,GREEN,"%s ^1O jogador ^4%s^1 nao esta conectado",szTag,szName);
                return PLUGIN_HANDLED;
        }
        if (szNum <= 0)
        {
                set_dhudmessage(255, 0, 0, 0.02, 0.17, 2, 0.3, 2.0, 0.07, 0.07);
                show_dhudmessage(id, "Quantia invalida.");
                ColorChat(id,GREEN, "%s ^1Quantia Invalida^3.",szTag);
                xDoar(id);
               
                return PLUGIN_HANDLED;
        }
       
        ColorChat(sz_gPlayer,GREEN,"%s^1 Voce recebeu ^4%d ^1de Cigarros^1 do jogador ^3%s^1",szTag,ammount,szName);
        ColorChat(id,GREEN,"%s^1 Voce deu ^4%d^1de Cigarros para ^3%s^1.",szTag,ammount,szName2);
       
        //log_to_file ( "STD_MENUDOAR.log", "[STD] Player %s Deu %s Cash parar o Jogador: %s", szName, ammount, szName2 );
       
        xStrondaCash[ sz_gPlayer ] += ammount;
       
        return PLUGIN_HANDLED;
}
public xRemoverMoedasQ(id)
{
        new szTitle[150];
        formatex(szTitle, charsmax(szTitle), "\r%s \y| \dMenu de Remover Cigarros",szTag);
       
        new szMenu = menu_create(szTitle, "xRemoverMoedas_Handler");
       
        new iPlayers[32], iNum;
        get_players(iPlayers, iNum);
       
        new szItem[64], szName[32], szNum[3], iPlayer;
       
        for( new i; i < iNum; i++ )
        {
                iPlayer = iPlayers[i];
               
                if(is_user_connected(iPlayer))
                {
                        if (iPlayer == id)
                        {
                                num_to_str(iPlayer, szNum, charsmax(szNum));
                                get_user_name(iPlayer, szName, charsmax(szName));
                               
                                formatex(szItem, charsmax(szItem), "\r* \d%s \r- \d( \yCigarros\w: \r[%d] \d)", szName , xStrondaCash[ iPlayer ]);
                                menu_additem(szMenu, szItem, szNum);
                        }
                        else
                        {
                                num_to_str(iPlayer, szNum, charsmax(szNum));
                                get_user_name(iPlayer, szName, charsmax(szName));
                               
                                formatex(szItem, charsmax(szItem), "\w%s \r- \d( \yCigarros\w: \r[%d] \d)", szName , xStrondaCash[ iPlayer ]);
                                menu_additem(szMenu, szItem, szNum);
                        }
                }
        }
       
        menu_display(id, szMenu);
       
        return PLUGIN_CONTINUE;
}
public xRemoverMoedas_Handler(id, szMenu, iItem)
{
        if( iItem == MENU_EXIT )
        {
                menu_destroy(szMenu);
                return PLUGIN_HANDLED;
        }
       
        new szData[6],szName[32], iAccess, iCallback;
        menu_item_getinfo(szMenu, iItem, iAccess, szData, charsmax(szData), _, _, iCallback);
       
        new iPlayer = str_to_num(szData);
        sz_gPlayer = iPlayer;
       
        get_user_name(iPlayer, szName, charsmax(szName));
       
        if(!is_user_connected(iPlayer))
        {
                ColorChat(id,GREEN,"%s^1 O jogador ^4%s^1 nao esta conectado",szTag,szName);
                return PLUGIN_HANDLED;
        }
       
       
        client_cmd(id,"messagemode [RemoverQuantidade]Cigarros");
        client_cmd(id, "spk events/enemy_died.wav");
        ColorChat(id,GREEN,"%s^1 Digite a quantidade de ^4Cigarros ^1para remover de ^4%s^1.",szTag,szName);
       
        menu_destroy(szMenu);
        return PLUGIN_CONTINUE;
}
public xRemoverMoedas(id)
{
        new szName[32];
        new szName2[32];
        get_user_name(id, szName, 31);
        get_user_name(sz_gPlayer, szName2, 31);
       
        new amount[30]; read_args(amount, charsmax(amount)); remove_quotes(amount);
        new ammount = str_to_num(amount);
        new szNum = str_to_num(amount);
       
        if(!is_user_connected(sz_gPlayer))
        {
                ColorChat(id,GREEN,"%s ^1O jogador ^4%s^1 nao esta conectado",szTag,szName);
                return PLUGIN_HANDLED;
        }
        if (szNum <= 0)
        {
                set_dhudmessage(255, 0, 0, 0.02, 0.17, 2, 0.3, 2.0, 0.07, 0.07);
                show_dhudmessage(id, "Quantia invalida.");
                ColorChat(id,GREEN, "%s ^1Quantia Invalida^3.",szTag);
                xDoar(id);
               
                return PLUGIN_HANDLED;
        }
       
        ColorChat(id,GREEN,"%s^1 Voce removeu ^4%d^1de Cigarros do jogador ^3%s^1.",szTag,ammount,szName2);
       
        //log_to_file ( "STD_MENUDOAR.log", "[STD] Player %s Deu %s Cash parar o Jogador: %s", szName, ammount, szName2 );
       
        xStrondaCash[ sz_gPlayer ] -= ammount;
       
        return PLUGIN_HANDLED;
}
public cmdverific(id)
{
        if(!is_user_alive(id))
        {
                ColorChat(id, GREEN, "%s ^1Voce precisa estar ^4vivo ^1para abrir o Shop!", PrefixoC);
                EmitSound(id, ERROR);
                return PLUGIN_HANDLED;
        }
        if(isFreeday == true)
        {
                ColorChat(id, GREEN, "%s ^1Proibido usar shop no ^4Freeday!", PrefixoC);
                EmitSound(id, ERROR);
                return PLUGIN_HANDLED;
        }
        else if(xEvento == true)
        {
                ColorChat(id, GREEN, "%s ^1Proibido usar shop no ^4Modo Evento!", PrefixoC);
                EmitSound(id, ERROR);
                return PLUGIN_HANDLED;
        }       
        else if(g_iCurrentGame == LR_AWP ||  g_iCurrentGame == LR_DEAGLE ||  g_iCurrentGame == LR_DROP
                ||  g_iCurrentGame == LR_M3 ||  g_iCurrentGame == LR_SCOUT ||  g_iCurrentGame == LR_SOCO || g_iCurrentGame == LR_TUBARAO_CT || g_iCurrentGame == LR_TUBARAO_TR){
                ColorChat(id, GREEN, "%s ^1Proibido usar Shop no ^4Duelo!", PrefixoC);
                EmitSound(id, ERROR);
                return PLUGIN_HANDLED;
        }
        else if( Native_Invisivel() || Native_Pega() || Native_Esconde() || Native_Sobrevivencia() || Native_Tubarao () || Native_Gladiador () || Native_Zombie_tr () || Native_Zombie_ct () )
        {
                ColorChat(id, GREEN, "%s ^1Proibido usar shop nas ^4Brincadeiras!", PrefixoC);
                EmitSound(id, ERROR);
                return PLUGIN_HANDLED;
        }
        if(fm_get_user_team(id) == FM_TEAM_TR)
        {
                Shop_TR(id);
        }
        if(fm_get_user_team(id) == FM_TEAM_CT)
        {
                Shop_CT(id);
        }
        return PLUGIN_HANDLED;
}
public cmdverific2(id)
{
        if(!is_user_alive(id))
        {
                ColorChat(id, GREEN, "%s ^1Voce precisa estar ^4vivo ^1para abrir o Shop!", PrefixoC);
                EmitSound(id, ERROR);
                return PLUGIN_HANDLED;
        }
        if(isFreeday == true)
        {
                ColorChat(id, GREEN, "%s ^1Proibido usar shop no ^4Freeday!", PrefixoC);
                EmitSound(id, ERROR);
                return PLUGIN_HANDLED;
        }
        else if(xEvento == true)
        {
                ColorChat(id, GREEN, "%s ^1Proibido usar shop no ^4Modo Evento!", PrefixoC);
                EmitSound(id, ERROR);
                return PLUGIN_HANDLED;
        }       
        else if(g_iCurrentGame == LR_AWP ||  g_iCurrentGame == LR_DEAGLE ||  g_iCurrentGame == LR_DROP
                ||  g_iCurrentGame == LR_M3 ||  g_iCurrentGame == LR_SCOUT ||  g_iCurrentGame == LR_SOCO || g_iCurrentGame == LR_TUBARAO_CT || g_iCurrentGame == LR_TUBARAO_TR){
                ColorChat(id, GREEN, "%s ^1Proibido usar Shop no ^4Duelo!", PrefixoC);
                EmitSound(id, ERROR);
                return PLUGIN_HANDLED;
        }
        else if( Native_Invisivel() || Native_Pega() || Native_Esconde() || Native_Sobrevivencia () || Native_Tubarao () || Native_Gladiador () || Native_Zombie_tr () || Native_Zombie_ct () )
        {
                ColorChat(id, GREEN, "%s ^1Proibido usar shop nas ^4Brincadeiras!", PrefixoC);
                EmitSound(id, ERROR);
                return PLUGIN_HANDLED;
        }
        if(fm_get_user_team(id) == FM_TEAM_TR)
        {
                StrondaJBShop(id);
        }
        if(fm_get_user_team(id) == FM_TEAM_CT)
        {
                ColorChat(id,GREEN,"%s ^1Somente ^3Prisioneiros ^1podem ^4acesssar ^1o shop de Cigarros^4.",szTag);
                EmitSound(id, ERROR);
        }
        return PLUGIN_HANDLED;
}
public Shop_TR(id)
{       
       
        new TAMTAM[128];
        formatex(TAMTAM, 127, "\r%s \dShop Dinheiro^n \r» \wDinheiro \y[\r$\w%d\y]\w", MenuTag, cs_get_user_money(id));
        new menu  = menu_create(TAMTAM, "ShowShopTR");
       
        menu_additem(menu, "\w2 Flash \y[\r$\w6000\y]", "1", 0, -1);
        menu_additem(menu, "\w1 He \y[\r$\w5000\y]", "2", 0, -1);
        menu_additem(menu, "\wKit Granadas \y[\r$\w10000\y]", "3", 0, -1);
        menu_additem(menu, "\wDeagle \d(1 Bala) \y[\r$\w12000\y]", "4", 0, -1);
        menu_additem(menu, "\wGravidade \d(15 Segundos) \y[\r$\w9000\y]", "5", 0, -1);
        menu_additem(menu, "\wAndar em Silencio \y[\r$\w8000\y]", "6", 0, -1);
        menu_additem(menu, "\wApagao \d(10 Segundos) \y[\r$\w15000\y]", "7", 0, -1);
        menu_additem(menu, "\wInvisivel \d(12 Segundos) \y[\r$\w14000\y]", "8", 0, -1);
        menu_additem(menu, "\w+100 HP \y[\r$\w7000\y]", "9", 0, -1);
        menu_additem(menu, "\wRoupa de Guarda \d(15 Segundos) \y[\r$\w12000\y]", "10", 0, -1);
        menu_additem(menu, "\wGlock \d(20 Balas) \y[\r$\w16000\y]", "11", 0, -1);
        menu_additem(menu, "\wVelocidade \y[\r$\w12000\y]", "12", 0, -1);
        menu_additem(menu, "\wNoclip \d(3 Segundos) \y[\r$\w15000\y]", "13", 0, -1);
       
        menu_setprop(menu, 4, "\wSair");
       
        menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
        menu_display(id, menu, 0);
       
        return PLUGIN_HANDLED;
}

public ShowShopTR(id, menu, item)
{
        if( item == MENU_EXIT )
        {
                menu_destroy(menu);
                return PLUGIN_HANDLED;
        }
       
        new data[6], szName[64];
        new access, callback;
        menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
        new key = str_to_num(data);
        new money;
        money = cs_get_user_money(id);
       
        switch(key)
        {
                case 1:
                {
                        if(money < 6000)
                        {
                                ColorChat(id, GREEN, "%s ^1Seu Vagabundo voce nao tem ^4dinheiro suficiente", PrefixoC);
                                EmitSound(id, ERROR);                               
                                return PLUGIN_HANDLED;
                        }
                        else
                        {
                                fm_give_item(id, "weapon_flashbang");
                                fm_give_item(id, "weapon_flashbang");
                                ColorChat(id, GREEN, "%s ^1Voce comprou^4 2 Flash", PrefixoC);
                                cs_set_user_money(id, money - 6000);
                        }
                }                       
                case 2:
                {
                        if(money < 5000)
                        {
                                ColorChat(id, GREEN, "%s ^1Seu Vagabundo voce nao tem ^4dinheiro suficiente", PrefixoC);
                                EmitSound(id, ERROR);
                                return PLUGIN_HANDLED;
                        }
                        else
                        {
                                fm_give_item(id, "weapon_hegrenade");
                                ColorChat(id, GREEN, "%s ^1Voce comprou^4 1 HE", PrefixoC);
                                cs_set_user_money(id, money - 5000);
                        }
                }                       
                case 3:
                {
                        if(money < 10000)
                        {
                                ColorChat(id, GREEN, "%s ^1Seu Vagabundo voce nao tem ^4dinheiro suficiente", PrefixoC);
                                EmitSound(id, ERROR);
                                return PLUGIN_HANDLED;
                        }
                        else
                        {
                                fm_give_item(id, "weapon_flashbang");
                                fm_give_item(id, "weapon_flashbang");
                                fm_give_item(id, "weapon_hegrenade");
                                ColorChat(id, GREEN, "%s ^1Voce comprou^4 Kit Granadas", PrefixoC);
                                cs_set_user_money(id, money - 10000);
                        }
                }       
                case 4:
                {
                        if(money < 12000)
                        {
                                ColorChat(id, GREEN, "%s ^1Seu Vagabundo voce nao tem ^4dinheiro suficiente", PrefixoC);
                                EmitSound(id, ERROR);
                                return PLUGIN_HANDLED;
                        }
                        else
                        {
                                cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 1);
                                ColorChat(id, GREEN, "%s ^1Voce comprou^4 Deagle 1 Bala", PrefixoC);
                                cs_set_user_money(id, money - 12000);
                        }
                }               
                case 5:
                {
                        if(money < 10000)
                        {
                                ColorChat(id, GREEN, "%s ^1Seu Vagabundo voce nao tem ^4dinheiro suficiente", PrefixoC);
                                EmitSound(id, ERROR);
                                return PLUGIN_HANDLED;
                        }
                        else
                        {
                                fm_set_user_gravity(id, 0.500);
                                set_task(15.0, "retirargravidade", id+TASKGRAVITY);
                                ColorChat(id, GREEN, "%s ^1Voce comprou ^4Gravidade ^1por 15 Segundos", PrefixoC);
                                cs_set_user_money(id, money - 9000);
                        }
                }
                case 6:
                {
                        if(money < 8000)
                        {
                                ColorChat(id, GREEN, "%s ^1Seu Vagabundo voce nao tem ^4dinheiro suficiente", PrefixoC);
                                EmitSound(id, ERROR);
                                return PLUGIN_HANDLED;
                        }
                        else
                        {
                                set_user_footsteps( id, 1 );
                               
                                ColorChat(id, GREEN, "%s ^1Voce comprou ^4Andar em Silencio", PrefixoC);
                                HasSilent[ id ] = true;
                               
                                emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
                                menu_display( id, menu, 0 );
                                cs_set_user_money(id, money - 8000);
                        }
                }       
                case 7:
                {
                        if(money < 15000)
                        {
                                ColorChat(id, GREEN, "%s ^1Seu Vagabundo voce nao tem ^4dinheiro suficiente", PrefixoC);
                                EmitSound(id, ERROR);
                                return PLUGIN_HANDLED;
                        }
                        else
                        {
                                set_lights("a");
                                set_task(10.0, "retirarapagao", id+TASKAPAGAO);
                                ColorChat(id, GREEN, "%s ^1Voce comprou ^4Apagao^1 10 Segundos", PrefixoC);
                                cs_set_user_money(id, money - 15000);
                                client_cmd(0, "spk %s", MP3_APAGAO);
                               
                        }
                }       
                case 8:
                {
                        if(money < 14000)
                        {
                                ColorChat(id, GREEN, "%s ^1Seu Vagabundo voce nao tem ^4dinheiro suficiente", PrefixoC);
                                EmitSound(id, ERROR);
                                return PLUGIN_HANDLED;
                        }
                        else
                        {
                                set_user_rendering( id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0 );
                                set_task(12.0, "retirarinvisivel", id+TASKINVISIVEL);
                                ColorChat(id, GREEN, "%s ^1Voce comprou ^4Invisivel^1 12 Segundos", PrefixoC);
                                cs_set_user_money(id, money - 14000);
                        }
                }       
                case 9:
                {
                        if(money < 7000)
                        {
                                ColorChat(id, GREEN, "%s ^1Seu Vagabundo voce nao tem ^4dinheiro suficiente", PrefixoC);
                                EmitSound(id, ERROR);
                                return PLUGIN_HANDLED;
                        }
                        else
                        {
                                set_user_health( id, get_user_health( id ) + 100 );
                                ColorChat(id, GREEN, "%s ^1Voce comprou ^4+100 HP", PrefixoC);
                                cs_set_user_money(id, money - 7000);
                        }
                }       
                case 10:
                {
                        if(money < 12000)
                        {
                                ColorChat(id, GREEN, "%s ^1Seu Vagabundo voce nao tem ^4dinheiro suficiente", PrefixoC);
                                EmitSound(id, ERROR);
                                return PLUGIN_HANDLED;
                        }
                        else
                        {
                                set_user_info(id, "model", "mafiabr_guarda");               
                                entity_set_int(id, EV_INT_body, 3);
                               
                                set_task(15.0, "retirarroupaTR", id+TASKROUPATR);
                                ColorChat(id, GREEN, "%s ^1Voce comprou ^4Roupa de Guarda^1 por 15 Segundos", PrefixoC);
                                cs_set_user_money(id, money - 12000);
                        }
                }
                case 11:
                {
                        if(money < 16000)
                        {
                                ColorChat(id, GREEN, "%s ^1Seu Vagabundo voce nao tem ^4dinheiro suficiente", PrefixoC);
                                EmitSound(id, ERROR);
                                return PLUGIN_HANDLED;
                        }
                        else
                        {
                                new gItem = fm_give_item( id, "weapon_glock18" );
                                if( pev_valid( gItem ) ) {
                                        cs_set_weapon_ammo( gItem, 20 );
                                        cs_set_user_bpammo( id , CSW_GLOCK18, 0 );
                                }
                                ColorChat(id, GREEN, "%s ^1Voce comprou ^4Glock 20 Balas", PrefixoC);
                                cs_set_user_money(id, money - 16000);
                        }
                }
                case 12:
                {
                        if(money < 12000)
                        {
                                ColorChat(id, GREEN, "%s ^1Seu Vagabundo voce nao tem ^4dinheiro suficiente", PrefixoC);
                                EmitSound(id, ERROR);
                                return PLUGIN_HANDLED;
                        }
                        else
                        {
                                set_user_maxspeed( id, get_pcvar_float( gSpeedCvar ) );
                                HasSpeed[ id ] = true;
                               
                                ColorChat(id, GREEN, "%s ^1Voce comprou ^4Velocidade", PrefixoC);
                                cs_set_user_money(id, money - 12000);
                        }
                }
                case 13:
                {
                        if(money < 15000)
                        {
                                ColorChat(id, GREEN, "%s ^1Seu Vagabundo voce nao tem ^4dinheiro suficiente", PrefixoC);
                                EmitSound(id, ERROR);
                                return PLUGIN_HANDLED;
                        }
                        else
                        {
                               
                                set_task( float( get_pcvar_num( gNoclipTime ) ), "remove_noclip", id );
                                set_user_noclip( id, 1 );
                               
                                HasNoclip[ id ] = true;
                                ColorChat(id, GREEN, "%s ^1Voce comprou ^4Noclip", PrefixoC);
                                cs_set_user_money(id, money - 15000);
                        }
                }
               
        }
        return PLUGIN_HANDLED;
}

public Shop_CT(id)
{       
        //new menu = menu_create("\rPresidio SKYFALL \d| Shop Guarda:", "ShowShopCT",0)
       
        new TAMTAM[128];
        formatex(TAMTAM, 127, "\r%s \dShop Dinheiro^n \r» \wDinheiro \y[\r$\w%d\y]", MenuTag, cs_get_user_money(id));
        new menu  = menu_create(TAMTAM, "ShowShopCT");
       
        menu_additem(menu, "\wNo-Clip \d(3 Segundos) \y[\r$\w7000\y]", "1", 0, -1);
        menu_additem(menu, "\wGravidade \d(15 Segundos) \y[\r$\w9000\y]", "2", 0, -1);
        menu_additem(menu, "\wHP 255 \y[\r$\w16000\y]", "4", 0, -1);
        menu_additem(menu, "\w+255 Colete \y[\r$\w7000\y]", "5", 0, -1);
       
        menu_setprop(menu, 4, "\wSair");
       
        menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
        menu_display(id, menu, 0);
       
        return PLUGIN_HANDLED;
}

public ShowShopCT(id, menu, item)
{
        if( item == MENU_EXIT )
        {
                menu_destroy(menu);
                return PLUGIN_HANDLED;
        }
       
        new data[6], szName[64];
        new access, callback;
        menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
        new key = str_to_num(data);
       
        new money;
        money = cs_get_user_money(id);
       
        switch(key)
        {
                case 1:
                {
                        if(money < 7000)
                        {
                                ColorChat(id, GREEN, "%s ^1Seu Vagabundo voce nao tem ^4dinheiro suficiente", PrefixoC);
                                EmitSound(id, ERROR);
                                return PLUGIN_HANDLED;
                        }
                        else
                        {
                                fm_set_user_noclip(id, 1);
                                set_task(3.0, "retiraclip", id+TASKCLIP);
                                ColorChat(id, GREEN, "%s ^1Voce comprou ^4No-Clip^1 por 3 Segundos", PrefixoC);
                                cs_set_user_money(id, money - 7000);
                        }
                }                       
                case 2:
                {
                        if(money < 9000)
                        {
                                ColorChat(id, GREEN, "%s ^1Seu Vagabundo voce nao tem ^4dinheiro suficiente", PrefixoC);
                                EmitSound(id, ERROR);
                                return PLUGIN_HANDLED;
                        }
                        else
                        {
                                fm_set_user_gravity(id, 0.500);
                                set_task(15.0, "retirargravidade", id+TASKGRAVITY);
                                ColorChat(id, GREEN, "%s ^1Voce comprou ^4Gravidade ^1por 15 Segundos", PrefixoC);
                                cs_set_user_money(id, money - 9000);
                        }
                }                               
                case 4:
                {
                        if(money < 16000)
                        {
                                ColorChat(id, GREEN, "%s ^1Seu Vagabundo voce nao tem ^4dinheiro suficiente", PrefixoC);
                                EmitSound(id, ERROR);
                                return PLUGIN_HANDLED;
                        }
                        else
                        {
                                fm_set_user_health(id, 255.0);
                                ColorChat(id, GREEN, "%s ^1Voce comprou^4 255 HP", PrefixoC);
                                cs_set_user_money(id, money - 16000);
                        }
                }               
                case 5:
                {
                        if(money < 7000)
                        {
                                ColorChat(id, GREEN, "%s ^1Seu Vagabundo voce nao tem ^4dinheiro suficiente", PrefixoC);
                                EmitSound(id, ERROR);
                                return PLUGIN_HANDLED;
                        }
                        else
                        {
                               
                                set_user_armor( id, get_user_armor( id ) + 255 );
                                ColorChat(id, GREEN, "%s ^1Voce comprou ^4+255 Colete", PrefixoC);
                                cs_set_user_money(id, money - 7000);
                        }
                }
        }
        return PLUGIN_HANDLED;
}
public Remover_terremoto(id)
{
        remove_task(4701);
        client_cmd(id, "stop");
        ColorTAG(0, "\g[%s] \nO \tTerremoto \nAcabou", szTag);
}

public retirargravidade(id)
{
        id -= TASKGRAVITY;
       
        if( is_user_alive( id ) )
                fm_set_user_gravity(id, 1.0);
       
        ColorChat(id, GREEN, "%s ^1Sua ^4Gravidade ^1Terminou.", PrefixoC);
}

public retirarapagao(id)
{
        id -= TASKAPAGAO;
       
        set_lights("#OFF");
       
        ColorChat(id, GREEN, "%s ^1Seu ^4Apagao ^1Terminou.", PrefixoC);
}       

public retirarinvisivel(id)
{
        id -= TASKINVISIVEL;
       
        if( is_user_alive( id ) )
                set_user_rendering( id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 250 );
       
        ColorChat(id, GREEN, "%s ^1Seu ^4Invisivel ^1Terminou.", PrefixoC);
}       

public retirargod(id)
{
        id -= TASKGOD;
       
        if( is_user_alive( id ) )
                fm_set_user_godmode(id, 0);
                set_user_rendering( id, kRenderFxGlowShell, 0, 0, 0, kRenderNormal, 25 );
       
        ColorChat(id, GREEN, "%s ^1Seu ^4GodMode ^1Terminou.", PrefixoC);
}       

public retirarroupaTR(id)
{
        id -= TASKROUPATR;
       
        if(is_user_alive(id))
        {
                set_user_info(id, "model", "mafiabr_prisioneiro1");
                entity_set_int(id, EV_INT_body, 2);
                entity_set_int(id, EV_INT_skin, 0);       
        }
        ColorChat(id, GREEN, "%s ^1Sua ^4Roupa de Guarda ^1Terminou.", PrefixoC);
}

public retirarroupaCT(id)
{
        id -= TASKROUPACT;
       
        if(is_user_alive(id))
        {
                set_user_info(id, "model", "One6Models");               
                entity_set_int(id, EV_INT_body, 3);
        }
        ColorChat(id, GREEN, "%s ^1Sua ^4Roupa de Prisioneiro ^1Terminou.", PrefixoC);
}

public retiraclip(id)
{
        id -= TASKCLIP;
       
        if( is_user_alive( id ) )
                fm_set_user_noclip(id, 0);
       
        ColorChat(id, GREEN, "%s ^1Seu ^4No-Clip^1 Terminou.", PrefixoC);
}       

public Terremoto(id)
{
        for(new i = 1; i < 33; i++)
        {
                if(is_user_connected(i) && is_user_alive(i) )
                {
                        message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenShake"), {0,0,0}, i) ;
                        write_short(0xFFFF);
                        write_short(1<<13);
                        write_short(0xFFFF) ;
                        message_end();
                        set_task(10.1,"Remover_terremoto",id);
                }
        }
}

////////////////////////////////// DUELO MAFIA BR ///////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////

public Cmd_LastRequest( id )
{
        if( !g_bAlive[ id ] )
        {
                ColorChat(id, GREEN, "%s ^1Voce precisar estar ^4vivo^1, para ^4Duelar!", PrefixoC);
                EmitSound(id, ERROR);
                return PLUGIN_HANDLED;
        }
       
        else if(!is_last_tr())
        {
                ColorChat(id, GREEN, "%s ^1Aguarde voce ser o ^4ultimo preso, ^1para Duelar", PrefixoC);
                EmitSound(id, ERROR);               
                return PLUGIN_HANDLED;
        }               
       
        else if(!has_ct_alive())
        {
                ColorChat(id, GREEN, "%s ^1Nenhum Guarda ^4encontrado^1, nao e possivel ^4Duelar.", PrefixoC);
                EmitSound(id, ERROR)                ;
                return PLUGIN_HANDLED;
        }       
        else if(isFreeday == true)
        {
                ColorChat(id, GREEN, "%s ^1Nao e possivel ^4duelar ^1no Freeday.", PrefixoC);
                EmitSound(id, ERROR);
                return PLUGIN_HANDLED;
        }
        else if( fm_get_user_team( id ) != FM_TEAM_TR )
        {
                ColorChat(id, GREEN, "%s ^1Somente ^4Prisioneiros^1, podem dar ^4Duelo", PrefixoC);
                EmitSound(id, ERROR);
                return PLUGIN_HANDLED;
        }
       
        /*
        else if( !g_bLastRequestAllowed )
        {
                ColorChat(id, GREEN, "%s ^1Aguarde, voce ser ultimo ^4preso ^1vivo, para ^4Duelar", PrefixoC);
                EmitSound(id, ERROR);
                return PLUGIN_HANDLED;
        }
        */
        else if( g_iCurrentGame != LR_NONE )
        {
                ColorChat(id, GREEN, "%s ^1Aguarde, ja esta ^4acontecendo ^1um Duelo", PrefixoC);
                EmitSound(id, ERROR);
                return PLUGIN_HANDLED;
        }
        else if(is_last_tr())
                LastRequestMenu(id);
       
        else LastRequestMenu( id );
       
        return PLUGIN_HANDLED;
}

public LastRequestMenu( id )
{
        new hMenu = menu_create( "\r[MAFIA BR] \dEscolha o Duelo:", "LastRequestMenu_Handler" );
       
        new szInfo[ 6 ];
       
        for( new i = 0; i < MAX_GAMES; i++ )
        {
                num_to_str( i, szInfo, charsmax( szInfo ) );
               
                menu_additem( hMenu, g_szGameNames[ i ], szInfo );
        }
       
        menu_setprop( hMenu, MPROP_NEXTNAME, "Proxima" );
        menu_setprop( hMenu, MPROP_BACKNAME, "Anterior" );
       
        menu_display( id, hMenu, 0 );
}

public LastRequestMenu_Handler( id, hMenu, iItem )
{
        if( iItem == MENU_EXIT )
        {
                menu_destroy( hMenu );
                return PLUGIN_HANDLED;
        }
       
        new szData[ 6 ];
        new iAccess, hCallback;
        menu_item_getinfo( hMenu, iItem, iAccess, szData, charsmax( szData ), _, _, hCallback );
       
        g_iChosenGame[ id ] = str_to_num( szData );
       
        if( g_iCurrentGame != LR_NONE )
        {
                menu_destroy( hMenu );
                g_iChosenGame[ id ] = LR_NONE;
                ColorChat(id, GREEN, "%s ^1Aguarde, ja esta ^4acontecendo ^1um Duelo", PrefixoC);
                return PLUGIN_HANDLED;
        }
       
        ShowPlayerMenu( id );
       
        menu_destroy( hMenu );
        return PLUGIN_HANDLED;
}


public ShowPlayerMenu( id )
{
        new hMenu = menu_create( "\r[MAFIA BR] \dEscolha o Guarda:", "PlayerMenu_Handler" );
       
        new szPlayerName[ 32 ], szInfo[ 6 ];
       
        for( new i = 1; i < xMaxPlayers; i++ )
        {
                if( !g_bAlive[ i ] || cs_get_user_team( i ) != CS_TEAM_CT )
                        continue;
               
                get_user_name( i, szPlayerName, charsmax( szPlayerName ) );
               
                num_to_str( i, szInfo, charsmax( szInfo ) );
               
                menu_additem( hMenu, szPlayerName, szInfo );
        }
       
        menu_setprop( hMenu, MPROP_NEXTNAME, "Proxima" );
        menu_setprop( hMenu, MPROP_BACKNAME, "Anterior" );
       
        menu_display( id, hMenu, 0 );
}

public PlayerMenu_Handler( id, hMenu, iItem )
{       
        if( iItem == MENU_EXIT || !g_bAlive[ id ] || g_iCurrentGame != LR_NONE )
        {
                g_iChosenGame[ id ] = LR_NONE;
               
                menu_destroy( hMenu );
                return PLUGIN_HANDLED;
        }
       
        new szData[ 6 ], szPlayerName[ 64 ];
        new iAccess, hCallback;
       
        menu_item_getinfo( hMenu, iItem, iAccess, szData, charsmax( szData ), szPlayerName, charsmax( szPlayerName ), hCallback );
       
        new iGuard = str_to_num( szData );
       
        if( !g_bAlive[ iGuard ] || fm_get_user_team( iGuard ) != FM_TEAM_CT )
        {
                ColorChat(id, GREEN, "%s ^1Este ^4Jogador ^1nao esta ^4disponivel ^1mais para Duelo", PrefixoC);
                menu_destroy( hMenu );
               
                ShowPlayerMenu( id );
                return PLUGIN_HANDLED;
        }
       
        StartGame( g_iChosenGame[ id ], id, iGuard );
       
        menu_destroy( hMenu );
        return PLUGIN_HANDLED;
}

public StartGame( iGame, iPrisoner, iGuard )
{
        g_iCurrentGame = iGame;
       
        g_iLastRequest[ LR_PRISONER ] = iPrisoner;
        g_iLastRequest[ LR_GUARD ] = iGuard;
       
        new szPrisonerName[ 32 ], szGuardName[ 32 ];
       
        get_user_name( iPrisoner, szPrisonerName, charsmax( szPrisonerName ) );
        get_user_name( iGuard, szGuardName, charsmax( szGuardName ) );
       
        StripPlayerWeapons( iPrisoner );
        StripPlayerWeapons( iGuard );
       
        fm_set_user_health( iPrisoner, 100.0 );
        fm_set_user_health( iGuard, 100.0 );
       
        fm_set_user_rendering(iPrisoner, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 20);
        fm_set_user_rendering(iGuard, kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 20);
       
        //MakeCylinder(iPrisoner + TASK_CYLINDER);
        //MakeCylinder(iGuard + TASK_CYLINDER);
       
        EmitSound(0, DUELO);
       
        switch( iGame )
        {       
                case LR_SOCO:
                {               
                        set_dhudmessage(0, 255, 0, -1.0, 0.4, 1, 0.1, 5.0);
                        show_dhudmessage(0, "Duelo de Soco");
                       
                        ColorTAG( 0, "^4%s ^3%s ^1contra ^3%s ^1no Duelo de Soco", szTag, szPrisonerName, szGuardName);
                       
                        fm_give_item(iPrisoner, "weapon_knife");
                        fm_give_item(iGuard, "weapon_knife");
                       
                        fm_set_user_health( iPrisoner, 255.0 );
                        fm_set_user_health( iGuard, 255.0 );
                }
               
                case LR_DEAGLE:
                {
                        set_dhudmessage(0, 255, 0, -1.0, 0.4, 1, 0.1, 5.0);
                        show_dhudmessage(0, "Duelo de Deagle (Tiro por Tiro)");
                       
                        ColorTAG( 0, "^4%s ^3%s ^1contra ^3%s ^1no Duelo de Deagle", szTag, szPrisonerName, szGuardName);
                       
                        new DeagleItem = fm_give_item( iPrisoner, "weapon_deagle" );
                       
                        if( pev_valid( DeagleItem ) )
                                cs_set_weapon_ammo( DeagleItem, 1 );
                       
                        new TempDeagleItem = fm_give_item( iGuard, "weapon_deagle" );
                        if( pev_valid( TempDeagleItem ) )
                                cs_set_weapon_ammo( TempDeagleItem, 1 );
                       
                        fm_set_user_health( iPrisoner, 255.0 );
                        fm_set_user_health( iGuard, 255.0 );
                }
               
                case LR_SCOUT:
                {
                        set_dhudmessage(0, 255, 0, -1.0, 0.4, 1, 0.1, 5.0);
                        show_dhudmessage(0, "Duelo de Scout (Sem Mira)");
                       
                        ColorTAG( 0, "^4%s ^3%s ^1contra ^3%s ^1no Duelo de Scout", szTag, szPrisonerName, szGuardName);
                       
                        fm_give_item(iPrisoner, "weapon_scout");
                        fm_give_item(iGuard, "weapon_scout");
                       
                        cs_set_user_bpammo(iPrisoner, CSW_SCOUT, 999);
                        cs_set_user_bpammo(iGuard, CSW_SCOUT, 999);
                       
                        fm_set_user_health( iPrisoner, 255.0 );
                        fm_set_user_health( iGuard, 255.0 );
                       
                        EnableHamForward (ForwardSecAttackScout);                         
                }
               
                case LR_AWP:
                {
                        set_dhudmessage(0, 255, 0, -1.0, 0.4, 1, 0.1, 5.0);
                        show_dhudmessage(0, "Duelo de AWP");
                       
                        ColorTAG( 0, "^4%s ^3%s ^1contra ^3%s ^1no Duelo de AWP", szTag, szPrisonerName, szGuardName);
                       
                        fm_give_item(iPrisoner, "weapon_awp");
                        fm_give_item(iGuard, "weapon_awp");
                       
                        cs_set_user_bpammo(iPrisoner, CSW_AWP, 999);
                        cs_set_user_bpammo(iGuard, CSW_AWP, 999);
                       
                        fm_set_user_health( iPrisoner, 255.0 );
                        fm_set_user_health( iGuard, 255.0 );
                }
               
                case LR_M3:
                {
                        set_dhudmessage(0, 255, 0, -1.0, 0.4, 1, 0.1, 5.0);
                        show_dhudmessage(0, "Duelo de M3");
                       
                        ColorTAG( 0, "^4%s ^3%s ^1contra ^3%s ^1no Duelo de M3", szTag, szPrisonerName, szGuardName);
                       
                        fm_give_item(iPrisoner, "weapon_m3");
                        fm_give_item(iGuard, "weapon_m3");
                       
                        cs_set_user_bpammo(iPrisoner, CSW_M3, 999);
                        cs_set_user_bpammo(iGuard, CSW_M3, 999);
                       
                        fm_set_user_health( iPrisoner, 800.0 );
                        fm_set_user_health( iGuard, 800.0 );
                }
               
                case LR_DROP:
                {
                        set_dhudmessage(0, 255, 0, -1.0, 0.4, 1, 0.1, 5.0);
                        show_dhudmessage(0, "Duelo de Drop");
                       
                        ColorTAG( 0, "^4%s ^3%s ^1contra ^3%s ^1no Duelo de Drop", szTag, szPrisonerName, szGuardName);
                       
                        new DeagleItem = fm_give_item( iPrisoner, "weapon_deagle" );
                        if( pev_valid( DeagleItem ) ) {
                                cs_set_weapon_ammo( DeagleItem, 0);
                                cs_set_user_bpammo( iPrisoner, CSW_DEAGLE, 0 );
                        }
                       
                        new TempDeagleItem = fm_give_item( iGuard, "weapon_deagle" );
                        if( pev_valid( TempDeagleItem ) ) {
                                cs_set_weapon_ammo( TempDeagleItem, 0 );
                                cs_set_user_bpammo( iGuard, CSW_DEAGLE, 0 );
                        }
                       
                        fm_give_item(iPrisoner, "weapon_knife");
                        fm_give_item(iGuard, "weapon_knife");
                       
                        fm_set_user_gravity(iPrisoner);
                        fm_set_user_gravity(iGuard);
                }

                case LR_TUBARAO_CT:
                {
                        set_dhudmessage(0, 255, 0, -1.0, 0.4, 1, 0.1, 5.0);
                        show_dhudmessage(0, "Duelo de Tubarao [CT]");
                       
                        ColorTAG( 0, "^4%s ^3%s ^1contra ^3%s ^1no Duelo de Tubarao [CT]", szTag, szPrisonerName, szGuardName);
                       
                        {
                        fm_set_user_health(iPrisoner, 255.0);
                        fm_set_user_armor(iPrisoner, 100.0);
                        fm_give_item(iPrisoner, "weapon_awp");
                        cs_set_user_bpammo(iPrisoner, CSW_AWP, 999);
                        }
                       
                        {
                        fm_set_user_health(iGuard, 255.0);
                        fm_set_user_armor(iGuard, 100.0);
                        fm_set_user_noclip(iGuard, 1);
                        fm_give_item(iGuard, "item_assaultsuit");
                        }
                       
                        fm_give_item(iPrisoner, "weapon_knife");
                        fm_give_item(iGuard, "weapon_knife");
                       
                        fm_set_user_gravity(iPrisoner);
                        fm_set_user_gravity(iGuard);
                }
               
                case LR_TUBARAO_TR:
                {
                        set_dhudmessage(0, 255, 0, -1.0, 0.4, 1, 0.1, 5.0);
                        show_dhudmessage(0, "Duelo de Tubarao [TR]");
                       
                        ColorTAG( 0, "^4%s ^3%s ^1contra ^3%s ^1no Duelo de Tubarao [TR]", szTag, szPrisonerName, szGuardName);
                       
                        {
                        fm_set_user_health(iPrisoner, 255.0);
                        fm_set_user_armor(iPrisoner, 100.0);
                        fm_set_user_noclip(iPrisoner, 1);
                        fm_give_item(iPrisoner, "item_assaultsuit");
                        }
                       
                        {
                        fm_set_user_health(iGuard, 255.0);
                        fm_set_user_armor(iGuard, 100.0);
                        fm_give_item(iGuard, "weapon_awp");
                        cs_set_user_bpammo(iGuard, CSW_AWP, 999);
                        }
                       
                        fm_give_item(iPrisoner, "weapon_knife");
                        fm_give_item(iGuard, "weapon_knife");
                       
                        fm_set_user_gravity(iPrisoner);
                        fm_set_user_gravity(iGuard);
                }
        }
}

/*
public MakeCylinder(id) {
        id -= TASK_CYLINDER;
        if(!is_user_alive(id) ||  g_iCurrentGame == LR_NONE)
                return PLUGIN_HANDLED;
       
        new r,g,b;
        switch(fm_get_user_team(id)) {
                case FM_TEAM_CT: r = 0, g = 0, b = 255;
                        case FM_TEAM_TR: r = 255, g = 0, b = 0;
                }
       
        static origin[ 3 ];
        get_user_origin(id, origin);
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
        write_byte(TE_BEAMCYLINDER);
        write_coord(origin[ 0 ]);
        write_coord(origin[ 1 ]);
        write_coord(origin[ 2 ]-10);
        write_coord(origin[ 0 ]); 
        write_coord(origin[ 1 ]);
        write_coord(origin[ 2 ]+200);
        write_short(CylinderSprite);
        write_byte(0);
        write_byte(1); 
        write_byte(6);
        write_byte(2);
        write_byte(1);   
        write_byte(r);                // red 
        write_byte(g);                // green
        write_byte(b);                // blue
        write_byte(200);        // brightness
        write_byte(0);                // speed
        message_end();
       
        if(g_iCurrentGame == LR_SOCO) set_task(0.3, "MakeCylinder", id + TASK_CYLINDER);
        else set_task(1.0, "MakeCylinder", id + TASK_CYLINDER);
       
        return PLUGIN_HANDLED;
}
*/
public EndLastRequest( iWinner, iLoser )
{
        new szWinnerName[ 32 ], szLoserName[ 32 ];
       
        get_user_name( iWinner, szWinnerName, 31 );
        get_user_name( iLoser, szLoserName, 31 );
       
        ColorChat(0, GREEN, "%s ^3%s ^1Venceu ^3%s ^1no Duelo!", PrefixoC, szWinnerName, szLoserName);
       
        StripPlayerWeapons( iLoser );
       
        g_iCurrentGame = LR_NONE;
       
        g_iLastRequest[ LR_PRISONER ] = 0;
        g_iLastRequest[ LR_GUARD ] = 0;
       
        set_task( 0.1, "Task_EndLR", TASK_ENDLR + iWinner );
}

public Task_EndLR( iTaskID )
{
        new id = iTaskID - TASK_ENDLR;
       
        StripPlayerWeapons( id );
        fm_set_user_health( id, 100.0 );
        fm_give_item(id, "weapon_knife");
}
/*
public client_PreThink(iPlayer)
{
static Float:flCurrentTime;
flCurrentTime = get_gametime();

if (flCurrentTime - g_flLastTime[iPlayer] < 0.5)
        return;
       
        set_dhudmessage(0, 255, 0, 0.0, 0.2, 0, 1.0, 1.0);
       
        if(!check_players())
        {
                //ShowSyncHudMsg(iPlayer, szHud, "» Sem Vaga CT");
               
                show_dhudmessage(iPlayer, "» Sem Vaga CT");
        }       
        else
        {
                show_dhudmessage(iPlayer, "» Tem Vaga CT");
                //ShowSyncHudMsg(iPlayer, szHud, "» Tem Vaga CT");
        }
        //g_flLastTime[iPlayer] = flCurrentTime;
}
*/

public HudT(id)
{
        //set_dhudmessage(0, 255, 0, 0.0, 0.2, 0, 1.0, 1.0);
       
        if(!check_players())
        {
                set_hudmessage(255, 0, 0, 0.0, 0.2, 0, 1.0, 1.0);
                ShowSyncHudMsg(id, szHud, "» Sem Vaga CT");
               
               
               
                //show_dhudmessage(iPlayer, "» Sem Vaga CT");
        }       
        else
        {
                set_hudmessage(0, 255, 0, 0.0, 0.2, 0, 1.0, 1.0);
                ShowSyncHudMsg(id, szHud, "» Tem Vaga CT ");
               
        }
}
stock is_last_tr(id = 0)
{
        new iPlayers[ 32 ], iNum;
        get_players(iPlayers, iNum, "ae", "TERRORIST");
       
        if(id == 0 && iNum == 1)
                return iPlayers[ 0 ];
       
        if(iNum == 1 && id == iPlayers[ 0 ])
                return iPlayers[ 0 ];
       
        return 0;
}

stock fm_find_ent_by_owner(index, const classname[], owner, jghgtype = 0) {
        new strtype[11] = "classname", ent = index;
        switch (jghgtype) {
                case 1: strtype = "target";
                        case 2: strtype = "targetname";
                }
       
        while ((ent = engfunc(EngFunc_FindEntityByString, ent, strtype, classname)) && pev(ent, pev_owner) != owner) {}
       
        return ent;
}

stock has_ct_alive() {
        new iPlayers[ 32 ], iNum;
        get_players(iPlayers, iNum, "ae", "CT");
       
        if(iNum > 0)
                return 1;
       
        return 0;
}

get_playercount( CsTeams:iTeam, iStatus ) {
        new iPlayerCount;
       
        for( new i = 1; i <= xMaxPlayers; i++ )
        {
                if( !g_bConnected[ i ] || cs_get_user_team( i ) != iTeam ) continue;
               
                switch( iStatus )
                {
                        case DEAD: if( g_bAlive[ i ] ) continue;
                                case ALIVE: if( !g_bAlive[ i ] ) continue;
                        }
               
                iPlayerCount++;
        }
       
        return iPlayerCount;
}

#define OFFSET_PRIMARYWEAPON        116

public StripPlayerWeapons(id)
{
        strip_user_weapons(id) ;
        set_pdata_int(id, OFFSET_PRIMARYWEAPON, 0) ;
}


///////////////////////////
/* Button Shot Activated */       
///////////////////////////
public FwdTraceAttack_Post(this, idattacker)
{
        if (get_user_weapon(idattacker) != CSW_KNIFE && cs_get_user_team(idattacker) == CS_TEAM_CT)
        {
                ExecuteHamB(Ham_Use, this, idattacker, idattacker, 2, 1.0);
        }
        else if( cs_get_user_team(idattacker) == CS_TEAM_CT)
        {
                ExecuteHamB(Ham_Use, this, idattacker, idattacker, 2, 1.0);
        }
}

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

stock UserHasWeapons( index, WeaponSlot = 0 ) {
        if( WeaponSlot == 0 || WeaponSlot == 1 ) {
                if( user_has_weapon( index, CSW_SCOUT ) ||
                user_has_weapon( index, CSW_XM1014 ) ||
                user_has_weapon( index, CSW_MAC10 ) ||
                user_has_weapon( index, CSW_AUG ) ||
                user_has_weapon( index, CSW_UMP45 ) ||
                user_has_weapon( index, CSW_SG550 ) ||
                user_has_weapon( index, CSW_GALIL ) ||
                user_has_weapon( index, CSW_FAMAS ) ||
                user_has_weapon( index, CSW_AWP ) ||
                user_has_weapon( index, CSW_MP5NAVY ) ||
                user_has_weapon( index, CSW_M249 ) ||
                user_has_weapon( index, CSW_M3 ) ||
                user_has_weapon( index, CSW_M4A1 ) ||
                user_has_weapon( index, CSW_TMP ) ||
                user_has_weapon( index, CSW_G3SG1 ) ||
                user_has_weapon( index, CSW_SG552 ) ||
                user_has_weapon( index, CSW_AK47 ) ||
                user_has_weapon( index, CSW_P90 ) )               
                return 1;
        }
       
        if( WeaponSlot == 0 || WeaponSlot == 2 ) {
                if( user_has_weapon( index, CSW_P228 ) ||
                user_has_weapon( index, CSW_ELITE ) ||
                user_has_weapon( index, CSW_FIVESEVEN ) ||
                user_has_weapon( index, CSW_USP ) ||
                user_has_weapon( index, CSW_GLOCK18 ) ||
                user_has_weapon( index, CSW_DEAGLE ) )
                return 1;
        }
       
        return 0;
}

/** SEDATIVO **/
public set_user_sedativo( id ){
        if( CheckBit( id, xHasSedativo ))
                return PLUGIN_HANDLED;
       
        if( get_user_weapon( id ) == CSW_KNIFE ){
                set_pev( id, pev_viewmodel2, V_SEDATIVO );
                set_pev( id, pev_weaponmodel, 0 );
        }
       
        SetBit( id,xHasSedativo );
        SetBit( id,xUseSedativo );
        xPlayerUseSedativo[ id ] = 0;
       
        return PLUGIN_HANDLED;
}

/* SEDATIVO */

stock make_ScreenFade( index, Float:fDuration, red, green, blue, alpha ){
        new i = index ? index : get_player();
        if( !i ){
                return 0;
        }
       
        message_begin( index ? MSG_ONE : MSG_ALL, g_msgScreenFade, {0, 0, 0}, index );
        write_short(floatround(4096.0 * fDuration, floatround_round));
        write_short(floatround(4096.0 * fDuration, floatround_round));
        write_short(4096);
        write_byte(red);
        write_byte(green);
        write_byte(blue);
        write_byte(alpha);
        message_end();
       
        return 1;
}

stock get_player(){
        for( new index = 1; index <= xMaxPlayers; index++ ){
                if( is_user_connected( index ) && is_user_alive( index )){
                        return index;
                }
        }
       
        return 0;
}

public PlayerPreThink(id)
{               
        if(iBhop[id])
        {
                if (entity_get_int(id, EV_INT_button) & 2) {   
                        new flags = entity_get_int(id, EV_INT_flags);
                       
                        if (flags & FL_WATERJUMP)
                                return PLUGIN_CONTINUE;
                        if ( entity_get_int(id, EV_INT_waterlevel) >= 2 )
                                return PLUGIN_CONTINUE;
                        if ( !(flags & FL_ONGROUND) )
                                return PLUGIN_CONTINUE;
                       
                        new Float:velocity[3];
                        entity_get_vector(id, EV_VEC_velocity, velocity);
                        velocity[2] += 250.0;
                        entity_set_vector(id, EV_VEC_velocity, velocity);
                       
                        entity_set_int(id, EV_INT_gaitsequence, 6)    ;
                }
        }       
        return PLUGIN_CONTINUE;
}

stock EmitSound(index, sound)
{
        switch(sound)
        {
                case REBELADO: client_cmd(index, "spk %s", sound_psm[0]);
                        case DUELO: client_cmd(index, "spk %s", sound_psm[1]);
                        case ERROR: client_cmd(index, "spk %s", sound_psm[2]);
                        case TEMPO: client_cmd(index, "spk %s", sound_psm[3]);
                        case MORTE: client_cmd(index, "spk %s", sound_psm[4]);
                        case CELA: client_cmd(0, "spk %s", sound_psm[5]);
                }
}
stock fm_set_user_health(index, Float:health = 100.0)
{
        set_pev(index, pev_health, health);
        return 1;
}

stock fm_set_user_armor(index, Float:armor = 100.0)
{
        set_pev(index, pev_armorvalue, armor);
        return 1;
}

stock fm_set_user_godmode( index, godmode = 0 )
{
        set_pev(index, pev_takedamage, godmode == 1 ? DAMAGE_NO : DAMAGE_AIM);
        return 1;
}
stock fm_get_user_godmode(index) {
        new Float:val;
        pev(index, pev_takedamage, val);
       
        return (val == DAMAGE_NO);
}
stock fm_set_user_gravity(index, Float:gravity = 1.0)
{
        set_pev(index, pev_gravity, gravity);
        return 1;
}
stock fm_get_user_gravity(index)
        return pev(index, pev_gravity);
stock fm_set_user_maxspeed(index, Float:speed = 250.0)
{
        set_pev(index, pev_maxspeed, speed);
        return 1;
}

stock fm_set_user_noclip(index, noclip = 0)
{
        set_pev(index, pev_movetype, noclip == 1 ? MOVETYPE_NOCLIP : MOVETYPE_WALK);
        return 1;
}
stock fm_get_user_noclip(index)
        return (pev(index, pev_movetype) == MOVETYPE_NOCLIP);

stock fm_strip_player_weapons(index)
{
        new ent = fm_create_entity("player_weaponstrip");
        if(!pev_valid(ent))
                return 0;
       
        dllfunc(DLLFunc_Spawn, ent);
        dllfunc(DLLFunc_Use, ent, index);
        fm_remove_entity(ent);
        set_pdata_int(index, m_iPrimaryWeapon, 0, OFFSET_LINUX);
       
        return 1;
}

stock fm_give_item(index, const item[])
{
        if(!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5))
                return 0;
       
        new ent = fm_create_entity(item);
        if(!pev_valid(ent))
                return 0;
       
        new Float:origin[ 3 ];
        pev(index, pev_origin, origin);
        set_pev(ent, pev_origin, origin);
        set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN);
        dllfunc(DLLFunc_Spawn, ent);
       
        new save = pev(ent, pev_solid);
        dllfunc(DLLFunc_Touch, ent, index);
        if(pev(ent, pev_solid) != save)
                return ent;
       
        fm_remove_entity(ent);
       
        return -1;
}

stock fm_create_entity(const classname[])
        return engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, classname));

stock fm_remove_entity(index)
        return engfunc(EngFunc_RemoveEntity, index);

stock fm_set_user_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 40)
{
        new Float:RenderColor[ 3 ];
        RenderColor[ 0 ] = float(r);
        RenderColor[ 1 ] = float(g);
        RenderColor[ 2 ] = float(b);
       
        set_pev(entity, pev_renderfx, fx);
        set_pev(entity, pev_rendercolor, RenderColor);
        set_pev(entity, pev_rendermode, render);
        set_pev(entity, pev_renderamt, float(amount));
       
        return 1;
}

stock ColorTAG(const id, const input[], any:...)
{
        new msg[191], players[32], count = 1;
        vformat(msg,190,input,3);
        replace_all(msg,190,"\g","^4");
        replace_all(msg,190,"\n","^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();
                }
        }
}

szName(id){
        new szName[33];
       
        get_user_name(id, szName, charsmax(szName));
       
        return szName;
}

public Simples_Countdown(id)
{
        if(contagem)
        {
                switch(timers)
                {
                        case 0:
                        {
                                set_hudmessage(0, 255, 0, -1.0, -1.0, 0, 6.0, 3.0);
                                show_hudmessage(0, "=>>> Celas foram Abertas <<<=^n=>>> GoGoGo <<<=");
                                FreedayCelas();
                                //client_cmd( 0, "mp3 play %s", MP3_FREEDAY );                       
                        }
                       
                        case 1:
                        {
                                client_cmd(0, "spk ^"fvox/one.wav^"");
                                set_task(1.0, "Simples_Countdown", 0);
                        }
                       
                        case 2:
                        {
                                client_cmd(0, "spk ^"fvox/two.wav^"");
                                set_task(1.0, "Simples_Countdown", 0);
                        }
                       
                        case 3:
                        {
                                client_cmd(0, "spk ^"fvox/three.wav^"");
                                set_task(1.0, "Simples_Countdown", 0);
                        }
                       
                        case 4:
                        {
                                client_cmd(0, "spk ^"fvox/four.wav^"");
                                set_task(1.0, "Simples_Countdown", 0);
                        }
                       
                        case 5:
                        {
                                client_cmd(0, "spk ^"fvox/five.wav^"");
                                set_task(1.0, "Simples_Countdown", 0);
                        }
                       
                        case 6:
                        {
                                client_cmd(0, "spk ^"fvox/six.wav^"");
                                set_task(1.0, "Simples_Countdown", 0);
                        }
                        case 7:
                        {
                                client_cmd(0, "spk ^"fvox/seven.wav^"");
                                set_task(1.0, "Simples_Countdown", 0);
                        }
                       
                        case 8:
                        {
                                client_cmd(0, "spk ^"fvox/eight.wav^"");
                                set_task(1.0, "Simples_Countdown", 0);
                        }
                       
                        case 9:
                        {
                                client_cmd(0, "spk ^"fvox/nine.wav^"");
                                set_task(1.0, "Simples_Countdown", 0);
                        }
                       
                        case 10:{
                                client_cmd(0, "spk ^"fvox/ten.wav^"");   
                                set_task(1.0, "Simples_Countdown", 0);
                        }
                        case 11, 12, 13, 14, 15:
                        {
                                set_task(1.0, "Simples_Countdown", 0);
                        }
                }
               
                if(timers != 0) {
                        set_hudmessage(0, 255, 0, -1.0, 0.4, 0, 6.0, 1.0);
                        show_hudmessage(0, "Celas serao abertas em [%i] Segundos", timers);
                        timers--;
                }
        }
}
public FreedayCelas()
{
        ColorTAG(0, "\g%s \nAs \gCelas \nforam \tabertas \npara o Freeday\g.", szTag);
        Push_Button();
}

public Push_Button()
{
        static i;
        for(i = 0; i < sizeof(g_iButtons); i++)
        {
                if(g_iButtons[i])
                {
                        ExecuteHamB(Ham_Use, g_iButtons[i], 0, 0, 1, 1.0);
                        entity_set_float(g_iButtons[i], EV_FL_frame, 0.0);
                        EmitSound(0, CELA);                       
                }
        }
}
stock fm_cs_get_user_team( id )
        return get_pdata_int( id, m_iCsTeams, m_iLinux );

public setup_buttons()
{
        new ent = 1;
        new ent3 ;
        new Float:origin[3];
        new Float:radius = 200.0;
        new class[32];
        new name[32];
        new pos;
        while((pos <= sizeof(g_iButtons)) && (ent = engfunc(EngFunc_FindEntityByString, ent, "classname", "info_player_deathmatch"))){
                new ent2 = 1 ;
                pev(ent, pev_origin, origin);
                while((ent2 = engfunc(EngFunc_FindEntityInSphere, ent2, origin, radius))){
                        if(!pev_valid(ent2))
                                continue;
                       
                        pev(ent2, pev_classname, class, charsmax(class));
                        if(!equal(class, "func_door")) // if it's not a door, move on to the next iteration
                                continue ;
                       
                        pev(ent2, pev_targetname, name, charsmax(name));
                        ent3 = engfunc(EngFunc_FindEntityByString, 0, "target", name); // find button that opens this door
                        if(pev_valid(ent3) && (in_array(ent3, g_iButtons, sizeof(g_iButtons)) < 0)) {
                                ExecuteHamB(Ham_Use, ent3, 0, 0, 1, 1.0); // zomg poosh it
                                g_iButtons[pos] = ent3 ;
                                pos++ ;// next
                                break ;// break from current while loop
                        }
                }
        }
        return pos ;
}
stock in_array(needle, data[], size)
{
        for(new i = 0; i < size; i++)
        {
                if(data[i] == needle)
                        return i;
        }
        return -1;
}

public StrondaJBShop( id )
{
        if( !is_user_alive( id ) )
        {
                ColorChat( id, GREEN, "%s ^1Voce deve estar ^3vivo ^1para ^4comprar ^1um Item^3!",szTag );
                return PLUGIN_HANDLED;
        }
       
        new szText[ 555 char ];
        formatex( szText, charsmax( szText ), "\r[MAFIA BR] \dShop Cigarros %s ^n\r» \wCigarros \y[\r%d\y]", VERSION, xStrondaCash[ id ] );
       
        new menu = menu_create( szText, "shop_handler" );
       
       
       
       
        formatex( szText, charsmax( szText ), "\wMochila a Jato \d(10 Segundos) \w- \y[\r20 \wCigarros\y]", get_pcvar_num( gJetTime ), get_pcvar_num( gJetPackCost ) );
        menu_additem( menu, szText, "1", 0 );
       
        formatex( szText, charsmax( szText ), "\wDeagle \d(7 Balas) \w- \y[\r15 \wCigarros\y]", get_pcvar_num( gDeagleCost ) );
        menu_additem( menu, szText, "2", 0 );
       
        formatex( szText, charsmax( szText ), "\wBunnyHop \d(1 Round) \w- \y[\r80 \wCigarros\y]" , get_pcvar_num( gBunnyCost ));
        menu_additem( menu, szText, "3", 0 );
       
        formatex( szText, charsmax( szText ), "\wGodMode \d(6 Segundos) \w- \y[\r65 \wCigarros\y]" );
        menu_additem( menu, szText, "4", 0 );
       
       
        menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
       
        menu_display( id, menu, 0 );
       
        return PLUGIN_CONTINUE;
}
public shop_handler( id, menu, item )
{
        if( item == MENU_EXIT )
        {
                menu_destroy( menu );
                return PLUGIN_HANDLED;
        }
        new data[ 6 ], iName[ 64 ], access, callback;
        menu_item_getinfo( menu, item, access, data, charsmax( data ), iName, charsmax( iName ), callback );
       
        new key = str_to_num( data );
        new points = xStrondaCash[ id ];
       
        switch( key )
        {
               
                case 1:
                {
                        if( HasJet[ id ] )
                        {
                                allready_have( id );
                                return PLUGIN_HANDLED;
                        }
                       
                        if( points < get_pcvar_num( gJetPackCost ) )
                        {
                                dont_have( id );
                                return PLUGIN_HANDLED;
                        }
                       
                        set_task( float( get_pcvar_num( gJetTime ) ), "remove_jetpack", id );
                       
                        ColorChat( id, GREEN, "%s ^1Voce Comprou ^4Mochila a Jato ^1por 10 Segundos",szTag, get_pcvar_num( gJetPackCost ), xStrondaCash[ id ] );
                        HasJet[ id ] = true;
                       
                        xStrondaCash[ id ] -= get_pcvar_num( gJetPackCost );
                        emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
                        menu_display( id, menu, 1 );
                }
                case 2:
                {
                        if( HasDeagle[ id ] || user_has_weapon( id, CSW_DEAGLE ) )
                        {
                                allready_have( id );
                                return PLUGIN_HANDLED;
                        }
                        if( points < get_pcvar_num( gDeagleCost ) )
                        {
                                dont_have( id );
                                return PLUGIN_HANDLED;
                        }
                       
                        strip_user_weapons( id );
                        give_item( id, "weapon_knife" );
                        give_item( id, "weapon_deagle" );
                       
                        ColorChat( id, GREEN, "%s ^1Voce Comprou ^4Deagle 7 Tiros",szTag, get_pcvar_num( gDeagleCost ), xStrondaCash[ id ] );
                        HasDeagle[ id ] = true;
                       
                        xStrondaCash[ id ] -= get_pcvar_num( gDeagleCost );
                        emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
                        menu_display( id, menu, 1 );
                }
                case 3:
                {
                        if(points < 80)
                        {
                                dont_have( id );
                                EmitSound(id, ERROR);
                                return PLUGIN_HANDLED;
                        }
                        else
                        {
                                iBhop[id] = true;                               
                                ColorChat(id, GREEN, "%s ^1Voce comprou ^4BunnyHop ^1por 1 Round", PrefixoC);
                                xStrondaCash[ id ] -= get_pcvar_num( gBunnyCost );
                        }
                }
                case 4:
                {
                        if(points < 65)
                        {
                                dont_have( id );
                                EmitSound(id, ERROR);
                                return PLUGIN_HANDLED;
                        }
                        else
                        {
                                fm_set_user_godmode(id, 1);
                                set_user_rendering( id, kRenderFxGlowShell, 255, 140, 0, kRenderNormal, 25 );
                                set_task(6.0, "retirargod", id+TASKGOD);
                                ColorChat(id, GREEN, "%s ^1Voce comprou ^4GodMode ^1por 6 Segundos", PrefixoC);
                                xStrondaCash[ id ] -= 65;
                        }
                }
               
        }
       
        return PLUGIN_HANDLED;
}
public bacon_playerJumping( id )
{
        if(HasJet[ id ] )
        {
                new iOrigin[ 3 ];
                get_user_origin( id, iOrigin, 0 );
               
                iOrigin[ 2 ] -= 20;
               
                new Float:fVelocity[ 3 ];
                pev( id, pev_velocity, fVelocity );
               
                fVelocity[ 2 ] += 93;
               
                set_pev( id, pev_velocity, fVelocity );
                create_flame( iOrigin );
        }
}       
public HookCurWeapon( id )
{
        if(HasSpeed[ id ] )
        {
                set_user_maxspeed( id, get_pcvar_float( gSpeedCvar ) );
        }
}
public forward_kill( id )
{
        if(is_user_alive( id ) )
        {
                //ColorChat( id, GREEN, "%s ^1Voce Perdeu ^4%d ^3Cigarros ^1Porque ter dado ^4Kill",szTag, get_pcvar_num( gSuiciderPointsCvar ) );
                //xStrondaCash[ id ] -= get_pcvar_num( gSuiciderPointsCvar );
        }
}       
public logevent_round_start()
{
        new iPlayers[ 32 ], iNum, i, id;
        get_players( iPlayers, iNum, "c" );
       
        for( i = 0; i < iNum; i++ )
        {
                id = iPlayers[ i ];
                HasHe[ id ] = false;
                HasBothGren[ id ] = false;
                HasSilent[ id ] = false;
                HasHealth[ id ] = false;
                HasArmor[ id] = false;
                HasSpeed[ id ] = false;
                HasGravity[ id ] = false;
                HasInvis[ id ] = false;
                HasNoclip[ id ] = false;
                HasJet[ id ] = false;
                HasDeagle[ id ] = false;
                HasLongJump[ id ] = false;
                HasGlow[ id ] = false;
                HasNVG[ id ] = false;
                checkRebel[id] = false;
               
                set_user_gravity( id, 1.0 );       
                set_user_maxspeed( id, 0.0 );
                set_user_footsteps( id, 0 );
                set_user_noclip( id, 0 );
                set_user_rendering( id );
                set_user_nvg( id, 0 );
                remove_user_nvg( id );
                remove_task( id );
        }
}
public Hook_Deathmessage()
{
        new killer = read_data( 1 );
        new victim = read_data( 2 );
       
        if( killer == victim )
        {
                return PLUGIN_HANDLED;
        }
        if(isFreeday == true)
        {
                if(cs_get_user_team(killer) == CS_TEAM_CT)
                {
                        xStrondaCash[ killer ] += 1;
                }
        }
        if(cs_get_user_team(killer) == CS_TEAM_T)
        {
                xStrondaCash[ killer ] += get_pcvar_num( xStrondaCashCvar );
        }
        if(cs_get_user_team(killer) == CS_TEAM_CT)
        {
                if(checkRebel[victim] && isFreeday == false && g_iCurrentGame == LR_NONE)
                {
                        xStrondaCash[ killer ] += 1;
                        //client_print(0,print_chat,"debug: ct ganhou 1 moeda por tr rebelado");
                }
        }
        checkRebel[victim] = false;
        HasHe[ victim ] = false;
        HasBothGren[ victim ] = false;
        HasSilent[ victim ] = false;
        HasHealth[ victim ] = false;
        HasArmor[ victim ] = false;
        HasSpeed[ victim ] = false;
        HasGravity[ victim ] = false;
        HasInvis[ victim ] = false;
        HasNoclip[ victim ] = false;
        HasJet[ victim ] = false;
        HasDeagle[ victim ] = false;
        HasLongJump[ victim ] = false;
        HasGlow[ victim ] = false;
        HasNVG[ victim ] = false;
       
        set_user_gravity( victim, 1.0 );       
        set_user_maxspeed( victim, 0.0 );
        set_user_footsteps( victim, 0 );
        set_user_noclip( victim, 0 );
        set_user_rendering( victim );
        set_user_nvg( victim, 0 );
        remove_user_nvg( victim );
        remove_task( victim );
       
        return PLUGIN_HANDLED;
}
public remove_noclip( id )
{
        HasNoclip[ id ] = false;
        set_user_noclip( id, 0 );
        ColorChat( id, GREEN, "%s ^1Seu ^4Noclip ^1Terminou.",szTag, get_pcvar_num( gNoclipTime ) );
}
public remove_jetpack( id )
{
        HasJet[ id ] = false;
        ColorChat( id, GREEN, "%s ^1Sua ^4Mochila a Jato ^1Terminou.",szTag, get_pcvar_num( gJetTime ) );
}
public remove_lj( index )
{
        HasLongJump[ index ] = false;
        engfunc( EngFunc_SetPhysicsKeyValue, index, "slj", "0" );
        client_print( index, print_chat, "[ ONE6 ] %L", index, "DRSHOP_LJ_OFF", get_pcvar_num( gLongJumpTime ) );
}
stock allready_have( id )
{
        ColorChat( id, GREEN, "%s ^1Voce Ja tem este ^4Item^3.", szTag );
}       
stock dont_have( id )
{
        ColorChat( id, GREEN, "%s ^1Voce Nao Tem ^4Cigarros ^1Suficientes^4.",szTag );
}       
stock save_client_points( index )
{
        gVault = nvault_open( "CigarrosLoad" );
       
        if( gVault == INVALID_HANDLE )
        {
                set_fail_state( "[ ONE6 ] nValut ERROR: =-> Invalid-Handle" );
        }
        get_user_authid( index, gSteamID, charsmax( gSteamID ) );
       
        formatex( vKey, charsmax( vKey ), "%sPOINTS", gSteamID );
        formatex( vData, charsmax( vData ), "%d", xStrondaCash[ index ] );
        nvault_set( gVault, vKey, vData );
        nvault_close( gVault );
}
stock load_client_points( index )
{
        gVault = nvault_open( "CigarrosLoad" );
       
        if( gVault == INVALID_HANDLE )
        {
                set_fail_state( "[ ONE6 ] nValut ERROR: =-> Invalid-Handle" );
        }
       
        get_user_authid( index, gSteamID, charsmax( gSteamID ) );
       
        formatex( vKey, charsmax( vKey ), "%sPOINTS", gSteamID );
        xStrondaCash[ index ] = nvault_get( gVault, vKey );
        nvault_close( gVault );
}
stock create_flame( origin[ 3 ] )
{
        message_begin( MSG_PVS, SVC_TEMPENTITY, origin );
        write_byte( TE_SPRITE );
        write_coord( origin[ 0 ] );
        write_coord( origin[ 1 ] );
        write_coord( origin[ 2 ] );
        write_short( gJetSprite );
        write_byte( 3 );
        write_byte( 99 );
        message_end();
}
stock set_temporary_longjump( index )
{
        message_begin( MSG_ONE_UNRELIABLE, gMsgItemPickup, _, index );
        write_string( "item_longjump" );
        message_end();
       
        engfunc( EngFunc_SetPhysicsKeyValue, index, "slj", "1" );
        set_task( float( get_pcvar_num( gLongJumpTime ) ), "remove_lj", index );
}
stock set_user_nvg( index, nvgoggles = 1 )
{
        if( nvgoggles )
        {
                set_pdata_int( index, m_iNvg, get_pdata_int( index, m_iNvg ) | HAS_NVGS );
        }
       
        else
        {
                set_pdata_int( index, m_iNvg, get_pdata_int( index, m_iNvg ) & ~HAS_NVGS );
        }
}

stock remove_user_nvg( index )
{
        new iNvgs = get_pdata_int( index, m_iNvg, m_iLinuxDiff );
       
        if( !iNvgs )
        {
                return;
        }
       
        if( iNvgs & USES_NVGS )
        {
                emit_sound( index, CHAN_ITEM, SOUND_NVGOFF, VOL_NORM, ATTN_NORM, 0, PITCH_NORM );
               
                emessage_begin( MSG_ONE_UNRELIABLE, gMessageNVG, _, index );
                ewrite_byte( 0 );
                emessage_end();
        }
       
        set_pdata_int( index, m_iNvg, 0, m_iLinuxDiff );

/* --| Enf of plugin... */

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1046\\ f0\\ fs16 \n\\ par }
*/



All times are GMT -4. The time now is 15:40.

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