Problem using the lua api - Printable Version +- Cuberite Forum (https://forum.cuberite.org) +-- Forum: Cuberite (https://forum.cuberite.org/forum-4.html) +--- Forum: Development (https://forum.cuberite.org/forum-13.html) +--- Thread: Problem using the lua api (/thread-2070.html) |
Problem using the lua api - SamJBarney - 07-24-2015 I'm busy working on a channel manager right now to simplify handling custom packets encapsulated within what we call plugin messages. However, I am having trouble with the lua api. My manual binding, which can be found here, checks to see if the third argument is a valid function, which it is and it passes the check fine. However, when cPlugin::Call tries to use the stored function ref, cLuaState::PushFunction(int a_FnRef) fails because it says it is not a function. What am I doing wrong? RE: Problem using the lua api - SamJBarney - 07-24-2015 Nevermind. I fixed it. I was trying to grab the function directly instead of through LUA_REGISTRYINDEX. RE: Problem using the lua api - xoft - 07-24-2015 That's why the cLuaState class has a cRef class, which is exactly what you should be using for storing function references. RE: Problem using the lua api - SamJBarney - 07-25-2015 I tried using it, but I couldn't get it to work. Especially since there is no copy constructor for cRef. RE: Problem using the lua api - xoft - 07-25-2015 It doesn't support copying (because it would be unnecessarily difficult to copy the value in Lua), you must std::move it. |