diff --git a/docs/ru/plugins/lua/readme.md b/docs/ru/plugins/lua/readme.md new file mode 100644 index 0000000..9774b77 --- /dev/null +++ b/docs/ru/plugins/lua/readme.md @@ -0,0 +1,35 @@ +# Обеспечение обратной поддержки BeamMP Lua + +В KiuToi есть практически полная поддержка lua плагинов с BeamMP, все необходимые методы созданы, тестирование показало следующие нюансы: + +В KiuToi не будет поддержки: `MP.Set()` + +#### Economic Rework V2.0 (Платный, Discord (RU): [Hlebushek](https://discordapp.com/users/449634697593749516)) + +1. Для получения `pluginPath` нужно: `debug.getinfo(1).source:gsub("\\","/")` => `debug.getinfo(1).source:gsub("\\","/"):gsub("@", "")` так как пусть возвращается с `@`, что сломало плагин. + +#### Cobalt Essentials V1.7.5 (Бесплатный, [github](https://github.com/prestonelam2003/CobaltEssentials/)) + +1. Для получения `pluginPath` нужно: `debug.getinfo(1).source:gsub("\\","/")` => `debug.getinfo(1).source:gsub("\\","/"):gsub("@", "")` так как пусть возвращается с `@`, что сломало плагин. +2. Пришлось перенести все `require()` за `onInit` +3. В некоторых моментах пришлось перенести `MP.RegisterEvent` уже после объявления функции, т.е.: +```lua +--Вот так не правильно, может не пройти регистрация +MP.RegisterEvent("onPlayerAuth","onPlayerAuth") +function onPlayerAuth(name, role, isGuest) + -- Some plugin code +end + +--Вот такой вариант пройдёт +MP.RegisterEvent("onPlayerAuth","onPlayerAuth") +``` + +### Немного о принципе работы + +Загрузка плагина проходит в несколько этапов: + +1. Сканируется папка `plugins/` +2. Если папки нет в PyPlugins и в папке есть `*.lua`, то она добавляется, допустим это будет `plugins/LuaPlugin` +3. Далее из этой папки проходит `lua.loadfile({filename})` (Это стандартный метод в lua) +4. И в конце вызывается ивент и функция `onInit()` +5. Если во время выполнения `onInit()` не произошло ошибок, можно будет увидеть через команду `lua_plugins` такое сообщение: `Lua plugins: LuaPlugin:ok` diff --git a/docs/ru/readme.md b/docs/ru/readme.md index 9d8e158..a618260 100644 --- a/docs/ru/readme.md +++ b/docs/ru/readme.md @@ -4,6 +4,7 @@ 1. Настройка и Запуск сервера - [тута](./setup) 2. Плагины и Ивент система - [тута](./plugins) -3. Мультиязычность - [тута](./multilanguage) -4. KuiToi WebAPI - [тута](./web) -5. Тут будет что-то ново.... +3. Ньансы работы Lua - [тута](./plugins/lua) +4. Мультиязычность - [тута](./multilanguage) +5. KuiToi WebAPI - [тута](./web) +6. Тут будет что-то новое....