Моя проблема в том, что у меня проблемы с указанием путей для поиска Lua.
Например, в моем скрипте у меня есть строка require("someScript")
, которая отлично работает (она может использовать функции из someScript
, когда скрипт выполняется автономно.
Однако, когда я запускаю свое приложение, скрипт завершается ошибкой. Я полагаю, что это потому, что Lua ищет расположение относительно приложения, а не относительно сценария.
Жесткое кодирование всего пути к диску не вариант, так как люди могут скачать игру где угодно, поэтому самое большое, что я могу сделать - это корневая папка для игры.
У нас есть файлы XML для загрузки информации об объектах. В них, когда мы указываем скрипт, который использует объект, нам нужно сделать что-то вроде Content/Core/Scripts/someScript.lua
, где Content
находится в том же каталоге, что и Debug
, а приложение находится внутри Debug
. Если я пытаюсь поместить это (Content/Core...
) в пакет Lua package.path, я получаю ошибки при попытке запустить автономный скрипт.
Я действительно застрял и не уверен, как это решить. Любая помощь приветствуется. Благодаря.
P.S. Когда я распечатываю файл package.path по умолчанию в приложении, я вижу синтаксис вроде ;.\?.lua
в такой последовательности, как ...
;.\?.lua;c:...(long file path)\Debug\?.lua;
Я предполагаю, что ;
означает конец пути, но я понятия не имею, что означает .\?.lua
. Любой файл Lua в каталоге?