Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2018
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.85 KB | None | 0 0
  1. function OpenVehicleSpawnerMenu(station, partNum)
  2.  
  3. local vehicles = Config.ArmyStations[station].Vehicles
  4.  
  5. ESX.UI.Menu.CloseAll()
  6.  
  7. if Config.EnableSocietyOwnedVehicles then
  8.  
  9. local elements = {}
  10.  
  11. ESX.TriggerServerCallback('esx_society:getVehiclesInGarage', function(garageVehicles)
  12.  
  13. for i=1, #garageVehicles, 1 do
  14. table.insert(elements, {label = GetDisplayNameFromVehicleModel(garageVehicles[i].model) .. ' [' .. garageVehicles[i].plate .. ']', value = garageVehicles[i]})
  15. end
  16.  
  17. ESX.UI.Menu.Open(
  18. 'default', GetCurrentResourceName(), 'vehicle_spawner',
  19. {
  20. title = _U('vehicle_menu'),
  21. align = 'top-left',
  22. elements = elements,
  23. },
  24. function(data, menu)
  25.  
  26. menu.close()
  27.  
  28. local vehicleProps = data.current.value
  29.  
  30. ESX.Game.SpawnVehicle(vehicleProps.model, vehicles[partNum].SpawnPoint, 270.0, function(vehicle)
  31. ESX.Game.SetVehicleProperties(vehicle, vehicleProps)
  32. local playerPed = GetPlayerPed(-1)
  33. TaskWarpPedIntoVehicle(playerPed, vehicle, -1)
  34. end)
  35.  
  36. TriggerServerEvent('esx_society:removeVehicleFromGarage', 'army', vehicleProps)
  37.  
  38. end,
  39. function(data, menu)
  40.  
  41. menu.close()
  42.  
  43. CurrentAction = 'menu_vehicle_spawner'
  44. CurrentActionMsg = _U('vehicle_spawner')
  45. CurrentActionData = {station = station, partNum = partNum}
  46.  
  47. end
  48. )
  49.  
  50. end, 'army')
  51.  
  52. else
  53.  
  54. local elements = {}
  55.  
  56. for i=1, #Config.ArmyStations[station].AuthorizedVehicles, 1 do
  57. local vehicle = Config.ArmyStations[station].AuthorizedVehicles[i]
  58. table.insert(elements, {label = vehicle.label, value = vehicle.name})
  59. end
  60.  
  61. ESX.UI.Menu.Open(
  62. 'default', GetCurrentResourceName(), 'vehicle_spawner',
  63. {
  64. title = _U('vehicle_menu'),
  65. align = 'top-left',
  66. elements = elements,
  67. },
  68. function(data, menu)
  69.  
  70. menu.close()
  71.  
  72. local model = data.current.value
  73.  
  74. local vehicle = GetClosestVehicle(vehicles[partNum].SpawnPoint.x, vehicles[partNum].SpawnPoint.y, vehicles[partNum].SpawnPoint.z, 3.0, 0, 71)
  75.  
  76. if not DoesEntityExist(vehicle) then
  77.  
  78. local playerPed = GetPlayerPed(-1)
  79.  
  80. if Config.MaxInService == -1 then
  81.  
  82. ESX.Game.SpawnVehicle(model, {
  83. x = vehicles[partNum].SpawnPoint.x,
  84. y = vehicles[partNum].SpawnPoint.y,
  85. z = vehicles[partNum].SpawnPoint.z
  86. }, vehicles[partNum].Heading, function(vehicle)
  87. TaskWarpPedIntoVehicle(playerPed, vehicle, -1)
  88. SetVehicleMaxMods(vehicle)
  89. end)
  90.  
  91. else
  92.  
  93. ESX.TriggerServerCallback('esx_service:enableService', function(canTakeService, maxInService, inServiceCount)
  94.  
  95. if canTakeService then
  96.  
  97. ESX.Game.SpawnVehicle(model, {
  98. x = vehicles[partNum].SpawnPoint.x,
  99. y = vehicles[partNum].SpawnPoint.y,
  100. z = vehicles[partNum].SpawnPoint.z
  101. }, vehicles[partNum].Heading, function(vehicle)
  102. TaskWarpPedIntoVehicle(playerPed, vehicle, -1)
  103. SetVehicleMaxMods(vehicle)
  104. end)
  105.  
  106. else
  107. ESX.ShowNotification(_U('service_max') .. inServiceCount .. '/' .. maxInService)
  108. end
  109.  
  110. end, 'army')
  111.  
  112. end
  113.  
  114. else
  115. ESX.ShowNotification(_U('vehicle_out'))
  116. end
  117.  
  118. end,
  119. function(data, menu)
  120.  
  121. menu.close()
  122.  
  123. CurrentAction = 'menu_vehicle_spawner'
  124. CurrentActionMsg = _U('vehicle_spawner')
  125. CurrentActionData = {station = station, partNum = partNum}
  126.  
  127. end
  128. )
  129.  
  130. end
  131.  
  132. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement