Русское сообщество по скриптингу

Рандомный Класс Команды  [Решено]

Поиск плагинов для AMX Mod X.

Модератор: Leonidddd

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающиеся только поиску плагинов для AMX Mod X.

Рандомный Класс Команды

Сообщение MayroN » 28 мар 2019, 23:41

Эсть ли такой плагин,что бы после выбора команды,класс из 4 видов давался автоматически случайный(что бы меню классов непоказывалось вовсе).
Спасибо
МультиМод CS
Аватара пользователя
MayroN
 
Сообщения: 673
Зарегистрирован: 10 окт 2010, 18:23
Откуда: Украина, г. Белая Церковь
Благодарил (а): 149 раз.
Поблагодарили: 86 раз.
Опыт программирования: Около года
Языки программирования: На которых говорю...

Re: Рандомный Класс Команды

Сообщение MayroN » 30 мар 2019, 00:30

Вот нашел то,что нужно.
Помогите убрать Reapi.

Код: Выделить всё
 #include <amxmodx>
#include <reapi>

#pragma semicolon 1

const MENU_STRLEN = 512;
const TIME_MENU = INVALID_HANDLE;
const MENU_KEYS = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4;

new const MENU_TAB[] =            "^t^t^t^t";

public plugin_init() {
    register_plugin("Team Select Menu", "1.0", "Javekson");
    register_message(get_user_msgid("VGUIMenu"), "MsgVGUIMenu");
    register_menucmd(register_menuid("_team_select_menu"), MENU_KEYS, "HandleTeamSelectMenu");
}

public MsgVGUIMenu(const iMsgID, const iDest, const iIndex) {
    ShowTeamSelectMenu(iIndex);
    return PLUGIN_HANDLED;
}

public ShowTeamSelectMenu(const id) {
    new sMenu[MENU_STRLEN], iLenMenu = formatex(sMenu, charsmax(sMenu), "%s\yМеню выбора команды^n^n", MENU_TAB);
    new bsKeys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4;
    iLenMenu += formatex(sMenu[iLenMenu], charsmax(sMenu) - iLenMenu, "%s\y1. \wТеррорист^n%s\y2. \wКонтр-террорист^n^n%s\y3. \wАвто-выбор^n%s\y4. \wНаблюдатель^n^n", MENU_TAB, MENU_TAB, MENU_TAB, MENU_TAB);
    if(get_member(id, m_iTeam) != TEAM_UNASSIGNED) {
        bsKeys |= MENU_KEY_0;
        formatex(sMenu[iLenMenu], charsmax(sMenu) - iLenMenu, "%s\y0. \wВыход", MENU_TAB);
    }
    return show_menu(id, bsKeys, sMenu, TIME_MENU, "_team_select_menu");
}

public HandleTeamSelectMenu(const id, const iKey) {
    switch(iKey) {
        case 0: {
            rg_join_team(id, TEAM_TERRORIST);
            rg_set_user_team(id, TEAM_TERRORIST, MODEL_AUTO);
        }
        case 1: {
            rg_join_team(id, TEAM_CT);
            rg_set_user_team(id, TEAM_CT, MODEL_AUTO);
        }
        case 2: {
            rg_join_team(id, TeamName:random_num(_:TEAM_TERRORIST, _:TEAM_SPECTATOR));
        }
        case 3: {
            rg_join_team(id, TEAM_SPECTATOR);
        }
        case 9: {
            return PLUGIN_HANDLED;
        }
    }
    return PLUGIN_HANDLED;
}
МультиМод CS
Аватара пользователя
MayroN
 
Сообщения: 673
Зарегистрирован: 10 окт 2010, 18:23
Откуда: Украина, г. Белая Церковь
Благодарил (а): 149 раз.
Поблагодарили: 86 раз.
Опыт программирования: Около года
Языки программирования: На которых говорю...

Re: Рандомный Класс Команды

Сообщение артист666 » 31 мар 2019, 09:35

Код: Выделить всё
#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(msgiddestid)
{
    switch(
get_msg_arg_int(1))
    {
        case 
2627:
        {
            
set_task(0.0"random_class"id__"a"1)
            return 
PLUGIN_HANDLED
        
}
    }
    return 
PLUGIN_CONTINUE
}
public 
message_show_menu(msgiddestid)
{
    static 
text[6]; get_msg_arg_string(4textcharsmax(text))
    switch(
text[4])
    {
        case 
'r''S':
        {
            
set_task(0.0"random_class"id__"a"1)
            return 
PLUGIN_HANDLED
        
}
    }
    return 
PLUGIN_CONTINUE
}
public 
random_class(id)
{
    switch(
random_num(14))
    {
        case 
1engclient_cmd(id"joinclass""1")
        case 
2engclient_cmd(id"joinclass""2")
        case 
3engclient_cmd(id"joinclass""3")
        case 
4engclient_cmd(id"joinclass""4")
    }
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
Аватара пользователя
артист666
 
Сообщения: 2706
Зарегистрирован: 09 апр 2013, 17:46
Благодарил (а): 284 раз.
Поблагодарили: 639 раз.
Опыт программирования: Больше трех лет
Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn

Re: Рандомный Класс Команды

Сообщение MayroN » 31 мар 2019, 22:56

артист666,
Спасибо за помощь.Еще последнее спрошу наперед,а здесь будет работать рандом класса,если нажать Авто-выбор команды?

Если нет,то просьба добавить его и на етом решено.
МультиМод CS
Аватара пользователя
MayroN
 
Сообщения: 673
Зарегистрирован: 10 окт 2010, 18:23
Откуда: Украина, г. Белая Церковь
Благодарил (а): 149 раз.
Поблагодарили: 86 раз.
Опыт программирования: Около года
Языки программирования: На которых говорю...

Re: Рандомный Класс Команды

Сообщение артист666 » 31 мар 2019, 23:46

По идее должен.
Тут отлавливается открытие меню выбора класса.
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
Аватара пользователя
артист666
 
Сообщения: 2706
Зарегистрирован: 09 апр 2013, 17:46
Благодарил (а): 284 раз.
Поблагодарили: 639 раз.
Опыт программирования: Больше трех лет
Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn

Re: Рандомный Класс Команды

Сообщение MayroN » 01 апр 2019, 00:47

Ок.Будет результат,отпишусь
МультиМод CS
Аватара пользователя
MayroN
 
Сообщения: 673
Зарегистрирован: 10 окт 2010, 18:23
Откуда: Украина, г. Белая Церковь
Благодарил (а): 149 раз.
Поблагодарили: 86 раз.
Опыт программирования: Около года
Языки программирования: На которых говорю...

Re: Рандомный Класс Команды

Сообщение Leo_[BH] » 01 апр 2019, 04:24

MayroN писал(а):Эсть ли такой плагин,что бы после выбора команды,класс из 4 видов давался автоматически случайный(что бы меню классов непоказывалось вовсе).
Спасибо

Альтернативный громоздкой вариант:
Вы должны зарегистрироваться, чтобы видеть ссылки.
tjm_join_team "0"
tjm_switch_team "1"
tjm_class_t "5"
tjm_class_ct "5"
tjm_block_change "0"

Но лучше использовать предложенный вариант от Вы должны зарегистрироваться, чтобы видеть ссылки., если расширенный функционал плагина Team Join не требуется.
Сохраняйте историю
Аватара пользователя
Leo_[BH]
 
Сообщения: 98
Зарегистрирован: 06 апр 2014, 17:51
Откуда: UA
Благодарил (а): 9 раз.
Поблагодарили: 30 раз.
Опыт программирования: Больше трех лет

Re: Рандомный Класс Команды

Сообщение MayroN » 04 апр 2019, 22:33

артист666,
Да ,работает.И при Авто - выборе рандомный класс.

Leo
От Екселлента работает только,если стоит автовыбор команды.По другому неработает рандом класс
МультиМод CS
Аватара пользователя
MayroN
 
Сообщения: 673
Зарегистрирован: 10 окт 2010, 18:23
Откуда: Украина, г. Белая Церковь
Благодарил (а): 149 раз.
Поблагодарили: 86 раз.
Опыт программирования: Около года
Языки программирования: На которых говорю...

Re: Рандомный Класс Команды

Сообщение MayroN » 27 июл 2019, 19:42

артист666 писал(а):
Код: Выделить всё
#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)
{
    static text[6]; get_msg_arg_string(4, text, charsmax(text))
    switch(text[4])
    {
        case 'r', 'S':
        {
            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")
    }


Но заметил,что с им тупо неработает выбор меню дробовиков.

Тоисть нажимаешь B 2 - и сразу пишет по центру екрана - Сейчас данное сообщение недоступно

Что за дела
МультиМод CS
Аватара пользователя
MayroN
 
Сообщения: 673
Зарегистрирован: 10 окт 2010, 18:23
Откуда: Украина, г. Белая Церковь
Благодарил (а): 149 раз.
Поблагодарили: 86 раз.
Опыт программирования: Около года
Языки программирования: На которых говорю...

Re: Рандомный Класс Команды

Сообщение MayroN » 11 авг 2019, 23:11

Спустя 2 недели Апну :-)
flawer говорил ,что нужно указать конкретный текст здесь,что-бы меню дробашей заработало,но я так и непонял / не нашол какой
Код: Выделить всё
    static text[6]; get_msg_arg_string(4, text, charsmax(text))
    switch(text[4])
    {
        case 'r', 'S':
МультиМод CS
Аватара пользователя
MayroN
 
Сообщения: 673
Зарегистрирован: 10 окт 2010, 18:23
Откуда: Украина, г. Белая Церковь
Благодарил (а): 149 раз.
Поблагодарили: 86 раз.
Опыт программирования: Около года
Языки программирования: На которых говорю...

След.

Вернуться в Поиск плагинов

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7