• Страница 1 из 1
  • 1
Модератор форума: admin, TweIk  
Форум » Pawno » Wiki-samp » [Tuturial]Чтение и запись файлов с помощью mxINI (*icon-0*)
[Tuturial]Чтение и запись файлов с помощью mxINI
[MTA]MaPeR5518Дата: Среда, 14.12.2011, 07:11:23 | Сообщение # 1

Группа: Пользователи
Сообщений: 181
Hello world!

Итак, я вас научу как происходит чтение, запись, создание файлов через инклуд 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);

Вот и все


Ничто не останавливает полет мысли программиста , как компилятор!
+ не помешает
 
СообщениеHello world!

Итак, я вас научу как происходит чтение, запись, создание файлов через инклуд 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);

Вот и все

Автор - [MTA]MaPeR5518
Дата добавления - 14.12.2011 в 07:11:23
Форум » Pawno » Wiki-samp » [Tuturial]Чтение и запись файлов с помощью mxINI (*icon-0*)
  • Страница 1 из 1
  • 1
Поиск:
Загрузка страницы, займет меньше минуты...
Загрузка...

Статистика Форума
Последнии темы Читаемые темы Лучшие пользователи Новые пользователи
Система телефонов поломалась
Не в себе
фильм скалайн
Трансформеры 3
форсаж 6
Ищу [FS]Для админок на сервер
нужны координаты карты для отметки зон...
Помогите найти мод
pawno урок автоматические ворота
обращение к скриптерам.
Вопросы по скриптингу
Ваши ошибки при компиляции GM/FS

Вопросы по скриптингу

(1081)

Считаем до 1000

(274)

Ваши ошибки при компиляция gm

(260)

Набор в команду

(80)

Ваши ошибки при компиляции GM/FS

(71)

вопроосы по скриптингу от 22.04.2013

(64)

Баннеробмен

(64)

несколько команд на samp 0.3 c

(64)

Оценки сайта samp-pawno.ru

(55)

Заказ хостинга

(51)

Набор в команду(форум)

(45)

Урок №61 по созданию системы авто для GodFather

(45)

admin

(3869)

[east_side]_trane

(443)

TWiX

(316)

valych

(501)

drifter-dron

(477)

danik_rok

(317)

Dimka_71rus

(360)

Drifter96

(300)

MaNb9K

(220)

[MTA]MaPeR5518

(181)

Dima_Tkach

(107)

Nik_Ull

(184)

system32xzxz

(Четверг 09:25:24)

torbin169

(Суббота 23:09:29)

kuchuk_00

(Суббота 17:10:14)

artem_boyko_3

(Суббота 15:57:37)

greggelbak

(Среда 18:29:37)

vladisvlavs

(Среда 13:51:57)

add02102002

(Понедельник 22:37:15)

Диман221

(Понедельник 18:12:45)

almas051004

(Воскресенье 11:05:32)

megasuccessms

(Суббота 14:15:36)

nawe

(Пятница 22:25:23)

swoysb

(Пятница 14:55:29)

Вверх
11:46:14
ОбновитьСмайлыУправление мини-чатом
ЧАТ-PAWNO
2010-2024

vkontakte :samp-pawno.ru: