Доступ к архиву

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

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

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

[Мануал] Регистрация

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

I'm Cobra

Эксперт
Пользователь
Регистрация
12 Май 2012
Сообщения
1,051
Лучшие ответы
0
Репутация
430
Здравствуйте уважаемые пользователи данного портала.Я бы хотел Вам рассказать как создать регистрацию с помощью include mxINI.
В место звездочек пробелы
Добавим в начало мода( ко всем #include)
PHP:
#include <mxINI>
Добавим ко всем #define:
PHP:
#define DIALOG_LOGIN 1
#define DIALOG_REGISTER 2
После переменных(после всех new;")
PHP:
enum pInfo{
****pSpawn,
****pMoney
};
new PlayerInfo[MAX_PLAYERS][pInfo];
Теперь найдём
PHP:
public OnPlayerConnect(playerid)
и сразу после
PHP:
public OnPlayerConnect(playerid)
{
добавляем:
PHP:
new string[128],stringer[512];
********new NamePlayer[40];
********GetPlayerName(playerid, NamePlayer, 40);
********format(string, sizeof(string), "%s.ini", NamePlayer);
********if(fexist(string))
********{
************format(stringer, 512, "{ffffff}Привет, %s.\n\
**************************************** Вы зашли на сервер ИМЯСЕРВЕРА.\n\
**************************************** Этот ник уже зарегистрирован на сервере..\n\
****************************************Приятной игры.", NamePlayer);
************ShowPlayerDialog(playerid, DIALOG_LOGIN , DIALOG_STYLE_PASSWORD, "Авторизация.", stringer, "Ок", "Выход");
********}
********else
********{
************format(stringer, 512, "{ffffff}Привет, %s.\n\
**************************************** Вы зашли на сервер ИМЯСЕРВЕРА.\n\
**************************************** Этот ник еще не зарегистрирован на сервере..\n\
****************************************Приятной игры.", NamePlayer);
************ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Регистрация.", stringer, "Ок", "Выход");
********}
Всё основное мы создали,теперь ответственная часть,мы должны создать сам диалог,ищем:
PHP:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
если его нет,то создаём,и вставляем:
PHP:
new stringer[256];
****new NamePlayer[40];
****GetPlayerName(playerid, NamePlayer, 40);
****if(dialogid == DIALOG_REGISTER)
****{
********if(response)
********{
************if(!strlen(inputtext))
************{
****************format(stringer, 512, "{ffffff}Привет, %s.\n\
**************************************** Вы зашли на сервер ИМЯСЕРВЕРА.\n\
**************************************** Этот ник еще не зарегистрирован на сервере..\n\
****************************************Приятной игры.", NamePlayer);
****************ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Регистрация.", stringer, "Ок", "Выход");
****************return 1;
************}
************OnPlayerRegister(playerid, inputtext);
************return 1;
********}
********else
********{
************SendClientMessage(playerid, COLOR_WHITE, "Вы не зарегистрировались, и были кикнуты.");
************Kick(playerid);

********}
********return 1;
****}
****if(dialogid == DIALOG_LOGIN)
****{
********if(response)
********{
************if(!strlen(inputtext))
************{
****************format(stringer, 512, "{ffffff}Привет, %s.\n\
**************************************** Вы зашли на сервер ИМЯСЕРВЕРА.\n\
**************************************** Этот ник уже зарегистрирован на сервере..\n\
****************************************Приятной игры.", NamePlayer);
****************ShowPlayerDialog(playerid, DIALOG_LOGIN , DIALOG_STYLE_PASSWORD, "Авторизация.", stringer, "Ок", "Выход");
****************return 1;
************}
************OnPlayerLogin(playerid, inputtext);
************return 1;
********}
********else
********{
************SendClientMessage(playerid, COLOR_WHITE, "Вы не авторизовались, и были кикнуты.");
************Kick(playerid);

********}
****}
Чтобы аккаунт не слетал,мы должны создать стоки авторизации,и регистрации,создаём:

PHP:
stock OnPlayerRegister(playerid, password[])
{
****new string[255], PlayerName[40];
****GetPlayerName(playerid, PlayerName, 40);
****format(string, 64, "%s.ini", PlayerName);
****new iniFile = ini_createFile(string);
****if(iniFile < 0) iniFile = ini_openFile(string);
****ini_setString(iniFile, "Password", password);
****ini_setInteger(iniFile, "Money",0);
****ini_closeFile(iniFile);
****OnPlayerLogin(playerid, password);
****return 1;
}
stock OnPlayerLogin(playerid, password[])
{
****new string[512], NamePlayer[40], Password[32];
****GetPlayerName(playerid, NamePlayer, 40);
****format(string, 64, "%s.ini", NamePlayer);
****if(fexist(string))
****{
********new iniFile = ini_openFile (string);
********ini_getString(iniFile, "Password", Password);
********if(!strcmp(Password, password, true))
********{
************ini_getInteger(iniFile, "Spawn", PlayerInfo[playerid][pSpawn]);
************ini_getInteger(iniFile, "Money", PlayerInfo[playerid][pMoney]);
************ini_closeFile(iniFile);
************GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
************SpawnPlayer(playerid);
************return 1;
********}
********else
********{
************SendClientMessage(playerid,COLOR_WHITE,"Вы ввели неверный пароль.");
************format(string, 512, "{ffffff}Привет, %s.\n\
**************************************** Вы зашли на сервер ИМЯСЕРВЕРА.\n\
**************************************** Этот ник уже зарегистрирован на сервере..\n\
****************************************Приятной игры.", NamePlayer);
************ShowPlayerDialog(playerid, DIALOG_LOGIN , DIALOG_STYLE_PASSWORD, "Авторизация.", string, "Ок", "Выход");
************return 1;
********}
****}
****return 1;
}

stock OnPlayerSave(playerid)
{
****PlayerInfo[playerid][pMoney] = GetPlayerMoney(playerid);
****new string[128], PlayerName[40];
****GetPlayerName(playerid, PlayerName, 40);
****format(string, sizeof(string), "%s.ini", PlayerName);
****new iniFile = ini_openFile (string);
****ini_setInteger(iniFile, "Spawn",PlayerInfo[playerid][pSpawn]);
****ini_setInteger(iniFile, "Money",PlayerInfo[playerid][pMoney]);
****ini_closeFile(iniFile);
****return 1;
}

Чтобы компилировалось без ошибок(error`ов),скачиваем include mxINI:
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу