Определяет информацию о 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