07:45
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Dima-kun  
Форум SAMP о мультиплеерах для GTA. »   » Wiki-Samp-Rus » Всё о чтении/сохранении в файл (Напишите статью для чайников)
Всё о чтении/сохранении в файл
[SFD]ZaRДата: Четверг, 21.08.2008, 19:45 | Сообщение # 1
Местный
Группа: Пользователи
Сообщений: 519
Награды: 6
Город: Шлюхандия
Репутация: 65
Замечания: 60%
Статус:
Расскажите для чайников всё о чтении/сохранении в файл


KaZaNOVaДата: Четверг, 21.08.2008, 21:10 | Сообщение # 2
Уверенный в себе
Группа: Продвинутые
Сообщений: 219
Награды: 1
Город: Ульяновск
Репутация: 51
Замечания: 0%
Статус:
Н раз выкладывали, но еще раз выложу :) Если нужен какой-нибудь другой инклуд - тоже могу рассказать. Задавайте вопросы. :) Постараюсь ответить.
Функции для работы с файлами в примерах



Not we bad speak - you bad understand... ©KaZaNOVa
У каждого девелопера свои петухи в голове ©OKStyle™


[SFD]ZaRДата: Четверг, 21.08.2008, 21:37 | Сообщение # 3
Местный
Группа: Пользователи
Сообщений: 519
Награды: 6
Город: Шлюхандия
Репутация: 65
Замечания: 60%
Статус:
Quote (KaZaNOVa)
Функции для работы с файлами в примерах

Я не сильно новичок, чтобы не знать про эту документацию. Специально написал
Quote (ZaR)
для чайников
т.к. долго мучался и ничего не получалось :(



KaZaNOVaДата: Четверг, 21.08.2008, 23:20 | Сообщение # 4
Уверенный в себе
Группа: Продвинутые
Сообщений: 219
Награды: 1
Город: Ульяновск
Репутация: 51
Замечания: 0%
Статус:
ZaR, тебе для чего конкретно нужно? ДЛя работы с аккуантами или все-таки со всей файловой системой? :) Могу рассказать про то и другое :)


Not we bad speak - you bad understand... ©KaZaNOVa
У каждого девелопера свои петухи в голове ©OKStyle™


[SFD]ZaRДата: Четверг, 21.08.2008, 23:37 | Сообщение # 5
Местный
Группа: Пользователи
Сообщений: 519
Награды: 6
Город: Шлюхандия
Репутация: 65
Замечания: 60%
Статус:
Мне со всей... главное именно с системой dudb, dutils, dini, dcmd и сохранение переменной и её значения


KaZaNOVaДата: Четверг, 21.08.2008, 23:42 | Сообщение # 6
Уверенный в себе
Группа: Продвинутые
Сообщений: 219
Награды: 1
Город: Ульяновск
Репутация: 51
Замечания: 0%
Статус:
Ок, сегодня все красиво оформлю и завтра скорее всего выложу wink


Not we bad speak - you bad understand... ©KaZaNOVa
У каждого девелопера свои петухи в голове ©OKStyle™


[SFD]ZaRДата: Четверг, 21.08.2008, 23:47 | Сообщение # 7
Местный
Группа: Пользователи
Сообщений: 519
Награды: 6
Город: Шлюхандия
Репутация: 65
Замечания: 60%
Статус:
у тебя осталось 13 минут до завтра =) гг


KaZaNOVaДата: Пятница, 22.08.2008, 00:11 | Сообщение # 8
Уверенный в себе
Группа: Продвинутые
Сообщений: 219
Награды: 1
Город: Ульяновск
Репутация: 51
Замечания: 0%
Статус:
Библиотека 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 ©


Not we bad speak - you bad understand... ©KaZaNOVa
У каждого девелопера свои петухи в голове ©OKStyle™


WintMaxДата: Пятница, 22.08.2008, 12:00 | Сообщение # 9
Местный
Группа: Продвинутые
Сообщений: 562
Награды: 2
Город: Ростов-на-Дону
Репутация: 67
Замечания: 0%
Статус:
Quote (KaZaNOVa)
При заходе игрока в консоли сервера будет писаться количество онлайн игроков, и количество онлайн игроков будет записываеть в файл OnlinePlayers.txt Естественно можно добавить запись даты, ников игроков, их ID итд.

Меня интересует это: как же можно в Dini сделать, чтобы в файл записывался ник игрока. Я вот например хочу, чтобы в лог-файл записывались все PM игроков, как же это сделать? Или например еще. Тимчат чтобы тоже записывался.

[SFD]ZaRДата: Пятница, 22.08.2008, 12:01 | Сообщение # 10
Местный
Группа: Пользователи
Сообщений: 519
Награды: 6
Город: Шлюхандия
Репутация: 65
Замечания: 60%
Статус:
Так, с этим спасибо всё понял - теперь сразу задам ещё 5 вопросов.
Как сделать команду, наподобии /s 1 1? Как перенести команду DCMD в обычную и обратно?
Как определить где надо ставить { } return 1; return 0; return слово; //(почему после записи в файл ставиться return 1; а не }, и можно ли все returns заменить }}}?

Как сделать рандом и что такое sizeof()?




