Для начала нужно сделать все как в уроке: Диалог система
Далее нам нужен easyini. Скачать можно тут - Ссылка
И сразу его подключим. Для этого в верху мода вставим

Код:
dofile("scripts/easyini.nut");

Ко всем const

Код:
// Цвета
const Red         = 0xFF0000AA;
const Dark_blue     = 0x0000FFAA;
const Lemon     	= 0xDDDD2357;

Сделаем переменную игроку

Код:
local users = {};

Туда же вставим

Код:
local Logged = array(getPlayerSlots(), 0);
local LogOut = array(getPlayerSlots(), 0);

Теперь в onPlayerJoin(playerid)

Код:
users[playerid] <- {};
	users[playerid].admin <- 0;
	users[playerid].sex <- 0;
	users[playerid].skin <- 0;
	users[playerid].health <- 0;
        users[playerid].money <- 0;
        setPlayerSpawnLocation(playerid, /*-341.36, 1144.80, 14.79, 40.114815*/1649.508179, 395.261627, 38.151573, -2.931725);
        Logged[playerid] = 0;LogOut[playerid] = 0;

Далее в onPlayerSpawn(playerid)

Код:
if(Logged[playerid] == 0)
	{
    sendMessageToAll(getPlayerName(playerid) + " (" + playerid + ") присоединился к нам.");
    setPlayerCameraPos(playerid, -605.4317, -652.8373, 85.5848);
    setPlayerCameraLookAt(playerid, -613.1234, -757.4556, 79.9492);
    if(!fileExists("Accounts/" + getPlayerName(playerid) + ".ini"))
    {
    	showPlayerDialog(playerid, 1, 1, "Регистрация на A-RPG", "Добро пожаловать!!\nПридумайте себе пароль", "OK", "Cancel");
    }
    else if(fileExists("Accounts/" + getPlayerName(playerid) + ".ini")) 
    {
    	showPlayerDialog(playerid, 2, 1, "Авторизация на A-RPG", "Добро пожаловать!!\nВведите свой пароль", "OK", "Cancel");
    }
	}
	else if(Logged[playerid] == 1)
	{
               setPlayerCoordinates(playerid, 1054.174438, -544.445007, 19.206417);
        }

Долее сделаем функции

Код:
function onPlayerRegister(playerid,password)
{
	if(Logged[playerid] == 0)
	{
    if(!fileExists("Accounts/"+getPlayerName(playerid)+".ini"))
    {
    	local pass = password.tostring();
    	local pFile = EasyINI("Accounts/"+getPlayerName(playerid)+".ini");
    	pFile.setKey("Account Settings", "Password", pass.tostring());
    	pFile.setKey("Account Settings", "Admin Level", "0");
    	pFile.setKey("Account Settings", "Skin", "0");
    	pFile.setKey("Account Settings", "Sex", "0");
                        pFile.setKey("Stats", "Health", "100");
                        pFile.setKey("Stats", "Money", "150000");
                        pFile.saveData();
    	users[playerid].money = 150000;
                        sendPlayerMessage(playerid, "Вы зарегистрировались! Не забудьте ваш пароль!", 0xFF0000AA);
    	showPlayerDialog(playerid, 3, 0, "Выбор пола", "Кто Вы?", "Man", "Девушка");
                 }
    else
    {
    	sendPlayerMessage(playerid, "Такой ник уже есть, выбери другой!", Red);
    }
	}
	else
	{
    sendPlayerMessage(playerid, "Вы уже вошли!", Red);
	}
	
    return true;
}
Код:
function onPlayerLogin(playerid,password)
{
	if(Logged[playerid] == 0)
	{
    if(fileExists("Accounts/"+getPlayerName(playerid)+".ini"))
    {
    	local pFile = EasyINI("Accounts/"+getPlayerName(playerid)+".ini");
    	local pass = password.tostring();
    	if(pass == pFile.getKey("Account Settings", "Password"))
    	{
        sendPlayerMessage(playerid, "Вы удачно зашли!", Red, false);
        togglePlayerControls(playerid, true)
        users[playerid].admin = pFile.getKey("Account Settings", "Admin Level").tointeger();
        users[playerid].skin = pFile.getKey("Account Settings", "Skin").tointeger();
        users[playerid].sex = pFile.getKey("Account Settings", "Sex").tointeger();
                                users[playerid].health = pFile.getKey("Stats", "Health").tointeger();
                                users[playerid].money = pFile.getKey("Stats", "Money").tointeger();
                                Logged[playerid] = 1;
        pFile.saveData();
        setPlayerModel(playerid, users[playerid].skin);
        setPlayerHealth(playerid, users[playerid].health);
        setPlayerMoney(playerid, users[playerid].money);
        resetPlayerCamera(playerid);
        displayPlayerText (playerid, 0.2, 0.6, "Welcome to A-RPG", 5000);
                                onPlayerSpawn(playerid);
                          }
    	else
    	{
        if(LogOut[playerid] == 2) return sendPlayerMessage(playerid, "Неверный пароль! Наберите /q чтобы выйти!", Red);
        if(LogOut[playerid] == 0)
        {
            sendPlayerMessage(playerid, "Неверный пароль! У Вас еще 2 попытки!", Red);
        	LogOut[playerid]++;
        	showPlayerDialog(playerid, 2, 1, "Авторизация на A-RPG", "Добро пожаловать!!\nВведите свой пароль", "OK", "Cancel"); 
        }
        else if(LogOut[playerid] == 1)
        {
            sendPlayerMessage(playerid, "Неверный пароль! У Вас еще 1 попытка!", Red);
        	LogOut[playerid]++;
        	showPlayerDialog(playerid, 2, 1, "Авторизация на A-RPG", "Добро пожаловать!!\nВведите свой пароль", "OK", "Cancel"); 
        }
    	}
    }
    else
    {
    	sendPlayerMessage(playerid, "Вы не зарегистрировались!", Red);
    }
	}
	else
	{
    sendPlayerMessage(playerid, "Вы уже вошли!", Red);
	}
    return true;
}
Код:
function savePlayers()
{
	foreach(i, playername in getPlayers())
	{
    	local pFile = EasyINI("Accounts/" + getPlayerName(i) + ".ini");
    	pFile.setKey("Stats", "Money", users[i].money.tostring());
                        pFile.setKey("Stats", "Health", getPlayerHealth(i));
                        pFile.setKey("Account Settings", "Admin Level", users[i].admin.tostring());
    	pFile.setKey("Account Settings", "Skin", users[i].skin.tostring());
    	pFile.setKey("Account Settings", "Sex", users[i].sex.tostring());
                        pFile.saveData();
	}
	return true;
}

Теперь в onDialogResponse(playerid, dialogid, response, listitem, inputtext)

Код:
if(dialogid == 1)
    {
        if(response)
        {
    	local key = split(inputtext, " ");
            onPlayerRegister(playerid,key[0]);
        }
    else
    {
    	showPlayerDialog(playerid, 1, 1, "Регистрация на A-RPG", "Добро пожаловать!!\nПридумайте себе пароль", "OK", "Cancel");
    }
    }
	if(dialogid == 2)
    {
        if(response)
        {
            local keys = split(inputtext, " ");
            onPlayerLogin(playerid,keys[0]);
        }
    else
    {
    	showPlayerDialog(playerid, 2, 1, "Авторизация на A-RPG", "Добро пожаловать!!\nВведите свой пароль", "OK", "Cancel"); 
    }
    }
	if(dialogid == 3)
    {
        if(response)
        {
            users[playerid].sex = 1;users[playerid].skin = 11;
    	setPlayerModel(playerid, 11);
    	savePlayers();
    	sendPlayerMessage(playerid, "Вы Парень!", 0xB4B5B7FF);
    	showPlayerDialog(playerid, 2, 1, "Авторизация на A-RPG", "Добро пожаловать!!\nВведите свой пароль", "OK", "Cancel"); 
        }
    else
    {
    	users[playerid].sex = 2;users[playerid].skin = 12;
    	setPlayerModel(playerid, 12);
    	savePlayers();
    	sendPlayerMessage(playerid, "Вы Девушка!", 0xB4B5B7FF);
    	showPlayerDialog(playerid, 2, 1, "Авторизация на A-RPG", "Добро пожаловать!!\nВведите свой пароль", "OK", "Cancel"); 
    }
    }

В конце мода

Код:
function fileExists(filename)
{
        try
        {
                local testfile = file(filename, "r");
        }
        catch(e)
        {
                return false;
        }
        return true;
}