Advertisement
Guest User

Untitled

a guest
Dec 4th, 2022
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.75 KB | None | 0 0
  1. local pedPool = {}
  2.  
  3. local searchRadius = 120.0
  4. local enabled = false
  5.  
  6. local limitScene = 0
  7.  
  8. local GAME_NAME = GetGameName()
  9. local IS_GTA5 = GAME_NAME == "fivem"
  10. local IS_RDR3 = GAME_NAME == "redm"
  11.  
  12. local GAME_COLORS = {
  13.   fivem = {
  14.     green = '~g~',
  15.     red = '~r~',
  16.     blue = '~b~',
  17.     white = '~w~',
  18.   },
  19.   redm = {
  20.     green = '~t6~',
  21.     red = '~e~',
  22.     blue = '~d~',
  23.     white = '~q~',
  24.   }
  25. }
  26.  
  27. local function GetColourCode(color)
  28.   return GAME_COLORS[GAME_NAME][color]
  29. end
  30.  
  31. local function DrawInfoScreen(entity, text, pos, scale)
  32.   if not IsSphereVisible(pos, 1.0) then
  33.     return
  34.   end
  35.  
  36.   if IS_GTA5 then
  37.     local retval, screenX, screenY = GetScreenCoordFromWorldCoord(pos.x, pos.y, pos.z)
  38.  
  39.     if not retval then
  40.       return
  41.     end
  42.  
  43.     SetTextScale(scale, scale)
  44.     SetTextCentre(true)
  45.     SetTextDropshadow(3, 0, 0, 0, 200)
  46.     SetTextColour(255, 255, 255, 220)
  47.  
  48.     local entry = "ENTOWNER_" .. entity
  49.     AddTextEntry(entry, text)
  50.     BeginTextCommandDisplayText(entry)
  51.     EndTextCommandDisplayText(screenX, screenY)
  52.   end
  53.  
  54.   if IS_RDR3 then
  55.     local retval, screenX, screenY = Citizen.InvokeNative(
  56.       0xCB50D7AFCC8B0EC6,
  57.       pos.x, pos.y, pos.z,
  58.       Citizen.PointerValueFloat(),
  59.       Citizen.PointerValueFloat(),
  60.       Citizen.ReturnResultAnyway()
  61.     )
  62.  
  63.     if not retval then
  64.       return
  65.     end
  66.  
  67.     SetTextScale(scale, scale)
  68.     SetTextCentre(true)
  69.     SetTextDropshadow(3, 0, 0, 0, 200)
  70.     SetTextColor(255, 255, 255, 220)
  71.     SetTextFontForCurrentCommand(1)
  72.  
  73.     DisplayText(CreateVarString(10, 'LITERAL_STRING', text), screenX, screenY)
  74.   end
  75. end
  76.  
  77. local function DrawInfoOrigin(text, pos, scale)
  78.   if not IsSphereVisible(pos, 1.0) then
  79.     return
  80.   end
  81.  
  82.   if limitScene >= 10 then
  83.     return
  84.   end
  85.  
  86.   SetTextScale(scale, scale)
  87.   SetTextCentre(true)
  88.   SetTextDropshadow(3, 0, 0, 0, 200)
  89.   SetTextColor(255, 255, 255, 220)
  90.   SetTextFontForCurrentCommand(1)
  91.  
  92.   Citizen.InvokeNative(GetHashKey("SET_DRAW_ORIGIN") & 0xFFFFFFFF, pos.x, pos.y, pos.z, 0)
  93.   DisplayText(CreateVarString(10, 'LITERAL_STRING', text), 0.0, 0.0)
  94.   Citizen.InvokeNative(GetHashKey("CLEAR_DRAW_ORIGIN") & 0xFFFFFFFF, 0)
  95.  
  96.   limitScene = limitScene + 1
  97. end
  98.  
  99.  
  100. Citizen.CreateThread(function()
  101.   while true do
  102.     Wait(1)
  103.  
  104.     if enabled then
  105.       pedPool = GetGamePool('CPed')
  106.       Wait(1000)
  107.     end
  108.   end
  109. end)
  110.  
  111. Citizen.CreateThread(function()
  112.   local localId = PlayerId()
  113.  
  114.   while true do
  115.     Wait(1)
  116.  
  117.     if enabled then
  118.       limitScene = 0
  119.  
  120.       local localPos = GetEntityCoords(PlayerPedId())
  121.  
  122.       for _, entity in ipairs(pedPool) do
  123.         if DoesEntityExist(entity) then
  124.           local networked = NetworkGetEntityIsNetworked(entity)
  125.           local owner = (not networked) and localId or Citizen.InvokeNative(GetHashKey('NETWORK_GET_ENTITY_OWNER') & 0xFFFFFFFF, entity)
  126.           local name = GetPlayerName(owner)
  127.           local position = GetEntityCoords(entity)
  128.           local color = (not networked) and GetColourCode('white') or (owner == localId) and GetColourCode('green') or GetColourCode('red')
  129.           local netId = (not networked) and entity or PedToNet(entity)
  130.           local label = 'ped ~u~'.. netId ..'~q~ | '.. color .. name
  131.           position = (IsPedInAnyVehicle(entity, true) or IsPedOnMount(entity)) and position + vector3(0.0, 0.0, 1.0) or position
  132.           local scale = math.max(math.min((1 - (#(localPos - position) / 100.0)) * 0.35, 0.7), 0.0)
  133.  
  134.           DrawInfoScreen(entity, label, position, scale)
  135.         end
  136.       end
  137.     end
  138.   end
  139. end)
  140.  
  141. RegisterCommand('entityOwner', function()
  142.   enabled = not enabled
  143.  
  144.   print('Entity owner is ' .. (enabled and 'enabled' or 'disabled'))
  145. end)
  146.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement