Определяет информацию о lua-скрипте и предоставляет функции для управления им.
Поля класса разделены на свойства и функции.
Вызываются через точку. Пример local name = scr.name
.
Тип | Описание |
---|---|
string name | имя скрипта, заданное функцией 'script_name'. Если имя не задано используется название файла |
string description | описание скрипта, указанное функцией 'script_description'. Пустая строка, если не указано |
int version_num | числовая версия скрипта. 0, если не указано |
string version | текстовая версия скрипта. Будет использована числовая версия, если не задано |
table authors | список авторов скрипта. Пустой, если не указаны |
table dependencies | список зависимостей скрипта. Пустой, если не указаны |
string path | полный путь к файлу скрипта |
string filename | название файла скрипта, включая расширение |
string directory | полный путь директории, из который был загружен скрипт |
bool frozen | статус активности потока (приостановлен/активен) |
bool dead | статус существования потока. Есть случаи, когда поток уже завершён, а lua-объект скрипта ещё существует. Свойство dead проверяет объект скрипта на валидность |
any exports | экспортируемые скриптом значения. Можно получить и функцией import |
int id | уникальный идентификатор скрипта |
string url | web-адрес скрипта |
table properties | список свойств, заданных директивой script_properties |
Вызываются через двоеточие. Например, scr:reload()
.
pause() | приостанавливает поток скрипта |
resume() | снимает остановленный поток с паузы |
unload() | выгружает скрипт |
reload() | перезагружает скрипт |
Пример функции, выводящей информацию о скрипте, из которого была вызвана и завершающей его.
function showInfoAndUnload()
-- получаем объект текущего скрипта
local scr = thisScript()
-- выводим название, версию и список авторов в лог
print(string.format("Name: %s, Version: %s, Authors: %s", scr.name, scr.version, table.concat(scr.authors, ", ")))
-- принудительно завершаем скрипт
scr:unload()
end