Запись данных в файл
Сначала мы создадим две переменные, в которых будут храниться имя игрока и отформатированное сообщение:
new string[255], PlayerName[32]; GetPlayerName(playerid,PlayerName,32); format(string,64,”%s.ini”,PlayerName); new iniFile = ini_createFile(string);
После переменных мы узнаем имя игрока
функцией GetPlayerName. Дальше
форматируем строку, как будет называться
файл, в который будет производиться запись; в данном случае файл будет называться по
имени игрока. Дальше создаем переменную 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 = Name Money = 5000 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);
Автор урока: Cloud.
Сообщение отредактировал Mike: 18 января 2012 - 15:37