Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Учимся пользоваться FileManager'ом

Статус
В этой теме нельзя размещать новые ответы.

ChIp*

Компетентный
Что такое FileManager?
- Это плагин, который позволяет управлять файлами и папками

В отличие от стандартной файловой системы SAMP, данный плагин позволяет перемещать файлы куда угодно, в пределах корня сервера, а также создавать папки!

Функции:

Код:
native file_move(file[],destination[]); 
native file_delete(file[]); 
native file_create(file[]); 
native file_write(file[],text[],mode[] = "a");
native file_read(file[],storage[], sizeof(storage)); 
native file_log(); 
native file_exists(file[]); 

native dir_create(directory[]); 
native dir_delete(directory[]); 
native dir_exists(directory[]);
file[] - Полный путь к файлу начиная от директории в кавычках, пример: "scriptfiles/MyFile.txt".
destination[] - Новый полный путь к файлу в кавычках, пример: пример: "filterscripts/New.ini".
text[] - Текст который нужно записать, в нашем случае - в файл. Русская кодировка поддерживается
mode[] = "a" - Тип записи в файл, по умолчанию - a, что означает дополнить файл (как io_append). Имеется второй тип записи - w, при таком типе файл будет очищен полностью, а потом произойдет запись текста в него (как io_write).
storage[] - string переменная для импорта содержимого файла.
directory[] - путь для директории в кавычках, пример: "gamemodes/MyDir"

К сожалению, я так и не разобрался за что отвечает file_log(). Поэтому описания к ней не будет.

Теперь разберем функции подробнее

Код:
native file_move(file[],destination[]);
Переносит файл к новому расположению. Пример:

PHP:
file_move("scriptfiles/Radio.ini","filterscripts/MyFile.txt");
//перенесет файл Radio.ini из папки scriptfiles в папку filterscritps и назовет его MyFile.txt
Код:
native file_delete(file[]);
Данная функция удаляет файл по указанному пути. Пример:
PHP:
file_delete("filterscripts/MyFile.txt");
//удаляет MyFile.txt из папки filterscritps
Код:
native file_create(file[]);
Данная функция создаст файл по указанному пути. Пример:

PHP:
file_create("gamemodes/MyLog.cfg");
//создает MyLog.cfg в папке gamemodes
Код:
native file_read(file[],storage[], sizeof(storage));
Функция для записи содержимого файла в string-переменную.

PHP:
new str[256];
file_read("scriptfiles/Radio.txt",str,sizeof(str));
//читает файл Radio.txt в scriptfiles и записывает его содержимое в переменную str

Код:
native file_write(file[],text[],mode[] = "a");
Функция записывает текст в указанный файл. Имеет два вида записи:
a - дополнит содержимое файла
w - очистит файл и начнет запись

Пример:

PHP:
file_write("npcmodes/npc_1.ini","\nКак я люблю дополнять файлы бессмысленным текстом!","a");
file_write("npcmodes/npc_1.ini","Как я люблю очищать файлы и записывать в них бессмысленный текст!","w");
Если файла не существует, то он будет автоматически создан



Код:
native file_exists(file[]);
Проверяет наличие файла по указанному пути. Пример:

PHP:
if(file_exists("npcmodes/npc_1.ini"))print("Пришло время работать с файлами!");
else print("Файл не найден");

Код:
native dir_create(directory[]);
Создает папку по указанному пути. Пример:

PHP:
dir_create("MyDir");//создаст папку MyDir в корне сервера
dir_create("scriptfiles/MyDir");//создаст папку MyDir в папке scriptfiles.
Если папка в пути создания не существует, то создания не будет. Пример:

PHP:
//допустим у нас отсутствует папка nyan
dir_create("nyan/MyDir");//папка MyDir создана не будет

Код:
native dir_delete(directory[]);
Удаляет указанную папку. Внимание! Папка должна быть пуста, иначе удаления не произойдет. Пример:

PHP:
dir_delete("scriptfiles/Dude");
//Удалит папку Dude из папки scriptfiles
dir_delete("Logs");
//Удалит папку Logs из корня сервера


Код:
native dir_exists(directory[]);
Проверяет существует ли директория. Пример:

PHP:
if(dir_exists("gamemodes/Dude"))print("Директория найдена");
else print("Директория не найдена");
Так, а теперь сделаем маневр.

PHP:
new name[MAX_PLAYER_NAME],str[200],grand_history_folder[256];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
format(str,sizeof(str),"scriptfiles/%s",name);
dir_create(str);
format(str,sizeof(str),"%s/Info.txt",name);
file_write(str,"Говорят что этот файл был основан благодаря игроку, чье имя носит папка, в которой расположен файл","w");
file_read(str,grand_history_folder,sizeof(grand_history_folder));
Установка:

  1. Скачайте нужный вам архив, в одном - плагин для lunix, в другом - для Windows
  2. Распакуйте скачанный архив.
  3. Перетащите filemanager.inc из папки includes в папку вашего сервера/pawno/include
  4. Откройте нужный вам мод, который есть в папке gamemodes вашего сервера и добавьте после

PHP:
#include <a_samp>
PHP:
#include <filemanager>
  1. Если вы используете lunix, то перетащите filemanager.so из папки Lunix в папку plugins, которая находится в корне вашего сервера, если ее нет - создайте.
  2. Если вы используете windows, то перетащите FileManager.dll из папки Windows в папку plugins, которая находится в корне вашего сервера, если ее нет - создайте.
  3. Откройте server.cfg в папке вашего сервера и в строчку plugins впишите следующее:
  4. filemanager.so - если у вас lunix
  5. FileManager - если у вас windows
  6. За неимением строчки plugins впишите ее сами в самый конец server.cfg
  7. Радуйтесь проделанной работе

Скачать:





Автор плагина: JaTochNietDan
Автор урока: BRICS
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу