[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Форум » Уроки SourceMod (SourcePawn) Скриптинга » Действия с Файлами и Папками (Взято с world-source.ru)
Действия с Файлами и Папками
rootДата: Воскресенье, 03.02.2013, 00:18 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 561
Статус: Offline
Действия с Файлами и Папками 

bool:FileExists("путь"); - поиск файла. 
Путь указывайте после папки cstrike (не указывая её), например, cfg/server.cfg, sound/xz.mp3 и т.п. 

Код
if (FileExists("cfg/server.cfg"))  
{  
      // файл найден  
}  
else  
{  
      // Нет  
}

bool:DirExists("путь"); - поиск папки 
bool:DeleteFile("путь"); - удалить файл (вернет true, если удален) 
bool:RemoveDir("путь"); - удалить папку 
FileSize("путь"); - возвращает размер файла в байтах 

Вот так можно получить список файлов в cstrike/cfg: 

Код
#include <sourcemod>       

public OnPluginStart()  
{  
      new Handle:dir = OpenDirectory("cfg/");  
      if (dir != INVALID_HANDLE)  
      {  
          decl String:Name[100];  
          new x = 0, FileType:type;  
          while (ReadDirEntry(dir, Name, 100, type))  
          {  
              if (type == FileType_File) PrintToServer("%d. %s", ++x, Name);  
          }  
          CloseHandle(dir);  
      }  
      else PrintToServer("Не удалось открыть директорию");  
}

FileType_Unknown - неизвестный тип файла 
FileType_Directory - папка 
FileType_File - файл 

bool:RenameFile(const String:newpath[], const String:oldpath[]); 
Перемещает файл "oldpath" в "newpath" - можно даже изменить ему имя. Вернёт true, в случае успеха. 

Пример: 

Код
// Переместит OldName.txt в папку cstrike/ с новым именем "NewName.txt"  
RenameFile("NewName.txt", "cfg/OldName.txt");
 
Форум » Форум » Уроки SourceMod (SourcePawn) Скриптинга » Действия с Файлами и Папками (Взято с world-source.ru)
  • Страница 1 из 1
  • 1
Поиск: