Jump to content

[Plugin] TeamChooser


robben

Recommended Posts

- Nume plugin: Team Chooser

- Autor: robben(eu)

- Versiune: 1.1

- Informatii: Este un plugin care poate inlocui amx_ct,t,spec s.a.m.d pentru ca acest plugin creeaza un meniu apasand tasta M(daca aveti bind-ul de choosteam pe acea tasta) sau accesand prin comanda de chat /team de unde iti poti alege echipa si blocheaza comanda de jointeam in consola. Are si 3 cvar-uri care va ajuta sa il "customizati" acelea fiind:

1. tc_allow_spectators_users 0 sau 1 - daca doriti sa lasati si jucatorii sa se puna spec, nu doar adminii.

2. tc_allow_changingteams 0 sau 1 - daca doriti sa lasati jucatorii sa se mute in echipe singuri sau sa fie doar pentru admini.

3. tc_allow_jointeam 0 sau 1 - 0 blocheaza comanda jointeam, 1 o activeaza.

- Download:

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <csx>
#include <fun>
#include <colorchat>

new PLUGIN[] = "Team Chooser";
new VERSION[] = "1.1";
new AUTHOR[] = "robben";

#define FLAGADMIN    ADMIN_KICK

#pragma semicolon 1

new TAG[] = "[TeamChooser]";

new bool:g_AlreadyChoose[33];
enum allowed
{
    allow_spectators,
    allow_changeteams,
    allow_jointeam
}
new cvar[allowed];

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR);
    
    register_event("HLTV", "event_NewRound", "a", "1=0", "2=0");
    
    cvar[allow_spectators] = register_cvar("tc_allow_spectators_users","0");
    cvar[allow_changeteams] = register_cvar("tc_allow_changingteams","1");
    cvar[allow_jointeam] = register_cvar("tc_allow_jointeam","0");

    if(get_pcvar_num(cvar[allow_jointeam]) == 0)
    {
        register_clcmd("jointeam","BLOCK_COMMAND");
    }
    register_clcmd("chooseteam","ChooseTeam");
    register_clcmd("say /team","ChooseTeam");
}

public event_NewRound()
{
    new Players[32], count = 33;
    
    get_players(Players, count, "ch");
    
    for(new i = 0; i < count; i++)
    {
        g_AlreadyChoose[Players] = false;
    }
}

public BLOCK_COMMAND(id)
{
    client_print(id, print_console, "[AMXX] Nu poti folosi Jointeam");
}

public ChooseTeam(id)
{
    new menu = menu_create("\rChoose your Team","handler");
    
    menu_additem(menu, "\wTeam \rTerrorists", "", 0);
    menu_additem(menu, "\wTeam \rCounter-Terrorists", "", 1);
    menu_additem(menu, "\wTeam \rSpectators", "", 2);
    
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
    
    menu_display(id, menu, 0);
}

public handler( id, menu, item )
{
    switch(item)
    {
        case 0:
        {
            if(!g_AlreadyChoose[id] && get_pcvar_num(cvar[allow_changeteams]) > 0 || is_admin(id) && !g_AlreadyChoose[id])
            {
                if(is_user_alive(id))
                {
                    user_silentkill(id);
                }
                cs_set_user_team(id, 1);
                g_AlreadyChoose[id] = true;
                ColorChat(id, GREEN, "%s ^01Ai fost mutat la echipa ^3Terrorists", TAG);
            }
            else if(get_pcvar_num(cvar[allow_changeteams]) == 0)
            {
                ColorChat(id, GREEN, "%s ^01Nu iti poti schimba echipa ^3echipa", TAG);
            }
            else if(g_AlreadyChoose[id])
            {
                ColorChat(id, GREEN, "%s ^01Asteapta pana runda viitoare pentru a schimba ^3echipa", TAG);
            }
        }
        case 1:
        {
            if(!g_AlreadyChoose[id] && get_pcvar_num(cvar[allow_changeteams]) > 0 || is_admin(id) && !g_AlreadyChoose[id])
            {
                if(is_user_alive(id))
                {
                    user_silentkill(id);
                }
                cs_set_user_team(id, 2);
                g_AlreadyChoose[id] = true;
                ColorChat(id, GREEN, "%s ^01Ai fost mutat la echipa ^3Counter-Terrorists", TAG);
            }
            else if(get_pcvar_num(cvar[allow_changeteams]) == 0)
            {
                ColorChat(id, GREEN, "%s ^01Nu iti poti schimba echipa ^3echipa", TAG);
            }
            else if(g_AlreadyChoose[id])
            {
                ColorChat(id, GREEN, "%s ^01Asteapta pana runda viitoare pentru a schimba ^3echipa", TAG);
            }
        }
        case 2:
        {
            if(!g_AlreadyChoose[id] && get_pcvar_num(cvar[allow_changeteams]) > 0 || is_admin(id) && !g_AlreadyChoose[id])
            {
                if(is_user_alive(id))
                {
                    user_silentkill(id);
                }
                if(is_admin(id) || get_pcvar_num(cvar[allow_spectators]) > 0)
                {
                    cs_set_user_team(id, 2);
                    g_AlreadyChoose[id] = true;
                    ColorChat(id, GREEN, "%s ^01Ai fost mutat la echipa ^3Spectators", TAG);
                }
                else if(!(is_admin(id)))
                {
                    ColorChat(id, GREEN, "%s ^01Nu esti admin!", TAG);
                }
            }
            else if(get_pcvar_num(cvar[allow_changeteams]) > 0)
            {
                ColorChat(id, GREEN, "%s ^01Nu iti poti schimba echipa ^3echipa", TAG);
            }
            else if(g_AlreadyChoose[id])
            {
                ColorChat(id, GREEN, "%s ^01Asteapta pana runda viitoare pentru a schimba ^3echipa", TAG);
            }
        }
    }
    
    return PLUGIN_HANDLED;
}

stock bool:is_admin(id)
{
    if(get_user_flags(id) & FLAGADMIN)
    {
        return true;
    }
    
    return false;
}

- Instalare: Il compilati, prima data iar dupa il bagati ca pe restul pluginurilor.

O sa las include-ul de colorchat daca cineva nu il are(daca compilati local)

codul sursa.

colorchat.inc

  • Like 1
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Terms of Use & Privacy Policy