local playerServerId = GetPlayerServerId(PlayerId()) Citizen.CreateThread(function() while not ESX.IsPlayerLoaded() do Citizen.Wait(100) end Citizen.Wait(2000) isLoaded = true end) RegisterNetEvent("esx:playerLoaded", function() Citizen.Wait(2000) isLoaded = true end) local StreetNames = {} local StreetName = nil local PostalCode = nil RegisterCommand('streethash', function() local coords = GetEntityCoords(PlayerPedId()) local street, streetCrossing = GetStreetNameAtCoord(coords.x, coords.y, coords.z) print(("street: %s (%s)"):format(street, GetStreetNameFromHashKey(street), streetCrossing, GetStreetNameFromHashKey(streetCrossing))) end) local lastData = {} Citizen.CreateThread(function() while true do Citizen.Wait(1000) local coords = GetEntityCoords(PlayerPedId()) local street, streetCrossing = GetStreetNameAtCoord(coords.x, coords.y, coords.z) local streetName = GetStreetNameFromHashKey(street) local postalCode = exports['frp-postal']:getPostal(coords) local changed = false local newData = {} if lastData.postalCode ~= postalCode then newData.postalCode = postalCode lastData.postalCode = postalCode changed = true end if lastData.streetName ~= streetName then local streetFound = false for k, v in pairs(StreetNames) do if tostring(v.street) == tostring(street) then newData.streetName = v.name lastData.streetName = v.name streetFound = true break end end if not streetFound then newData.streetName = streetName lastData.streetName = streetName end changed = true end if changed then SendNUIMessage(newData) end end end) RegisterNUICallback('getConvar', function(data, cb) local isPlayground = GetConvarInt('isPlayground', 0) cb(isPlayground) end)