GTA-SAMP
Регистрация с помощью mxINI - Форум сайта.
[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум сайта. » Pawno » Уроки скриптинга в PAWNO » Регистрация с помощью mxINI
Регистрация с помощью mxINI
ГостьДата: Суббота, 20.11.2010, 14:11 | Сообщение # 1
Группа: Гости





Так как я не нашёл урока с описанием и примерами использования инклуда mxINI, который позволяет быстро читать/записывать данные с файла. (скачать инклуд: http://gta-samp.ucoz.net/diz/inc/mxINI_0.4.zip )

1. Работа с файлами.

ini_createFile("Путь/к/файлу.ini"); // Данная функция создаёт файл.
ini_openFile("Путь/к/файлу.ini"); // Эта функция открывает существующий файл.
ini_closeFile(ИД_открытого_файла); // Эта функция закрывает уже открытый файл.

2. Запись данных в файл.

ini_setString(ИД_открытого_файла, "имя ключа", "текст"); // Эта функция записывает текст в ключ.
ini_setInteger(ИД_открытого_файла, "имя ключа", 123456 ); // Эта функция записывает целое число в ключ.
ini_setFloat(ИД_открытого_файла, "имя ключа", 3.1416 ); // Эта функция записывает десятичное число в ключ.

3. Чтение ключей из файла.

ini_getString(ИД_открытого_файла, "имя ключа", Нужная_вам_переменная); // Эта функция записывает текст в переменную из файла.
ini_getInteger(ИД_открытого_файла, "имя ключа", Нужная_вам_переменная); // Эта функция записывает целое число в переменную из файла.
ini_getFloat(ИД_открытого_файла, "имя ключа", Нужная_вам_переменная); // Эта функция записывает десятичное число в переменную из файла.

4. Остальные функции.

ini_removeKey(ИД_открытого_файла, "имя ключа"); // Эта функция удаляет ключ из файла
ini_getErrorInfo(Код_ошибки); // Эта функция возвращает ошибку, не как число, а как текст.

Шаг 2: Создание регистрации.

1. Создаём переменные для игрока.

enum pInfo {
pMoney, // Сохраняет кол-во денег.
Float:pHeal, // Сохраняет кол-во жизней.
};
new Player[MAX_PLAYERS][pInfo];

2. Создание регистрации/авторизации/сохранения аккаунта.
2.1. Создание аккаунта.

stock CreateAccount(playerid, pass[])
{
new pName[MAX_PLAYER_NAME], string[64];
GetPlayerName(playerid, pName, MAX_PLAYER_NAME); // Узнаём имя игрока
format(string, 64, "%s.ini", pName); // Добавляем тип файла (.ini).

new iniFile = ini_createFile(string); // Создаём файл.
if(iniFile < 0) ini_openFile(string); // Если файл выдал ошибку, то мы его откроем заного.
ini_setString(iniFile, "Password", pass); // Запишем пароль в файл.
ini_setInteger(iniFile, "Money", 0); // Запишем кол-во денег в файл.
ini_setFloat(iniFile, "Heal", 100.0); // Запишем кол-во жизней в файл.
ini_closeFile(iniFile); // Закрываем файл.
LoadAccount(playerid, pass);
return 1;
}

2.2 Авторизация аккаунта.

stock LoadAccount(playerid, pass[])
{
new pName[MAX_PLAYER_NAME], string[64], password2[64];
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
format(string, 64, "%s.ini", pName); // Задаём путь к файлу

new iniFile = ini_openFile(string); // Открываем файл.
ini_getString(iniFile, "Password", password2); // Узнаём пароль аккаунта.
if(!strcmp(pass, password2, true))
{
// если пароль верный то:
ini_getInteger(iniFile, "Money", Player[playerid][pMoney]); // Запишем кол-во денег в переменную.
ini_getFloat(iniFile, "Heal", Player[playerid][pHeal]); // Запишем кол-во жизней в переменную.
SetPlayerHealth(playerid, Player[playerid][pHeal]);
GivePlayerMoney(playerid, Player[playerid][pMoney]);
return 1;
}
else
{
// если пароль неверный то:
SendClientMessage(playerid, 0xffffffFF, " * Невенрный пароль!");
return 0;
}
ini_closeFile(iniFile); // Закрываем файл.
}

2.3 Сохранение аккаунта.

stock SaveAccount(playerid)
{
new pName[MAX_PLAYER_NAME], string[64];
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
format(string, 64, "%s.ini", pName); // Задаём путь к файлу
GetPlayerHealth(playerid, Player[playerid][pHeal]);
new iniFile = ini_openFile(string); // Открываем файл.
ini_setInteger(iniFile, "Money", Player[playerid][pMoney]); // Запишем кол-во денег в файл.
ini_setFloat(iniFile, "Heal", Player[playerid][pHeal]); // Запишем кол-во жизней в файл.
ini_closeFile(iniFile); // Закрываем файл.
return 1;
}

 
Форум сайта. » Pawno » Уроки скриптинга в PAWNO » Регистрация с помощью mxINI
  • Страница 1 из 1
  • 1
Поиск: