Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Простая админ.авторизация

Статус
В этой теме нельзя размещать новые ответы.

gangzone.ini

Компетентный

player_info = Обычно используют PlayerInfo
player_admin = Обычно используют pAdmin


В начало мода:
PHP:
new admin_password = 123456; // Админ.пароль, используйте свой.
new bool: admin_acces[MAX_PLAYERS] = false;
public OnPlayerDisconnect(playerid, reason) :
PHP:
admin_acces[playerid] = false;
DC_CMD + case:
В начале мода:
PHP:
#define dialog_alogin 4 //Меняем на свободный ID диалога
Команды:
PHP:
CMD:alogin(playerid,params[])
{
    if(player_info[playerid][player_admin] < 1) return true;
    if(admin_acces[playerid] == true) return SendClientMessage(playerid, 0xAFAFAFAA, "Вы уже авторизовались как администратор");
    ShowPlayerDialog(playerid, dialog_alogin, DIALOG_STYLE_INPUT, "Авторизация", "{ffffff}Для получения всех административных\nпривилегий, введите код в строку ниже.\nПри неправильном вводе, Вы будите {FE2002}кикнуты.\n", "Вход", "Отмена");
	return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) :
PHP:
case dialog_alogin:
{
    new string_alogin[36];
    if(strval(inputtext) != admin_password || !response) return SendClientMessage(playerid, 0xFF5030AA,"Вы отказались от ввода защитного кода и были кикнуты !"), kick_server(playerid);
    admin_acces[playerid] = true;
    format(string_alogin, sizeof(string_alogin), "Вы вошли как администратор %d уровня", player_info[playerid][player_admin]);
    SendClientMessage(playerid, 0xFFFF00AA, string_alogin);    
    return 1;
}

OnPlayerCommandText + dialogid
public OnPlayerCommandText(playerid, cmdtext[]) :
PHP:
if(strcmp(cmd, "/alogin", true) == 0)
{
    if(player_info[playerid][player_admin] < 1) return true; 
    if(admin_acces[playerid] == true) return SendClientMessage(playerid, 0xAFAFAFAA, "Вы уже авторизовались как администратор"); 
    ShowPlayerDialog(playerid, 4 /*4 меняем на свободный диалог*/, DIALOG_STYLE_INPUT, "Авторизация", "{ffffff}Для получения всех административных\nпривилегий, введите код в строку ниже.\nПри неправильном вводе, Вы будите {FE2002}кикнуты.\n", "Вход", "Отмена"); 
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) :
PHP:
if(dialogid == 4) //Меняем на свободный диалог
{
    new string_alogin[36];
    if(strval(inputtext) != admin_password || !response) return SendClientMessage(playerid, 0xFF5030AA,"Вы отказались от ввода защитного кода и были кикнуты !"), kick_server(playerid);
    admin_acces[playerid] = true;
    format(string_alogin, sizeof(string_alogin), "Вы вошли как администратор %d уровня", player_info[playerid][player_admin]);
    SendClientMessage(playerid, 0xFFFF00AA, string_alogin);
    return 1;
}
Если хотите что бы команды можно было использовать после админ.авторизации, вставляйте в начало команды:
PHP:
if(admin_acces[playerid] == false) return 1;
Пояснение: если Вы на авторизовались, то команда не будет работать.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу