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

 



 
          





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





Последние Файлы 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 из 3
  • 1
  • 2
  • 3
  • »
Модератор форума: AXE, Weddew  
удаление строки из файла
CNGДата: Воскресенье, 12.04.2009, 14:19 | Сообщение # 1
Уверенный в себе
Группа: Продвинутые
Сообщений: 213
Награды: 1
Город: Minsk City
Репутация: 13
Замечания: 0%
Статус:
может у кого нибудь завалялся скрипт который удаляет указанную строку из файла?

выглядит примерно так:
[pwn]DeleteLineFromFile("file.ini","CNG"); //удалит мой ник из файла file.ini[/pwn]

SanSayДата: Воскресенье, 12.04.2009, 14:28 | Сообщение # 2
Долгожитель
Группа: Продвинутые
Сообщений: 1662
Награды: 25
Город: Наб.Челны
Репутация: 280
Замечания: 0%
Статус:
CNG,
файл имеет постоянную величину или меняется по мере добавления имен?
если постоянную, то можно с помощью Dini.



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
CNGДата: Суббота, 18.04.2009, 22:53 | Сообщение # 3
Уверенный в себе
Группа: Продвинутые
Сообщений: 213
Награды: 1
Город: Minsk City
Репутация: 13
Замечания: 0%
Статус:
файл предназначен для хранения ников. ники нужно добавлять у далять
SanSayДата: Воскресенье, 19.04.2009, 01:32 | Сообщение # 4
Долгожитель
Группа: Продвинутые
Сообщений: 1662
Награды: 25
Город: Наб.Челны
Репутация: 280
Замечания: 0%
Статус:
Quote (CNG)
файл предназначен для хранения ников. ники нужно добавлять у далять

это не меняет сути вопроса - еси у него есть предел например 50 имен, то все можно работать с Dini
она может и удалять и добавлять и заменять и выводить тебе определенную строку для просмотра и т.п.

еси 1000 имен, и нужно очень частно обращаться туда, раз в секунду, то наверно лучше стандартными способами обойтись, а еси раз в 10 минут, то и на 1000 имен думаю можно ))), но зависит конечно уже и от железа и от канала связи и т.п.


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
CNGДата: Воскресенье, 19.04.2009, 14:16 | Сообщение # 5
Уверенный в себе
Группа: Продвинутые
Сообщений: 213
Награды: 1
Город: Minsk City
Репутация: 13
Замечания: 0%
Статус:
имен будет не больше 10
обращение к файлу будет только при коннекте игрока, дописывании в файл ника (через команду админа), удаление ника (через команду админа)
хотелось бы подробнее почитать про didi, есть какая нибудь документация?

[RD]ChezДата: Воскресенье, 19.04.2009, 14:30 | Сообщение # 6
Мастер джэдай
Группа: Продвинутые
Сообщений: 3687
Награды: 206
Город: St. P
Репутация: 0
Замечания: 20%
Статус:
CNG, самая лучшая документация это мод, использующий dini инклуд ну или, если шаришь в павно то просто посмотретть на содержимое dini инклуда. там ничо сложного в принципе
Самый яркий пример dini это GTO если не ошибаюсь cool



1 час моей работы стоит минимум 800 рублей для срочных работ.
Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS.
Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы.
Немного ассемблер.
Ох**тельный верстальщик какб.

Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^

chezrd@gmail.com
lance@chez-lab.ru


Сообщение отредактировал [RD]Chez - Воскресенье, 19.04.2009, 14:32
SanSayДата: Понедельник, 20.04.2009, 00:06 | Сообщение # 7
Долгожитель
Группа: Продвинутые
Сообщений: 1662
Награды: 25
Город: Наб.Челны
Репутация: 280
Замечания: 0%
Статус:
CNG, я сам тут откопал дини когда мне она понадобилась
как правильно сказал [RD]Chez, ГТО самый яркий пример, т.к. полностью написан на дини, но там х разберешься ))), слишком замудренно
вот некоторое описание
[pwn]
Библиотека 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);

