Библиотека Dini создана для сохранения данных в файл.
Скачать последнюю версию Dini.inc v. 1.5.1 можно на сайте в разделе инклуды
Но для работы с Dini нужно скачать библиотеку DUtils. Скачать последнюю версию DUtils.inc v. 1.10 можно на сайте в разделе инклуды Все эти три файла нужно поместить в директорию: */samp-server/pawno/includes
И в своем скрипте добавить две строчки:
#include <Dini>
#include <DUtils>
Основные функции Dini.inc
dini_Exists
Параметры:
(filename[])
filename[] - имя файла для проверки
Если файл не существует, то команда возвращается
Пример:
Code
dini_Exists("logs.txt");
-------------------------------------------------------------------------------------------------- dini_Remove
Эта команда удаляет файл с определенным именем
Параметры:
(filename[])
filename[] - имя файла, которые будет удален
Пример:
Code
dini_Remove("logs.txt");
-------------------------------------------------------------------------------------------------- dini_CreateЭта команда создает файл с определенным названием
Параметры:
(filename[])
filename[] - имя файла, который будет создан
Пример:
Code
dini_Create("logs.txt");
-------------------------------------------------------------------------------------------------- dini_Set
Записывает в определенный файл текст в строчку с определенным названием.
Параметры:
(filename[],key[],value[])
filename[] - имя файла, который будет открыт
key[] - обозначение сохраняемых данных
value[] - сохраняемые данные (текст)
Пример:
Code
dini_Set("logs.txt","Servername","A SA:MP Server");
-------------------------------------------------------------------------------------------------- dini_IntSet
Записывает в определенный файл число в строчку с определенным названием.
Параметры:
(filename[],key[],value)
filename[] - имя файла, который будет открыт
key[] - обозначение сохраняемых данных
value - сохраняемые данные (число)
Пример:
Code
dini_Set("logs.txt","Servermaxplayers",50);
-------------------------------------------------------------------------------------------------- dini_BoolSet
Устанавливает "истина" (true) или "ложь" (false) в файл с определенным именем и в строчку с определенным названием.
Параметры:
(filename[],key[],value)
filename[] - файл, который будет открыт
key[] - обозначение сохраняемых данных
value - Установить для результатов "истина" (true) или "ложь" (false).
Пример:
Code
dini_BoolSet("logs.txt","Serveractive",true);
-------------------------------------------------------------------------------------------------- [/b]
Записывает в файл переменную величину
Параметры:
(filename[],key[],Float:value)
filename[] - файл, который будет открыт
key[] - обозначение сохраняемых данных
Float:value - переменная величина
Пример:
Code
dini_FloatSet("logs.txt","PlayerposX",50.124);
--------------------------------------------------------------------------------------------------
dini_Isset
Проверяет установлено ли обозначение строки или нет
Параметры:
(filename[],key[])
filename[] - файл, в который будет задействован
key[] - обозначение строки
Пример:
Code
dini_Isset("logs.txt","money");
--------------------------------------------------------------------------------------------------
dini_Get
Берет значение из определенного файла и строки.
Параметры:
(filename[],key[])
filename[] - файл, в который будет задействован
key[] - обозначение строки, из которой мы берем значение
Пример:
Code
dini_Get("spawn.txt","money");
--------------------------------------------------------------------------------------------------
dini_Unset
Удаляет значение из определенного файла и строки.
Параметры:
(filename[],key[])
filename[] - файл, который будет задействован
key[] - обозначение строки, в которой вы удаляем значение
Пример:
Code
dini_Unset("properties.txt","owner");
--------------------------------------------------------------------------------------------------
Float:dini_Float
Берет переменную из определенного файла и определенной строки
Параметры:
(filename[],key[])
filename[] - файл, который будет задействован
key[] - обозначение строки, в которой проверяем переменную
Пример:
Code
dini_Float("logs.txt","height");
--------------------------------------------------------------------------------------------------
dini_Int
Берет число из определенного файла и определенной строки
Параметры:
(filename[],key[])
filename[] - файл, который будет задействован
key[] - обозначение строки, в которой проверяем число
Пример:
Code
dini_Int("logs.txt","maxplayers");
--------------------------------------------------------------------------------------------------
dini_Bool
Берет "истину" (true) или "ложь" (false) из определенного файла и определенной строки
Параметры:
(filename[],key[])
filename[] - файл, который будет задействован
key[] - обозначение строки, в которой проверяем "истина" (true) или "ложь" (false)
Пример:
Code
dini_Bool("acertainfile.txt","maxplayers");
================================================== =========
Все эти команды можно использовать в любых функциях.
Вот например:
Code
new PlayerCount;
public OnPlayerConnect(playerid)
{
SendClientMessage(playerid, 0x00FF00AA, "Wellcome!");
PlayerCount++;
if (!dini_Exists("OnlinePlayers.txt")) {
dini_Create("OnlinePlayers.txt");
return 1;
}
else {
printf("Server: There are %d players", PlayerCount);
dini_IntSet("OnlinePlayers.txt","Players",PlayerCount);
return 1;
}
return 0;
}
При заходе игрока в консоли сервера будет писаться количество онлайн игроков, и количество онлайн игроков будет записываеть в файл OnlinePlayers.txt Естественно можно добавить запись даты, ников игроков, их ID итд. Да кстати если будете использовать этот код, то добавьте еще:
Code
public OnPlayerDisconnect(playerid)
{
PlayerCount--;
if (!dini_Exists("OnlinePlayers.txt")) {
dini_Create("OnlinePlayers.txt");
return 1;
}
else {
printf("Server: There are %d players", PlayerCount);
dini_IntSet("OnlinePlayers.txt","Players",PlayerCount);
return 1;
}
return 0;
}
By Corvus ©