require "lib.moonloader"
local renderTab = {}
function main()
if not isSampLoaded() or not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(100) end
sampRegisterChatCommand('addr', addRender)
while true do wait(0)
if next(renderTab) ~= nil then -- если таблица с рендером не пуста
for k, v in pairs(renderTab) do
if renderTab[k] and not sampIsPlayerConnected(k) then renderTab[k] = nil; end -- если id из таблицы офнется уберет id из таблицы
if renderTab[k] then
local result, handle = sampGetCharHandleBySampPlayerId(k)
if result then
local X, Y, Z = getCharCoordinates(handle)-- корды чела
if isPointOnScreen(X, Y, Z) then
local myX, myY, myZ = getCharCoordinates(playerPed) -- корды тебя
local FX, FY = convert3DCoordsToScreen(X, Y, Z) -- перевод кордов из 3D в 2D
local myFX, myFY = convert3DCoordsToScreen(myX, myY, myZ) -- перевод кордов из 3D в 2D
renderDrawLine(FX, FY, myFX, myFY, 2, 0xFFFFFFFF) -- непосредсвенно рендер линии
end
end
end
end
end
end
end
function addRender(arg)
local id = tonumber(arg)
if not id then return end
if renderTab[id] then renderTab[id] = nil; return; end -- если в таблице уже есть этот id удаление этого id
if sampGetCharHandleBySampPlayerId(id) then renderTab[id] = "" end -- добавление в таблицу нужного id
end