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

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

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

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

Ограничение команд

Статус пользователя Ilya Korenkov
сообщение 22.11.2014, 21:51
Сообщение #1


Стаж: 14 лет

Сообщений: 84
Благодарностей: 54
Полезность: 338

Помогите сделать ограничение для команды, чтобы ее можно было выполнять только 1 раз за карту. например: команда sv_restartround 1
Буду благодарен thank_you2.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Ilya Korenkov
сообщение 26.11.2014, 14:58
Сообщение #2


Стаж: 14 лет

Сообщений: 84
Благодарностей: 54
Полезность: 338

up!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 26.11.2014, 15:02
Сообщение #3


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

Ilya Korenkov, ну вы хоть код то киньте в котором это нужно реализовать.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Ilya Korenkov
сообщение 26.11.2014, 16:13
Сообщение #4


Стаж: 14 лет

Сообщений: 84
Благодарностей: 54
Полезность: 338

Код:
#include <amxmodx>
#include <amxmisc>
#include <colorchat>

const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_9|MENU_KEY_0

public plugin_init()
{
register_plugin("Admin Menu", "1.0", "ill")
register_clcmd("amxmodmenu", "press_menu")
register_clcmd("say /admin", "press_menu")
register_clcmd("say_team /admin", "press_menu")
register_menu("Admin Menu", KEYSMENU, "admin_menu")
}

public press_menu(id)
{
if(!(get_user_flags(id) & ADMIN_MENU))
{
ColorChat(id, RED, "У вас недостаточно прав для использования этой команды!")
return PLUGIN_HANDLED
}
show_admin_menu(id)

return PLUGIN_HANDLED
}

public show_admin_menu(id)
{
static menu[450], len
len = 0

len += formatex(menu[len], charsmax(menu) - len, "\yМеню Администратора^n^n")
len += formatex(menu[len], charsmax(menu) - len, "\r1. \wКикнуть игрока^n")
len += formatex(menu[len], charsmax(menu) - len, "\r2. \wЗабанить игрока^n")
len += formatex(menu[len], charsmax(menu) - len, "\r3. \wУдарить/Убить^n")
len += formatex(menu[len], charsmax(menu) - len, "\r4. \wКоманда игрока^n")
len += formatex(menu[len], charsmax(menu) - len, "\r5. \wРестарт карты^n")
len += formatex(menu[len], charsmax(menu) - len, "\r6. \wЗапуск голосования за карту^n^n")

len += formatex(menu[len], charsmax(menu) - len, "\r0. \wВыход")

show_menu(id, KEYSMENU, menu, -1, "Admin Menu")

}

public admin_menu(id, key)
{
switch (key)
{
case 0: client_cmd(id, "amx_kickmenu")
case 1: client_cmd(id, "amx_banmenu")
case 2: client_cmd(id, "amx_slapmenu")
case 3: client_cmd(id, "amx_teammenu")
case 4: server_cmd("sv_restartround 1")
case 5: client_cmd(id, "umm_votemap")
}
return PLUGIN_CONTINUE
}

еще хотелось бы, чтобы в чате админу писало. "Превышено максимальное кол-во рестартов!"

за помощь могу отплатить smile.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Stimul1
сообщение 26.11.2014, 17:21
Сообщение #5


Стаж: 13 лет

Сообщений: 227
Благодарностей: 262
Полезность: 977

Ilya Korenkov, с тебя 1000 рублей.

Код:
#include <amxmodx>

#if AMXX_VERSION_NUM < 183
#include <colorchat>

#define client_print_color ColorChat
#define print_team_red RED
#endif

#define PLUGIN "Amx Mod Menu"
#define VERSION "1.0"
#define AUTHOR "Stimul"

#define MAX_CLIENTS 32
#define MAX_CHARS 512

new bool:g_bRestartRound[MAX_CLIENTS+1];

new g_pRestartRound;

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);

register_clcmd("amxmodmenu", "CmdAmxModMenu");

register_menucmd(register_menuid("AmxModMenu"), 1023, "ActionAmxModMenu");

g_pRestartRound = get_cvar_pointer("sv_restartround");
}

public CmdAmxModMenu(id)
{
get_user_flags(id) & ADMIN_MENU ? AmxModMenu(id) : client_print_color(id, print_team_red, "^3У вас недостаточно прав для использования этой команды!");

return PLUGIN_HANDLED;
}

public AmxModMenu(id)
{
static szMenu[MAX_CHARS];

new iKeys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_0;

new iLen;

iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\yМеню Администратора^n^n");
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r1. \wКикнуть игрока^n");
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r2. \wЗабанить игрока^n");
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r3. \wУдарить/Убить^n");
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r4. \wКоманда игрока^n");
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r5. \%sРестарт карты^n", g_bRestartRound[id] ? "d" : "w");
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r6. \wЗапуск голосования за карту^n^n");

iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r0. \wВыход");

show_menu(id, iKeys, szMenu, -1, "AmxModMenu");
}

public ActionAmxModMenu(id, iKey)
{
switch(iKey)
{
case 0: client_cmd(id, "amx_kickmenu");
case 1: client_cmd(id, "amx_banmenu");
case 2: client_cmd(id, "amx_slapmenu");
case 3: client_cmd(id, "amx_teammenu");
case 4:
{
if(!g_bRestartRound[id])
{
set_pcvar_num(g_pRestartRound, 1);
g_bRestartRound[id] = true;
}
else
client_print_color(id, print_team_red, "^3Превышено максимальное кол-во рестартов!")
}
case 5: client_cmd(id, "umm_votemap");
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя Ilya Korenkov
сообщение 26.11.2014, 17:38
Сообщение #6


Стаж: 14 лет

Сообщений: 84
Благодарностей: 54
Полезность: 338

воу, воу палихчи паринь smile.gif
100 рублей твои, кинь свой вм в лс
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: