Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const
- MAX_BOT_REQUEST = 3, // Максимальное кол-во запросов для бота
- MAX_BOT_REQUEST_LENGTH = 8; // Максимальная длина запросов
- new
- ADMIN_BOT_SUPPORT[MAX_BOT_REQUEST][MAX_BOT_REQUEST_LENGTH] = // Сами запросы
- {
- "/mute",
- "/prison",
- "/jail"
- },
- ADMIN_BOT_TEXT[128]; // Массив с хранением полного запроса (причина/ник)
- CMD:admin(playerid, params[])
- {
- if(/*проверка на администратора*/)
- {
- if(!(0 < strlen(params) < 90))
- return SendClientMessage(playerid, -1, !"Используйте больше 1 символа и меньше 90");
- new
- string[128];
- format(string, sizeof(string), "[A] %s [%d]: %s", /*Массив с ником админа*/, playerid, params);
- SendAdminMessage(-1, string);
- for(new k = MAX_BOT_REQUEST-1; k != -1; k--) // Перебираем все существующие запросы
- {
- if(strfind(params, ADMIN_BOT_SUPPORT[k], true) != -1) // Смотрим, присутствуют ли в тексте
- {
- strdel(params, 0, strfind(params, ADMIN_BOT_SUPPORT[k], true)); // Если да, то удаляем всё, до найденного запроса
- format(ADMIN_BOT_TEXT, sizeof(ADMIN_BOT_TEXT), "%s // %s", params, /*Массив с ником админа*/); // Сохраним запрос в массив
- format(string, sizeof(string), "%s запросил помощь о выдаче наказания. Одобрить Y, отказать N", /*Массив с ником админа*/);
- SendAdminMessage(-1 , string); // Отправим текст администраторам.
- break; // Обрываем цикл, после найденного запроса.
- }
- }
- }
- return 1;
- }
- if(newkeys == KEY_YES) // Если нажали Y
- {
- if(ADMIN_BOT_TEXT[0] != '\0')
- {
- if(/*Проверка на администратора*/)
- {
- PC_EmulateCommand(playerid, ADMIN_BOT_TEXT); // Отправим запрос
- ADMIN_BOT_TEXT[0] = EOS; // Обнулим массив.
- }
- }
- }
- else if(newkeys == KEY_NO) // Если нажали N
- {
- if(ADMIN_BOT_TEXT[0] != '\0')
- {
- if(/*Проверка на администратора*/)
- {
- new
- string[(48 + MAX_PLAYER_NAME + 1) - 2];
- format(string, sizeof(string), "[A] Администратор %s отказал в запросе о помощи", /*Массив с ником админа*/);
- SendAdminMessage(-1, string);
- ADMIN_BOT_TEXT[0] = EOS;
- }
- }
- }
- new
- Iterator:Connect_Admin<MAX_PLAYERS>; // Итератор , где будем хранить всех администраторов
- if(!Iter_Contains(Connect_Admin, /*админ*/)) Iter_Add(Connect_Admin, /*админ*/);
- if(Iter_Contains(Connect_Admin, /*админ*/)) Iter_Remove(Connect_Admin, /*админ*/);
- stock SendAdminMessage(color, const string[])
- {
- foreach(new i : Connect_Admin)
- {
- SendClientMessage(i, color, string);
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement