Advertisement
Guest User

main.lua

a guest
Dec 5th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.18 KB | None | 0 0
  1. ESX = nil
  2.  
  3. Citizen.CreateThread(function()
  4. while ESX == nil do
  5. Citizen.Wait(0)
  6. TriggerEvent('esx:getSharedObject', function(obj)
  7. ESX = obj
  8. end)
  9. end
  10.  
  11. while ESX.GetPlayerData().job == nil do
  12. Citizen.Wait(10)
  13. end
  14.  
  15. ESX.PlayerData = ESX.GetPlayerData()
  16. end)
  17.  
  18. RegisterNetEvent('esx:setJob')
  19. AddEventHandler('esx:setJob', function(job)
  20. ESX.PlayerData.job = job
  21. end)
  22.  
  23. Citizen.CreateThread(function()
  24. Citizen.Wait(0)
  25. for k, v in pairs(Config.Teleporters) do
  26. local marker = {
  27. name = v.name .. '_teleporter',
  28. type = 2,
  29. coords = v.coords,
  30. colour = v.colour,
  31. size = vector3(2.0, 2.0, 2.0),
  32. msg = _U('tpkey') .. v.name,
  33. action = function()
  34. Teleport(v)
  35. end,
  36. shouldDraw = function()
  37. return v.job == 'all' or ShowTeleport(v, ESX.PlayerData.job)
  38. end
  39. }
  40. TriggerEvent('disc-base:registerMarker', marker)
  41. end
  42. end)
  43.  
  44. function ShowTeleport(config, job)
  45. local show = job.name == config.job
  46. if show and config.grades then
  47. local found = false
  48. for k, v in pairs(config.grades) do
  49. if v == job.grade_name then
  50. found = true
  51. end
  52. end
  53. show = found
  54. end
  55. return show
  56. end
  57.  
  58. function Teleport(teleporter)
  59. local entity = GetPlayerPed(-1)
  60. if teleporter.allowVehicles and IsPedSittingInAnyVehicle(entity) then
  61. entity = GetVehiclePedIsIn(entity)
  62. if not ESX.Game.IsSpawnPointClear(teleporter.destination, 3.0) then
  63. exports['mythic_notify']:SendAlert('error', _U('blocked'))
  64. return
  65. end
  66. end
  67. local x, y, z = table.unpack(teleporter.destination)
  68. -- DoScreenFadeOut(200)
  69. Citizen.Wait(200)
  70. SetEntityCoords(entity, x, y, z, 0, 0, 0, false)
  71. SetEntityHeading(entity, teleporter.heading)
  72. PlaceObjectOnGroundProperly(entity)
  73. exports['mythic_notify']:SendAlert('success', _U('ported'))
  74. TriggerEvent('disc-base:hasExitedMarker')
  75. Citizen.Wait(700)
  76. -- DoScreenFadeIn(200)
  77. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement