Raised This Month: $51 Target: $400
 12% 

[Ayuda] Print_CLient con colores


  
 
 
Thread Tools Display Modes
Author Message
williamder
Junior Member
Join Date: Aug 2013
Old 09-09-2013 , 02:19   [Ayuda] Print_CLient con colores
#1

hola que tal gente como estan,

tengo un pequeño problema sobre como colocarle colores a los print client, yo lo se poner pero en letras normales me refiero a script que no dependan de un Language file, pero este scrim depende de un Language file y se me hace muy complicado ponerle los colores verdes y los de team,

Este es el codigo:

Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>

#include <fakemeta>
#include <hamsandwich>

#include <csx>

#pragma semicolon 1

#define PUG_TASK_VOTE         1337
#define PUG_TASK_READY         1338
#define PUG_TASK_CAPTAIN     1339
#define PUG_TASK_AUTO_CLOSE     1440

#define PUG_ValidTeam(%0)    (CS_TEAM_T <= %0 <= CS_TEAM_CT)

new PUG_szHead[] = "[APG]";

new PUG_iStage;

enum _:PUG_STAGE
{
    PUG_STAGE_PREGAME = 0,
    PUG_STAGE_VOTING,
    PUG_STAGE_FIRST,
    PUG_STAGE_INTERMISSION,
    PUG_STAGE_SECOND,
    PUG_STAGE_OT_INTERMISSION,
    PUG_STAGE_OVERTIME,
    PUG_STAGE_END
};

new PUG_szStage[PUG_STAGE][] = {"Pregame","Voting","First Half","Intermission","Second Half","OT Intermission","Overtime","Finished"};

new bool:PUG_iReady[33];
new bool:PUG_iMuted[33];

new PUG_iScores[2];     // 0 TRs, 1 CTs
new PUG_iRounds[3];     // 0 Rounds, 1 Invalid, 2 OT

new PUG_szTeams[2][] = {"Terrorists","Counter-Terrorists"};

enum _:PUG_VOTE_STAGE
{
    PUG_VOTE_NONE = 0,
    PUG_VOTE_MAP,
    PUG_VOTE_TEAMS,
    PUG_VOTE_CONFIG,
    PUG_VOTE_OVERTIME,
    PUG_VOTE_CAPTAINS
};

new PUG_iMenu;

#define PUG_MAX_MAPS 32

new PUG_VoteMapMenu;
new PUG_VoteTeamMenu;
new PUG_VoteConfigMenu;
new PUG_VoteOvertimeMenu;

new PUG_VoteMapVotes[PUG_MAX_MAPS];
new PUG_VoteMapNames[PUG_MAX_MAPS][32];
new PUG_VoteMapCount;

new PUG_VoteTeamVotes[5];
new PUG_VoteConfigVotes[3];
new PUG_VoteOvertimeVotes[3];

new bool:PUG_Voted[33];

new PUG_iCaptain[2]; // 0 TR, 1 CT

new bool:PUG_iRound;

new PUG_iHits[33][33];
new PUG_iDamage[33][33];

new PUG_sv_restart;
new PUG_mapcyclefile;
new PUG_sv_visiblemaxplayers;
new PUG_mp_startmoney;
new PUG_mp_Freezetime;

new PUG_MinPlayers;
new PUG_MaxPlayers;

new PUG_VoteMap;
new PUG_VoteDelay;
new PUG_SwitchDelay;
new PUG_MaxRounds;
new PUG_OverTimeRounds;
new PUG_AllowSPEC;
new PUG_AllowHLTV;
new PUG_ForceRestart;
new PUG_HelpFile;
new PUG_TeamMoney;
new PUG_ForceReadyTime;
new PUG_AllowStats;
new PUG_ConfigVote;
new PUG_OvertimeVote;
new PUG_ReconnectTime;

new PUG_PregameConfig;
new PUG_ReadyConfig;
new PUG_FirstConfig;
new PUG_IntermissionConfig;
new PUG_SecondConfig;
new PUG_IntermissionOTConfig;
new PUG_OvertimeConfig;
new PUG_FinishedConfig;

new PUG_OnVoteCommandsBlocked[][] = {"buy","buyequip","radio1","radio2","radio3","chooseteam","jointeam","joinclass"};

#define    SLOT_PRIMARY    1
#define    SLOT_SECONDARY    2
#define    SLOT_C4        5

new PUG_WeaponSlots[] =
{
    0,
    2,    //CSW_P228
    0,
    1,    //CSW_SCOUT
    4,    //CSW_HEGRENADE
    1,    //CSW_XM1014
    5,    //CSW_C4
    1,    //CSW_MAC10
    1,    //CSW_AUG
    4,    //CSW_SMOKEGRENADE
    2,    //CSW_ELITE
    2,    //CSW_FIVESEVEN
    1,    //CSW_UMP45
    1,    //CSW_SG550
    1,    //CSW_GALIL
    1,    //CSW_FAMAS
    2,    //CSW_USP
    2,    //CSW_GLOCK18
    1,    //CSW_AWP
    1,    //CSW_MP5NAVY
    1,    //CSW_M249
    1,    //CSW_M3
    1,    //CSW_M4A1
    1,    //CSW_TMP
    1,    //CSW_G3SG1
    4,    //CSW_FLASHBANG
    2,    //CSW_DEAGLE
    1,    //CSW_SG552
    1,    //CSW_AK47
    3,    //CSW_KNIFE
    1    //CSW_P90
};

new PUG_MaxBPAmmo[] =
{
    0,
    52,    //CSW_P228
    0,
    90,    //CSW_SCOUT
    1,    //CSW_HEGRENADE
    32,    //CSW_XM1014
    1,    //CSW_C4
    100,    //CSW_MAC10
    90,    //CSW_AUG
    1,    //CSW_SMOKEGRENADE
    120,    //CSW_ELITE
    100,    //CSW_FIVESEVEN
    100,    //CSW_UMP45
    90,    //CSW_SG550
    90,    //CSW_GALIL
    90,    //CSW_FAMAS
    100,    //CSW_USP
    120,    //CSW_GLOCK18
    30,    //CSW_AWP
    120,    //CSW_MP5NAVY
    200,    //CSW_M249
    32,    //CSW_M3
    90,    //CSW_M4A1
    120,    //CSW_TMP
    90,    //CSW_G3SG1
    2,    //CSW_FLASHBANG
    35,    //CSW_DEAGLE
    90,    //CSW_SG552
    90,    //CSW_AK47
    0,    //CSW_KNIFE
    100    //CSW_P90
};

new Trie:PUG_MutedSteamIDs;
new Trie:PUG_RestrictedWeapons;
new Trie:PUG_ReconnectSteamIDs;

new PUG_RestrictWeapons[][] = {"shield","flash","hegren","sgren","defuser","primammo","secammo","buyammo1","buyammo2"};

public plugin_init()
{
    register_plugin("Pug MOD XT (Rewritten)",AMXX_VERSION_STR,"SmileY (And Others)");
    
    register_dictionary("PUG.txt");
    
    PUG_MinPlayers             = register_cvar("pug_minplayers","10");     // Min. Players to start a PUG
    PUG_MaxPlayers             = register_cvar("pug_maxplayers","10");     // Max. Players in server
    PUG_VoteMap             = register_cvar("pug_votemap","1");         // Use Vote Map? (DON'T ADD IT ON ANY CONFIG FILE!)
    PUG_VoteDelay             = register_cvar("pug_vote_delay","10.0");     // Delay in vote sessions
    PUG_SwitchDelay         = register_cvar("pug_switch_delay","5.0");     // Delay to switch the teams
    PUG_MaxRounds             = register_cvar("pug_rounds","30");         // Rounds in total (15 + 15 in each side)
    PUG_OverTimeRounds         = register_cvar("pug_ot_rounds","6");         // Rounds in Overtime (3 + 3 in each side)
    PUG_AllowSPEC             = register_cvar("pug_allowspec","1");         // Allow Spectactors in server?
    PUG_AllowHLTV             = register_cvar("pug_allowhltv","1");         // Allow HLTV in server?
    PUG_ForceRestart         = register_cvar("pug_force_restart","1");     // Force restart the round in some voting sessions or in changing teams
    PUG_HelpFile             = register_cvar("pug_help","help.txt");     // File contains the HTML code, or maybe the Address of any webpage (This is the .help command)
    PUG_TeamMoney             = register_cvar("pug_team_money","1");         // Show a teammate money?
    PUG_ForceReadyTime         = register_cvar("pug_forceready_time","120");     // Time in seconds to force a player use the .ready command (Set 0 to deactivate)
    PUG_AllowStats             = register_cvar("pug_allow_stats","1");     // Allow the stats commands: Like .dmg, .hp, .hpteam, .hpall, .rdmg, .sum and others
    PUG_ConfigVote             = register_cvar("pug_config_vote","1");     // Starts a voting to config file (0 to use the directly CAL.cfg :)
    PUG_OvertimeVote         = register_cvar("pug_overtime_vote","1");     // In case of a tie: (1 to use voting to Overtime, 2 force a end of match with a DRAW score, 0 Force a directly Overtime)
    PUG_ReconnectTime         = register_cvar("pug_reconnect_time","30");     // Anti Reconnect feature (In Live only) (0 to disable)
    
    PUG_PregameConfig         = register_cvar("pug_pregame_cfg","pregame.rc");         // Pregame config file
    PUG_ReadyConfig         = register_cvar("pug_ready_cfg","ready.rc");             // Voting ''
    PUG_FirstConfig         = register_cvar("pug_first_cfg","cal.rc");             // default CAL ''
    PUG_IntermissionConfig         = register_cvar("pug_intermission_cfg","intermission.rc");     // Intermission ''
    PUG_SecondConfig         = register_cvar("pug_second_cfg","cal.rc");             // Second Half ''
    PUG_IntermissionOTConfig     = register_cvar("pug_intermission_ot_cfg","intermission.rc");     // Overtime Itnermission ''
    PUG_OvertimeConfig         = register_cvar("pug_overtime_cfg","cal-ot.rc");         // Overtime Config (CAL)
    PUG_FinishedConfig         = register_cvar("pug_finished_cfg","finished.rc");         // Finished ''
    
    PUG_sv_restart             = get_cvar_pointer("sv_restart");
    PUG_mapcyclefile         = get_cvar_pointer("mapcyclefile");
    PUG_sv_visiblemaxplayers     = get_cvar_pointer("sv_visiblemaxplayers");
    PUG_mp_startmoney         = get_cvar_pointer("mp_startmoney");
    PUG_mp_Freezetime         = get_cvar_pointer("mp_freezetime");
    
    register_clcmd("say","PUG_SayFilter");
    register_clcmd("say_team","PUG_SayFilter");
    
    register_clcmd(".help","PUG_cmdHelp",_,"Brings up client help info");
    
    register_clcmd(".ready","PUG_cmdReadyUP",_,"Tells the server player is ready");
    register_clcmd("ready","PUG_cmdReadyUP",_,"Tells the server player is ready");
    register_clcmd(".notready","PUG_cmdReadyDown",_,"Tells the server player is not ready");
    
    register_clcmd(".score","PUG_cmdScores",_,"Display the scores");
    register_clcmd(".status","PUG_cmdStatus",_,"Display a status of the game");
    register_clcmd(".round","PUG_cmdRound",_,"Display the round");
    
    register_clcmd(".respawn","PUG_HamKilledPost",_,"Respawn a player in Pregame");
    
    register_clcmd(".dmg","PUG_cmdDMG",_,"Shows damage you have done to other clients");
    register_clcmd(".rdmg","PUG_cmdRDMG",_,"Shows damage done to you by other clients");
    register_clcmd(".sum","PUG_cmdSUM",_,"Shows the summary of the Round");
    
    register_clcmd(".hp","PUG_cmdHP",_,"Shows health of other clients (Enemy Only)");
    register_clcmd(".hpteam","PUG_cmdHPTeam",_,"Shows health of other clients (Team Only)");
    register_clcmd(".hpall","PUG_cmdHPAll",_,"Shows health of other clients (All clients)");

    register_clcmd(".startpug","PUG_cmdStart",ADMIN_CFG,"Forces the PUG to start");
    register_clcmd(".stoppug","PUG_cmdStop",ADMIN_CFG,"Forces the PUG to end");
    register_clcmd(".resetpug","PUG_cmdReset",ADMIN_CFG,"Restart the current PUG");
    
    register_clcmd(".message","PUG_cmdMessage",ADMIN_CHAT,"<Message> - Send a message");
    register_clcmd(".kill","PUG_cmdKill",ADMIN_SLAY,"<Name or #ID> - Kills a client");
    register_clcmd(".kick","PUG_cmdKick",ADMIN_KICK,"<Name or #ID> - Kicks a client");
    
    register_clcmd(".mute","PUG_cmdMute",ADMIN_CHAT,"<Name or #ID> - Mutes a client");
    register_clcmd(".unmute","PUG_cmdUnMute",ADMIN_CHAT,"<Name or #ID> - Unmutes a client");

    register_clcmd(".forceready","PUG_cmdForceReady",ADMIN_CFG,"<Name | #ID | ALL | T | C> - Forces a client to be ready");
    register_clcmd(".forceunready","PUG_cmdForceUnReady",ADMIN_CFG,"<Name | #ID | ALL | T | C> - Forces a client to be unready");
    
    PUG_VoteMapMenu     = menu_create("Vote Map:","PUG_MenuHandler");
    
    menu_setprop(PUG_VoteMapMenu,MPROP_NEXTNAME,"Next");
    menu_setprop(PUG_VoteMapMenu,MPROP_BACKNAME,"Back");
    menu_setprop(PUG_VoteMapMenu,MPROP_EXIT,MEXIT_NEVER);
    
    PUG_VoteTeamMenu     = menu_create("Team Type:","PUG_MenuHandler");
    
    menu_additem(PUG_VoteTeamMenu,"Capitanes","1");
    menu_additem(PUG_VoteTeamMenu,"Al azar","2");
    menu_additem(PUG_VoteTeamMenu,"Sin ordenar","3");
    menu_additem(PUG_VoteTeamMenu,"\dKnife Round","4");
    
    menu_setprop(PUG_VoteTeamMenu,MPROP_EXIT,MEXIT_NEVER);
    
    PUG_VoteConfigMenu     = menu_create("Config Type:","PUG_MenuHandler");
    
    menu_additem(PUG_VoteConfigMenu,"CAL (15 Rondas, 1:45 min, $800)","1");
    menu_additem(PUG_VoteConfigMenu,"CEVO (15 Rondas, 2:00 min, $800)","2");
    
    menu_setprop(PUG_VoteConfigMenu,MPROP_EXIT,MEXIT_NEVER);
    
    PUG_VoteOvertimeMenu     = menu_create("Play Overtime?","PUG_MenuHandler");
    
    menu_additem(PUG_VoteOvertimeMenu,"Si","1");
    menu_additem(PUG_VoteOvertimeMenu,"No","2");
    
    menu_setprop(PUG_VoteOvertimeMenu,MPROP_EXIT,MEXIT_NEVER);
    
    PUG_MutedSteamIDs = TrieCreate();
    PUG_RestrictedWeapons = TrieCreate();
    PUG_ReconnectSteamIDs = TrieCreate();
    
    for(new i;i < sizeof(PUG_RestrictWeapons);i++) TrieSetCell(PUG_RestrictedWeapons,PUG_RestrictWeapons[i],1);
    
    for(new i;i < sizeof(PUG_OnVoteCommandsBlocked);i++) register_clcmd(PUG_OnVoteCommandsBlocked[i],"PUG_CheckCommands");
    
    register_event("ResetHUD","PUG_ReadyList","b");
    register_logevent("PUG_RoundStart",2,"1=Round_Start");
    
    register_event("SendAudio","PUG_SendAudio","a","2&%!MRAD_terwin","2&%!MRAD_ctwin","2&%!MRAD_rounddraw");
    
    RegisterHam(Ham_Spawn,"player","PUG_HamSpawnPost",1);
    RegisterHam(Ham_Killed,"player","PUG_HamKilledPost",1);
    
    register_message(get_user_msgid("Money"),"PUG_msgMoney");
    
    register_forward(FM_SetModel,"PUG_fwSetModel",1);
    register_forward(FM_Voice_SetClientListening,"PUG_fwSetVoice");
    
    register_event("CurWeapon","PUG_CurWeapon","be","1=1");
    
    register_menucmd(register_menuid("#Buy",1),511,"PUG_MenuBuy");
    register_menucmd(-28,511,"PUG_MenuBuy");
    
    register_menucmd(register_menuid("BuyItem",1),511,"PUG_MenuItem");
    register_menucmd(-34,511,"PUG_MenuItem");
    
    register_clcmd("jointeam","PUG_JoinTeam");
    
    register_menucmd(-2,(1<<0)|(1<<1)|(1<<4)|(1<<5),"PUG_TeamSelect");
    register_menucmd(register_menuid("Team_Select",1),(1<<0)|(1<<1)|(1<<4)|(1<<5),"PUG_TeamSelect");
}

public plugin_cfg()
{
    new szFile[64];
    get_configsdir(szFile,charsmax(szFile));

    formatex(szFile,charsmax(szFile),"%s/maps.ini",szFile);

    if(file_exists(szFile))
    {
        PUG_LoadMaps(szFile);
        
        if(PUG_VoteMapCount) return;
    }
    else
    {
        get_pcvar_string(PUG_mapcyclefile,szFile,charsmax(szFile));
        
        PUG_LoadMaps(szFile);
    }
    
    set_task(get_pcvar_float(PUG_SwitchDelay),"PUG_Status",PUG_STAGE_PREGAME);
}

public PUG_LoadMaps(const szFileName[])
{
    new iFile = fopen(szFileName,"rb");

    new szText[256],szDesc[48],iNum[10];

    while((PUG_VoteMapCount < PUG_MAX_MAPS) && !feof(iFile) && fgets(iFile,szText,charsmax(szText)))
    {
        if(szText[0]==';') continue;

        szText[strlen(szText)] = '^0';

        strbreak(szText,PUG_VoteMapNames[PUG_VoteMapCount],charsmax(PUG_VoteMapNames),szDesc,charsmax(szDesc));

        if(!is_map_valid(PUG_VoteMapNames[PUG_VoteMapCount])) continue;

        new szMapName[32];
        get_mapname(szMapName,charsmax(szMapName));

        if(equali(szMapName,PUG_VoteMapNames[PUG_VoteMapCount])) continue;

        if(szDesc[0] == '^0') strtok(PUG_VoteMapNames[PUG_VoteMapCount],szDesc,charsmax(szDesc),"",0,'.',1);

        formatex(iNum,charsmax(iNum),"%i",PUG_VoteMapCount);
        menu_additem(PUG_VoteMapMenu,PUG_VoteMapNames[PUG_VoteMapCount],iNum);

        PUG_VoteMapCount++;
    }
    fclose(iFile);
}

public PUG_Status(PUG_STAGE_CONST)
{
    PUG_iStage = PUG_STAGE_CONST;
    
    switch(PUG_STAGE_CONST)
    {
        case PUG_STAGE_PREGAME:
        {
            new szConfig[32];
            get_pcvar_string(PUG_PregameConfig,szConfig,charsmax(szConfig));
            
            arrayset(PUG_iReady,false,sizeof(PUG_iReady));
            
            PUG_Confg(szConfig,1);
            
            arrayset(PUG_iScores,0,sizeof(PUG_iScores));
            arrayset(PUG_iRounds,0,sizeof(PUG_iRounds));
            
            client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_STARTING",PUG_szStage[PUG_iStage]);
        }
        case PUG_STAGE_VOTING:
        {
            new szConfig[32];
            get_pcvar_string(PUG_ReadyConfig,szConfig,charsmax(szConfig));
            
            PUG_Confg(szConfig,1);
            
            if(PUG_iMenu == PUG_VOTE_CONFIG)
            {
                arrayset(PUG_Voted,false,sizeof(PUG_Voted));
                arrayset(PUG_VoteConfigVotes,0,sizeof(PUG_VoteConfigVotes));
                
                show_menu(0,0,"^n",1);
                
                new iPlayers[32],iNum,Players;
                get_players(iPlayers,iNum,"ch");
                
                for(new i;i < iNum;i++)
                {
                    Players = iPlayers[i];
                    
                    menu_display(Players,PUG_VoteConfigMenu);
                }
                set_task(get_pcvar_float(PUG_VoteDelay),"PUG_VoteEnd",PUG_TASK_VOTE);
                
                client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CONFIG_VOTE_START");
                
                return PLUGIN_HANDLED;
            }
            
            if(PUG_iMenu == PUG_VOTE_OVERTIME)
            {
                switch(get_pcvar_num(PUG_OvertimeVote))
                {
                    case 1:
                    {
                        arrayset(PUG_Voted,false,sizeof(PUG_Voted));
                        arrayset(PUG_VoteOvertimeVotes,0,sizeof(PUG_VoteOvertimeVotes));
                        
                        show_menu(0,0,"^n",1);
                        
                        new iPlayers[32],iNum,Players;
                        get_players(iPlayers,iNum,"ch");
                        
                        for(new i;i < iNum;i++)
                        {
                            Players = iPlayers[i];
                            
                            menu_display(Players,PUG_VoteOvertimeMenu);
                        }
                        set_task(get_pcvar_float(PUG_VoteDelay),"PUG_VoteEnd",PUG_TASK_VOTE);
                        
                        client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_OVERTIME_VOTE");
                        
                        return PLUGIN_HANDLED;
                    }
                    case 2:
                    {
                        PUG_iMenu = PUG_VOTE_NONE;
                        
                        PUG_Status(PUG_STAGE_END);
                        
                        client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_END_SCORE_TIED",PUG_iScores[0],PUG_iScores[1]);
                    }
                    default: PUG_Status(PUG_STAGE_OT_INTERMISSION);
                }
            }
            
            if(get_pcvar_num(PUG_VoteMap))
            {
                PUG_iMenu = PUG_VOTE_MAP;
                
                arrayset(PUG_Voted,false,sizeof(PUG_Voted));
                arrayset(PUG_VoteMapVotes,0,PUG_VoteMapCount);
                
                show_menu(0,0,"^n",1);
                
                new iPlayers[32],iNum,Players;
                get_players(iPlayers,iNum,"ch");
                
                for(new i;i < iNum;i++)
                {
                    Players = iPlayers[i];
                    
                    menu_display(Players,PUG_VoteMapMenu);
                }
                
                set_task(get_pcvar_float(PUG_VoteDelay),"PUG_VoteEnd",PUG_TASK_VOTE);
                
                client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTEMAP_START");
            }
            else
            {
                PUG_iMenu = PUG_VOTE_TEAMS;
                
                arrayset(PUG_Voted,false,sizeof(PUG_Voted));
                arrayset(PUG_VoteTeamVotes,0,sizeof(PUG_VoteTeamVotes));
                
                show_menu(0,0,"^n",1);
                
                new iPlayers[32],iNum,Players;
                get_players(iPlayers,iNum,"ch");
                
                for(new i;i < iNum;i++)
                {
                    Players = iPlayers[i];
                    
                    menu_display(Players,PUG_VoteTeamMenu);
                }
                
                set_task(get_pcvar_float(PUG_VoteDelay),"PUG_VoteEnd",PUG_TASK_VOTE);
                
                client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTE_TEAM_START");
            }
        }
        case PUG_STAGE_FIRST:
        {
            new szConfig[32];
            get_pcvar_string(PUG_FirstConfig,szConfig,charsmax(szConfig));
            
            PUG_Confg(szConfig,0);
            
            PUG_LO3();
            
            client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_STARTING_HALF",PUG_szStage[PUG_iStage]);
        }
        case PUG_STAGE_INTERMISSION:
        {
            new szConfig[32];
            get_pcvar_string(PUG_IntermissionConfig,szConfig,charsmax(szConfig));
            
            PUG_Confg(szConfig,0);
            
            arrayset(PUG_iReady,false,charsmax(PUG_iReady));
            
            set_task(get_pcvar_float(PUG_SwitchDelay),"PUG_SwapTeams");
            
            client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_STARTING_INTERMISSION",PUG_szStage[PUG_iStage]);
        }
        case PUG_STAGE_SECOND:
        {
            new szConfig[32];
            get_pcvar_string(PUG_SecondConfig,szConfig,charsmax(szConfig));
            
            PUG_Confg(szConfig,0);
            
            PUG_LO3();
            
            client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_STARTING_SECOND_HALF",PUG_szStage[PUG_iStage],PUG_iScores[1],PUG_iScores[0]);
        }
        case PUG_STAGE_OT_INTERMISSION:
        {
            new szConfig[32];
            get_pcvar_string(PUG_IntermissionOTConfig,szConfig,charsmax(szConfig));
            
            PUG_Confg(szConfig,0);
            
            PUG_iRounds[2] = 0;
            
            arrayset(PUG_iReady,false,charsmax(PUG_iReady));
            
            set_task(get_pcvar_float(PUG_SwitchDelay),"PUG_SwapTeams");
            
            client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_STARTING_INTERMISSION",PUG_szStage[PUG_iStage]);
        }
        case PUG_STAGE_OVERTIME:
        {
            new szConfig[32];
            get_pcvar_string(PUG_OvertimeConfig,szConfig,charsmax(szConfig));
            
            PUG_Confg(szConfig,0);
            
            PUG_LO3();
            
            client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_STARTING_SECOND_HALF",PUG_szStage[PUG_iStage],PUG_iScores[1],PUG_iScores[0]);
        }
        case PUG_STAGE_END:
        {
            new szConfig[32];
            get_pcvar_string(PUG_FinishedConfig,szConfig,charsmax(szConfig));
            
            PUG_Confg(szConfig,1);
            
            arrayset(PUG_iScores,0,sizeof(PUG_iScores));
            arrayset(PUG_iRounds,0,sizeof(PUG_iRounds));
            arrayset(PUG_iReady,false,charsmax(PUG_iReady));
            
            if(!get_pcvar_num(PUG_VoteMap)) set_pcvar_num(PUG_VoteMap,1);
            
            PUG_RestoreOrder();
        }
    }
    return PLUGIN_HANDLED;
}

public PUG_LO3()
{
    set_task(0.2,"PUG_RestartRound",_,"1",1);
    set_task(2.2,"PUG_RestartRound",_,"2",1);
    set_task(5.8,"PUG_RestartRound",_,"3",1);
    
    set_task(10.0,"PUG_LiveMessage");
}


public PUG_LiveMessage()
{
    set_hudmessage(0,255,0,-1.0,0.3,0,6.0,6.0);
    show_hudmessage(0,"--- [AGP] EL PUG/SCRIM HA COMENZADO [AGP] ---");
}

public PUG_SwapTeams()
{
    new iPlayers[32],iNum,Players;
    get_players(iPlayers,iNum,"h");
    
    for(new i;i < iNum;i++)
    {
        Players = iPlayers[i];
    
        switch(cs_get_user_team(Players))
        {
            case CS_TEAM_T: cs_set_user_team(Players,CS_TEAM_CT);
            
            case CS_TEAM_CT: cs_set_user_team(Players,CS_TEAM_T);
        }
    }
    new iTemp = PUG_iScores[1];
    
    PUG_iScores[1]     = PUG_iScores[0];
    PUG_iScores[0]     = iTemp;
    
    if(get_pcvar_num(PUG_ForceRestart)) set_pcvar_num(PUG_sv_restart,1);
    
    PUG_ReadyList();
}

public PUG_SayFilter(id)
{
    new szArgs[192];
    read_args(szArgs,charsmax(szArgs));
    remove_quotes(szArgs);
    
    if(szArgs[0] == '.')
    {
        client_cmd(id,szArgs);
        
        return PLUGIN_HANDLED;
    }
    
    if(PUG_iMuted[id]) // Muted after PUG chat commands ^^
    {
        client_print(id,print_chat,"%s Te han Muteado, creo q por sapo!",PUG_szHead);
        
        return PLUGIN_HANDLED;
    }
    
    return PLUGIN_CONTINUE;
}

public PUG_fwSetVoice(iReciver,iSender,bool:bListen)
{
    if(PUG_iMuted[iSender] && is_user_connected(iSender) && is_user_connected(iReciver))
    {
        engfunc(EngFunc_SetClientListening,iReciver,iSender,0);
        
        return FMRES_SUPERCEDE;
    }
    return FMRES_IGNORED;
}

public client_connect(id) set_task(15.0,"PUG_ReadyList");

public client_authorized(id) // Thanks to Rukia for theese funcitons
{
    set_pcvar_num(PUG_sv_visiblemaxplayers,get_pcvar_num(PUG_MaxPlayers));
    
    if(PUG_GetPlayers() >= get_pcvar_num(PUG_MinPlayers))
    {
        if(is_user_hltv(id) && !get_pcvar_num(PUG_AllowHLTV))
        {
            new szReason[32];
            formatex(szReason,charsmax(szReason),"%s %L",PUG_szHead,LANG_PLAYER,"PUG_KICK_HLTV");
            
            PUG_Disconnect(id,szReason);
            
            return PLUGIN_HANDLED;
        }
        else if(!get_pcvar_num(PUG_AllowSPEC))
        {
            new szReason[32];
            formatex(szReason,charsmax(szReason),"%s %L",PUG_szHead,LANG_PLAYER,"PUG_FULL");
            
            PUG_Disconnect(id,szReason);
            
            return PLUGIN_HANDLED;
        }
    }
    
    if(get_playersnum(1) > get_pcvar_num(PUG_MaxPlayers))
    {
        if(!is_user_hltv(id) || !get_pcvar_num(PUG_AllowHLTV))
        {
            new szReason[32];
            formatex(szReason,charsmax(szReason),"%s %L",PUG_szHead,LANG_PLAYER,"PUG_FULL");
            
            return PLUGIN_HANDLED;
        }
    }
    
    new szSteam[35];
    get_user_authid(id,szSteam,charsmax(szSteam));
    
    if(PUG_iStage == PUG_STAGE_FIRST || PUG_iStage == PUG_STAGE_SECOND || PUG_iStage == PUG_STAGE_END)
    {
        new Float:iReconnectTime = get_pcvar_float(PUG_ReconnectTime);
        
        if(iReconnectTime && TrieKeyExists(PUG_ReconnectSteamIDs,szSteam))
        {
            new Float:iTime,szReason[64];
            TrieGetCell(PUG_ReconnectSteamIDs,szSteam,iTime);
                
            iTime = iReconnectTime - (get_gametime () - iTime);
                
            formatex(szReason,charsmax(szReason),"%s %L",PUG_szHead,LANG_PLAYER,"PUG_RECONNECT_TIME",floatround(iTime));
                
            PUG_Disconnect(id,szReason);
                
            set_task(iReconnectTime,"PUG_ClearReconnectSteamID",_,szSteam,sizeof(szSteam));
        }
    }
    
    if(TrieKeyExists(PUG_MutedSteamIDs,szSteam))
    {
        new iMuted;
        TrieGetCell(PUG_MutedSteamIDs,szSteam,iMuted);
        
        if(iMuted) PUG_iMuted[id] = true;
    }
    
    PUG_iReady[id] = false;

    arrayset(PUG_iHits[id],0,sizeof(PUG_iHits[]));
    arrayset(PUG_iDamage[id],0,sizeof(PUG_iDamage[]));
    
    PUG_ReadyList();
    
    set_task(15.0,"PUG_IntroDisplay",id);
    
    return PLUGIN_CONTINUE;
}

public PUG_IntroDisplay(id)
{
    
    new iTime = (get_pcvar_num(PUG_ForceReadyTime) / 60);
    
}

public client_putinserver(id)
{
    PUG_ReadyList();
    
    if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION ||PUG_iStage == PUG_STAGE_END)
    {
        new Float:fTime = get_pcvar_float(PUG_ForceReadyTime);
        
        if(fTime && !is_user_bot(id) && !is_user_hltv(id) && !is_user_admin(id)) set_task(fTime,"PUG_ForceReadyDisconnect",id + PUG_TASK_READY);
    }
    else if(PUG_iStage == PUG_STAGE_VOTING && PUG_iMenu == PUG_VOTE_CAPTAINS)
    {
        if(!is_user_connected(PUG_iCaptain[0]))
        {
            PUG_iCaptain[0] = id;
            
            new szName[32];
            get_user_name(PUG_iCaptain[0],szName,charsmax(szName));
            
            client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_NEW_CAPTAIN_TR",szName);
        }
        else if(!is_user_connected(PUG_iCaptain[1]))
        {
            PUG_iCaptain[1] = id;
            
            new szName[32];
            get_user_name(PUG_iCaptain[1],szName,charsmax(szName));
            
            client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_NEW_CAPTAIN_CT",szName);
        }
    }
}

public PUG_ForceReadyDisconnect(id)
{
    if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION || PUG_iStage == PUG_STAGE_END)
    {
        id -= PUG_TASK_READY;
        
        new iTime = (get_pcvar_num(PUG_ForceReadyTime) / 60);
        
        new szReason[50];
        formatex(szReason,charsmax(szReason),"%L",LANG_PLAYER,"PUG_READY_KICK",iTime,(iTime > 1) ? "minutes" : "minute");
        
        PUG_Disconnect(id,szReason);
    }
}

public client_infochanged(id) set_task(0.1,"PUG_ReadyList");

public client_disconnect(id)
{
    if(PUG_iMuted[id]) PUG_iMuted[id] = false;
    
    if(task_exists(id + PUG_TASK_READY)) remove_task(id + PUG_TASK_READY);

    set_task(0.1,"PUG_ReadyList");

    for(new i;i < sizeof(PUG_iHits);i++)
    {
        PUG_iHits[i][id] = 0;
        PUG_iDamage[i][id] = 0;
    }
    set_pcvar_num(PUG_sv_visiblemaxplayers,get_pcvar_num(PUG_MaxPlayers));
        
    if(PUG_iStage == PUG_STAGE_FIRST || PUG_iStage == PUG_STAGE_SECOND || PUG_iStage == PUG_STAGE_END)
    {
        if(get_pcvar_float(PUG_ReconnectTime))
        {
            new szSteam[35];
            get_user_authid(id,szSteam,charsmax(szSteam));
            
            TrieSetCell(PUG_ReconnectSteamIDs,szSteam,get_gametime());
        }
    }
}

public PUG_ClearReconnectSteamID(const szSteam[35]) TrieDeleteKey(PUG_ReconnectSteamIDs,szSteam);

public PUG_ReadyList()
{
    if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION || PUG_iStage == PUG_STAGE_END) PUG_ReadyDisplay(99999.0);

    else if(PUG_iStage == PUG_STAGE_VOTING && PUG_iMenu == PUG_VOTE_CAPTAINS) PUG_CaptainDisplay(99999.0);
        
    return PLUGIN_HANDLED;
}

public PUG_ReadyDisplay(Float:fTime)
{
    new szReady[1056],szNotReady[1056],szName[32];
    
    new iPlayers[32],iNum,Players;
    get_players(iPlayers,iNum,"ch");
    
    new iReadys;
    
    for(new i;i < iNum;i++)
    {
        Players = iPlayers[i];
        
        get_user_name(Players,szName,charsmax(szName));
        
        if(PUG_iReady[Players])
        {
            iReadys++;
            
            formatex(szReady,charsmax(szReady),"%s%s^n",szReady,szName);
        }
        else formatex(szNotReady,charsmax(szNotReady),"%s%s^n",szNotReady,szName);
    }
    new iMinPlayers = get_pcvar_num(PUG_MinPlayers);

    set_hudmessage(255,0,0,0.23,0.02,0,0.0,fTime,0.0,0.0,3);
    show_hudmessage(0,"No listos (%d of %d):",PUG_GetPlayers() - iReadys,iMinPlayers);

    set_hudmessage(0,255,0,0.58,0.02,0,0.0,fTime,0.0,0.0,2);
    show_hudmessage(0,"Listos (%d of %d):",iReadys,iMinPlayers);

    set_hudmessage(255,255,225,0.58,0.05,0,0.0,fTime,0.0,0.0,1);
    show_hudmessage(0,szReady);

    set_hudmessage(255,255,225,0.23,0.05,0,0.0,fTime,0.0,0.0,4);
    show_hudmessage(0,szNotReady);
}

public PUG_CaptainDisplay(Float:fTime)
{
    new szTRs[1056],szCTs[1056]/*,szSPECs[1056]*/,szName[40],szName1[40];
    
    new iPlayers[32],iNum,Players;
    get_players(iPlayers,iNum,"h");
    
    for(new i;i < iNum;i++)
    {
        Players = iPlayers[i];
        
        get_user_name(Players,szName,charsmax(szName));
        
        if(PUG_iCaptain[0] == Players || PUG_iCaptain[1] == Players) formatex(szName1,charsmax(szName1),"%s (C)",szName);
        
        else szName1 = szName;
        
        switch(cs_get_user_team(Players))
        {
            case CS_TEAM_T: formatex(szTRs,charsmax(szTRs),"%s%s^n",szTRs,szName1);
            
            case CS_TEAM_CT: formatex(szCTs,charsmax(szCTs),"%s%s^n",szCTs,szName1);
            
            /*default: formatex(szSPECs,charsmax(szSPECs),"%s%s^n",szSPECs,szName1);*/
        }
    }
    set_hudmessage(255,0,0,0.70,0.16,0,0.0,fTime,0.0,0.0,1);
    show_hudmessage(0,"Terrorists:");

    set_hudmessage(255,255,255,0.70,0.19,0,0.0,fTime,0.0,0.0,2);
    show_hudmessage(0,szTRs);

    set_hudmessage(0,0,255,0.70,0.51,0,0.0,fTime,0.0,0.0,3);
    show_hudmessage(0,"Counter-Terrorist:");

    set_hudmessage(255,255,255,0.70,0.54,0,0.0,fTime,0.0,0.0,4);
    show_hudmessage(0,szCTs);

    /*set_dhudmessage(0,255,0,0.70,0.71,0,0.0,1.1,0.0,0.0,false);
    show_hudmessage(0,"Espectadores:");

    set_hudmessage(255,255,255,0.70,0.74,0,0.0,1.1,0.0,0.0,false);
    show_dhudmessage(0,szSPECs);*/
}
    

public PUG_cmdHelp(id)
{
    new szMotd[128]; // May be a URL :)
    get_pcvar_string(PUG_HelpFile,szMotd,charsmax(szMotd));
    
    show_motd(id,szMotd,"Server commands");
    
    return PLUGIN_HANDLED;
}

public PUG_cmdReadyUP(id)
{
    if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION || PUG_iStage == PUG_STAGE_END)
    {
        if(PUG_iReady[id]) client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_YOU_ARE_ALREADY_READY");
    
        else
        {
            if(task_exists(id + PUG_TASK_READY)) remove_task(id + PUG_TASK_READY);
            
            PUG_iReady[id] = true;
            
            new szName[32];
            get_user_name(id,szName,charsmax(szName));
            
            client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_READY_UP",szName);
        }
        
        PUG_CheckPlayers();
    }
    else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
    
    return PLUGIN_HANDLED;
}

public PUG_cmdReadyDown(id)
{
    if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION || PUG_iStage == PUG_STAGE_END)
    {
        if(!PUG_iReady[id]) client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_YOU_NOT_READY");
        
        else
        {
            new iTime = get_pcvar_num(PUG_ForceReadyTime);
        
            if(iTime && !is_user_bot(id) && !is_user_hltv(id)) set_task(float(iTime),"PUG_ForceReadyDisconnect",id + PUG_TASK_READY);
            
            PUG_iReady[id] = false;
            
            new szName[32];
            get_user_name(id,szName,charsmax(szName));
            
            client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_READY_DOWN",szName);
        }
        
        PUG_CheckPlayers();
    }
    else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
    
    return PLUGIN_HANDLED;
}

public PUG_CheckPlayers()
{
    new iMinPlayers = get_pcvar_num(PUG_MinPlayers);
    
    new iPlayers[32],iNum,Players;
    get_players(iPlayers,iNum,"ch");
    
    new iReadys;
    
    for(new i;i < iNum;i++)
    {
        Players = iPlayers[i];
        
        if(PUG_iReady[Players]) iReadys++;
    }
    
    switch(PUG_iStage)
    {
        case PUG_STAGE_PREGAME,PUG_STAGE_END:
        {
            if(iReadys >= iMinPlayers) PUG_Status(PUG_STAGE_VOTING);
    
            else PUG_ReadyList();
        }
        case PUG_STAGE_INTERMISSION:
        {
            if(iReadys >= iMinPlayers) PUG_Status(PUG_STAGE_SECOND);
            
            else PUG_ReadyList();
        }
        case PUG_STAGE_OT_INTERMISSION:
        {
            if(iReadys >= iMinPlayers) PUG_Status(PUG_STAGE_OVERTIME);
            
            else PUG_ReadyList();
        }
    }
}

public PUG_CheckCommands(id)
{
    if(PUG_iMenu != PUG_VOTE_NONE) return PLUGIN_HANDLED;
    
    return PLUGIN_CONTINUE;
}

public PUG_MenuHandler(id,iMenu,iItem)
{
    new szData[6],szOption[64],iAccess,iCallBack;
    menu_item_getinfo(iMenu,iItem,iAccess,szData,charsmax(szData),szOption,charsmax(szOption),iCallBack);
    
    new szName[32];
    get_user_name(id,szName,charsmax(szName));
    
    switch(PUG_iMenu)
    {
        case PUG_VOTE_MAP:
        {
            if(iItem == MENU_EXIT || !task_exists(PUG_TASK_VOTE)) return PLUGIN_HANDLED;
            
            PUG_VoteMapVotes[str_to_num(szData)]++;
            
            PUG_Voted[id] = true;
            
            client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTED",szName,szOption);
            
            if(PUG_StopVote() && task_exists(PUG_TASK_VOTE))
            {
                remove_task(PUG_TASK_VOTE);
                
                PUG_VoteEnd();
            }
        }
        case PUG_VOTE_TEAMS:
        {
            if(iItem == MENU_EXIT || !task_exists(PUG_TASK_VOTE)) return PLUGIN_HANDLED;
            
            if(contain(szOption,"\d") != -1)
            {
                replace_all(szOption,charsmax(szOption),"\d","");

                client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_OPTION_DISABLED",szOption);
                
                menu_display(id,iMenu);
                
                return PLUGIN_HANDLED;
            }
            else
            {
                replace_all(szOption,charsmax(szOption),"\d","");
                
                PUG_VoteTeamVotes[str_to_num(szData)]++;
                
                PUG_Voted[id] = true;
                
                client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTED",szName,szOption);
                
                if(PUG_StopVote() && task_exists(PUG_TASK_VOTE))
                {
                    remove_task(PUG_TASK_VOTE);
                
                    PUG_VoteEnd();
                }
            }
        }
        case PUG_VOTE_CONFIG:
        {
            if(iItem == MENU_EXIT || !task_exists(PUG_TASK_VOTE)) return PLUGIN_HANDLED;
            
            PUG_VoteConfigVotes[str_to_num(szData)]++;
            
            PUG_Voted[id] = true;
            
            client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTED",szName,szOption);
            
            if(PUG_StopVote() && task_exists(PUG_TASK_VOTE))
            {
                remove_task(PUG_TASK_VOTE);
                
                PUG_VoteEnd();
            }
        }
        case PUG_VOTE_OVERTIME:
        {
            if(iItem == MENU_EXIT || !task_exists(PUG_TASK_VOTE)) return PLUGIN_HANDLED;
            
            PUG_VoteOvertimeVotes[str_to_num(szData)]++;
            
            PUG_Voted[id] = true;
            
            client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTED",szName,szOption);
            
            if(PUG_StopVote() && task_exists(PUG_TASK_VOTE))
            {
                remove_task(PUG_TASK_VOTE);
                
                PUG_VoteEnd();
            }
        }
        case PUG_VOTE_CAPTAINS:
        {
            if(iItem == MENU_EXIT)
            {
                menu_display(id,iMenu);
                
                return PLUGIN_HANDLED;
            }
            new iPlayer = str_to_num(szData);
            
            new szName[2][32];
            
            get_user_name(id,szName[0],charsmax(szName[]));
            get_user_name(iPlayer,szName[1],charsmax(szName[]));
            
            cs_set_user_team(iPlayer,cs_get_user_team(id));
            
            client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CHOOSED",szName[0],szName[1]);
            
            set_pcvar_num(PUG_sv_restart,1);
            
            remove_task(id + PUG_TASK_AUTO_CLOSE);
            
            if(is_user_connected(PUG_iCaptain[0]) && is_user_connected(PUG_iCaptain[1])) set_task(1.5,"PUG_CaptainMenu",id == PUG_iCaptain[0] ? PUG_iCaptain[1] : PUG_iCaptain[0]);

            else
            {
                set_task(5.0,"PUG_CaptainJoin",id == PUG_iCaptain[0] ? PUG_iCaptain[0] : PUG_iCaptain[1]);
                
                client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_WAIT_NEW_CAPTAIN");
            }
            menu_destroy(iMenu);
        }
    }
    return PLUGIN_HANDLED;
}

public PUG_VoteEnd()
{
    show_menu(0,0,"^n",1);
    
    switch(PUG_iMenu)
    {
        case PUG_VOTE_MAP:
        {
            PUG_iMenu = PUG_VOTE_NONE;
            
            new iWinner,iWinnerVotes,iVotes;

            for(new i;i < PUG_VoteMapCount;++i)
            {
                iVotes = PUG_VoteMapVotes[i];
            
                if(iVotes > iWinnerVotes)
                {
                    iWinner = i;
                    iWinnerVotes = iVotes;
                }
                else if(iVotes == iWinnerVotes)
                {
                    if(random_num(0,1))
                    {
                        iWinner = i;
                        iWinnerVotes = iVotes;
                    }
                }
            }
            
            if(!PUG_VoteMapVotes[iWinner])
            {
                new iDelay = get_pcvar_num(PUG_VoteDelay);

                client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_RESTART_VOTE","votemap",iDelay);
            
                set_task(float(iDelay),"PUG_Status",PUG_STAGE_VOTING);
                
                return PLUGIN_HANDLED;
            }
            else
            {
                set_pcvar_num(PUG_VoteMap,0);

                client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_WON_VOTE",PUG_VoteMapNames[iWinner]);
                
                set_task(get_pcvar_float(PUG_SwitchDelay),"PUG_ChangeMap",_,PUG_VoteMapNames[iWinner],sizeof(PUG_VoteMapNames));
            }
        }
        case PUG_VOTE_TEAMS:
        {
            PUG_iMenu = PUG_VOTE_NONE;
            
            new iWin1 = ((PUG_VoteTeamVotes[1] + PUG_VoteTeamVotes[2]) == 0 ? 0 : (PUG_VoteTeamVotes[1] > PUG_VoteTeamVotes[2]) ? 1 : 2);
            new iWin2 = ((PUG_VoteTeamVotes[3] + PUG_VoteTeamVotes[4]) == 0 ? 0 : (PUG_VoteTeamVotes[3] > PUG_VoteTeamVotes[4]) ? 3 : 4);
            
            new iWinner = ((iWin1 + iWin2) == 0 ? 0 : (iWin1 > iWin2) ? iWin1 : iWin2);
            
            switch(iWinner)
            {
                case 0:
                {
                    new iDelay = get_pcvar_num(PUG_VoteDelay);
                    
                    client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_RESTART_VOTE","voting",iDelay);
                    
                    set_task(float(iDelay),"PUG_Status",PUG_STAGE_VOTING);
                }
                case 1:
                {
                    new iPlayers[32],iNum,Players;
                    get_players(iPlayers,iNum,"h");
                    
                    if(iNum <= (get_pcvar_num(PUG_MaxPlayers) / 2))
                    {
                        PUG_iMenu = PUG_VOTE_TEAMS;
                        
                        new iDelay = get_pcvar_num(PUG_VoteDelay);
                        
                        set_pcvar_num(PUG_VoteMap,0);

                        client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_RESTART_VOTE_TEAM","voting",iDelay);
                    
                        set_task(float(iDelay),"PUG_Status",PUG_STAGE_VOTING);
                    }
                    else
                    {
                        PUG_iMenu = PUG_VOTE_CAPTAINS;
                        
                        for(new i;i < iNum;i++)
                        {
                            Players = iPlayers[i];
                            
                            user_silentkill(Players);
                            
                            cs_set_user_team(Players,CS_TEAM_SPECTATOR);
                        }
                        
                        PUG_iCaptain[0] = iPlayers[random(iNum)];
                        PUG_iCaptain[1] = iPlayers[random(iNum)];
        
                        while(PUG_iCaptain[0] == PUG_iCaptain[1]) PUG_iCaptain[1] = iPlayers[random(iNum)];
                        
                        cs_set_user_team(PUG_iCaptain[0],CS_TEAM_T);
                        cs_set_user_team(PUG_iCaptain[1],CS_TEAM_CT);
                        
                        new szName0[32],szName1[32]; // I not consider to use the 2d array to store the names: Its not working O.o
                        get_user_name(PUG_iCaptain[0],szName0,charsmax(szName0));
                        get_user_name(PUG_iCaptain[1],szName1,charsmax(szName1));

                        client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_THE_CAPTAINS",szName0,szName1);
                        client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_IF_PLAYER_NOT");
                        
                        set_pcvar_num(PUG_sv_restart,1);
                        
                        set_task(1.5,"PUG_CaptainMenu",random(2) ? PUG_iCaptain[0] : PUG_iCaptain[1]);
                    }
                }
                case 2:
                {
                    new iTeam;
                    
                    new iPlayers[32],iNum,Players;
                    get_players(iPlayers,iNum,"ch");
                        
                    for(new i;i < iNum;i++)
                    {
                        Players = iPlayers[i];
                        
                        switch(cs_get_user_team(Players))
                        {
                            case CS_TEAM_T:
                            {
                                if(!iTeam)
                                {
                                    iTeam = random_num(1,2);
                                    
                                    cs_set_user_team(Players,_:iTeam);
                                }
                                else
                                {
                                    cs_set_user_team(Players,(iTeam == 1) ? 2 : 1);
                                    
                                    iTeam = 0;
                                }
                            }
                            case CS_TEAM_CT:
                            {
                                if(!iTeam)
                                {
                                    iTeam = random_num(1,2);
                                    
                                    cs_set_user_team(Players,_:iTeam);
                                }
                                else
                                {
                                    cs_set_user_team(Players,(iTeam == 1) ? 2 : 1);
                                    
                                    iTeam = 0;
                                }
                            }
                        }
                    }
                    client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTETEAM_RANDOM");
                    
                    if(get_pcvar_num(PUG_ConfigVote))
                    {
                        PUG_iMenu = PUG_VOTE_CONFIG;
                        
                        PUG_Status(PUG_STAGE_VOTING);
                    }
                    else set_task(get_pcvar_float(PUG_SwitchDelay),"PUG_Status",PUG_STAGE_FIRST);
                }
                case 3:
                {
                    client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTETEAM_UNSORT");
                    
                    if(get_pcvar_num(PUG_ConfigVote))
                    {
                        PUG_iMenu = PUG_VOTE_CONFIG;
                        
                        PUG_Status(PUG_STAGE_VOTING);
                    }
                    else set_task(get_pcvar_float(PUG_SwitchDelay),"PUG_Status",PUG_STAGE_FIRST);
                }
                case 4:
                {
                    new iDelay = get_pcvar_num(PUG_SwitchDelay);

                    client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTETEAM_KNIFE","voting",iDelay);
                    
                    set_task(float(iDelay),"PUG_Status",PUG_STAGE_VOTING);
                }
            }
        }
        case PUG_VOTE_CONFIG:
        {
            PUG_iMenu = PUG_VOTE_NONE;
            
            new iWinner = ((PUG_VoteConfigVotes[1] + PUG_VoteConfigVotes[2]) == 0 ? 0 : (PUG_VoteConfigVotes[1] > PUG_VoteConfigVotes[2]) ? 1 : 2);
            
            switch(iWinner)
            {
                case 0:
                {
                    new iDelay = get_pcvar_num(PUG_VoteDelay);

                    client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_RESTART_VOTE","voting",iDelay);
                    
                    PUG_iMenu = PUG_VOTE_CONFIG;
                    
                    set_task(float(iDelay),"PUG_Status",PUG_STAGE_VOTING);
                }
                case 1:
                {
                    client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_WON_VOTE","CAL");
                    
                    PUG_SetConfigs("pregame.rc","ready.rc","cal.rc","intermission.rc","cal.rc","intermission.rc","cal-ot.rc","finished.rc");
                    
                    set_task(get_pcvar_float(PUG_SwitchDelay),"PUG_Status",PUG_STAGE_FIRST);
                }
                case 2:
                {
                    client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_WON_VOTE","CEVO");
                    
                    PUG_SetConfigs("pregame.rc","ready.rc","cevo.rc","intermission.rc","cevo.rc","intermission.rc","cevo-ot.rc","finished.rc");
                    
                    set_task(get_pcvar_float(PUG_SwitchDelay),"PUG_Status",PUG_STAGE_FIRST);
                }
            }
        }
        case PUG_VOTE_OVERTIME:
        {
            PUG_iMenu = PUG_VOTE_NONE;
            
            new iWinner = ((PUG_VoteOvertimeVotes[1] + PUG_VoteOvertimeVotes[2]) == 0 ? 0 : (PUG_VoteOvertimeVotes[1] > PUG_VoteOvertimeVotes[2]) ? 1 : 2);
            
            switch(iWinner)
            {
                case 0:
                {
                    new iDelay = get_pcvar_num(PUG_VoteDelay);
                    
                    client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_RESTART_VOTE","voting",iDelay);
                    
                    PUG_iMenu = PUG_VOTE_OVERTIME;
                    
                    set_task(float(iDelay),"PUG_Status",PUG_STAGE_VOTING);
                }
                case 1: set_task(get_pcvar_float(PUG_SwitchDelay),"PUG_Status",PUG_STAGE_OT_INTERMISSION);
                
                case 2:
                {
                    PUG_Status(PUG_STAGE_END);

                    client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_END_SCORE_TIED",PUG_iScores[0],PUG_iScores[1]);
                }
            }
        }
    }
    return PLUGIN_HANDLED;
}

public PUG_CaptainMenu(id)
{
    new PUG_MenuCaptain = menu_create("Escolha um jogador:","PUG_MenuHandler");
    
    if(is_user_bot(id))
    {
        PUG_AutoTask(id + PUG_TASK_AUTO_CLOSE);
        return PLUGIN_HANDLED;
    }
    
    set_task(11.5,"PUG_AutoTask",id + PUG_TASK_AUTO_CLOSE);
    
    new iPlayers[32],iNum,Players;
    get_players(iPlayers,iNum,"h");
    
    if(!iNum)
    {
        if(get_pcvar_num(PUG_ConfigVote))
        {
            PUG_iMenu = PUG_VOTE_CONFIG;
            
            PUG_Status(PUG_STAGE_VOTING);
        }
        else set_task(get_pcvar_float(PUG_SwitchDelay),"PUG_Status",PUG_STAGE_FIRST);

        client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTETEAM_LACK_PLAYER");
        
        return PLUGIN_HANDLED;
    }
    
    new szName[32],szID[10];
    
    for(new i;i < iNum;i++)
    {
        Players = iPlayers[i];
        
        if(cs_get_user_team(Players) != CS_TEAM_SPECTATOR) continue;
        
        get_user_name(Players,szName,charsmax(szName));
        
        num_to_str(Players,szID,charsmax(szID));
        
        menu_additem(PUG_MenuCaptain,szName,szID);
    }
    menu_setprop(PUG_MenuCaptain,MPROP_BACKNAME,"Back");
    menu_setprop(PUG_MenuCaptain,MPROP_NEXTNAME,"Next");
    menu_setprop(PUG_MenuCaptain,MPROP_EXIT,MEXIT_NEVER);
    
    menu_display(id,PUG_MenuCaptain);
    
    return PLUGIN_HANDLED;
}

public PUG_AutoTask(id)
{
    id -= PUG_TASK_AUTO_CLOSE;
    
    new iPlayers[32],iNum,Players;
    get_players(iPlayers,iNum,"h");
    
    new iRandom = random(iNum);
    
    new bool:bSpec;
    
    for(new i;i < iNum;i++)
    {
        Players = iPlayers[i];
        
        if(cs_get_user_team(Players) == CS_TEAM_SPECTATOR) bSpec = true;
    }
    
    if(!bSpec)
    {
        if(get_pcvar_num(PUG_ConfigVote))
        {
            PUG_iMenu = PUG_VOTE_CONFIG;
            
            PUG_Status(PUG_STAGE_VOTING);
        }
        else set_task(get_pcvar_float(PUG_SwitchDelay),"PUG_Status",PUG_STAGE_FIRST);
        
        return PLUGIN_HANDLED;
    }
    while(cs_get_user_team(iPlayers[iRandom]) != CS_TEAM_SPECTATOR) iRandom = random(iNum);
    
    if(is_user_connected(id))
    {
        set_pcvar_num(PUG_sv_restart,1);
        
        cs_set_user_team(iPlayers[iRandom],cs_get_user_team(id));
        
        set_task(1.5,"PUG_CaptainMenu",id == PUG_iCaptain[0] ? PUG_iCaptain[1] : PUG_iCaptain[0]);
    }
    else
    {
        set_task(3.0,"PUG_CaptainJoin",id == PUG_iCaptain[0] ? PUG_iCaptain[1] : PUG_iCaptain[0]);

        client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTETEAM_WAIT_NEW_CAPTAIN");
    }
    
    show_menu(id,0,"^n",1);
    
    return PLUGIN_HANDLED;
}

public PUG_CaptainJoin(iNext)
{
    if(is_user_connected(PUG_iCaptain[0]) && is_user_connected(PUG_iCaptain[1])) set_task(1.5,"PUG_CaptainMenu",iNext);

    else
    {
        set_task(3.0,"PUG_CaptainJoin",iNext);
        
        client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTETEAM_WAIT_NEW_CAPTAIN");
    }
}

public PUG_ChangeMap(const szMap[])
{
    if(is_map_valid(szMap)) server_cmd("changelevel %s",szMap);
    
    else
    {
        if(!get_pcvar_num(PUG_VoteMap)) set_pcvar_num(PUG_VoteMap,1);
        
        PUG_Status(PUG_STAGE_VOTING);

        client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_VOTEMAP_INVALID_MAP",szMap);
    }
}

public PUG_RestartRound(const szSeconds[]) set_pcvar_num(PUG_sv_restart,str_to_num(szSeconds));

public PUG_SendAudio()
{
    new szMessage[32];
    read_data(2,szMessage,charsmax(szMessage));
    
    if(PUG_iStage == PUG_STAGE_FIRST || PUG_iStage == PUG_STAGE_SECOND || PUG_iStage == PUG_STAGE_OVERTIME)
    {
        PUG_iRound = false;
        
        if(containi(szMessage,"terwin") != -1)
        {
            PUG_iScores[0]++;
            PUG_iRounds[0]++;
            
            PUG_iRounds[2]++;

            console_print(0,"%s %L",PUG_szHead,LANG_SERVER,"PUG_ROUND_WON_BY",PUG_iRounds[0],PUG_szTeams[0]);
        }
        else if(containi(szMessage,"ctwin") != -1)
        {
            PUG_iScores[1]++;
            PUG_iRounds[0]++;
            
            PUG_iRounds[2]++;
            
            console_print(0,"%s %L",PUG_szHead,LANG_SERVER,"PUG_ROUND_WON_BY",PUG_iRounds[0],PUG_szTeams[1]);
        }
        else
        {
            PUG_iRounds[1]++;

            console_print(0,"%s %L",PUG_szHead,LANG_SERVER,"PUG_ROUND_INVALID");
        }
        
        PUG_CheckScores();
    }
}

public PUG_CheckScores()
{
    switch(PUG_iStage)
    {
        case PUG_STAGE_FIRST:
        {
            new iHalfRounds = (get_pcvar_num(PUG_MaxRounds) / 2);
            
            if(PUG_iRounds[0] == iHalfRounds) PUG_Status(PUG_STAGE_INTERMISSION);
        }
        case PUG_STAGE_SECOND:
        {
            new iRoundsTotal = get_pcvar_num(PUG_MaxRounds);
            
            new iMatchRounds = (iRoundsTotal / 2);
            
            if(PUG_iScores[0] == (iMatchRounds + 1))
            {
                PUG_Status(PUG_STAGE_END);
                
                client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_END_GAME_TRS",PUG_iScores[0],PUG_iScores[1]);
            }
            else if(PUG_iScores[1] == (iMatchRounds + 1))
            {
                PUG_Status(PUG_STAGE_END);
                
                client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_END_GAME_CTS",PUG_iScores[1],PUG_iScores[0]);
            }
            else if(PUG_iRounds[0] == iRoundsTotal)
            {
                PUG_iMenu = PUG_VOTE_OVERTIME;
                
                PUG_Status(PUG_STAGE_VOTING);
            }
        }
        case PUG_STAGE_OVERTIME:
        {
            new iOT = get_pcvar_num(PUG_OverTimeRounds);
            
            new iRoundsOT = (iOT / 2);
            
            if(PUG_iRounds[2] == iRoundsOT) PUG_Status(PUG_STAGE_OT_INTERMISSION);
            
            else if((PUG_iScores[0] - PUG_iScores[1]) >= (iRoundsOT + 1))
            {
                PUG_Status(PUG_STAGE_END);
                
                client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_END_GAME_TRS",PUG_iScores[0],PUG_iScores[1]);
            }
            else if((PUG_iScores[1] - PUG_iScores[0]) >= (iRoundsOT + 1))
            {
                PUG_Status(PUG_STAGE_END);
                
                client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_END_GAME_CTS",PUG_iScores[1],PUG_iScores[0]);
            }
        }
    }
}

public PUG_RoundStart()
{
    for(new i = 0; i < sizeof(PUG_iHits); ++i)
    {
        arrayset(PUG_iHits[i],0,sizeof(PUG_iHits[]));
        arrayset(PUG_iDamage[i],0,sizeof(PUG_iDamage[]));
    }
        
    if(PUG_iStage == PUG_STAGE_FIRST || PUG_iStage == PUG_STAGE_SECOND || PUG_iStage == PUG_STAGE_OVERTIME)
    {
        PUG_iRound = true;
        
        new iNumTR,iNumCT;
        new iTeamTR[32],iTeamCT[32];
    
        get_players(iTeamTR,iNumTR,"eh","TERRORIST");
        get_players(iTeamCT,iNumCT,"eh","CT");
        
        new iTeam = (get_pcvar_num(PUG_MinPlayers) / 2);
        
        if(iNumTR <= (iTeam - 2))
        {
            if(PUG_iRounds[0] >= 5) set_pcvar_num(PUG_VoteMap,1);

            PUG_Status(PUG_STAGE_PREGAME);
            
            client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_RESTARTING_GAME_LACK",iNumTR ? (iTeam - iNumTR) : iTeam,PUG_szTeams[0]);
        }
        else if(iNumCT <= (iTeam - 2))
        {
            if(PUG_iRounds[0] >= 5) set_pcvar_num(PUG_VoteMap,1);
            
            PUG_Status(PUG_STAGE_PREGAME);
            
            client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_RESTARTING_GAME_LACK",iNumTR ? (iTeam - iNumTR) : iTeam,PUG_szTeams[1]);
        }
        
        if(!PUG_iRounds[0] || PUG_iRounds[0] == (get_pcvar_num(PUG_MaxRounds) / 2)) return PLUGIN_HANDLED;
        
        else PUG_cmdScores(0);
    }
    return PLUGIN_CONTINUE;
}

public PUG_cmdScores(id)
{
    if(is_user_bot(id)) return PLUGIN_CONTINUE;
    
    if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_VOTING || PUG_iStage == PUG_STAGE_END) client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
    
    else
    {
        if(PUG_iScores[0] > PUG_iScores[1]) client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_SCORE_WINNING",PUG_szTeams[0],PUG_iScores[0],PUG_iScores[1]);
        
        else if(PUG_iScores[0] < PUG_iScores[1]) client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_SCORE_WINNING",PUG_szTeams[1],PUG_iScores[1],PUG_iScores[0]);

        else client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_SCORE_TIED",PUG_iScores[0],PUG_iScores[1]);
    }
    return PLUGIN_HANDLED;
}

public PUG_cmdStatus(id)
{
    client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_STATUS_PLAYERS",get_playersnum(),get_pcvar_num(PUG_MinPlayers),get_pcvar_num(PUG_MaxPlayers),PUG_szStage[PUG_iStage]);
    
    if(PUG_iStage != PUG_STAGE_PREGAME && PUG_iStage != PUG_STAGE_VOTING && PUG_iStage != PUG_STAGE_END)
    {
        client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_STATUS_ROUNDS",PUG_iRounds[0],PUG_iRounds[1],PUG_iScores[1],PUG_iScores[0]);
    }
    return PLUGIN_HANDLED;
}

public PUG_cmdRound(id)
{
    if(PUG_iStage == PUG_STAGE_FIRST || PUG_iStage == PUG_STAGE_SECOND || PUG_iStage == PUG_STAGE_OVERTIME) client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_ROUND",PUG_iRounds[0],(PUG_iRounds[0] + 1));

    else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
    
    return PLUGIN_HANDLED;
}

public PUG_GetPlayers()
{
    new iPlayers[32],iNum,Players;
    get_players(iPlayers,iNum,"ch");
    
    new iNumber;
    
    for(new i;i < iNum;i++)
    {
        Players = iPlayers[i];
        
        switch(cs_get_user_team(Players))
        {
            case CS_TEAM_T: iNumber++;
            
            case CS_TEAM_CT: iNumber++;
        }
    }
    return iNumber;
}

public PUG_HamSpawnPost(id)
{
    if(PUG_iStage == PUG_STAGE_FIRST || PUG_iStage == PUG_STAGE_SECOND || PUG_iStage == PUG_STAGE_OVERTIME)
    {    
        if(get_pcvar_num(PUG_TeamMoney)) PUG_ShowMoney(id,cs_get_user_team(id));
    }
}

public PUG_ShowMoney(id,CsTeams:iTeam)
{
    if(!PUG_iRounds[0] || PUG_iRounds[0] == (get_pcvar_num(PUG_MaxRounds) / 2)) return;
    
    new iMoney,szName[32];
    new szHud[512];
    
    new iPlayers[32],iNum,Players;
    get_players(iPlayers,iNum,"h");
    
    for(new i;i < iNum;i++)
    {
        Players = iPlayers[i];
        
        if(iTeam == cs_get_user_team(Players))
        {
        
            iMoney = cs_get_user_money(Players);
            get_user_name(Players,szName,charsmax(szName));
            
            formatex(szHud,charsmax(szHud),"%s%s $ %d^n",szHud,szName,iMoney);
        }
    }
    
    new Float:fFreezetime = get_pcvar_float(PUG_mp_Freezetime);
    
    set_hudmessage(255,255,255,0.58,0.05,0,0.0,fFreezetime,0.0,0.0,1);
    show_hudmessage(id,szHud);
    
    set_hudmessage(0,255,0,0.58,0.02,0,0.0,fFreezetime,0.0,0.0,2);
    show_hudmessage(id,"Dinero Del Equipo");
}

public PUG_HamKilledPost(id)
{
    if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION || PUG_iStage == PUG_STAGE_END)
    {
        if(is_user_connected(id))
        {
            if(PUG_ValidTeam(cs_get_user_team(id)) && !is_user_alive(id)) set_task(0.75,"PUG_Respawn",id);
        }
    }
}

public PUG_Respawn(id)
{
    ExecuteHam(Ham_CS_RoundRespawn,id);
    
    set_pev(id,pev_takedamage,DAMAGE_NO);
        
    set_task(6.0,"PUG_UnProtect",id);
}

public PUG_UnProtect(id) if(is_user_connected(id)) set_pev(id,pev_takedamage,DAMAGE_AIM);

public PUG_msgMoney(msgID,iDest,id)
{
    if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION || PUG_iStage == PUG_STAGE_END)
    {
        if(is_user_alive(id)) cs_set_user_money(id,get_pcvar_num(PUG_mp_startmoney),0);
        
        return PLUGIN_HANDLED;
    }
    return PLUGIN_CONTINUE;
}

public PUG_fwSetModel(iEntity)
{
    if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION || PUG_iStage == PUG_STAGE_END)
    {
        if(!pev_valid(iEntity)) return;
        
        static const szWeaponbox[] = "weaponbox";
        static szClassname[10];
        
        pev(iEntity,pev_classname,szClassname,charsmax(szClassname));
        
        if(equal(szClassname,szWeaponbox)) set_pev(iEntity,pev_nextthink,get_gametime() + 0.1);
    }
}

public PUG_CurWeapon(id)
{
    if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION || PUG_iStage == PUG_STAGE_END)
    {
        new iWeapon = get_user_weapon(id);
        
        if(iWeapon == CSW_C4) cs_set_user_plant(id,0,0);
        
        if(PUG_WeaponSlots[iWeapon] == SLOT_PRIMARY || PUG_WeaponSlots[iWeapon] == SLOT_SECONDARY)
        {
            new iAmmo = cs_get_user_bpammo(id,iWeapon);
            
            if(iAmmo < PUG_MaxBPAmmo[iWeapon]) cs_set_user_bpammo(id,iWeapon,PUG_MaxBPAmmo[iWeapon]);
        }
    }
}

public client_command(id)
{
    if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION || PUG_iStage == PUG_STAGE_END)
    {
        new szCommand[32];
        read_argv(0,szCommand,charsmax(szCommand));

        strtolower(szCommand);

        if(containi(szCommand,"vban")) PUG_HamKilledPost(id);
        
        if(TrieKeyExists(PUG_RestrictedWeapons,szCommand)) return PLUGIN_HANDLED;
    }
    return PLUGIN_CONTINUE;
}

public CS_InternalCommand(id,const szCmd[])
{
    if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION || PUG_iStage == PUG_STAGE_END)
    {
        new szCommand[32];
        copy(szCommand, charsmax(szCommand),szCmd);
        
        strtolower(szCommand);
        
        if(TrieKeyExists(PUG_RestrictedWeapons,szCommand)) return PLUGIN_HANDLED;
    }
    return PLUGIN_CONTINUE;
}

public PUG_MenuBuy(id,iKey)
{
    if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION || PUG_iStage == PUG_STAGE_END)
    {
        if(iKey == 5 || iKey == 6) return PLUGIN_HANDLED;
    }
    return PLUGIN_CONTINUE;
}

public PUG_MenuItem(id,iKey) 
{
    if(PUG_iStage == PUG_STAGE_PREGAME || PUG_iStage == PUG_STAGE_INTERMISSION || PUG_iStage == PUG_STAGE_OT_INTERMISSION || PUG_iStage == PUG_STAGE_END)
    {
        switch(iKey)
        {
            case 2,3,4,6,7: return PLUGIN_HANDLED;
        }
    }
    return PLUGIN_CONTINUE;
}

public client_damage(iAttacker,iVictim,iDamage,iWeapon,iPlace,TA)
{
    PUG_iDamage[iAttacker][iVictim] += iDamage;
    PUG_iHits[iAttacker][iVictim]++;
}

public PUG_cmdDMG(id)
{
    if(!get_pcvar_num(PUG_AllowStats))
    {
        client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_STATS_INACTIVE");
        
        return PLUGIN_HANDLED;
    }
    if(PUG_iStage == PUG_STAGE_FIRST || PUG_iStage == PUG_STAGE_SECOND || PUG_iStage == PUG_STAGE_OVERTIME)
    {
        if(!is_user_alive(id) || !PUG_iRound)
        {
            new szName[32];
            
            new iPlayers[32],iNum,Players;
            get_players(iPlayers,iNum,"h");
        
            new iDamage,iHits,iCheck;
            
            for(new i;i < iNum;i++)
            {
                Players = iPlayers[i];
                
                iHits = PUG_iHits[id][Players];
                
                if(iHits)
                {
                    iCheck++;
                    
                    iDamage = PUG_iDamage[id][Players];
                    
                    if(Players == id)  client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_DMG_SELF",iHits,(iHits > 1) ? "times" : "time",iDamage);
                    
                    else
                    {
                        get_user_name(Players,szName,charsmax(szName));
                        
                        client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_DMG",szName,iHits,(iHits > 1) ? "times" : "time",iDamage);
                    }
                }
            }
            
            if(!iCheck) client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_DMG_NONE");
        }
        else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
    }
    else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
    
    return PLUGIN_HANDLED;
}

public PUG_cmdRDMG(id)
{
    if(!get_pcvar_num(PUG_AllowStats))
    {
        client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_STATS_INACTIVE");
        
        return PLUGIN_HANDLED;
    }
    
    if(PUG_iStage == PUG_STAGE_FIRST || PUG_iStage == PUG_STAGE_SECOND || PUG_iStage == PUG_STAGE_OVERTIME)
    {
        if(!is_user_alive(id) || !PUG_iRound)
        {
            new szName[32];
            
            new iPlayers[32],iNum,Players;
            get_players(iPlayers,iNum,"h");
        
            new iRDamage,iHits,iCheck;
            
            for(new i;i < iNum;i++)
            {
                Players = iPlayers[i];
                
                iHits = PUG_iHits[Players][id];
                
                if(iHits)
                {
                    iCheck++;
                    
                    iRDamage = PUG_iDamage[Players][id];
                    
                    if(Players == id) client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_DMG_SELF",iHits,(iHits > 1) ? "times" : "time",iRDamage);
                    
                    else
                    {
                        get_user_name(Players,szName,charsmax(szName));
                        
                        client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_RDMG",szName,iHits,(iHits > 1) ? "times" : "time",iRDamage);
                    }
                }
            }
            iHits = PUG_iHits[0][id];
            
            if(iHits)
            {
                iRDamage = PUG_iDamage[0][id];
                
                client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_RDMG","WordSpawn",iHits,(iHits > 1) ? "times" : "time",iRDamage);
            }
            
            if(!iCheck) client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_RDMG_NONE");
        }
        else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
    }
    else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
    
    return PLUGIN_HANDLED;
}

public PUG_cmdSUM(id)
{
    if(!get_pcvar_num(PUG_AllowStats))
    {
        client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_STATS_INACTIVE");
        
        return PLUGIN_HANDLED;
    }
    
    if(PUG_iStage == PUG_STAGE_FIRST || PUG_iStage == PUG_STAGE_SECOND || PUG_iStage == PUG_STAGE_OVERTIME)
    {
        if(!is_user_alive(id) || !PUG_iRound)
        {
            new szName[32];
            
            new iPlayers[32],iNum,Players;
            get_players(iPlayers,iNum,"h");
        
            new iDamage,iHits,iRDamage,iRHits,iCheck;
            
            for(new i;i < iNum;i++)
            {
                Players = iPlayers[i];
                
                iHits = PUG_iHits[id][Players];
                iRHits = PUG_iHits[Players][id];
                
                if(iHits || iRHits)
                {
                    iCheck++;
                    
                    iDamage = PUG_iDamage[id][Players];
                    iRDamage = PUG_iDamage[Players][id];
                    
                    get_user_name(Players,szName,charsmax(szName));
                    
                    client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_SUM_DMG",iDamage,iHits,iRDamage,iRHits,szName,((is_user_alive(Players)) ? get_user_health(Players) : 0));
                }
            }
            iRHits = PUG_iHits[0][id];
            iRDamage = PUG_iDamage[0][id];
            
            if(iHits || iRDamage) client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_SUM_WORD_DMG",iHits,iRDamage,"WorldSpawn");
            
            if(!iCheck) client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_SUM_NONE");
        }
        else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
    }
    else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
    
    return PLUGIN_HANDLED;
}

public PUG_cmdHP(id)
{
    if(!get_pcvar_num(PUG_AllowStats))
    {
        client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_STATS_INACTIVE");
        
        return PLUGIN_HANDLED;
    }
    
    if(PUG_iStage == PUG_STAGE_FIRST || PUG_iStage == PUG_STAGE_SECOND || PUG_iStage == PUG_STAGE_OVERTIME)
    {
        if(!is_user_alive(id) || !PUG_iRound)
        {
            new szName[32];
            
            new iPlayers[32],iNum,Players;
            get_players(iPlayers,iNum,"ah");
            
            if(!iNum)
            {
                client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_HP_ALIVE");
                
                return PLUGIN_HANDLED;
            }
            
            for(new i;i < iNum;i++)
            {
                Players = iPlayers[i];
                
                if(!is_user_alive(Players) || Players == id) continue;
                
                if(cs_get_user_team(id) == cs_get_user_team(Players)) continue;
                
                get_user_name(Players,szName,charsmax(szName));
                
                client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_HP_AP",szName,get_user_health(Players),get_user_armor(Players));
            }
        }
        else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
    }
    else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
    
    return PLUGIN_HANDLED;
}

public PUG_cmdHPTeam(id)
{
    if(!get_pcvar_num(PUG_AllowStats))
    {
        client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_STATS_INACTIVE");
        
        return PLUGIN_HANDLED;
    }
    
    if(PUG_iStage == PUG_STAGE_FIRST || PUG_iStage == PUG_STAGE_SECOND || PUG_iStage == PUG_STAGE_OVERTIME)
    {
        if(!is_user_alive(id) || !PUG_iRound)
        {
            new szName[32];
            
            new iPlayers[32],iNum,Players;
            get_players(iPlayers,iNum,"ah");
            
            if(!iNum)
            {
                client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_HP_TEAM_ALIVE");
                
                return PLUGIN_HANDLED;
            }
            
            for(new i;i < iNum;i++)
            {
                Players = iPlayers[i];
                
                if(!is_user_alive(Players) || Players == id) continue;
                
                if(cs_get_user_team(id) != cs_get_user_team(Players)) continue;
                
                get_user_name(Players,szName,charsmax(szName));
                
                client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_HP_AP",szName,get_user_health(Players),get_user_armor(Players));
            }
        }
        else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
    }
    else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
    
    return PLUGIN_HANDLED;
}

public PUG_cmdHPAll(id)
{
    if(!get_pcvar_num(PUG_AllowStats))
    {
        client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_STATS_INACTIVE");
        
        return PLUGIN_HANDLED;
    }
    
    if(PUG_iStage == PUG_STAGE_FIRST || PUG_iStage == PUG_STAGE_SECOND || PUG_iStage == PUG_STAGE_OVERTIME)
    {
        if(!is_user_alive(id) || !PUG_iRound)
        {
            new szName[32];
            
            new iPlayers[32],iNum,Players;
            get_players(iPlayers,iNum,"ah");
            
            if(!iNum)
            {
                client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_HP_ALIVE");
                
                return PLUGIN_HANDLED;
            }
            
            for(new i;i < iNum;i++)
            {
                Players = iPlayers[i];
                
                if(!is_user_alive(Players) || Players == id) continue;
                
                get_user_name(Players,szName,charsmax(szName));
                
                client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_HP_AP",szName,get_user_health(Players),get_user_armor(Players));
            }
        }
        else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
    }
    else client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
    
    return PLUGIN_HANDLED;
}

