Cuberite Forum

Full Version: Problem using the lua api
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
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?
Nevermind. I fixed it. I was trying to grab the function directly instead of through LUA_REGISTRYINDEX.
That's why the cLuaState class has a cRef class, which is exactly what you should be using for storing function references.
I tried using it, but I couldn't get it to work. Especially since there is no copy constructor for cRef.
It doesn't support copying (because it would be unnecessarily difficult to copy the value in Lua), you must std::move it.