вижу два варианта. Во-первых, сделать ваш игрок глобальной переменной для Lua:
QMain.lua['player'] = Player
Тогда вы сможете получить доступ к player
в вашем скрипте
Второй вариант - сделать так, чтобы скрипт определял функцию, принимающую игрока в качестве параметра. Так что если ваш текущий скрипт содержит ...code...
, теперь он будет содержать:
function RunQuest(player)
...code...
end
и ваш код C # будет выглядеть примерно так:
public static void RunQuest(string LuaScriptPath, QPlayer Player)
{
QMain.lua.DoFile(LuaScriptPath); // this will not actually run anything, just define a function
QMain.lua.GetFunction('RunQuest').Call(player);
}