public PUG_cmdStart(id,level,cid)
{
    if(!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED;
    
    switch(PUG_iStage)
    {
        case PUG_STAGE_PREGAME:
        {
            new szName[32];
            get_user_name(id,szName,charsmax(szName));
            
            client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_FORCE",szName,"start");
            
            PUG_Status(PUG_STAGE_FIRST);
        }
        default: client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
    }
    
    return PLUGIN_HANDLED;
}

public PUG_cmdStop(id,level,cid)
{
    if(!cmd_access (id,level,cid,1)) return PLUGIN_HANDLED;
    
    switch(PUG_iStage)
    {
        case PUG_STAGE_FIRST .. PUG_STAGE_OVERTIME:
        {
            new szName[32];
            get_user_name(id,szName,charsmax(szName));
            
            client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_FORCE",szName,"end");
            
            if(PUG_iScores[0] > PUG_iScores[1]) client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_END_GAME_TRS",PUG_iScores[0],PUG_iScores[1]);
            
            else if(PUG_iScores[0] < PUG_iScores[1]) client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_END_GAME_CTS",PUG_iScores[1],PUG_iScores[0]);
            
            else client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_END_SCORE_TIED",PUG_iScores[0],PUG_iScores[1]);
            
            PUG_Status(PUG_STAGE_END);
        }
        default: client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
    }
    
    return PLUGIN_CONTINUE;
}

public PUG_cmdReset(id,level,cid)
{
    if(!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED;
    
    switch(PUG_iStage)
    {
        case PUG_STAGE_PREGAME: client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
        
        default:
        {
            new szName[32];
            get_user_name(id,szName,charsmax(szName));
            
            client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_FORCE",szName,"restart");
            
            PUG_Status(PUG_STAGE_PREGAME);
        }
    }
    
    return PLUGIN_HANDLED;
}

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

    static szMessage[192];
    read_args(szMessage,charsmax(szMessage));
    remove_quotes(szMessage);
    
    static szName[32];
    get_user_name(id,szName,charsmax(szName));
    
    client_print(0,print_chat,"%s ADMIN: %s: %s",PUG_szHead,szName,szMessage);
    
    return PLUGIN_HANDLED;
}

public PUG_cmdKill(id,level,cid)
{
    if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED;
    
    static szArg[32];
    read_argv(1,szArg,charsmax(szArg));
    
    new iPlayer = cmd_target(id,szArg,CMDTARGET_ALLOW_SELF | CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ONLY_ALIVE);
    
    if(!iPlayer) return PLUGIN_HANDLED;
    
    else
    {
        user_kill(iPlayer,0); // Decrase the Frags its a CAL rule :P
        
        new szName[2][32];
        get_user_name(id,szName[0],charsmax(szName[]));
        get_user_name(iPlayer,szName[1],charsmax(szName[]));
        
        client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_KILLED",szName[0],szName[1]);
    }
    
    return PLUGIN_HANDLED;
}

public PUG_cmdKick(id,level,cid)
{
    if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED;
    
    static szPlayer[32];
    read_argv(1,szPlayer,charsmax(szPlayer));
    
    static szReason[64];
    read_argv(2,szReason,charsmax(szReason));
    
    new iPlayer = cmd_target(id,szPlayer,CMDTARGET_ALLOW_SELF | CMDTARGET_OBEY_IMMUNITY);
    
    if(!iPlayer) return PLUGIN_HANDLED;
    
    else
    {
        if(!szReason[0]) PUG_Disconnect(iPlayer,"Kicked by Admin.");
        
        else PUG_Disconnect(iPlayer,szReason);
    }
    
    return PLUGIN_HANDLED;
}

public PUG_cmdMute(id,level,cid)
{
    if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED;
    
    static szArg[32];
    read_argv(1,szArg,charsmax(szArg));
    
    new iPlayer = cmd_target(id,szArg,CMDTARGET_OBEY_IMMUNITY);
    
    if(!iPlayer) return PLUGIN_HANDLED;
    
    else
    {
        PUG_iMuted[iPlayer] = true;
        
        new szSteam[35];
        get_user_authid(iPlayer,szSteam,charsmax(szSteam));
        
        TrieSetCell(PUG_MutedSteamIDs,szSteam,1);
        
        new szName[2][32];
        get_user_name(id,szName[0],charsmax(szName[]));
        get_user_name(iPlayer,szName[1],charsmax(szName[]));

        client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_MUTE",szName[0],szName[1],"muted");
    }
    
    return PLUGIN_HANDLED;
}

public PUG_cmdUnMute(id,level,cid)
{
    if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED;
    
    static szArg[32];
    read_argv(1,szArg,charsmax(szArg));
    
    new iPlayer = cmd_target(id,szArg,CMDTARGET_OBEY_IMMUNITY);
    
    if(!iPlayer) return PLUGIN_HANDLED;
    
    else
    {
        new szSteam[35];
        get_user_authid(iPlayer,szSteam,charsmax(szSteam));
        
        if(!PUG_iMuted[id] && !TrieKeyExists(PUG_MutedSteamIDs,szSteam))
        {
            client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_NOTALLOWED");
            
            return PLUGIN_HANDLED;
        }
        
        PUG_iMuted[iPlayer] = false;
        
        TrieDeleteKey(PUG_MutedSteamIDs,szSteam);
        
        new szName[2][32];
        get_user_name(id,szName[0],charsmax(szName[]));
        get_user_name(iPlayer,szName[1],charsmax(szName[]));
        
        client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_MUTE",szName[0],szName[1],"unmuted");
    }
    
    return PLUGIN_HANDLED;
}

public PUG_cmdForceReady(id,level,cid)
{
    if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED;
    
    static szArg[32];
    read_argv(1,szArg,charsmax(szArg));
    
    switch(szArg[0])
    {
        case 'A','*':
        {
            new iPlayers[32],iNum,Players;
            get_players(iPlayers,iNum,"ch");
            
            for(new i;i < iNum;i++)
            {
                Players = iPlayers[i];
                
                if(!PUG_iReady[Players]) PUG_cmdReadyUP(iPlayers[i]);
            }
            
            new szName[32];
            get_user_name(id,szName,charsmax(szName));
            
            client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_F_READY_ALL",szName);
        }
        case 'T':
        {
            new iPlayers[32],iNum,Players;
            get_players(iPlayers,iNum,"che","TERRORIST");
            
            for(new i;i < iNum;i++)
            {
                Players = iPlayers[i];
                
                if(!PUG_iReady[Players]) PUG_cmdReadyUP(iPlayers[i]);
                
                new szName[32];
                get_user_name(id,szName,charsmax(szName));
                
                client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_F_READY_TEAM",szName,PUG_szTeams[0]);
            }
        }
        case 'C':
        {
            new iPlayers[32],iNum,Players;
            get_players(iPlayers,iNum,"che","CT");
            
            for(new i;i < iNum;i++)
            {
                Players = iPlayers[i];
                
                if(!PUG_iReady[Players]) PUG_cmdReadyUP(iPlayers[i]);
                
                new szName[32];
                get_user_name(id,szName,charsmax(szName));
                
                client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_F_READY_TEAM",szName,PUG_szTeams[1]);
            }
        }
        default:
        {
            new iPlayer = cmd_target(id,szArg,CMDTARGET_OBEY_IMMUNITY);
    
            if(!iPlayer) return PLUGIN_HANDLED;
            
            else
            {
                if(!PUG_iReady[iPlayer]) PUG_cmdReadyUP(iPlayer);
                
                new szName[2][32];
                get_user_name(id,szName[0],charsmax(szName[]));
                get_user_name(iPlayer,szName[1],charsmax(szName[]));
                
                client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_F_READY_CLIENT",szName[0],szName[1]);
            }
        }
    }
    
    return PLUGIN_HANDLED;
}

public PUG_cmdForceUnReady(id,level,cid)
{
    if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED;
    
    static szArg[32];
    read_argv(1,szArg,charsmax(szArg));
    
    switch(szArg[0])
    {
        case 'A','*':
        {
            new iPlayers[32],iNum,Players;
            get_players(iPlayers,iNum,"ch");
            
            for(new i;i < iNum;i++)
            {
                Players = iPlayers[i];
                
                if(PUG_iReady[Players]) PUG_cmdReadyDown(iPlayers[i]);
            }
            
            new szName[32];
            get_user_name(id,szName,charsmax(szName));
            
            client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_F_UNREADY_ALL",szName);
        }
        case 'T':
        {
            new iPlayers[32],iNum,Players;
            get_players(iPlayers,iNum,"che","TERRORIST");
            
            for(new i;i < iNum;i++)
            {
                Players = iPlayers[i];
                
                if(PUG_iReady[Players]) PUG_cmdReadyDown(iPlayers[i]);
                
                new szName[32];
                get_user_name(id,szName,charsmax(szName));
            
                client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_F_UNREADY_TEAM",szName,PUG_szTeams[0]);
            }
        }
        case 'C':
        {
            new iPlayers[32],iNum,Players;
            get_players(iPlayers,iNum,"che","CT");
            
            for(new i;i < iNum;i++)
            {
                Players = iPlayers[i];
                
                if(PUG_iReady[Players]) PUG_cmdReadyDown(iPlayers[i]);
                
                new szName[32];
                get_user_name(id,szName,charsmax(szName));
                
                client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_F_UNREADY_TEAM",szName,PUG_szTeams[1]);
            }
        }
        default:
        {
            new iPlayer = cmd_target(id,szArg,CMDTARGET_OBEY_IMMUNITY);
    
            if(!iPlayer) return PLUGIN_HANDLED;
            
            else
            {
                if(PUG_iReady[iPlayer]) PUG_cmdReadyDown(iPlayer);
                
                new szName[2][32];
                get_user_name(id,szName[0],charsmax(szName[]));
                get_user_name(iPlayer,szName[1],charsmax(szName[]));
                
                client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_F_UNREADY_CLIENT",szName[0],szName[1]);
            }
        }
    }
    
    return PLUGIN_HANDLED;
}

public PUG_JoinTeam(id) 
{
    if(PUG_iStage == PUG_STAGE_VOTING) return PLUGIN_HANDLED;
    
    new szArg[3];
    read_argv(1,szArg,charsmax(szArg));

    return PUG_CheckTeams(id,str_to_num(szArg));
}

public PUG_TeamSelect(id,iKey) return PUG_CheckTeams(id,iKey + 1);

public PUG_CheckTeams(id,iNew) 
{
    new iOld = _:cs_get_user_team(id);
    new iMax = get_pcvar_num(PUG_MaxPlayers);
    
    new iTRs,iCTs;

    new iPlayers[32],iNum,Players;
    get_players(iPlayers,iNum,"h");
    
    for(new i;i < iNum;i++)
    {
        Players = iPlayers[i];
        
        switch(cs_get_user_team(Players))
        {
            case CS_TEAM_T: iTRs++;
            
            case CS_TEAM_CT: iCTs++;
        }
    }

    if(iNew == iOld)
    {
        client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_SELECTTEAM_SAMETEAM");
        
        engclient_cmd(id,"chooseteam");
        
        return PLUGIN_HANDLED;
    }
    else if((iNew == 1) && (iTRs >= iMax / 2))
    {
        client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_SELECTTEAM_TEAMFULL");
        
        engclient_cmd(id,"chooseteam");
        
        return PLUGIN_HANDLED;
    }
    else if((iNew == 2) && (iCTs >= iMax / 2))
    {
        client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_SELECTTEAM_TEAMFULL");
        
        engclient_cmd(id,"chooseteam");
        
        return PLUGIN_HANDLED;
    }
    else if(iNew == 6 && !get_pcvar_num(PUG_AllowSPEC))
    {
        if(access(id,ADMIN_IMMUNITY)) return PLUGIN_CONTINUE;
        
        client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_SELECTTEAM_NOSPC");
        
        engclient_cmd(id,"chooseteam");
        
        return PLUGIN_HANDLED;
    }
    else if(iNew == 5) return PLUGIN_CONTINUE;
    
    switch(PUG_iStage)
    {
        case PUG_STAGE_VOTING .. PUG_STAGE_OVERTIME:
        {
            if(1 <= iOld <= 2)
            {
                client_print(id,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_SELECTTEAM_NOSWITCH");
        
                return PLUGIN_HANDLED;
            }
        }
    }
    return PLUGIN_CONTINUE;
}

public PUG_RestoreOrder()
{
    while(PUG_GetPlayers() > get_pcvar_num(PUG_MaxPlayers))
    {
        new iTest = 999999999,iWho,iTime;

        new iPlayers[32],iNum,Players;
        get_players(iPlayers,iNum,"ch");

        for(new i;i < iNum;i++)
        {
            Players = iPlayers[i];

            if(!is_user_hltv(Players)) 
            {
                iTime = get_user_time(Players);

                     if(iTest > iTime)
                {
                    iTest = iTime;

                    iWho = Players;
                }
            }
        }
        
        new szReason[32];
        formatex(szReason,charsmax(szReason),"%s %L",PUG_szHead,LANG_PLAYER,"PUG_FULL");

        PUG_Disconnect(iWho,szReason);
    }
}

stock PUG_StopVote()
{
    new iPlayers[32],iNum,Players;
    get_players(iPlayers,iNum,"ch");
    
    for(new i;i < iNum;i++)
    {
        Players = iPlayers[i];
        
        if(!PUG_Voted[Players]) return 0;
    }
    
    return 1;
}

stock PUG_Confg(const szFile[],iRestart = 0)
{
    new szAmxx[128];
    get_configsdir(szAmxx,charsmax(szAmxx));
    
    server_cmd("exec %s/pug/%s",szAmxx,szFile);
    
    if(iRestart) set_pcvar_num(PUG_sv_restart,iRestart);
    
    set_pcvar_num(PUG_sv_visiblemaxplayers,get_pcvar_num(PUG_MaxPlayers));
}

stock PUG_SetConfigs(const szPregame[],const szReady[],const szFirst[],const szIntermission[],const szSecond[],const szOTIntermission[],const szOvertime[],const szFinished[])
{
    set_pcvar_string(PUG_PregameConfig,szPregame);
    set_pcvar_string(PUG_ReadyConfig,szReady);
    set_pcvar_string(PUG_FirstConfig,szFirst);
    set_pcvar_string(PUG_IntermissionConfig,szIntermission);
    set_pcvar_string(PUG_SecondConfig,szSecond);
    set_pcvar_string(PUG_IntermissionOTConfig,szOTIntermission);
    set_pcvar_string(PUG_OvertimeConfig,szOvertime);
    set_pcvar_string(PUG_FinishedConfig,szFinished);
}

stock PUG_Disconnect(const id,const szReason[] = "")
{
    message_begin(MSG_ONE,SVC_DISCONNECT,_,id);
    write_string(szReason);
    message_end();
}
Por lo menos, quiero ponerle colores a esta linea: client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_FORCE",sz Name,"start");

en que lugar coloco el ^x04=?
williamder is offline
^SmileY
Veteran Member
Join Date: Jan 2010
Location: Brazil [<o>]
Old 09-09-2013 , 07:55   Re: [Ayuda] Print_CLient con colores
#2

Reemplazar todo:

- client_print -> client_print_color
- print_chat -> print_team_grey, print_team_blue, print_team_red (Dependiendo del color que desea mostrar)

y añadiendo ^ 4 ^ 3 para el verde al color especificado en print_team_ * 1 ^ y el color estándar en los archivos de traducción..

Y asegúrese de que al compilar, se está utilizando la última amxx HG construcción y el servidor también.
__________________
Projects:

- See my Git Hub: https://github.com/SmileYzn
PHP Code:
set_pcvar_num(pCvar, !get_pcvar_num(pCvar)); 
^SmileY is offline
Send a message via MSN to ^SmileY Send a message via Skype™ to ^SmileY
williamder
Junior Member
Join Date: Aug 2013
Old 09-09-2013 , 08:41   Re: [Ayuda] Print_CLient con colores
#3

Quote:
Originally Posted by ^SmileY View Post
Reemplazar todo:

- client_print -> client_print_color
- print_chat -> print_team_grey, print_team_blue, print_team_red (Dependiendo del color que desea mostrar)

y añadiendo ^ 4 ^ 3 para el verde al color especificado en print_team_ * 1 ^ y el color estándar en los archivos de traducción..

Y asegúrese de que al compilar, se está utilizando la última amxx HG construcción y el servidor también.
osea SmileY, este code
Code:
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_FORCE",sz  Name,"start");
me quedaria asi:

Code:
client_print_color(0,print_chat_blue,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_FORCE",sz  Name,"start");
y en el archivo de traduccion se colocaria las ^x04, estoy en lo correcto?
williamder is offline
^SmileY
Veteran Member
Join Date: Jan 2010
Location: Brazil [<o>]
Old 09-09-2013 , 21:44   Re: [Ayuda] Print_CLient con colores
#4

Quote:
Originally Posted by williamder View Post
osea SmileY, este code
Code:
client_print(0,print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_FORCE",sz  Name,"start");
me quedaria asi:

Code:
client_print_color(0,print_chat_blue,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_FORCE",sz  Name,"start");
y en el archivo de traduccion se colocaria las ^x04, estoy en lo correcto?
^x04 > ^4 - es correcto
__________________
Projects:

- See my Git Hub: https://github.com/SmileYzn
PHP Code:
set_pcvar_num(pCvar, !get_pcvar_num(pCvar)); 

Last edited by ^SmileY; 09-09-2013 at 21:45.
^SmileY is offline
Send a message via MSN to ^SmileY Send a message via Skype™ to ^SmileY
chetah
Senior Member
Join Date: Jan 2013
Location: BangBros
Old 09-10-2013 , 19:49   Re: [Ayuda] Print_CLient con colores
#5

o puedes usar color Chat
__________________
Minecraft Mod: | %15
"Tomorrowland <3"
chetah is offline
williamder
Junior Member
Join Date: Aug 2013
Old 09-10-2013 , 23:24   Re: [Ayuda] Print_CLient con colores
#6

Quote:
Originally Posted by chetah View Post
o puedes usar color Chat
chetah y como se usaria colorchat con el archivo de lang?
williamder is offline
Fuck_You
Senior Member
Join Date: Dec 2011
Location: return city[id];
Old 09-11-2013 , 00:56   Re: [Ayuda] Print_CLient con colores
#7

tengo entendido que no se puede hacer multilenguaje con colores, pero ConnorMcLad hizo un modulo que tiene la native register_colored_dicctionary()ahi puedes poner colores
__________________
Fuck_You is offline
baneado
Veteran Member
Join Date: Dec 2012
Location: amxmodx-es.com
Old 09-11-2013 , 05:07   Re: [Ayuda] Print_CLient con colores
#8

Quote:
Originally Posted by Fuck_You View Post
tengo entendido que no se puede hacer multilenguaje con colores, pero ConnorMcLad hizo un modulo que tiene la native register_colored_dicctionary()ahi puedes poner colores
sin ir más lejos y hacerlo menos complicado, zp_colored_print
baneado is offline
^SmileY
Veteran Member
Join Date: Jan 2010
Location: Brazil [<o>]
Old 09-11-2013 , 10:30   Re: [Ayuda] Print_CLient con colores
#9

que el problema de utilizar el color client_print amxx natal?
No crear problemas a uno que ya ha sido resuelto.
__________________
Projects:

- See my Git Hub: https://github.com/SmileYzn
PHP Code:
set_pcvar_num(pCvar, !get_pcvar_num(pCvar)); 
^SmileY is offline
Send a message via MSN to ^SmileY Send a message via Skype™ to ^SmileY
Tig
Junior Member
Join Date: Sep 2013
Location: My House
Old 09-26-2013 , 21:00   Re: [Ayuda] Print_CLient con colores
#10

Añade al final del plugin el siguiente stock:

PHP Code:
stock ChatColor(const id, const input[], any:...)
{
        new 
count 1players[32]
        static 
msg[191]
        
vformat(msg190input3)
   
        
replace_all(msg190"!g""^4"// Green Color
        
replace_all(msg190"!n""^1"// Default Color
        
replace_all(msg190"!t""^3"// Team Color
 
   
        
if (idplayers[0] = id;else get_players(playerscount"ch")
        {
                for (new 
0counti++)
                {
                        if (
is_user_connected(players[i]))
                        {
                                
message_begin(MSG_ONE_UNRELIABLE76_players[i])  
                                
write_byte(players[i]);
                                
write_string(msg);
                                
message_end();
                        }
                }
        }

Y el comando de color seria:

PHP Code:
ChatColor(0print_chat,"%s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_FORCE",sz Name,"start"); 
Colores:
PHP Code:
replace_all(msg190"!g""^4"// Green Color
        
replace_all(msg190"!n""^1"// Default Color
        
replace_all(msg190"!t""^3"// Team Color 
Ejemplo:
PHP Code:
ChatColor(0print_chat,"!g %s %L",PUG_szHead,LANG_SERVER,"PUG_CMD_FORCE",sz Name,"start"); 
Tig is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 07:30.


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