Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

помогите с плагином

, помогите с плагином auto_join_team
Статус пользователя FeNix41
сообщение 29.10.2014, 16:06
Сообщение #1
Стаж: 12 лет

Сообщений: 58
Благодарностей: 3
Полезность: < 0

Плагин сделан для GG и CSDM серверов, хочу его под паблик переделать
В оригинальной версии плагина игрок возраждается в любое время, что не корректно для паблика
Нужно огроничить спавн игроков до закупочного времени
Исходник
Код:
#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] = false;
}
}

public SpawnPlayer(id)
{
if(is_user_alive(id)) return;
dllfunc(DLLFunc_Spawn, id);
}


Отредактировал: FeNix41, - 29.10.2014, 16:12
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
BariN
сообщение 29.10.2014, 16:09
Сообщение #2
Стаж: 12 лет

Сообщений: 761
Благодарностей: 324
Полезность: 0

FeNix41,
Код:
Так сделай, иначе смотреть не будут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя FeNix41
сообщение 29.10.2014, 16:10
Сообщение #3
Стаж: 12 лет

Сообщений: 58
Благодарностей: 3
Полезность: < 0

BariN, Всё

Отредактировал: FeNix41, - 29.10.2014, 16:32
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Realution
сообщение 29.10.2014, 17:20
Сообщение #4


Стаж: 11 лет

Сообщений: 102
Благодарностей: 64
Полезность: 355

Код:
#include <amxmodx>
#include <fakemeta>

#pragma semicolon 1
new bool:iGame[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] = 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");
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: