I am using LuaInterface with C#, and have got everything set up correctly.
What I want to be able to do is that when the script is started using lua.DoFile(), that the script has access to a Player object that I can send...
Current Code:
public static void RunQuest(string LuaScriptPath, QPlayer Player)
{
QMain.lua.DoFile(LuaScriptPath);
}
But as you can see the script will not have access to the Player object.
I see two options. The first one is to make your player a global variable for Lua:
Then you'll be able to access
player
in your scriptThe second option is to have the script define a function accepting player as parameter. So if your current script contains
...code...
now it will contain:and your C# code will look something like this: