mirror of
https://github.com/kuitoi/kuitoi-Server.git
synced 2025-08-17 16:25:36 +00:00
2.4 KiB
2.4 KiB
Обеспечение обратной поддержки BeamMP Lua
В KiuToi есть практически полная поддержка lua плагинов с BeamMP, все необходимые методы созданы, тестирование показало следующие нюансы:
В KiuToi не будет поддержки: MP.Set()
Economic Rework V2.0 (Платный, Discord (RU): Hlebushek)
- Для получения
pluginPath
нужно:debug.getinfo(1).source:gsub("\\","/")
=>debug.getinfo(1).source:gsub("\\","/"):gsub("@", "")
так как пусть возвращается с@
, что сломало плагин.
Cobalt Essentials V1.7.5 (Бесплатный, github)
- Для получения
pluginPath
нужно:debug.getinfo(1).source:gsub("\\","/")
=>debug.getinfo(1).source:gsub("\\","/"):gsub("@", "")
так как пусть возвращается с@
, что сломало плагин. - Пришлось перенести все
require()
заonInit
- В некоторых моментах пришлось перенести
MP.RegisterEvent
уже после объявления функции, т.е.:
--Вот так не правильно, может не пройти регистрация
MP.RegisterEvent("onPlayerAuth","onPlayerAuth")
function onPlayerAuth(name, role, isGuest)
-- Some plugin code
end
--Вот такой вариант пройдёт
MP.RegisterEvent("onPlayerAuth","onPlayerAuth")
Немного о принципе работы
Загрузка плагина проходит в несколько этапов:
- Сканируется папка
plugins/
- Если папки нет в PyPlugins и в папке есть
*.lua
, то она добавляется, допустим это будетplugins/LuaPlugin
- Далее из этой папки проходит
lua.loadfile({filename})
(Это стандартный метод в lua) - И в конце вызывается ивент и функция
onInit()
- Если во время выполнения
onInit()
не произошло ошибок, можно будет увидеть через командуlua_plugins
такое сообщение:Lua plugins: LuaPlugin:ok