function main() -- Главная функция
while not isSampAvailable() do wait(100) end -- Если самп не загружен то не начинать работу всех действий снизу
local font = renderCreateFont("Arial", 7, 4) -- Загружаем шрифт. Вместо Arial пиши свой шрифт, цифра 7 это размер текста, а 4 размер обводки
sampAddChatMessage("{5A90CE}[ID Objects] {FFFFFF}Скрипт успешно загружен! | Активация: /idobj") -- Сообщение при старте сампа
sampRegisterChatCommand("idobj", function() -- Регистрация команды
idobj = not idobj -- Переменную делаем противоположным её значением при вводе команды для активации скрипта
sampAddChatMessage(idobj and "{5A90CE}[ID Objects] {FFFFFF}Скрипт - {66FF00}Активирован!" or "{5A90CE}[ID Objects] {FFFFFF}Скрипт - {FF0000}Де-Активирован!") -- Сообщение при вводе команды. Если переменная true то высветится первое сообщение, если false то второе
end)
while true do -- Бесконечный цикл
wait(0) -- Хз зачем это
if idobj then -- Если переменная равна true то
for k, v in pairs(getAllObjects()) do -- Перебирать все объекты в зоне стрима
if isObjectOnScreen(v) then -- Если объект в зоне стрима то
local pX, pY, pZ = getCharCoordinates(PLAYER_PED) -- Получать местоположение пользователя
local res, oX, oY, oZ = getObjectCoordinates(v) -- Получать местоположение объекта
local wpX, wpY = convert3DCoordsToScreen(pX, pY, pZ) -- Конвертируем 3D координаты пользователя в экранные, необходимо для отображения текста/полоски
local woX, woY = convert3DCoordsToScreen(oX, oY, oZ) -- Конвертируем 3D координаты объекты в экранные, необходимо для отображения текста/полоски
local dist = string.format("%.1f", getDistanceBetweenCoords3d(pX, pY, pZ, oX, oY, oZ)) -- Если тебе будет нужно то это получение дистанции, если хочешь без 10.5 (к примеру) дистанцию то введи %.0f
renderDrawLine(wpX, wpY, woX, woY, 1, -1) -- Проводим линию. wpX, wpY это координаты первой точки, woX, woY это второй, 1 это толщина, а -1 цвет, вместо него пишешь 0xFFFFFF (к примеру)
renderFontDrawText(font, "Объект. Дистанция: " .. dist .. " метров. Айди: " .. getObjectModel(v), woX, woY, -1) -- Сам текст. font - переменная с шрифтом. Затем идёт текст, далее экранные координаты и цвет. Также цвет писать 0xFFFFFF (к примеру)
end -- Завершаем проверку на нахождение объекта в зоне видимости игрока
end -- Завершаем перебор всех объектов в зоне стрима
end -- Завершаем проверку на значение переменной
end -- Завершаем бесконечный цикл
end -- Завершаем всю функцию