Итак, я вас научу как происходит чтение, запись, создание файлов через инклуд mxINI.На основе этого инклуда в основном делают регистрацию на сервере. В этом уроке я не буду показывать вам, как написать простейшую регистрацию на сервере, а всего лишь объясню.
Code
ini_createFile(“filename.ini”); //Создает файл с именем filename.ini в папке scriptfiles. ini_openFile(“filename.ini”); //Открывает файл ini_closeFile(ID открытого файла); //Закрывает файл
Запись данных в файл:
Code
ini_setString(ID файла, "имя ключа", "текст"); // Эта функция записывает текст в ключ. ini_setInteger(ID файла, "имя ключа", 123456 ); // Эта функция записывает целое число в ключ. ini_setFloat(ID файла, "имя ключа", 3.1416 ); // Эта функция записывает десятичное число в ключ.
Запись данных в файл:
Code
ini_getString(ID файла, "имя ключа", <имя переменной>); // Эта функция записывает текст в переменную из файла. ini_getInteger(ID файла, "имя ключа", <имя переменной>); // Эта функция записывает целое число в переменную из файла. ini_getFloat(ID файла, "имя ключа", <имя переменной>); // Эта функция записывает десятичное число в переменную из файла.
Давайте для простого примере с помощью команды, запишем данные игрока: имя, деньги, очки и количество здоровья. Сначала мы создаем 2 переменные, где у нас будут храниться имя игрока и отформатированное сообщение.
Code
new string[120], PlayerName[32]; GetPlayerName(playerid,PlayerName,32); format(string,64,”%s.ini”,PlayerName); new iniFile = ini_createFile(string);
После переменных мы узнаем имя игрока функцией GetPlayerName и записываем её в переменную. Дальше форматируем строку, как будет называться файл в который будет производиться запись. В данном случае файл будет называться по имени игрока. Дальше создаем переменную IniFile, которая будет создавать данный файл. Перед тем как записать количество всего, нужно сначала их узнать:
Code
new PlayerMoney = GetPlayerMoney(playerid); new PlayerScore = GetPlayerScore(playerid); new Float:health = GetPlayerHealth(playerid);
Теперь пишем проверку, если файл выдаст ошибку, открыть файл снова:
Code
if(iniFile < 0) iniFile = ini_openFile(string);
Дальше записываем данные в файл и закрываем его:
Code
ini_setString(iniFile, "Name", PlayerName); //Записываем имя игрока ini_setInteger(iniFile, "Money", money); //Записываем количество денег ini_setInteger(iniFile, "Score", score); //Записываем количество очков ini_setFloat(iniFile, "Health", health); //Записываем количество здоровья ini_closeFile(iniFile); //Закрываем файл
Вот так производится запись данных в файл.
Чтение из файла:
Чтение из файла ничем не сложнее записи, все аналогично. Только тут не нужно проверок, условий: if{iniFile < 0), и в переменной iniFile мы не создаем, а уже открываем созданный нами файл. Весь код будет выглядеть следующим образом:
Code
new string[255], PlayerName[32]; new Float:health, money, score; 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_getInteger(iniFile, "Score", score); ini_getFloat(iniFile, "Health", health); // Узнаем количество здоровья и записываем в переменную ini_closeFile(iniFile); //Закрываем файл SetPlayerMoney(playerid,money); SetPlayerScore(playerid,score); SetPlayerHealth(playerid,health);
Вот и все Ничто не останавливает полет мысли программиста , как компилятор! + не помешает