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

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

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

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

Регистрация на MXini

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

FaRa[oN]

Начинающий
Пользователь
Регистрация
10 Янв 2012
Сообщения
17
Лучшие ответы
0
Репутация
12
Тем кто захочет написать мод чистого листа!!

PHP:
#include <mxINI>//Регистрация
PHP:
enum pInfo
{
    pPass[64],// Масив с паролем
}
new Player[MAX_PLAYERS][pInfo];
new PAccount[MAX_PLAYERS];// Есть аккаунт, или нет
B
PHP:
 public OnPlayerRequestClass(playerid, classid)
	{
	if(PAccount[playerid] == 1)// Если аккаунт есть
	{
	ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Окно Входа","Здравствуйте\nВаш аккаунт есть на сервере\nВведите свой пароль в окошко","Ввод","");// Показываем диалог входа в игру. Стиль диалога выставляем на ввод текста.
	}
	else// Если аккаунта нет
	{
	ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Окно Регистрации","Здравствуйте\nВаш аккаунт не найден.\nЗарегистрируйтесь введя пароль в окошко","Ввод","");// Показываем диалог регистрации. Стиль диалога выставляем на ввод текста.
	}
	return 1;
}
В
PHP:
public OnPlayerConnect(playerid)
{

new playername[MAX_PLAYER_NAME];// Масив для имени игрока
    new string[128];// Путь до папки с именем игрока
    GetPlayerName(playerid,playername,sizeof(playername));// Узнаём имя игрока
    format(string,sizeof(string),"players/%s.ini", playername);// Путь к файлу с аккаунтом
    if(fexist(string))// Проверка на файл, если он есть то выполняется следующее действие.
    {
        PAccount[playerid] = 1;// Аккаунт есть
    }
    else// Если файла с именем нет, то выполняется это действие.
    {
        PAccount[playerid] = 0;// Аккаунта нет
    }
	return 1;
}
PHP:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == 1)// Ид диалога Для Логина
    {
        if(response)// Если игрок нажал первую кнопку входа
        {
            if(!strlen(inputtext))// Если окно ввода пустое, выводим диалог снова
            {
                ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Окно Входа","Здравствуйте\nВаш аккаунт есть на сервере\nВведите свой пароль в окошко","Ввод","");// Показываем диалог входа в игру.
                return 1;
            }
            new pass[64];// Масив с паролем
            strmid(pass,inputtext,0,strlen(inputtext),64);// Считываем текст с диалога
            OnPlayerLogin(playerid,pass);// Запускаем паблик входа
        }
        else// Если игрок нажал Esc, вернём ему диалог
        {
            ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Окно Входа","Здравствуйте\nВаш аккаунт есть на сервере\nВведите свой пароль в окошко","Ввод","");// Показываем диалог входа в игру.
        }
    }
	if(dialogid == 2)// Ид диалога для регистрации
    {
        if(response)// Если игрок нажал первую кнопку
        {
            if(!strlen(inputtext))// Если окно ввода пустое, выводим диалог снова
            {
                ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Окно Регистрации","Здравствуйте\nВаш аккаунт не найден.\nЗарегистрируйтесь введя пароль в окошко","Ввод","");// Показываем диалог регистрации.
                return 1;
            }
            new pass[64];// Масив с паролем
            strmid(pass,inputtext,0,strlen(inputtext),64);// Считываем текст с диалога
            OnPlayerRegister(playerid,pass);// Запускаем паблик регистрации
        }
        else// Если игрок нажал Esc, вернём ему диалог
        {
            ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Окно Регистрации","Здравствуйте\nВаш аккаунт не найден.\nЗарегистрируйтесь введя пароль в окошко","Ввод","");// Показываем диалог регистрации.
        }
    }
	return 1;
}
Добавляем в конец мода
PHP:
forward OnPlayerLogin(playerid,password[]);
public OnPlayerLogin(playerid,password[])
{
    if(IsPlayerConnected(playerid))// Проверка на подключение игрока
    {
        new string[64];// Масив с путём для файла
        new pass[64];// Масив с паролем
        new playername[MAX_PLAYER_NAME];// Масив для получения имени игрока
        GetPlayerName(playerid, playername, sizeof(playername));// Получаем Имя игрока
        format(string,sizeof(string), "players/%s.ini", playername);// Добавляем имя игрока, в путь для загрузки
        new iniFile = ini_openFile(string);// Открываем файл
        ini_getString(iniFile,"Pass",pass,64);// Загружаем пароль
        if(strcmp(pass,password,true) == 0)// Если введёный пароль, соответсвует паролю при регистрации, то загружаем акк
        {
            ini_getString(iniFile,"Pass",Player[playerid][pPass],64);// Загружаем пароль
            ini_closeFile(iniFile);// Закрываем файл
        }
        else// Если пароль не верен..
        {
            ini_closeFile(iniFile);// Закрываем файл
            ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Окно Входа","Здравствуйте\nВаш аккаунт есть на сервере\nВведите свой пароль в окошко","Ввод","");// Показываем диалог входа в игру.
            return 1;
        }
        SendClientMessage(playerid,0xFF00000,"Добро пожаловать на наш сервер");// Выводим игрок сообщение
        SpawnPlayer(playerid);// Спавним игрока
    }
    return 1;
}

orward OnPlayerRegister(playerid, password[]);
public OnPlayerRegister(playerid, password[])// Паблик регистрации
{
    if(IsPlayerConnected(playerid))
    {
        new string[64];// Масив с путём для файла
        new playername[MAX_PLAYER_NAME];// Масив для получения имени игрока
        GetPlayerName(playerid, playername, sizeof(playername));// Получаем Имя игрока
        format(string,sizeof(string), "players/%s.ini", playername);// Добавляем имя игрока, в путь для сохранения
        new iniFile = ini_createFile(string);// Создаём файл с именем игрока в папке players
        if(iniFile < 0)// Если Файла нет
        {
            iniFile = ini_openFile(string);// Открываем
        }
        if(iniFile >= 0)// Если файл есть
        {
            strmid(Player[playerid][pPass],password,0,strlen(password),255);// Присваиваем масиву pPass, значение password[]
            ini_setString(iniFile,"Pass",Player[playerid][pPass]);// Записываем пароль игрока в файл
            ini_closeFile(iniFile);// Закрываем файл
            ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Окно Входа","Здравствуйте\nВаш аккаунт есть на сервере\nВведите свой пароль в окошко","Ввод","");// Показываем диалог входа в игру.
        }
    }
    return 1;
}


stock SavePlayer(playerid)
{
    new string[64];// Масив с путём для файла
    new playername[MAX_PLAYER_NAME];// Масив для получения имени игрока
    GetPlayerName(playerid, playername, sizeof(playername));// Получаем Имя игрока
    format(string, sizeof(string), "players/%s.ini", playername);// Добавляем имя игрока, в путь для сохранения
    iniFile = ini_openFile(string);// Открываем файл по тому пути который указали.
    ini_setString(iniFile,"Pass",Player[playerid][pPass]);// Записываем пароль игрока в файл
    ini_closeFile(iniFile);// Закрываем файл
}

PHP:
В ПАПКЕ "scriptfiles" создайте папку "player" там будут храниться ваши аккаунты
АВТОР:vovan228
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу