Villlenka, тут посмотри
Код:
#include <amxmodx>
#include <fakemeta>
#pragma semicolon 1
new bool:iGame[33], bool:g_biFirstSpawn[33];
public plugin_init()
{
register_plugin("Auto Join", "1.2.1", "neygomon");
register_clcmd("chooseteam", "ShowMenu");
register_menucmd(register_menuid("Team Menu"), MENU_KEY_0|MENU_KEY_1|MENU_KEY_2, "HandleMenu");
register_message(96, "MessageMenu");
register_message(114, "MessageMenu");
}
public client_putinserver(id) iGame[id] = g_biFirstSpawn[id] = false;
public ShowMenu(id)
{
new szMenu[512], iLen = formatex(szMenu, charsmax(szMenu), "\yВыберите действие^n^n"), iKeys = MENU_KEY_0;
if(iGame[id]) iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y1. \dВойти в игру^n^n");
else
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y1. \wВойти в игру^n^n");
iKeys |= MENU_KEY_1;
}
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y2. \wСмотреть за игрой^n^n^n");
iKeys |= MENU_KEY_2;
formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y0. \wВыход");
return show_menu(id, iKeys, szMenu, -1, "Team Menu");
}
public HandleMenu(id, iKey)
{
switch(iKey)
{
case 0:
{
set_pdata_int(id, 125, get_pdata_int(id, 125) & ~(1<<8));
set_team(id);
iGame[id] = true;
}
case 1:
{
user_kill(id, 1);
engclient_cmd(id, "jointeam", "6");
iGame[id] = false;
}
}
return PLUGIN_HANDLED;
}
public MessageMenu(iMsgId, iMsgDest, iReceiver)
{
static szArg4[20]; get_msg_arg_string(4, szArg4, charsmax(szArg4));
if(get_msg_arg_int(1) == 2 || (equal(szArg4, "#Team_Select", 12) || equal(szArg4, "#IG_Team_Select", 15) || equal(szArg4, "#IG_VIP_Team_Select", 19)))
{
set_pdata_int(iReceiver, 205, 0);
return ShowMenu(iReceiver);
}
return PLUGIN_CONTINUE;
}
set_team(id)
{
static iNumTT, iNumCT, players[32], iTeam;
get_players(players, iNumCT, "eh", "CT"); get_players(players, iNumTT, "eh", "TERRORIST");
set_msg_block(96|114, BLOCK_SET);
if(iNumCT >= iNumTT) { engclient_cmd(id, "jointeam", "1"); engclient_cmd(id, "joinclass", "1"); iTeam = 1; }
else if(iNumTT > iNumCT) { engclient_cmd(id, "jointeam", "2"); engclient_cmd(id, "joinclass", "7"); iTeam = 2; }
set_hudmessage(255, 0, 0, -1.0, 0.5, 0, 1.5, 3.0, 0.0, 0.0, -1);
show_hudmessage(id, "Ваша команда: %s", iTeam == 1 ? "Terrorists" : "Counter-Terrorists");
if(!g_biFirstSpawn[id])
{
set_task(2.0, "SpawnPlayer", id);
g_biFirstSpawn[id] = true;
}
}
public SpawnPlayer(id)
{
if(is_user_alive(id)) return;
dllfunc(DLLFunc_Spawn, id);
}