Сообщение отредактировал ZaR - Пятница, 22.08.2008, 12:14
WintMaxДата: Суббота, 23.08.2008, 10:27 | Сообщение # 11
Местный
Группа: Продвинутые
Сообщений: 562
Награды: 2
Город: Ростов-на-Дону
Репутация: 67
Замечания: 0%
Статус:
Quote (WintMax)
Quote (KaZaNOVa)

При заходе игрока в консоли сервера будет писаться количество онлайн игроков, и количество онлайн игроков будет записываеть в файл OnlinePlayers.txt Естественно можно добавить запись даты, ников игроков, их ID итд.

Меня интересует это: как же можно в Dini сделать, чтобы в файл записывался ник игрока. Я вот например хочу, чтобы в лог-файл записывались все PM игроков, как же это сделать? Или например еще. Тимчат чтобы тоже записывался.


Ответьте пожалуйста на мой вопрос. Буду очень признателен.

OKStyle™Дата: Воскресенье, 24.08.2008, 09:37 | Сообщение # 12
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус:
Quote (ZaR)
Как перенести команду DCMD в обычную

dcmd_command(playerid,params[]) это то же самое, что и:
Code
if(!strcmp(cmdtext,"/command,true,7))
{
return 1;
}



Да потому что когда человек делает на заказ он не старается. © kRiSyo
Кланяимся нофаму королю анимаций =))))))) © Manusya
В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR
SanSayДата: Понедельник, 25.08.2008, 15:58 | Сообщение # 13
Долгожитель
Группа: Продвинутые
Сообщений: 1662
Награды: 25
Город: Наб.Челны
Репутация: 280
Замечания: 0%
Статус:
народ че за отстой, при добавлении
#include <Dini>
#include <DUtils>
у меня повылезали куча ошибок, которых нет если убрать #include <Dini> и #include <DUtils>
Ошибки:
F:\GTASA_MP_Server\PEN1_LS+SF+LV_Simhost\gamemodes\penls.pwn(4446) : error 047: array sizes do not match, or destination array is too small
F:\GTASA_MP_Server\PEN1_LS+SF+LV_Simhost\gamemodes\penls.pwn(4452) : error 047: array sizes do not match, or destination array is too small
F:\GTASA_MP_Server\PEN1_LS+SF+LV_Simhost\gamemodes\penls.pwn(9438) : error 047: array sizes do not match, or destination array is too small
F:\GTASA_MP_Server\PEN1_LS+SF+LV_Simhost\gamemodes\penls.pwn(9439) : error 047: array sizes do not match, or destination array is too small
F:\GTASA_MP_Server\PEN1_LS+SF+LV_Simhost\gamemodes\penls.pwn(11369) : error 021: symbol already defined: "strtok"
F:\GTASA_MP_Server\PEN1_LS+SF+LV_Simhost\gamemodes\penls.pwn(11384) : error 047: array sizes do not match, or destination array is too small
F:\GTASA_MP_Server\PEN1_LS+SF+LV_Simhost\gamemodes\penls.pwn(13757) : error 047: array sizes do not match, or destination array is too small
F:\GTASA_MP_Server\PEN1_LS+SF+LV_Simhost\gamemodes\penls.pwn(21805) : warning 219: local variable "mod" shadows a variable at a preceding level
F:\GTASA_MP_Server\PEN1_LS+SF+LV_Simhost\gamemodes\penls.pwn(32660) : error 047: array sizes do not match, or destination array is too small
F:\GTASA_MP_Server\PEN1_LS+SF+LV_Simhost\gamemodes\penls.pwn(32961) : error 021: symbol already defined: "hash"
F:\GTASA_MP_Server\PEN1_LS+SF+LV_Simhost\gamemodes\penls.pwn(32965) : error 047: array sizes do not match, or destination array is too small
F:\GTASA_MP_Server\PEN1_LS+SF+LV_Simhost\gamemodes\penls.pwn(32969) : error 021: symbol already defined: "num_hash"
F:\GTASA_MP_Server\PEN1_LS+SF+LV_Simhost\gamemodes\penls.pwn(34633) : warning 203: symbol is never used: "ret_memcpy"



simhost.org:8888 Mode:PEN1(LS)+GTO(банды+кач) v4.23_SAMP_0.3с
PEN1(LS)+GTO(банды+кач)v3.92_SAMP_0.3с(ifolder)*** AntiBot*** [FS] Car Export vs SanSay*** [FS] anti_s0beit_FakeKill_Ver2
XAOCДата: Понедельник, 25.08.2008, 16:29 | Сообщение # 14
Советчик
Группа: Разработчики
Сообщений: 1190
Награды: 11
Город: Гдета там>>
Репутация: 311
Замечания: 0%
Статус:
Вот дини и дутилс оптимизированные под мой pen
Прикрепления: dini_dutils.rar (4.0 Kb)
AlekseyДата: Понедельник, 25.08.2008, 16:42 | Сообщение # 15
Советчик
Группа: Продвинутые
Сообщений: 1028
Награды: 5
Город: Челябинск
Репутация: 41
Замечания: 0%
Статус:
KaZaNOVa, раскажи лучше про a_sampdb.inc
я ваще нихера не понял там ничё...
хотя и не пытался... :)



вааааааааааййй..// :(0
Форум SAMP о мультиплеерах для GTA. »   » Wiki-Samp-Rus » Всё о чтении/сохранении в файл (Напишите статью для чайников)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua