Вторник, 02.12.2008, 17:13
 
 
Приветствую Вас Проезжий | RSS
[ Новые сообщения · Участники · Правила форума · Поиск! · RSS ]
Статистика Форума
Последние ответы Популярные темы Лучшие пользователи TOP 7
  • Баннер [Платные файлы]
  • SAMP Password Dec... [Админ-раздел]
  • Домен .ru беспла... [Системы и Сети]
  • GTA 4 уже можно с... [GTA 4]
  • Кто лучше делает ... [Графика и дизайн]
  • йа эмо! [Скандалы]
  • народ предложите ... [Игры]
  • Вопрос - Ответ (Ответов: 959)
  • Обсуждение мода CityLi... (Ответов: 923)
  • Задавайте сюда ваши во... (Ответов: 919)
  • Помощь новечкам по скр... (Ответов: 608)
  • Обратный отщёт от 500 (Ответов: 512)
  • Пошли всех на хуй тут! (Ответов: 508)
  • Pen1 LS v1.4 by ONEhel... (Ответов: 386)
  • MiX (Сообщений: 2611)
  • AXE (Сообщений: 2261)
  • OKStyle™ (Сообщений: 1934)
  • fAkm4n (Сообщений: 1728)
  • RockStarGamer (Сообщений: 1608)
  • DarkByte (Сообщений: 1315)
  • MAK (Сообщений: 1293)
  • Страница 1 из 212»
    Модератор форума: XAOC 
    Форум о GTA Multiplayers. GTA SA-MP, MTA, VC-MP, IV-MP. » San Andreas MultiPlayer » Wiki-Samp-Rus » Всё о чтении/сохранении в файл (Напишите статью для чайников)
    Всё о чтении/сохранении в файл
    ZaRДата: Четверг, 21.08.2008, 19:45 | Сообщение # 1
    Постоялец

    Группа: Продвинутые
    Сообщений: 373
    Город: Саратов
    Статус: status
    Расскажите для чайников всё о чтении/сохранении в файл

     
    KaZaNOVaДата: Четверг, 21.08.2008, 21:10 | Сообщение # 2
    Уверенный

    Группа: Ангел Хранитель
    Сообщений: 216
    Город: Ульяновск
    Статус: status
    Н раз выкладывали, но еще раз выложу :) Если нужен какой-нибудь другой инклуд - тоже могу рассказать. Задавайте вопросы. :) Постараюсь ответить.
    Функции для работы с файлами в примерах

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


     
    ZaRДата: Четверг, 21.08.2008, 21:37 | Сообщение # 3
    Постоялец

    Группа: Продвинутые
    Сообщений: 373
    Город: Саратов
    Статус: status
    Quote (KaZaNOVa)
    Функции для работы с файлами в примерах

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

     
    KaZaNOVaДата: Четверг, 21.08.2008, 23:20 | Сообщение # 4
    Уверенный

    Группа: Ангел Хранитель
    Сообщений: 216
    Город: Ульяновск
    Статус: status
    ZaR, тебе для чего конкретно нужно? ДЛя работы с аккуантами или все-таки со всей файловой системой? :) Могу рассказать про то и другое :)

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


     
    ZaRДата: Четверг, 21.08.2008, 23:37 | Сообщение # 5
    Постоялец

    Группа: Продвинутые
    Сообщений: 373
    Город: Саратов
    Статус: status
    Мне со всей... главное именно с системой dudb, dutils, dini, dcmd и сохранение переменной и её значения

     
    KaZaNOVaДата: Четверг, 21.08.2008, 23:42 | Сообщение # 6
    Уверенный

    Группа: Ангел Хранитель
    Сообщений: 216
    Город: Ульяновск
    Статус: status
    Ок, сегодня все красиво оформлю и завтра скорее всего выложу wink

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


     
    ZaRДата: Четверг, 21.08.2008, 23:47 | Сообщение # 7
    Постоялец

    Группа: Продвинутые
    Сообщений: 373
    Город: Саратов
    Статус: status
    у тебя осталось 13 минут до завтра =) гг

     
    KaZaNOVaДата: Пятница, 22.08.2008, 00:11 | Сообщение # 8
    Уверенный

    Группа: Ангел Хранитель
    Сообщений: 216
    Город: Ульяновск
    Статус: status
    Библиотека 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
    Местный

    Группа: Продвинутые
    Сообщений: 566
    Статус: status
    Quote (KaZaNOVa)
    При заходе игрока в консоли сервера будет писаться количество онлайн игроков, и количество онлайн игроков будет записываеть в файл OnlinePlayers.txt Естественно можно добавить запись даты, ников игроков, их ID итд.

    Меня интересует это: как же можно в Dini сделать, чтобы в файл записывался ник игрока. Я вот например хочу, чтобы в лог-файл записывались все PM игроков, как же это сделать? Или например еще. Тимчат чтобы тоже записывался.
     
    ZaRДата: Пятница, 22.08.2008, 12:01 | Сообщение # 10
    Постоялец

    Группа: Продвинутые
    Сообщений: 373
    Город: Саратов
    Статус: status
    Так, с этим спасибо всё понял - теперь сразу задам ещё 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
    Местный

    Группа: Продвинутые
    Сообщений: 566
    Статус: status
    Quote (WintMax)
    Quote (KaZaNOVa)

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

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


    Ответьте пожалуйста на мой вопрос. Буду очень признателен.
     
    OKStyle™Дата: Воскресенье, 24.08.2008, 09:37 | Сообщение # 12
    Джэдай

    Группа: Разработчики
    Сообщений: 1934
    Город: Оренбург
    Статус: status
    Quote (ZaR)
    Как перенести команду DCMD в обычную

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




    Мои работы

    * Меню цветов

    Слова окстайла всегда правда © HITMAN07

     
    SanSayДата: Понедельник, 25.08.2008, 15:58 | Сообщение # 13
    Местный

    Группа: Продвинутые
    Сообщений: 629
    Город: Наб.Челны
    Статус: status
    народ че за отстой, при добавлении
    #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"

    217.198.1.76:7777 Mode:PEN1(LS)+GTO(банды+кач)
    PEN1(LS)+GTO(банды+кач)v3.14
    AntiBot
     
    XAOCДата: Понедельник, 25.08.2008, 16:29 | Сообщение # 14
    Уважаемый

    Группа: Разработчики
    Сообщений: 944
    Город: Гдета там>>
    Статус: status
    Вот дини и дутилс оптимизированные под мой pen
    Прикрепления: dini_dutils.rar(4Kb)



    Релизы:
    {APP} PAWNO GameText converter
    {APP} PEN1 Houses Builder
    {APP} SA-MP Server Cracker
    {APP} SA-MP Bot Attack

    {FS} Ultimate Admin Script

     
    JIeXaДата: Понедельник, 25.08.2008, 16:42 | Сообщение # 15
    Местный

    Группа: Продвинутые
    Сообщений: 719
    Город: Челябинск
    Статус: status
    KaZaNOVa, раскажи лучше про a_sampdb.inc
    я ваще нихера не понял там ничё...
    хотя и не пытался... :)

    My works:
    [FS]Otmichka
    [FS]Music
    [FS]Clans & Spawn
    [FS]Time and Date
    [FS]Fireworks
    [FS]FixRus
    [FS]Fond
    [FS]Kill
    [FS]Lop&veh
    Scripts Package
    My ICQ 444154563
     
    Форум о GTA Multiplayers. GTA SA-MP, MTA, VC-MP, IV-MP. » San Andreas MultiPlayer » Wiki-Samp-Rus » Всё о чтении/сохранении в файл (Напишите статью для чайников)
    Страница 1 из 212»
    Поиск:

    Copyright SAMP-RUS© 2008