dini_FloatSet
Записывает в файл переменную величину

Параметры:
(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 ©


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
CNGДата: Вторник, 21.04.2009, 21:44 | Сообщение # 8
Уверенный в себе
Группа: Продвинутые
Сообщений: 213
Награды: 1
Город: Minsk City
Репутация: 13
Замечания: 0%
Статус:
так, с dini немного разобрался, но всё равно не могу сообразить как их использовать чтобы написать нужную мне функцию

думаю нужно так:
перебераем строки файла циклом от 1 до sizeof(переменная_файла)
постом через strcmp сравниваем строку с нужным ником
если ник равен строке, то каким-то образом его оттуда удаляем
кто поможет с реализацией?

[RD]ChezДата: Среда, 22.04.2009, 00:13 | Сообщение # 9
Мастер джэдай
Группа: Продвинутые
Сообщений: 3687
Награды: 206
Город: St. P
Репутация: 0
Замечания: 20%
Статус:
стукни в асю после 17-18 по москве... если не буду занят - помогу wink


1 час моей работы стоит минимум 800 рублей для срочных работ.
Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS.
Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы.
Немного ассемблер.
Ох**тельный верстальщик какб.

Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^

chezrd@gmail.com
lance@chez-lab.ru
SanSayДата: Среда, 22.04.2009, 02:25 | Сообщение # 10
Долгожитель
Группа: Продвинутые
Сообщений: 1662
Награды: 25
Город: Наб.Челны
Репутация: 280
Замечания: 0%
Статус:
CNG, с дини ниче не нужно перебирать, указываешь какую строку очистить и все
dini_Set("Name.txt","Name5","open"); // вместо open можно и просто пробел кажись поставить



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
CNGДата: Среда, 22.04.2009, 14:47 | Сообщение # 11
Уверенный в себе
Группа: Продвинутые
Сообщений: 213
Награды: 1
Город: Minsk City
Репутация: 13
Замечания: 0%
Статус:
в итоге, в конце файла добавится вот такая запись:
Name5=

[RD]ChezДата: Среда, 22.04.2009, 15:07 | Сообщение # 12
Мастер джэдай
Группа: Продвинутые
Сообщений: 3687
Награды: 206
Город: St. P
Репутация: 0
Замечания: 20%
Статус:
dini_Unset(filename[],key[])
filename понятно
key переменная в файле, то бишь Level или AdminLevel ну это к примеру как бы



1 час моей работы стоит минимум 800 рублей для срочных работ.
Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS.
Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы.
Немного ассемблер.
Ох**тельный верстальщик какб.

Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^

chezrd@gmail.com
lance@chez-lab.ru
CNGДата: Среда, 22.04.2009, 15:47 | Сообщение # 13
Уверенный в себе
Группа: Продвинутые
Сообщений: 213
Награды: 1
Город: Minsk City
Репутация: 13
Замечания: 0%
Статус:
блиин! у меня нету знаков равно в файле!
1 строка - 1 ник

[RD]ChezДата: Среда, 22.04.2009, 15:59 | Сообщение # 14
Мастер джэдай
Группа: Продвинутые
Сообщений: 3687
Награды: 206
Город: St. P
Репутация: 0
Замечания: 20%
Статус:
тебе именно в файле надо? прост я могу тебе сделать подобное на БД
ну а если в файл то давай аську в аську напишу, тк UCWEB браузер все знаки равно не отправляет, разрывая сообщение



1 час моей работы стоит минимум 800 рублей для срочных работ.
Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS.
Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы.
Немного ассемблер.
Ох**тельный верстальщик какб.

Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^

chezrd@gmail.com
lance@chez-lab.ru


Сообщение отредактировал [RD]Chez - Среда, 22.04.2009, 16:00
CNGДата: Среда, 22.04.2009, 16:07 | Сообщение # 15
Уверенный в себе
Группа: Продвинутые
Сообщений: 213
Награды: 1
Город: Minsk City
Репутация: 13
Замечания: 0%
Статус:
ася 294010158
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск:





 


 


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