Devin_Coleman
Специалист
В этом уроке я расскажу, как научится работать с include – mxINI. На момент написания
этого урока последняя актуальная версия инклуда 0.5. Прежде чем приступить к изучению
инклуда, рекомендую его скачать. На основе этого инклуда в основном делают регистрацию на
сервере. В этом уроке я не буду показывать вам, как написать простейшую регистрацию на
сервере, а всего лишь объясню, как с помощью mxINI происходит запись и чтение из файла.
Думаю, выяснив, как работает данный инклуд, вы сами сможете написать простую
регистрацию, возможно даже на диалогах, так как урок с диалогами вы уже проходили.
Файл mxINI.inc нужно скопировать в папку include в директории с редактором Pawno. В
начале вашего скрипта обязательно нужно объявить этот инклуд, также как объявляется
инклуд a_samp.
Итак, приступим к разбору основных функций mxINI:
Запись данных в файл:
Чтение данных из файла
Запись в файл
Давайте для простого примере с помощью команды, запишем данные игрока: имя, деньги и
количество здоровья. Сначала мы создаем 2 переменные, где у нас будут храниться имя игрока и
отформатированное сообщение.
После переменных мы узнаем имя игрока функцией GetPlayerName. Дальше
форматируем строку, как будет называться файл в который будет производиться запись. В
данном случае файл будет называться по имени игрока. Дальше создаем переменную IniFile,
которая будет создавать данный файл.
Перед тем как записать количество денег и здоровья игрока, нужно сначала их узнать:
Теперь пишем проверку, если файл выдаст ошибку, открыть файл снова.
Дальше записываем данные в файл и закрываем его:
Вот так производится запись данных в файл. Запись в файле будет выглядеть примерно
следующим образом:
Чтение из файла
Чтение из файла ничем не сложнее записи, все аналогично. Только тут не нужно проверок,
условий: if{iniFile < 0), и в переменной iniFile мы не создаем, а уже открываем созданный нами файл.
Весь код будет выглядеть следующим образом:
Автор Cloud
этого урока последняя актуальная версия инклуда 0.5. Прежде чем приступить к изучению
инклуда, рекомендую его скачать. На основе этого инклуда в основном делают регистрацию на
сервере. В этом уроке я не буду показывать вам, как написать простейшую регистрацию на
сервере, а всего лишь объясню, как с помощью mxINI происходит запись и чтение из файла.
Думаю, выяснив, как работает данный инклуд, вы сами сможете написать простую
регистрацию, возможно даже на диалогах, так как урок с диалогами вы уже проходили.
Файл mxINI.inc нужно скопировать в папку include в директории с редактором Pawno. В
начале вашего скрипта обязательно нужно объявить этот инклуд, также как объявляется
инклуд a_samp.
Итак, приступим к разбору основных функций mxINI:
Код:
ini_createFile(“filename.ini”); //Создает файл с именем filename.ini в папке scriptfiles.
ini_openFile(“filename.ini”); //Открывает файл
ini_closeFile(ID открытого файла); //Закрывает файл
Код:
ini_setString(ID файла, "имя ключа", "текст"); // Эта функция записывает текст в ключ.
ini_setInteger(ID файла, "имя ключа", 123456 ); // Эта функция записывает целое число в ключ.
ini_setFloat(ID файла, "имя ключа", 3.1416 ); // Эта функция записывает десятичное число в ключ.
Код:
ini_getString(ID файла, "имя ключа", <имя переменной>); // Эта функция записывает текст в
переменную из файла.
ini_getInteger(ID файла, "имя ключа", <имя переменной>); // Эта функция записывает целое число в
переменную из файла.
ini_getFloat(ID файла, "имя ключа", <имя переменной>); // Эта функция записывает десятичное
число в переменную из файла.
Давайте для простого примере с помощью команды, запишем данные игрока: имя, деньги и
количество здоровья. Сначала мы создаем 2 переменные, где у нас будут храниться имя игрока и
отформатированное сообщение.
Код:
new string[255], PlayerName[32];
GetPlayerName(playerid,PlayerName,32);
format(string,64,”%s.ini”,PlayerName);
new iniFile = ini_createFile(string);
форматируем строку, как будет называться файл в который будет производиться запись. В
данном случае файл будет называться по имени игрока. Дальше создаем переменную IniFile,
которая будет создавать данный файл.
Перед тем как записать количество денег и здоровья игрока, нужно сначала их узнать:
Код:
new money = GetPlayerMoney(playerid);
new Float:health = GetPlayerHealth(playerid);
Код:
if(iniFile < 0)
iniFile = ini_openFile(string);
Код:
ini_setString(iniFile, "Name", PlayerName); //Записываем имя игрока
ini_setInteger(iniFile, "Money", money); //Записываем количество денег
ini_setFloat(iniFile, "Health", health); //Записываем количество здоровья
ini_closeFile(iniFile); //Закрываем файл
следующим образом:
Код:
Name = Player
Money = 1000
Health = 100.0
Чтение из файла ничем не сложнее записи, все аналогично. Только тут не нужно проверок,
условий: if{iniFile < 0), и в переменной iniFile мы не создаем, а уже открываем созданный нами файл.
Весь код будет выглядеть следующим образом:
Код:
new string[255], PlayerName[32];
new Float:health, money;
GetPlayerName(playerid,PlayerName,32);
format(string,64,”%s.ini”,PlayerName);
new iniFile = ini_openFile(string); //Открываем файл
ini_getString(iniFile, "Name", PlayerName); //Узнаем имя игрока и записываем его в переменную
ini_getInteger(iniFile, "Money", money); // Узнаем количество денег и записываем в переменную
ini_getFloat(iniFile, "Health", health); // Узнаем количество здоровья и записываем в переменную
ini_closeFile(iniFile); //Закрываем файл
GivePlayerMoney(playerid,money);
SetPlayerHealth(playerid,health);
