- 443
- 655
Это проект наподобие SAMP.Lua только для RakBot'а.
Сейчас функционал маленький но он будет дополняться
Моя цель это почти полный перенос библиотеки SAMP.Lua
и частично перенос функций Moonloader'а
Сейчас готово 4.5 модуля и один приятный фикс:
Сейчас функционал маленький но он будет дополняться
Моя цель это почти полный перенос библиотеки SAMP.Lua
и частично перенос функций Moonloader'а
Если вы используете эту библиотеку то вместо стандартного хука onRecvRpc используйте хук onRRpc.
(Если вы будете использовать onRecvRpc то библиотека не будет работать)
(Если вы будете использовать onRecvRpc то библиотека не будет работать)
Сейчас готово 4.5 модуля и один приятный фикс:
Это полноценный перенос работы с textdraw'ами из moonloader'a и samp.lua
Хук onShowTextDraw полностью повторяет хук из SAMP.Lua
Пример:
(Остальные хуки связанные с textdraw'ами я не переносил так как они уже есть в RakBot'е и нормально функционируют)
Перенесены с MoonLoader'a такие функции:
Добавлены такие функции:
Хук onShowTextDraw полностью повторяет хук из SAMP.Lua
Пример:
Lua:
function onShowTextDraw(tId,data)
if data.modelId == 19918 then
clickTextDraw(tId) -- кликаем по textdraw'у у которого модель сундука
end
end
Перенесены с MoonLoader'a такие функции:
Lua:
-- Все функции возвращают значение или nil
sampTextdrawGetString(id)
sampTextdrawGetStyle(id)
sampTextdrawGetPos(id)
sampTextdrawGetShadowColor(id)
sampTextdrawGetLetterSizeAndColor(id)
sampTextdrawGetModelRotationZoomVehColor(id)
sampTextdrawIsExists(id) -- Возвращает true если текстдрав есть или false
Добавлены такие функции:
Lua:
sampTextdrawGetData(id) -- Возвращает всю информацию про textdraw
Перенесены такие хуки:
(onObjectCreate чутка обрезан так как не знаю как правильно все перенести)
Пример:
С MoonLoader'a перенесены такие функции:
Добавлены такие функции:
Так же прошу заметить что используется не handle объекта а именно id
Lua:
onObjectCreate(objectId,data) -- тоже что и onCreateObject
onSetObjectPosition(objectId, position) -- onSetObjectPosition
onSetObjectRotation(objectId, rotation) -- onSetObjectRotation
Пример:
Lua:
function onObjectCreate(id, data)
if data.modelId == 983 then
printLog('Установлен забор')
end
end
Lua:
getAllObjects()
getObjectCoordinates(id)
doesObjectExist(id)
Lua:
getObjectData(id) -- получаем информацию про object
Ну тут не было что переносить
Перенес только такие хуки:
Перенес только такие хуки:
Lua:
onSetCheckpoint(position, radius) -- onSetCheckpoint
onSetRaceCheckpoint(type, position, nextPosition, size) -- onSetRaceCheckpoint
getCurrentRaceCheckpoint() -- возвращает активный чекпоинт
Lua:
onPickupCreate(id, data) -- ивент который вызывается при создании пикапа
onPickupDestroy(id, data) -- вызывается при уничтожении пикапа
getAllPickups(id) -- получить все пикапы
getPickupType(id) -- получить тип пикапа
getPickupModel(id) -- получить модель пикапа
getPickupCoordinates(id) -- получить координаты пикапа
doesPickupExist(id) -- проверка существует ли пикап
В fix.lua просто фикс print. Теперь можно юзать стандартный print из луа и не переживать про тип.
В other.lua просто обработка интерьера
Lua:
onSetInterior(id) -- ивент который вызывает когда сервер меняет интерьер
getInteriorId() -- получение текущего интерьера
Содержимое архива перенести в папку путь_до_ракбота/scripts/libs
Подключение:
В начале вашего скрипта вам нужно вставить 2 строки
Далее просто каждый модуль подключать по отдельности
Подключение:
В начале вашего скрипта вам нужно вставить 2 строки
Lua:
package.path = getRakBotPath().."/scripts/libs/?.lua;"..getRakBotPath().."/scripts/libs/?/init.lua;";
package.cpath = getRakBotPath().."/scripts/libs/?.dll";
Далее просто каждый модуль подключать по отдельности
Lua:
require("luaAddons.other")
require("luaAddons.fix")
require("luaAddons.checkpoint")
require("luaAddons.textdraw")
require("luaAddons.object")
require("luaAddons.pickup")
Вложения
Последнее редактирование: