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

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

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

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

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Запрос на замену команды

Статус пользователя tReat
сообщение 17.5.2021, 21:10
Сообщение #1
Стаж: 9 лет 5 месяцев
Город: Москва

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

надо чтоб НЕ наблюдатель писал /ask, а игрок либо за CT либо за T, если допустим ЕСТЬ ДЕЙСТВУЮЩИЕ наблюдатели только тогда запрос подаётся, и если НАБЛЮДАТЕЛЬ нажимает (1 т.е Да ) кто отправляет запрос автоматически выходит с сервера и ему выдаётся окно (Вас заменили).

Код
#include <amxmodx>
#include <reapi>

#pragma semicolon 1
#pragma compress 1

new g_iAskID[MAX_PLAYERS + 1];

public plugin_init()
{
    register_plugin("", "", "xD");
    register_menucmd(register_menuid("Show_AskMenu"), MENU_KEY_1 | MENU_KEY_2, "Handle_AskMenu");
    register_clcmd("say /ask", "ClCmd_Ask");
}

public ClCmd_Ask(id)
{
    g_iAskID[id] = id;
    for(new i = 1; i <= MaxClients; i++) if(get_member(i, m_iTeam) == 3) Show_AskMenu(i);
}

Show_AskMenu(id)
{
    new szMenu[MAX_MENU_LENGTH],
    iLen = formatex(szMenu, charsmax(szMenu), "\yХочешь вступить в игру?^n^n");
    
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y1. \wДа^n");
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y2. \wНет^n");
    
    return show_menu(id, MENU_KEY_1 | MENU_KEY_2, szMenu, -1, "Show_AskMenu");
}

public Handle_AskMenu(id, iKey)
{
    switch(iKey)
    {
        case 0:
        {
            if(get_member(id, m_iTeam) == 3 && get_member(g_iAskID[id], m_iTeam) != 3)
            {
                new iTeamID = get_member(g_iAskID[id], m_iTeam);
                rg_set_user_team(id, iTeamID);
                rg_set_user_team(g_iAskID[id], 3);
                g_iAskID[id] = 0;
                for(new i = 1; i <= MaxClients; i++) if(get_member(i, m_iTeam) == 3) show_menu(i, 0, "", 1);
            }
        }
        case 1: return;
    }
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: