Я использую последнюю версию LuaJit и мне нужна помощь для начала работы. Что мне нужно, так это иметь набор функций, доступных для среды Lua, которые могут быть переопределены внутри скриптов для запуска предоставленного пользователем кода. Эти функции затем будут вызываться во время событий set из C ++.
Например, когда пользователь нажимает клавишу TAB, он вызывает функцию из среды lua, например, OnScoreboardOpen (), а когда пользователь отпускает клавишу TAB, он вызывает соответствующую функцию OnScoreboardClose (), эти функции могут быть присоединены к метаметоду. как Game или GM.
Может ли кто-нибудь указать мне на некоторые учебники или примеры кода, показывающие, как это можно сделать?
Большое спасибо за уделенное время.
В основном вы используете эти две функции: lua_pushXXX и lua_pcall
Зависит от того, как вы называете функцию LUA, это может быть простой метод функции или объекта.
то есть
function OnScoreboardOpen()
end
ИЛИ ЖЕ
function Game:OnScoreboardOpen()
end
Использовать обычную функцию относительно просто:
// TODO: sanity check
lua_getglobal(L, name);
lua_pushnumber(L,123);
lua_pcall(...);