- Регистрация
- 1 Авг 2012
- Сообщения
- 322
- Лучшие ответы
- 0
- Репутация
- 160
Доброго времени суток, уважаемые Юзеры P-I.
Вот мой очередной мануал, для new.pwn. (MX_INI) (ZCMD + sscanf)
Что же представляет из себя "Пароль Администрирования"
- При выдачи Уровня администрирования, у игрока будет личный пароль к Админ панели ( random ).
и так, как же это будет выглядеть?:
При выдаче командой админки, игроку высвечивается это окно:
При использовании любой функции админки, игроку будет высвечиваться окно ввода пароля:
так же можно будет поменять поменять командой /changealogin:
Начнем. Ко всем переменным new:
В
ко всем #define:
В вашу команду выдачи админки. У всех поразному: /makeadmin , /setadmin. Где нибудь в ней:
Далее создадим команду авторизации, без принуждения '/alogin':
Далее наш диалог:
в
Команда на смену пароля:
Пример использования:
Все.
Автор: Nourthmar ( видел в каком то моде, но не смог найти, сам написал).
По этой системе можно сделать: VISA card.
______________________________________ Дополнение _______________________________________
Для тех у кого нет командного процессора:
Вот мой очередной мануал, для new.pwn. (MX_INI) (ZCMD + sscanf)
Что же представляет из себя "Пароль Администрирования"
- При выдачи Уровня администрирования, у игрока будет личный пароль к Админ панели ( random ).
и так, как же это будет выглядеть?:
При выдаче командой админки, игроку высвечивается это окно:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
При использовании любой функции админки, игроку будет высвечиваться окно ввода пароля:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
так же можно будет поменять поменять командой /changealogin:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Начнем. Ко всем переменным new:
PHP:
new PAvtorizate[MAX_PLAYERS];
new Pavtorizate[MAX_PLAYERS]; // это переменные, которые будут отвечать за авторизацию в Админ панели.
PHP:
enum pInfo
PHP:
pAvtorizate[128] // и делаем сохранение.
PHP:
#define ADMINS_LOGIN PlayerInfo[playerid][pAdmin]
#define SCM SendClientMessage
#define SPD ShowPlayerDialog
PHP:
new adminpass = 1000 + random(89999);
PlayerInfo[playerid][pAvtorizate] = adminpass;
format(string, sizeof(string), "Ваш пароль 'Администрирования!' %d\n", PlayerInfo[playerid][pAvtorizate]);
SPD(playerid,playerid,DIALOG_STYLE_MSGBOX, "Информация",string, "Готово", "Выход");
PHP:
CMD:alogin(playerid, params[])
{
if(Pavtorizate[playerid] == 0)
{
SPD(playerid,3,DIALOG_STYLE_INPUT, "Информация", "Введите личный пароль 'Администрирования':\n", "Авторизация", "Выход");
}
else SCM(playerid,COLOR_GREY,"[Ошибка]: Вы уже авторизовались!");
}
в
PHP:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
PHP:
case 3:
{
if(response)
{
if(!strlen(inputtext)) return SPD(playerid,3,DIALOG_STYLE_INPUT, "Информация", "Введите личный пароль 'Администрирования':\n", "Авторизация", "Выход");
PAvtorizate[playerid] = strval(inputtext);
if(Pavtorizate[playerid] == 1) return SCM(playerid, COLOR_GREY, "[Ошибка]: Вы уже авторизовались!");
if(PAvtorizate[playerid] == PlayerInfo[playerid][pAvtorizate])
{
if(ADMINS_LOGIN <= 0) return SCM(playerid, COLOR_GREY, "[Ошибка]: Вы не имеете правно для авторизации!");
Pavtorizate[playerid] = 1;
SCM(playerid,COLOR_WHITE,"[Успех]: Вы успешно авторизовались!");
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
return true;
}
else SCM(playerid,COLOR_GREY,"[Ошибка]: Пароль введен неверно!");
{
return true;
}
}
else
{
return true;
}
}
PHP:
CMD:changealogin(playerid, params[])
{
if(ADMINS_LOGIN <= 2) return true;
new string[70],
sendername[MAX_PLAYER_NAME], adminpass;
GetPlayerName(playerid, sendername, sizeof(sendername));
if(sscanf(params,"d", adminpass)) return SCM(playerid, COLOR_WHITE, "[Используйте]: /changealogin [ключ]");
PlayerInfo[playerid][pAvtorizate] = adminpass;
format(string,sizeof(string), "gamefiles/%s.ini",sendername);
new File=ini_openFile(string);
ini_setString(File, "Avtorizate",PlayerInfo[playerid][pAvtorizate]);
ini_closeFile(File);
format(string, sizeof(string), "[Успеx]: Пароль успешно изменен. Новый пароль: {FFFFFF}%d{FFA500}", PlayerInfo[playerid][pAvtorizate]);
SendClientMessage(playerid, COLOR_WHITE, string);
return true;
}
PHP:
if(Pavtorizate[playerid] == 0) return SPD(playerid,3,DIALOG_STYLE_INPUT, "Информация", "Введите личный пароль 'Администрирования':\n", "Авторизация", "Выход");
PHP:
Pavtorizate[playerid] == 0 // это если админ ещё не авторизовался.
Автор: Nourthmar ( видел в каком то моде, но не смог найти, сам написал).
По этой системе можно сделать: VISA card.
______________________________________ Дополнение _______________________________________
Для тех у кого нет командного процессора:
PHP:
if(strcmp(cmd, "/alogin", true) == 0)
{
if(ADMINS_LOGIN => 1) return true;
if(Pavtorizate[playerid] == 0)
{
SPD(playerid,3,DIALOG_STYLE_INPUT, "Информация", "Введите личный пароль 'Администрирования':\n", "Авторизация", "Выход");
}
else SCM(playerid,COLOR_GREY,"[Ошибка]: Вы уже авторизовались!");
}
if(strcmp(cmd, "/changealogin", true) == 0)
{
if(ADMINS_LOGIN <= 2) return true;
new string[70],
sendername[MAX_PLAYER_NAME], adminpass;
GetPlayerName(playerid, sendername, sizeof(sendername));
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /changealogin [ключ]");
new adminpass = strval(tmp);
PlayerInfo[playerid][pAvtorizate] = adminpass;
format(string,sizeof(string), "gamefiles/%s.ini",sendername);
new File=ini_openFile(string);
ini_setString(File, "Avtorizate",PlayerInfo[playerid][pAvtorizate]);
ini_closeFile(File);
format(string, sizeof(string), "[Успеx]: Пароль успешно изменен. Новый пароль: {FFFFFF}%d{FFA500}", PlayerInfo[playerid][pAvtorizate]);
SendClientMessage(playerid, COLOR_WHITE, string);
return true;
}
Последнее редактирование: