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

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

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

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

Плагин выбора команды.

Статус пользователя demoleridon
сообщение 2.3.2020, 14:28
Сообщение #1
Стаж: 6 лет 5 месяцев

Сообщений: 23
Благодарностей: 1
Полезность: 33

Доброго времени суток. smile.gif
Кто-нибудь может добавить в этот плагин автовыбор класса?
Чтобы менюшка с выбором класса не видно было.
Желательно:
За терров ( M 1 2 )
За КТ ( М 2 4 )
И можно ли сделать так, чтобы менюшка с выбором команды появилось через 5 секунд после входа на сервер?

Отредактировал: demoleridon, - 2.3.2020, 14:58
Прикрепленные файлы:
Прикрепленный файл  chooseteam.sma ( 2,77 килобайт ) Кол-во скачиваний: 9
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя $@NyA
сообщение 2.3.2020, 17:19
Сообщение #2


Иконка группы

Стаж: 18 лет

Сообщений: 987
Благодарностей: 529
Полезность: 1050

demoleridon,
Бросил в Код пару строк.
Работает Рандом на выбор класса.
Меню с Классами Блочиться.
Также работает и на VGUI Menu
Минус: Неработает меню закупки. А на VGUI Menu - Работает.
Остальные прихоти и нюансы домучают другие люди.
Я застрял.
Проблемный
Код:
#include <amxmodx> 
#include <fakemeta>

new bool:ChooseTeam_Used[33];
new bool:DetectVIPMap[33];

public plugin_init()
{
register_plugin("Players Count in Team Menu" , "2.0" , "kramesa" );

register_message(get_user_msgid("ShowMenu"), "MenuTeam");
register_message(get_user_msgid("VGUIMenu"), "VGUITeam");

register_clcmd("chooseteam", "OpenMenu");

register_event("HLTV", "Event_HLTV_New_Round", "a", "1=0", "2=0");

new entity = -1;
if((engfunc(EngFunc_FindEntityByString, entity, "classname", "info_vip_start")) > 0)
{
DetectVIPMap[0] = true;
}
else
{
DetectVIPMap[0] = false;
}
}

public Event_HLTV_New_Round(id)
{
arrayset(ChooseTeam_Used, false, sizeof(ChooseTeam_Used));
}

public client_authorized(id)
{
ChooseTeam_Used[id] = false;
}

public OpenMenu(id)
{
if(DetectVIPMap[0] == false)
{
menu_cancel(id);
TeamMenu(id);
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}

public MenuTeam(msg, des, rec, id)
{
if(DetectVIPMap[0] == false)
{
static const TeamSelect[] = "#Team_Select";

static sz_Menu[sizeof(TeamSelect)];

get_msg_arg_string(4, sz_Menu, charsmax(sz_Menu));

if(!equal( sz_Menu, TeamSelect))
{
set_task(0.0, "random_class", id, _, _, "a", 1)
return PLUGIN_HANDLED;
}

set_pdata_int(rec, 205, 0);

TeamMenu(rec);

return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}

public VGUITeam(msg, des, rec, id)
{
if(get_msg_arg_int(1) != 2)
{
set_task(0.0,"random_class",id,_,_,"a",1)
return PLUGIN_HANDLED;
}

TeamMenu(rec);

return PLUGIN_CONTINUE;
}

public TeamMenu(id)
{
if(ChooseTeam_Used[id] == true)
{
client_print(id, print_center, "Only 1 team change is allowed.");
return PLUGIN_HANDLED;
}

new iPlayers[32], iNumCT , iNumT;
get_players(iPlayers, iNumCT, "e", "CT" );
get_players(iPlayers, iNumT, "e", "TERRORIST");

new menu = menu_create("\yВыберите команду:", "TeamMenu_Handler");

new szTittle[124];

formatex(szTittle, charsmax(szTittle), "\wТеррористы \r[\y%d\r]", iNumT);
menu_additem(menu, szTittle, "1")

formatex(szTittle, charsmax(szTittle), "\wКонтр-Террористы \r[\y%d\r]^n", iNumCT);
menu_additem(menu, szTittle, "2")

menu_additem(menu, "\wНаблюдение", "4");

menu_setprop(menu, MPROP_EXITNAME, "Выход");

menu_display(id, menu, 0);

return PLUGIN_CONTINUE;
}

public TeamMenu_Handler(id, menu, item)
{
if(item == MENU_EXIT)
{
return PLUGIN_HANDLED;
}

new Name[64], Data[6], Access, Callback;

menu_item_getinfo(menu, item, Access, Data, 5, Name, 63, Callback);

static choose[4][2] = {"1","2","5","6"};
engclient_cmd(id, "jointeam", choose[Data[0] - '1']);

ChooseTeam_Used[id] = true;

menu_destroy(menu);
return PLUGIN_HANDLED;
}

public random_class(id)
{
switch(random_num(1,4))
{
case 1:engclient_cmd(id, "joinclass", "1")
case 2:engclient_cmd(id, "joinclass", "2")
case 3:engclient_cmd(id, "joinclass", "3")
case 4:engclient_cmd(id, "joinclass", "4")
}
}


P.S.
Если не охота ждать Скорой помощи - то Вот беспроблемный вариант
Беспроблемный
Код:
#include <amxmodx>

public plugin_init()
{
register_message(get_user_msgid("VGUIMenu"), "message_vgui_menu")
register_message(get_user_msgid("ShowMenu"), "message_show_menu")
}

public message_vgui_menu(msgid, dest, id)
{
switch(get_msg_arg_int(1))
{
case 26, 27:
{
set_task(0.0,"random_class",id,_,_,"a",1)
return PLUGIN_HANDLED
}
}
return PLUGIN_CONTINUE
}

public message_show_menu(msgid, dest, id)
{
new arg[32]
get_msg_arg_string(4, arg, charsmax(arg))

if(equali(arg, "#Terrorist_Select") || equali(arg, "#CT_Select"))
{
set_task(0.0, "random_class", id, _, _, "a", 1)
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}

public random_class(id)
{
switch(random_num(1,4))
{
case 1:engclient_cmd(id, "joinclass", "1")
case 2:engclient_cmd(id, "joinclass", "2")
case 3:engclient_cmd(id, "joinclass", "3")
case 4:engclient_cmd(id, "joinclass", "4")
}
}


Быстрей качай / смотри ( а я потом Удалю )) ,а то прейдёт сейчас Safety1st и Это дело полетит в Склад Бесполезного Кода ))))
Хотя он же и может домучать )))


МультиМод CS
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя demoleridon
сообщение 2.3.2020, 18:25
Сообщение #3
Стаж: 6 лет 5 месяцев

Сообщений: 23
Благодарностей: 1
Полезность: 33

$@NyA, "беспроблемный" работает, но, я хотел именно такое меню :) https://ibb.co/brWWjtq
в "проблемном" две менюшки, как на скрине и дефолт. и после выбора команды не спавнит

Отредактировал: demoleridon, - 2.3.2020, 18:27
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: