Действие FILE

Это действие используется, когда необходимо выполнять действия над файлами сервера.

FILE <action> <fileName> [fileNameTo]

ЭлементВозможные значенияОписание
actionaction:[remove / copy / move]Действие над файлом. Удаление, Копирование, Перенос
fileName{...}Путь к файлу или директории. Путь указывается относительно корня сервера. При указании директории, необходимо быть осторожным, чтобы не удалить нужные файлы
fileNameTo{...}Путь, куда будет переносится или копироваться файл. Путь указывается относительно корня сервера.

Временные плейсхолдеры, созданные этим действием

PlaceholderОписание
%fullpath%Абсолютный путь к файлу или директории.
%removecount%Показывает число удалённых файлов.
%filedebug%Показывает ошибки, при выполнении этого действия.

Примеры

  1. Удалим все файлы из директории /world/playerdata.
EXEC:
  remove_players:
    actions:
    - FILE=action:remove fileName:{/world/playerdata}
    - 'MESSAGE=&aПуть к удаляемым файлам: &r%fullpath%'
    - 'MESSAGE=&aБыло удалено &6&l%removecount% &aфайлов'
  1. Удалим файл .dat игрока, при выходе из игры.
EXEC:
  rem:
    actions:
    - PLAYER_ID=player:%player% online:false
    - FILE=action:remove fileName:{/world/playerdata/%playerid%.dat}
QUIT:
  rem_quit:
    actions:
    - execute=activator:rem

При выходе игрока из игры, сервер сохраняет информацию о его инвентаре и т.п. в удаляемом файле, поэтому, чтобы файл удалился, необходимо дать серверу завершить запись. В этом случае я использую дополнительный активатор rem.

  1. Копирование и перенос файла
EXEC:
  copy:
    actions:
    - file=action:copy fileName:{/test/1/3/1.txt} fileNameTo:{/test/1/4/5/2.txt}
  move:
    actions:
    - file=action:move fileName:{/test/1/3/1.txt} fileNameTo:{/test/1/4/5/2.txt}