Files
2021-12-03 01:05:09 +00:00

261 lines
9.8 KiB
Lua

-- Created by Wallbanged --
-- Custom Add-On Spawner V 1.0.0 --
local menuPool = NativeUI.CreatePool()
local mainMenu = NativeUI.CreateMenu('Elite Gaming RP', "", 1420, 0) -- Enter Server Name/ Menu Name Here
local submain = menuPool:AddSubMenu(mainMenu, 'Vehicle Spawner', "", 1420, 0)
local vehiclesMenu = menuPool:AddSubMenu(submain, 'Custom Vehicles', "", 1420, 0) -- Name whatever you'd like for categorization
local policeVehiclesMenu = menuPool:AddSubMenu(vehiclesMenu, 'Police Vehicles',"", 1420, 0)
local sheriffVehiclesMenu = menuPool:AddSubMenu(vehiclesMenu, 'Sheriff Vehicles', "", 1420, 0)
local chpVehiclesMenu = menuPool:AddSubMenu(vehiclesMenu, 'CHP Vehicles', "",1420, 0)
--policeVehiclesMenu:AddItem(NativeUI.CreateItem('~r~Coming Soon!', 'Get this vehicle.') )
chpVehiclesMenu:AddItem(NativeUI.CreateItem('~r~Coming Soon!', 'Get this vehicle.') )
local soVehiceMenus = {}
soVehiceMenus.so12 = NativeUI.CreateItem('2011 CVPI', 'Get this vehicle.')
soVehiceMenus.so13 = NativeUI.CreateItem('2014 Charger', 'Get this vehicle.')
soVehiceMenus.so1 = NativeUI.CreateItem('2018 Explorer', 'Get this vehicle.')
soVehiceMenus.so6 = NativeUI.CreateItem('2017 Taurus', 'Get this vehicle.')
soVehiceMenus.so8 = NativeUI.CreateItem('2013 Tahoe', 'Get this vehicle.')
soVehiceMenus.so3 = NativeUI.CreateItem('2009 Charger', 'Get this vehicle.')
soVehiceMenus.so7 = NativeUI.CreateItem('2015 Tahoe', 'Get this vehicle.')
soVehiceMenus.so11 = NativeUI.CreateItem('2016 Explorer', 'Get this vehicle.')
soVehiceMenus.so9 = NativeUI.CreateItem('2013 F-350', 'Get this vehicle.')
soVehiceMenus.so5 = NativeUI.CreateItem('2018 Charger', 'Get this vehicle.')
soVehiceMenus.so15 = NativeUI.CreateItem('2016 Explorer', 'Get this vehicle.')
soVehiceMenus.so4 = NativeUI.CreateItem('2014 Charger', 'Get this vehicle.')
soVehiceMenus.so10 = NativeUI.CreateItem('2013 Tahoe', 'Get this vehicle.')
sheriffVehiclesMenu:AddItem(soVehiceMenus.so12)
sheriffVehiclesMenu:AddItem(soVehiceMenus.so13)
sheriffVehiclesMenu:AddItem(soVehiceMenus.so1)
sheriffVehiclesMenu:AddItem(soVehiceMenus.so6)
sheriffVehiclesMenu:AddItem(soVehiceMenus.so8)
sheriffVehiclesMenu:AddItem(soVehiceMenus.so3)
sheriffVehiclesMenu:AddItem(soVehiceMenus.so7)
sheriffVehiclesMenu:AddItem(soVehiceMenus.so11)
sheriffVehiclesMenu:AddItem(soVehiceMenus.so9)
sheriffVehiclesMenu:AddItem(soVehiceMenus.so5)
sheriffVehiclesMenu:AddItem(soVehiceMenus.so15)
sheriffVehiclesMenu:AddItem(soVehiceMenus.so4)
sheriffVehiclesMenu:AddItem(soVehiceMenus.so10)
local pdVehiceMenus = {}
pdVehiceMenus.pd1 = NativeUI.CreateItem('2011 CVPI', 'Get this vehicle.')
pdVehiceMenus.pd7 = NativeUI.CreateItem('2014 Taurus', 'Get this vehicle.')
pdVehiceMenus.pd17 = NativeUI.CreateItem('2015 Caprice', 'Get this vehicle.')
pdVehiceMenus.pd11 = NativeUI.CreateItem('2011 ST CVPI', 'Get this vehicle.')
pdVehiceMenus.pd15 = NativeUI.CreateItem('2018 Explorer', 'Get this vehicle.')
pdVehiceMenus.pdhoe = NativeUI.CreateItem('2013 Tahoe', 'Get this vehicle.')
pdVehiceMenus.pd12 = NativeUI.CreateItem('2014 ST Charger', 'Get this vehicle.')
pdVehiceMenus.pd9 = NativeUI.CreateItem('2009 Charger', 'Get this vehicle.')
policeVehiclesMenu:AddItem(pdVehiceMenus.pd1)
policeVehiclesMenu:AddItem(pdVehiceMenus.pd7)
policeVehiclesMenu:AddItem(pdVehiceMenus.pd17)
policeVehiclesMenu:AddItem(pdVehiceMenus.pd11)
policeVehiclesMenu:AddItem(pdVehiceMenus.pd15)
policeVehiclesMenu:AddItem(pdVehiceMenus.pdhoe)
policeVehiclesMenu:AddItem(pdVehiceMenus.pd12)
policeVehiclesMenu:AddItem(pdVehiceMenus.pd9)
sheriffVehiclesMenu.OnItemSelect = function(sender, item, index)
if item == soVehiceMenus.so12 then
deleteVeh()
spawnVehicle('so12', '2011 CVPI')
elseif item == soVehiceMenus.so13 then
deleteVeh()
spawnVehicle('so13', '2014 Charger')
elseif item == soVehiceMenus.so1 then
deleteVeh()
spawnVehicle('asbo', '2018 Explorer')
elseif item == soVehiceMenus.so6 then
deleteVeh()
spawnVehicle('so6', '2017 Taurus')
elseif item == soVehiceMenus.so8 then
deleteVeh()
spawnVehicle('so8', '2013 Tahoe')
elseif item == soVehiceMenus.so3 then
deleteVeh()
spawnVehicle('so3', '2009 Charger')
elseif item == soVehiceMenus.so7 then
deleteVeh()
spawnVehicle('so7', '2015 Tahoe')
elseif item == soVehiceMenus.so11 then
deleteVeh()
spawnVehicle('so11', '2016 Explorer')
elseif item == soVehiceMenus.so9 then
deleteVeh()
spawnVehicle('so9', '2013 F-350')
elseif item == soVehiceMenus.so5 then
deleteVeh()
spawnVehicle('so5', '2018 Charger')
elseif item == soVehiceMenus.so15 then
deleteVeh()
spawnVehicle('so15', '2016 Explorer')
elseif item == soVehiceMenus.so4 then
deleteVeh()
spawnVehicle('so4', '2014 Charger')
elseif item == soVehiceMenus.so10 then
deleteVeh()
spawnVehicle('so10', '2013 Tahoe')
end
end
policeVehiclesMenu.OnItemSelect = function(sender, item, index)
if item == pdVehiceMenus.pd1 then
deleteVeh()
spawnVehicle ('pd1', '2011 CVPI')
elseif item == pdVehiceMenus.pd7 then
deleteVeh()
spawnVehicle ('pd7', '2014 Taurus')
elseif item == pdVehiceMenus.pd17 then
deleteVeh()
spawnVehicle ('pd17', '2015 Caprice')
elseif item == pdVehiceMenus.pd11 then
deleteVeh()
spawnVehicle ('pd11', '2011 ST CVPI')
elseif item == pdVehiceMenus.pd15 then
deleteVeh()
spawnVehicle ('pd15', '2018 Explorer')
elseif item == pdVehiceMenus.pdhoe then
deleteVeh()
spawnVehicle ('pdhoe', '2013 Tahoe')
elseif item == pdVehiceMenus.pd12 then
deleteVeh()
spawnVehicle ('pd12', '2014 ST Charger')
elseif item == pdVehiceMenus.pd9 then
deleteVeh()
spawnVehicle ('pd9', '2009 Charger')
end
end
---------------------------------------------------------------------------------------------------------------
--[[ EXAMPLE
local audi = menuPool:AddSubMenu(vehiclesMenu, 'Audi', "", 1420, 0)
local aVehiclesMenus = {}
aVehiclesMenus.a8audi = NativeUI.CreateItem('2010 Audi A8', 'Get this vehicle.')
aVehiclesMenus.audirs6tk = NativeUI.CreateItem('2013 Audi RS6 Avant', 'Get this vehicle.')
aVehiclesMenus.audis8om = NativeUI.CreateItem('2014 Audi S8', 'Get this vehicle.')
aVehiclesMenus.rs7 = NativeUI.CreateItem('2015 Audi RS7', 'Get this vehicle.')
audi:AddItem(aVehiclesMenus.a8audi)
audi:AddItem(aVehiclesMenus.audirs6tk)
audi:AddItem(aVehiclesMenus.audis8om)
audi:AddItem(aVehiclesMenus.rs7)
audi.OnItemSelect = function(sender, item, index)
if item == aVehiclesMenus.a8audi then
deleteVeh()
spawnVehicle ('a8audi', '2010 Audi A8')
elseif item == aVehiclesMenus.audirs6tk then
deleteVeh()
spawnVehicle ('audirs6tk', '2013 Audi RS6 Avant')
elseif item == aVehiclesMenus.audis8om then
deleteVeh()
spawnVehicle ('audis8om', '2014 Audi S8')
elseif item == aVehiclesMenus.rs7 then
deleteVeh()
spawnVehicle ('rs7', '2015 Audi RS7')
end
end]]
RegisterCommand('wbmenu', function() -- edit this line to change the command to open the menu
mainMenu:Visible(not mainMenu:Visible())
end, false)
------------------------------------------------DO NOT EDIT BELOW THIS LINE---------------------------------------------------------------
function deleteVeh()
local ped = GetPlayerPed(-1)
if (DoesEntityExist(ped) and not IsEntityDead(ped)) then
local pos = GetEntityCoords(ped)
if (IsPedSittingInAnyVehicle(ped)) then
local handle = GetVehiclePedIsIn(ped, false)
NetworkRequestControlOfEntity(handle)
SetEntityHealth(handle, 100)
SetEntityAsMissionEntity(handle, true, true)
SetEntityAsNoLongerNeeded(handle)
DeleteEntity(handle)
ShowInfo("The vehicle you were in has been deleted.")
end
end
end
function ShowInfo(message)
SetNotificationTextEntry("STRING")
AddTextComponentString(message)
DrawNotification(0,1)
end
function spawnVehicle(vehicle, name)
local x,y,z = table.unpack(GetOffsetFromEntityInWorldCoords(PlayerPedId(), 0.0, 8.0, 0.5))
local color = "~y~"
local color2 = "~r~"
local ped = GetPlayerPed(-1)
if DoesEntityExist(ped) then
vehiclehash = GetHashKey(vehicle)
RequestModel(vehiclehash)
Citizen.CreateThread(function()
local waiting = 0
while not HasModelLoaded(vehiclehash) do
waiting = waiting + 100
Citizen.Wait(100)
if waiting > 5000 then
ShowInfo(color2 .."Could not load model in time. Crash was prevented.")
break
end
end
local spawnedVeh = CreateVehicle(vehiclehash, x, y, z, GetEntityHeading(PlayerPedId())+90, 1, 0)
SetPedIntoVehicle(PlayerPedId(), spawnedVeh, -1)
SetVehicleDirtLevel(spawnedVeh, 0.0)
end)
ShowInfo("You have recieved the keys to a ".. color .. name .. ".")
Wait(1000)
return true
end
ShowInfo("All parking spots are currently full.")
return false
end
function dump(o)
if type(o) == 'table' then
local s = '{ '
for k,v in pairs(o) do
if type(k) ~= 'number' then k = '"'..k..'"' end
s = s .. '['..k..'] = ' .. dump(v) .. ','
end
return s .. '} '
else
return tostring(o)
end
end
menuPool:Add(mainMenu)
menuPool:RefreshIndex()
menuPool:MouseControlsEnabled(false)
menuPool:ControlDisablingEnabled(false)
CreateThread(function()
while true do
Wait(0)
menuPool:ProcessMenus()
end
end)
function HelpText(text)
SetTextComponentFormat("STRING")
AddTextComponentString(text)
DisplayHelpTextFromStringLabel(0, 1, 1, -1)
end