Now I want to add key in script Make the player press button 1 or 2 or 3 down the car in order window
just it
cilent
local client = getLocalPlayer()
local rootElement = getRootElement()
local theMarker = nil
vehicle_selector_window = guiCreateWindow(0.3555,0.2318,0.3027,0.4479,"Vehicles Spawners",true)
guiWindowSetSizable(vehicle_selector_window,false)
guiSetVisible(vehicle_selector_window,false)
vehicle_selector_grid = guiCreateGridList(0.029,0.0698,0.9419,0.7762,true,vehicle_selector_window)
guiGridListAddColumn(vehicle_selector_grid,"Vehicle name:",0.9)
vehicle_selector_select = guiCreateButton(0.1194,0.8779,0.3194,0.0756,"Spawn",true,vehicle_selector_window)
vehicle_selector_close = guiCreateButton(0.5742,0.8808,0.3194,0.0756,"Close",true,vehicle_selector_window)
addEventHandler("onClientGUIClick",rootElement,
function ()
if (source == vehicle_selector_close) then
guiSetVisible(vehicle_selector_window,false)
showCursor(false)
elseif (source == vehicle_selector_select) then
local row,col = guiGridListGetSelectedItem(vehicle_selector_grid)
if row and col and row ~= -1 and col ~= -1 then
local vehicleName = guiGridListGetItemText(vehicle_selector_grid, row, col)
triggerServerEvent("vehicle_spawn",client,client,getVehicleModelFromName(vehicleName),theMarker)
guiSetVisible(vehicle_selector_window,false)
showCursor(false)
end
end
end)
addEvent("show_vehicle_selector",true)
addEventHandler("show_vehicle_selector",rootElement,
function (vehiclesTable,marker)
theMarker = marker
guiSetVisible(vehicle_selector_window,true)
showCursor(true)
guiGridListClear(vehicle_selector_grid)
for i,v in pairs(vehiclesTable) do
local row = guiGridListAddRow(vehicle_selector_grid)
guiGridListSetItemText(vehicle_selector_grid, row, 1, getVehicleNameFromModel(v), false, false)
end
end)
server
local rootElement = getRootElement()
local markers = {}
local playerVehicles = {}
local playerTrailers = {}
local lawTeams = {["Police"] = true, ["SWAT"] = true, ["Military"] = true, ["Staff"] = true}
local vehiclesTable = {
{{"SWAT"}, 2291.08, 2477.57, 9.82, 0, 0, 240, 150, {546,560,601,490,528,427,522}, 180, "Job",0},
{{"SWAT"}, 1602.12, -1613.41, 12.53, 0, 0, 240, 150, {546,560,601,490,528,427,522}, 90, "Job",0},
{{"SWAT"}, -1622.34, 651.49, 6.19, 0, 0, 240, 150, {546,560,601,490,528,427,522}, 0, "Job",0},
{{"Military"}, 1602.36, -1620.58, 12.53, 0, 102, 0, 150, {546,560,601,490,528,427,522}, 90, "Job",0},
}
addEventHandler("onResourceStart", resourceRoot,
function ()
for i,v in pairs(vehiclesTable) do
local marker = createMarker(tostring(v[2]), tostring(v[3]), tostring(v[4]), "cylinder", 2, tostring(v[5]), tostring(v[6]), tostring(v[7]), tostring(v[8]), rootElement)
setElementDimension ( marker, tostring(v[12]) )
if marker then
markers[marker] = {v[1], v[9], v[10], v[11], v[12]}
addEventHandler("onMarkerHit", marker, onSpawnerMarkerHit)
setElementData(marker,"teamMarker",true)
end
end
end)
function onSpawnerMarkerHit(hitPlayer, matchingDimension)
if not matchingDimension then return end
if getElementType(hitPlayer) == "player" then
if isPedInVehicle(hitPlayer) then return end
local markerTeam = getElementData(source,"teamMarker")
if not markerTeam then return end
local teamName = getElementData(hitPlayer,tostring(markers[source][4]))
if not teamName then return end
for i,v in pairs(markers[source][1]) do
if v == teamName then
triggerClientEvent(hitPlayer,"show_vehicle_selector",hitPlayer,markers[source][2],source)
end
end
end
end
addEvent("vehicle_spawn",true)
addEventHandler("vehicle_spawn",rootElement,
function (player, vehicleID, marker)
if isElement(playerVehicles[player]) then destroyElement(playerVehicles[player]) end
if isElement(playerTrailers[player]) then destroyElement(playerTrailers[player]) end
local x, y, z = getElementPosition(marker)
playerVehicles[player] = createVehicle(vehicleID, x, y, z+3, 0, 0, markers[marker][3])
local r, g, b = getMarkerColor(marker)
setVehicleColor( playerVehicles[player], r, g, b )
warpPedIntoVehicle(player, playerVehicles[player])
if ( exports.NGVIP:isPlayerVIP ( player ) ) then
addVehicleUpgrade ( playerVehicles[player], 1010 )
end
setElementData(playerVehicles[player],"allowedRoles",markers[marker][1])
setElementData(playerVehicles[player],"allowedData",markers[marker][4])
if markers[marker][5] then
playerTrailers[player] = createVehicle(markers[marker][4], x-9, y, z + 3, 0, 0, markers[marker][3])
if playerTrailers[player] then
setElementData(playerVehicles[player],"trailer",playerTrailers[player])
addEventHandler("onVehicleExplode",playerTrailers[player],function () if isElement(source) then destroyElement(source) end end)
end
end
addEventHandler("onVehicleExplode",playerVehicles[player],function () if isElement(source) then if getElementData(source,"trailer") and isElement(getElementData(source,"trailer")) then destroyElement(getElementData(source,"trailer")) end destroyElement(source) end end)
end)
function vehicleEnterCheck(player, seat, jacked)
if (seat ~= 0) then return end
local allowedRoles = getElementData(source, "allowedRoles")
if not allowedRoles or not type(allowedRoles) == "table" then return end
local allowedData = getElementData(source, "allowedData")
local teamName = getElementData(player, tostring(allowedData))
if not teamName then return end
local tempTable = {}
for index, role in ipairs(allowedRoles) do
tempTable[role] = true
end
local driver = getVehicleController(source)
local wanted = 0
if (driver) then
wanted = getPlayerWantedLevel(driver)
end
if (tempTable[teamName] or lawTeams[getTeamName(getPlayerTeam(player))] and wanted > 1) then
return
else
cancelEvent()
exports["NGMessages"]:sendClientMessage("You cannot enter this vehicle.", player, 255, 100, 0)
end
end
addEventHandler("onVehicleStartEnter",root,vehicleEnterCheck)
function onLogoutOrQuit()
if isElement(playerVehicles[source]) then destroyElement(playerVehicles[source]) end
if isElement(playerTrailers[source]) then destroyElement(playerTrailers[source]) end
end
addEventHandler("onPlayerLogout",root,onLogoutOrQuit)
addEventHandler("onPlayerQuit",root,onLogoutOrQuit)