Перейти к содержанию
Авторизация  
Max_Mister

Simple "Admin Duty" или Самый простой способ для выхода админа на дежурство

Рекомендуемые сообщения

Max_Mister

Начнем без вступления. 

 

Вставляем все в мод:

 

1. Массивы для хранения информации:

 

new bool:aduty[MAX_PLAYERS];//Проверка, true-админ на дежурстве, false-нетnew playercolor[MAX_PLAYERS];//Массив с цветом игрока до выхода на дежурство

2. Команда. Вставлять в public OnPlayerCommandText

 

if (strcmp("/aduty", cmdtext, true) == 0) {if(aduty[playerid] == true) {aduty[playerid] = false;SendClientMessage(playerid, 0xFFFF00AA, "Вы ушли с дежурства!");  SetPlayerColor(playerid, playercolor[playerid]);} else {if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFF00AA, "Вы не администратор!");//Проверку ставить свою, тут проверка на RCON!!!ShowPlayerDialog(playerid, 9988, DIALOG_STYLE_INPUT, "Введите пароль","Введите пароль для выхода на дежурство","ОК","Отмена");}return true;}

3. Диалог для ввода пароля

 

if(dialogid == 9988){if(response) //Если была нажата 1 кнопка{if(!strlen(inputtext)) //Если в поле не был введен текст при отправке{SendClientMessage(playerid,0xFFFF00AA,"Пароль не был написан!");return 1;}else{new adminpass[64] = "1111";if(strcmp(inputtext, adminpass, false) == 0) {new name[MAX_PLAYER_NAME];GetPlayerName(playerid, name, sizeof(name));new message[55];format(message, sizeof(message), "Администратор %s вышел на дежурство!", name);SendClientMessageToAll(0xFF6347AA, message);playercolor[playerid] = GetPlayerColor(playerid);SetPlayerColor(playerid, 0xFF6347AA);GivePlayerWeapon(playerid, 30, 1000);//ak47aduty[playerid] = true;}else {SendClientMessage(playerid, 0xFFFF00AA, "Пароль не верный!");Kick(playerid);}}}}

Ну, вроде все :)

 

Теперь о том, что нужно поменять!

Так как я тестил это дело на симпле, менять под свой мод нужно следующее:

 

1. Проверка на администратора: в данном случае проверка на RCON администратора. Вы ставьте свою

2. Можете поменять выдачу оружия, или вообще ее удалить.

3. Самое главное: пароль. Меняется тут: new adminpass[64] = "1111";. 1111 меняйте на свой!

4. Ну и, если хотите, другие цвета и цветовые модификаторы

 

Чтобы проверить администратора на дежурстве, достаточно приписать проверку:

if(aduty[playerid] == false) return SendClientMessage(playerid, -1, "Вы не на дежурстве!");

Автор: Max_Mister

  • Like 3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Sanek666

:) можно еще сделать проверку на репорт ) когда адм на дежурстве =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Amfy

ID диалога в команде 0, а в колбэке 9988. - исправь)

и зачем здесь Администратор %s вышел на дежурство! выделять 256 ячеек? 55 вполне хватает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Max_Mister

ID диалога в команде 0, а в колбэке 9988. - исправь)

и зачем здесь Администратор %s вышел на дежурство! выделять 256 ячеек? 55 вполне хватает.

Спасибо :D Не учел :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
John_Smith

Закрыто. Причина: не активность более 5-ти суток.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.