ngd-ruler/client/client.lua

61 lines
1.5 KiB
Lua
Raw Permalink Normal View History

2023-05-27 18:50:25 -05:00
local marker = nil
local markerCoords = nil
local distanceText = nil
function CreateMarker(coords)
if DoesBlipExist(marker) then
RemoveBlip(marker)
end
marker = AddBlipForCoord(coords.x, coords.y, coords.z)
SetBlipSprite(marker, 1)
SetBlipDisplay(marker, 2)
SetBlipColour(marker, 2)
SetBlipAsShortRange(marker, true)
BeginTextCommandSetBlipName("STRING")
AddTextComponentString("Marker")
EndTextCommandSetBlipName(marker)
CreateThread(function()
while DoesBlipExist(marker) do
Wait(0)
DisplayDistance()
end
end)
end
function MeasureDistance()
local playerPed = PlayerPedId()
local playerCoords = GetEntityCoords(playerPed)
local distance = GetDistanceBetweenCoords(playerCoords, markerCoords.x, markerCoords.y, markerCoords.z, true)
return distance
end
function DisplayDistance()
local distance = MeasureDistance()
SetTextFont(0)
SetTextScale(0.5, 0.5)
SetTextColour(255, 255, 255, 255)
SetTextOutline()
SetTextEntry("STRING")
AddTextComponentString("Distance to marker: " .. distance)
DrawText(0.2, 0.8)
end
function RemoveStuff()
function RemoveStuff()
if DoesBlipExist(marker) then
RemoveBlip(marker)
end
end
end
RegisterCommand(Config.Place, function()
local playerPed = PlayerPedId()
local playerCoords = GetEntityCoords(playerPed)
markerCoords = playerCoords
CreateMarker(markerCoords)
end)
RegisterCommand(Config.Remove, function()
RemoveStuff()
end)