TovuPL
.LUA
Wiek: 25 Na forum: 3482 dni Posty: 25
Nick w MP: TovU
Siema, dlaczego nie dzia?a mi maskowanie aut? Brak b??d?w w debugu, maskowania na aucie nie wida?. Wrzucam kod na dole.
Kod: vehicles=0
root=getRootElement()
resourceRoot=getResourceRootElement(getThisResource())
local vehiclesNames = {
["Hotring Racer 3"] = "Deluxo",
["Hotring Racer"] = "Zygzak McQueen",
["Glendale Damaged"] = "Stanier",
["Uranus"] = "Stinger",
["Virgo"] = "Coquette",
["Primo"] = "Schafter",
["FBI Rancher"] = "Rancher Long",
["Rancher Lure"] = "Ford F-150 Raptor",
["Esperanto"] = "Ford Belina II",
["Bravura"] = "Schyster Deviant",
["Oceanic"] = "Benefactor S",
["Regina"] = "Victoria",
}
function changeName(name)
local changedName = vehiclesNames[name]
if changedName then
return changedName
else
return name
end
end
local handlingi = { --model, acceleration, maxVelocity, steering lock
{515, 10, 127, 55, "awd"}, -- Roadtrain
{403, 20, 148, 55, "awd"}, -- Linerunner
{514, 10, 156, 55, "awd"}, -- Tanker
{408, 12, 129, 55, "awd"}, -- Trashmaster
--{451, 15, 320, 30, "rwd"}, -- turismo
--{562, 12, 250, 30, "rwd"}, -- turismo
}
for i, v in ipairs(handlingi) do
setModelHandling(v[1], "engineAcceleration", v[2])
setModelHandling(v[1], "maxVelocity", v[3])
setModelHandling(v[1], "steeringLock", v[4])
setModelHandling(v[1], "driveType", v[5])
if v[4] then
setModelHandling(v[1], "tractionLoss", v[6])
setModelHandling(v[1], "tractionBias", v[7])
setModelHandling(v[1], "mass", v[8])
setModelHandling(v[1], "turnmass", v[9])
end
end
function naprawa()
local veh=getPedOccupiedVehicle(source)
if getElementHealth(veh) < 200 then
setElementHealth(veh, 500)
return end
end
function getVehicleHandlingProperty ( element, property )
if isElement ( element ) and getElementType ( element ) == "vehicle" and type ( property ) == "string" then
local handlingTable = getVehicleHandling ( element )
local value = handlingTable[property]
if value then
return value
end
end
return false
end
function getAdmin2(plr,level)
if level then
local result=exports["pystories-db"]:dbGet("SELECT * from pystories_admins WHERE serial=? AND level=?", getPlayerSerial(plr), level)
if result and #result > 0 then
return true
else
return false
end
else
local result=exports["pystories-db"]:dbGet("SELECT * from pystories_admins WHERE serial=?", getPlayerSerial(plr))
if result and #result > 0 then
return true
else
return false
end
end
end
--///////////////////////////////////// WCZYTYWANIE POJAZD?W /////////////////////////////////
function onRespawnVehicles(_,id,poss)
-- Settings (QUERY)
if id then
result=exports["pystories-db"]:dbGet("SELECT * FROM pystories_vehicles WHERE parking=1 AND id=?", id)
query=exports["pystories-db"]:dbSet("UPDATE pystories_vehicles SET parking=0 WHERE id=?", id)
else
result=exports["pystories-db"]:dbGet("SELECT * FROM pystories_vehicles WHERE parking=0")
end
-- Pairs
for ile,vehicle in pairs(result) do
vehicles=ile
if id then pos={poss[1], poss[2], poss[3], poss[4], poss[5], poss[6]}
else pos=split(vehicle["pos"], ",") end
local color=split(vehicle["color"], ",")
local lights=split(vehicle["headlights"], ",")
local veh=createVehicle(vehicle["model"], pos[1], pos[2], pos[3], pos[4], pos[5], pos[6])
setVehicleColor(veh, color[1], color[2], color[3], color[4],color[5], color[6], color[7], color[8],color[9], color[10], color[11], color[12])
setVehicleHeadLightColor(veh, lights[1], lights[2], lights[3])
if vehicle["plateText"] ~= "" then
setVehiclePlateText(veh, vehicle["plateText"])
else
setVehiclePlateText(veh, tostring("SA "..vehicle["id"]))
end
setElementFrozen(veh, (vehicle["frozen"]) > 0)
--[[if vehicle["paintjob"] ~= 3 then
setVehiclePaintjob(veh, vehicle["paintjob"])
end]]
if vehicle["paintjob"] > 3 then
setVehiclePaintjob(vehicle, 0)
setElementData(vehicle, "vehicle:custom_pj", vehicle["paintjob"])
else
setVehiclePaintjob(veh, vehicle["paintjob"])
end
if vehicle["paintjob"] > 3 then
triggerClientEvent(root, "vehicle:add_paintjob", root, "add", vehicle, vehicle["paintjob"])
end
local separated = split(vehicle["wariant"],",")
setVehicleVariant(veh,separated[1],separated[2])
setElementHealth(veh, vehicle["health"])
setElementData(veh,"vehicle:spawn",true)
setElementData(veh,"vehicle:id", vehicle["id"])
setElementData(veh,"vehicle:fuel", vehicle["fuel"])
setElementData(veh,"vehicle:desc", vehicle["text"] or false)
setElementData(veh,"vehicle:mileage", vehicle["mileage"])
setElementData(veh,"vehicle:driver", vehicle["driver"])
setElementData(veh,"vehicle:licznik", vehicle["licznik"])
setElementData(veh,"vehicle:ownedGroup", vehicle["ownedGroup"])
setElementData(veh,"vehicle:ownedPlayer", vehicle["ownedPlayer"])
setElementData(veh,"vehicle:tempomat", vehicle["ogranicznik"])
setElementData(veh,"vehicle:elektryk", vehicle["elektryk"])
setElementData(veh,"Pojemnosc:silnika", vehicle["silnik"])
local fastpoj = getVehicleHandlingProperty(veh,"maxVelocity")
local fastmax = getVehicleHandlingProperty(veh,"engineAcceleration")
local trakcjaLoss = getVehicleHandlingProperty(veh,"tractionLoss")
local trakcjaBias = getVehicleHandlingProperty(veh,"tractionBias")
local Pojemnosc = getElementData(veh,"Pojemnosc:silnika") or "1.4"
if Pojemnosc == '1.6' then -- pojemnosc silnika 1.6
setVehicleHandling(veh,"engineAcceleration",fastmax+0.7)
setVehicleHandling(veh,"maxVelocity",fastpoj+10)
setVehicleHandling(veh,"tractionLoss",trakcjaLoss)
setVehicleHandling(veh,"tractionBias",trakcjaBias)
elseif Pojemnosc == '1.8' then -- pojemnosc silnika 1.8
setVehicleHandling(veh,"maxVelocity",fastpoj+15)
setVehicleHandling(veh,"engineAcceleration",fastmax+1.5)
setVehicleHandling(veh,"tractionLoss",trakcjaLoss+0.05)
setVehicleHandling(veh,"tractionBias",trakcjaBias+0.05)
elseif Pojemnosc == '2.0' then -- pojemnosc silnika 2.0
setVehicleHandling(veh,"maxVelocity",fastpoj+20)
setVehicleHandling(veh,"engineAcceleration",fastmax+2.1)
setVehicleHandling(veh,"tractionLoss",trakcjaLoss+0.010)
setVehicleHandling(veh,"tractionBias",trakcjaBias+0.010)
elseif Pojemnosc == '2.2' then -- pojemnosc silnika 2.2
setVehicleHandling(veh,"maxVelocity",fastpoj+25)
setVehicleHandling(veh,"engineAcceleration",fastmax+3)
setVehicleHandling(veh,"tractionLoss",trakcjaLoss+0.015)
setVehicleHandling(veh,"tractionBias",trakcjaBias+0.015)
elseif Pojemnosc == '2.4' then -- pojemnosc silnika 2.2
setVehicleHandling(veh,"maxVelocity",fastpoj+30)
setVehicleHandling(veh,"engineAcceleration",fastmax+3.9)
setVehicleHandling(veh,"tractionLoss",trakcjaLoss+0.020)
setVehicleHandling(veh,"tractionBias",trakcjaBias+0.020)
end
local mask = vehicle['masked']
if tonumber(mask) ~= 0 then
setElementData(veh,"vehicle:masked",vehicle['masked'])
end
local mk1 = vehicle['mk1']
local mk1 = vehicle['mk2']
local xfour = vehicle['naped']
local chip = vehicle['chip']
local rh = vehicle['rh']
local vehicle_neon = vehicle['neon']
local vehicle_lpg = vehicle["lpg"]
local vehicle_fuellpg = vehicle["fuellpg"]
local vehicle_opony = vehicle["opony"]
if (type(vehicle['rent']) == "string") then
local tabelka = {}
local rente = split(vehicle['rent'], ',')
for k,v in ipairs(rente) do
table.insert(tabelka,v)
end
setElementData(veh,"vehicle:rent", tabelka or false)
else
setElementData(veh,"vehicle:rent",0)
end
if tonumber(xfour) ~= 0 then
setElementData(veh, "vehicle:chgDrive", true)
end
if tonumber(rh) ~= 0 then
setElementData(veh, "vehicle:rh", true)
end
if tonumber(vehicle_neon) ~= 0 then
setElementData(veh, "vehicle:neon", vehicle_neon)
end
--[[local drift = vehicle['drift']
if tonumber(drift) ~= 0 then
setVehicleHandling(veh,"driveType","rwd")
setVehicleHandling(veh,"dragCoeff",1.59)
end]]
if tonumber(vehicle_lpg) ~= 0 then
setElementData(veh, "vehicle:lpg", true)
end
setElementData(veh, "vehicle:togglelpg", false)
setElementData(veh, "vehicle:fuellpg", tonumber(vehicle_fuellpg))
if tonumber(vehicle_opony) ~= 0 then
setVehicleHandling(veh, "handlingFlags", 0x8000)
end
if tonumber(chip) ~= 0 then
local fast = getVehicleHandlingProperty(veh,"engineAcceleration")
local maxfast = getVehicleHandlingProperty(veh,"maxVelocity")
local masa = getVehicleHandlingProperty(veh,"mass")
local masa2 = getVehicleHandlingProperty(veh,"turnMass")
setVehicleHandling(veh,"engineAcceleration",fast+1)
setVehicleHandling(veh,"maxVelocity",maxfast+10)
setVehicleHandling(veh,"mass",masa+70)
end
if tonumber(mk1) ~= 0 then
local fast = getVehicleHandlingProperty(veh,"engineAcceleration")
local maxfast = getVehicleHandlingProperty(veh,"maxVelocity")
local masa = getVehicleHandlingProperty(veh,"mass")
local masa2 = getVehicleHandlingProperty(veh,"turnMass")
local xd = getVehicleHandlingProperty(veh,"tractionMultiplier")
local coef = getVehicleHandlingProperty(veh,"dragCoeff")
setVehicleHandling(veh,"engineAcceleration",fast+1.5)
setVehicleHandling(veh,"maxVelocity",maxfast+10)
setVehicleHandling(veh,"mass",masa+100)
setVehicleHandling(veh,"tractionMultiplier",xd+0.1)
setVehicleHandling(veh,"steeringLock",40)
setVehicleHandling(veh,"dragCoeff",coef-0.15)
end
if tonumber(mk2) ~= 0 then
local fast = getVehicleHandlingProperty(veh,"engineAcceleration")
local maxfast = getVehicleHandlingProperty(veh,"maxVelocity")
local masa = getVehicleHandlingProperty(veh,"mass")
local masa2 = getVehicleHandlingProperty(veh,"turnMass")
local xd = getVehicleHandlingProperty(veh,"tractionMultiplier")
local coef = getVehicleHandlingProperty(veh,"dragCoeff")
setVehicleHandling(veh,"engineAcceleration",fast+2.6)
setVehicleHandling(veh,"maxVelocity",maxfast+20)
setVehicleHandling(veh,"tractionMultiplier",xd+0.17)
setVehicleHandling(veh,"mass",masa+110)
setVehicleHandling(veh,"steeringLock",38)
setVehicleHandling(veh,"dragCoeff",coef-0.17)
end
local wariant = getElementModel(veh)
--[[if wariant == 410 then
setVehicleVariant(veh, 2, 2)
end
if wariant == 404 then
setVehicleVariant(veh, 2, 2)
end
if wariant == 543 then
setVehicleVariant(veh, 0, 0)
end
if wariant == 436 then
setVehicleVariant(veh, 1, 1)
end
if wariant == 585 then
setVehicleVariant(veh, 0, 0)
end
if wariant == 496 then
setVehicleVariant(veh, 0, 0)
end
if wariant == 526 then
setVehicleVariant(veh, 1, 1)
end
if wariant == 421 then
setVehicleVariant(veh, 1, 1)
end
if wariant == 542 then
setVehicleVariant(veh, 1, 1)
end
if wariant == 561 then
setVehicleVariant(veh, 1, 1)
end
if wariant == 405 then
setVehicleVariant(veh, 0, 0) -- sedan
--setVehicleVariant(veh, 1, 1) -- combi
end
if wariant == 587 then
setVehicleVariant(veh, 1, 1)
end
if wariant == 533 then
setVehicleVariant(veh, 1, 1)
end
if wariant == 603 then
setVehicleVariant(veh, 0, 0)
end
if wariant == 565 then
setVehicleVariant(veh, 1, 1)
end
if wariant == 402 then
setVehicleVariant(veh, 0, 0)
end
if wariant == 559 then
setVehicleVariant(veh, 0, 0)
end
if wariant == 477 then
setVehicleVariant(veh, 0, 0)
end
if wariant == 560 then
setVehicleVariant(veh, 0, 0) -- sedan
--setVehicleVariant(veh, 1, 2) -- combi
end
if wariant == 562 then
setVehicleVariant(veh, 0, 0)
end
if wariant == 429 then
setVehicleVariant(veh, 2, 2)
end
if wariant == 480 then
setVehicleVariant(veh, 0, 2)
end
if wariant == 415 then
setVehicleVariant(veh, 1, 2)
end
if wariant == 541 then
setVehicleVariant(veh, 0, 0)
end
if wariant == 411 then
setVehicleVariant(veh, 0, 0)
end
if wariant == 475 then
setVehicleVariant(veh, 1, 1)
end
if wariant == 521 then
setVehicleVariant(veh, 4, 4)
end
if wariant == 522 then
setVehicleVariant(veh, 4, 4)
end
if wariant == 483 then
setVehicleVariant(veh, 1, 1)
end
if wariant == 482 then
setVehicleVariant(veh, 0, 0)
end
if wariant == 500 then
setVehicleVariant(veh, 0, 2)
end
if wariant == 554 then
setVehicleVariant(veh, 0, 2)
end
if wariant == 489 then
setVehicleVariant(veh, 3, 3)
end
if wariant == 579 then
setVehicleVariant(veh, 0, 0)
end
if wariant == 506 then
setVehicleVariant(veh, 1, 1)
end
if wariant == 502 then
setVehicleVariant(veh, 0, 0)
end
if wariant == 586 then
setVehicleVariant(veh, 2, 2)
end
if wariant == 478 then
setVehicleVariant(veh, 0, 0)
end
if wariant == 422 then
setVehicleVariant(veh, 1, 1)
end
if wariant == 517 then
setVehicleVariant(veh, 4, 4)
end
if wariant == 567 then
setVehicleVariant(veh, 1, 1)
end
if wariant == 534 then
setVehicleVariant(veh, 1, 1)
end
if wariant == 535 then
setVehicleVariant(veh, 0, 0)
end
if wariant == 490 then
setVehicleVariant(veh, 1, 0)
end
if wariant == 504 then
setVehicleVariant(veh, 5, 5)
end
if wariant == 456 then
setVehicleVariant(veh, 5, 5)
end
if wariant == 439 then
setVehicleVariant(veh, 0, 0)
end
if wariant == 401 then
setVehicleVariant(veh, 1, 1)
end
if wariant == 600 then
setVehicleVariant(veh, 0, 0)
end
if wariant == 507 then
setVehicleVariant(veh, 2, 2)
end
if wariant == 418 then
setVehicleVariant(veh, 0, 0)
end
if wariant == 426 then
setVehicleVariant(veh, 1, 1)
end
if wariant == 495 then
setVehicleVariant(veh, 1, 1)
end
if wariant == 491 then
setVehicleVariant(veh, 0, 3)
end
if wariant == 540 then
setVehicleVariant(veh, 1, 1)
end
if wariant == 508 then
setVehicleVariant(veh, 1, 1)
end
if wariant == 458 then
setVehicleVariant(veh, 4, 4)
end
if wariant == 445 then
setVehicleVariant(veh, 1, 1)
end
if wariant == 470 then
setVehicleVariant(veh, 2, 2)
end ]]
if vehicle["blokada"] == "true" then
setElementData(veh,"vehicle:block", true)
setVehicleWheelStates(veh, 2, 2, 2, 2)
else
setElementData(veh,"vehicle:block", false)
end
for i,v in ipairs(split(vehicle["tuning"], ",")) do addVehicleUpgrade(veh, v) end
for i,v in ipairs(split(vehicle["panelstates"], ",")) do setVehiclePanelState(veh, i, tonumber(v)) end
end
outputDebugString("[pystories_vehicles] Loaded "..vehicles.." vehicles.")
end
--///////////////////////////////////// ZAPISYWANIE POJAZD?W /////////////////////////////////
function onSaveVehicle(vehicle)
if getElementData(vehicle,"vehicle:spawn") then
-- Setting
local panelstates={}
local model=getElementModel(vehicle)
local health=getElementHealth(vehicle)
local x,y,z=getElementPosition(vehicle)
local rx,ry,rz=getElementRotation(vehicle)
local desc=getElementData(vehicle,"vehicle:desc") or ""
local id=getElementData(vehicle,"vehicle:id")
local silnik=getElementData(vehicle,"Pojemnosc:silnika") or "1.4"
local fuel=getElementData(vehicle,"vehicle:fuel")
local mileage=getElementData(vehicle,"vehicle:mileage")
local c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12=getVehicleColor(vehicle, true)
local driver=getElementData(vehicle,"vehicle:driver") or ""
local rent=getElementData(vehicle,"vehicle:rent")
local ogranicznik=getElementData(vehicle,"vehicle:tempomat") or "Nie"
local elektryk=getElementData(vehicle,"vehicle:elektryk")
local fuellpg = getElementData(vehicle,"vehicle:fuellpg")
local licznik=getElementData(vehicle,"vehicle:licznik") or 0
local mask=getElementData(vehicle,"vehicle:masked") or 0
local v1,v2 = getVehicleVariant(vehicle)
local player=getElementData(vehicle,"vehicle:ownedPlayer")
-- local group=getElementData(vehicle,"vehicle:ownedGroup")
local blokada=getElementData(vehicle,"vehicle:block")
local h1,h2,h3=getVehicleHeadLightColor(vehicle)
local paintjob=getVehiclePaintjob(vehicle)
local rear="Brak"
local frozen= isElementFrozen(vehicle) and 1 or 0
for i=0,6 do table.insert(panelstates, getVehiclePanelState(vehicle,i)) end
panelstates=table.concat(panelstates,",")
upgrades=getVehicleUpgrades(vehicle)
if not upgrades then upgrades={} end
upgrades=table.concat(upgrades, ",")
-- Query
local query = exports["pystories-db"]:dbSet(string.format("UPDATE pystories_vehicles SET model='%d', pos='%.2f,%.2f,%.2f,%.2f,%.2f,%.2f', rent='%d',text='%s', masked='%d', health='%d', fuel='%d', mileage='%d', frozen='%d', driver='%s', color='%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d', panelstates='%s', paintjob='%d', tuning='%s', headlights='%d,%d,%d', ownedPlayer='%d', silnik='%s', blokada='%s', licznik='%s', fuellpg='%s', wariant='%d,%d' WHERE id=%d",
model, x,y,z, rx,ry,rz, "0",desc, mask, health, fuel, mileage, frozen, driver, c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12, panelstates, paintjob, upgrades, h1,h2,h3, player, silnik, tostring(blokada), licznik, fuellpg,v1,v2, id))
if (type(rent) == "table") then
local rr = string.format("%s", table.concat(rent, ',') )
-- outputDebugString(rr)
local query2= exports['pystories-db']:dbSet("UPDATE pystories_vehicles SET rent=? WHERE id=?",rr,id)
end
end
end
function onParkVehicle(vehicle)
local query=exports["pystories-db"]:dbSet("UPDATE pystories_vehicles SET parking=1 WHERE id=?", getElementData(vehicle,"vehicle:id"))
if query then
destroyElement(vehicle)
end
end
--///////////////////////////////////// SPRAWDZANIE USTAWIE? /////////////////////////////////
function getSettings(plr,code,value)
local sid=getElementData(plr,"player:sid")
if not sid then return end
if value == "faction" then
local result=exports["pystories-db"]:dbGet("SELECT * FROM pystories_factions WHERE code=? AND sid=?", code, sid)
if result and #result > 0 then
return result[1].code
else
return false
end
end
if value == "organization" then
local result=exports["pystories-db"]:dbGet("SELECT * FROM ms_organizacje WHERE uid=?", sid)
if result and #result > 0 then
return result[1].code
else
return false
end
end
if value == "owner" then
local result=exports["pystories-db"]:dbGet("SELECT * FROM pystories_users WHERE id=?", sid)
if result and #result > 0 then
return result[1].id
else
return false
end
end
end
--///////////////////////////////////// INNE USTAWIENIA /////////////////////////////////
addEventHandler("onVehicleExit", root, function(plr,seat)
if seat ~= 0 then return end
if getElementData(source, "vehicle:id") then
onSaveVehicle(source)
setVehicleEngineState(source, false)
unbindKey(plr, 'n', 'down', bindHoron4)
end
end)
addEventHandler("onPlayerQuit", root, function()
local veh=getPedOccupiedVehicle(source)
if veh then
if getElementData(veh, "vehicle:id") then
onSaveVehicle(veh)
end
end
end)
addEventHandler("onResourceStop", resourceRoot, function()
for i,v in ipairs(getElementsByType("vehicle")) do
onSaveVehicle(v)
end
end)
addEventHandler("onVehicleEnter", root, function(plr,seat)
if seat ~= 0 then return end
if getElementData(source, "vehicle:id") then
setVehicleEngineState(source, false)
setElementData(source,"vehicle:driver",getPlayerName(plr))
end
end)
--///////////////////////////////////// SPRAWDZENIE W?A?CICIELA /////////////////////////////////
addEventHandler("onVehicleStartEnter", resourceRoot, function(plr,seat,jacked)
if seat == 0 then
if getElementData(source, "vehicle:id") then
local rent=getElementData(source, "vehicle:rent")
local group=getElementData(source, "vehicle:ownedGroup")
if group == "0" then group = "Brak" end
local player=getElementData(source, "vehicle:ownedPlayer")
if getAdmin2(plr, 3) then
return
end
if rent and (type(rent) == "table") then
for i,s in pairs(rent) do
if tonumber(s) == getElementData(plr,"player:sid") then
return end
end
end
local plrgroup = getElementData(plr,"player:organization")
if plrgroup then
-- outputDebugString(group)
if getSettings(plr,false,"organization") == group then return end
end
if player and player ~= getSettings(plr,false,"owner") then
outputChatBox("#ff0000✘ #ffffffNie posiadasz kluczyk?w do tego pojazdu.", plr, 0, 0, 0, true)
cancelEvent()
end
end
end
end)
addEventHandler("onVehicleStartEnter", root, function(plr,seat,jacked)
if jacked then
if getElementData(source,"vehicle:ownedPlayer") == getElementData(plr,"player:sid") then return end
cancelEvent()
end
end)
addEventHandler("onVehicleStartEnter", root, function(plr,seat,jacked)
if seat == 0 then
if getElementData(source,"spawnowany") == true then
if getElementData(plr,"player:admin")== false then
cancelEvent()
end
end
end
end)
addEventHandler("onResourceStart", resourceRoot, function() onRespawnVehicles(_,false) end)
--//////////////////////////////////////////////////////// Licencje
local categoryA={[463] = true,[462] = true,[461] = true,[581] = true,[448] = true,[468] = true,[471] = true,[521] = true,[522] = true,[523] = true}
local categoryB={[602] = true,[545] = true,[496] = true,[517] = true,[401] = true,[410] = true,[518] = true,[600] = true,[527] = true,[436] = true,[589] = true,[580] = true,[419] = true,[439] = true,[533] = true,[549] = true,[526] = true,[491] = true,[474] = true,[445] = true,[467] = true,[604] = true,[426] = true,[507] = true,[547] = true,[585] = true,[405] = true,[587] = true,[409] = true,[466] = true,[550] = true,[492] = true,[566] = true,[546] = true,[540] = true,[551] = true,[421] = true,[516] = true,[529] = true,[488] = true,[460] = true,[510] = true,[509] = true,[481] = true,[586] = true,[472] = true,[473] = true,[493] = true,[595] = true,[484] = true,[430] = true,[453] = true,[452] = true,[446] = true,[454] = true,[485] = true,[552] = true,
[438] = true,[574] = true,[420] = true,[525] = true,[408] = true,[596] = true,[597] = true,[427] = true,[599] = true,[490] = true,[432] = true,[528] = true,[601] = true,[407] = true,[544] = true,[470] = true,[598] = true,[588] = true,
[532] = true,[443] = true,[486] = true,[531] = true,[543] = true,[422] = true,[583] = true,[478] = true,[605] = true,[554] = true,[530] = true,[418] = true,[572] = true,[582] = true,[536] = true,[575] = true,[534] = true,
[567] = true,[535] = true,[576] = true,[412] = true,[402] = true,[542] = true,[603] = true,[475] = true,[449] = true,[537] = true,[570] = true,[441] = true,[464] = true,[501] = true,[465] = true,[564] = true,[568] = true,[557] = true,[424] = true,[504] = true,[495] = true,[457] = true,[539] = true,[483] = true,[571] = true,[500] = true,
[444] = true,[556] = true,[429] = true,[411] = true,[541] = true,[559] = true,[415] = true,[561] = true,[480] = true,[560] = true,[562] = true,[506] = true,[565] = true,[451] = true,[434] = true,[558] = true,[494] = true,[555] = true,[502] = true,[477] = true,[503] = true,[579] = true,[400] = true,[404] = true,[489] = true,[505] = true,[479] = true,[442] = true,[458] = true,
[606] = true,[607] = true,[610] = true,[590] = true,[569] = true,[611] = true,[584] = true,[608] = true,[435] = true,[450] = true,[591] = true,[594] = true}
local categoryC={[403] = true,[406] = true,[413] = true,[414] = true,[416] = true,[423] = true,[428] = true,[431] = true,[433] = true,[437] = true,[440] = true,[455] = true,[456] = true,[459] = true,[482] = true,[498] = true,[499] = true,[508] = true,[514] = true,[515] = true,[524] = true,[538] = true,[573] = true}
local categoryL={[469] = true, [487] = true, [593] = true, [519] = true, [513] = true}
addEventHandler("onVehicleStartEnter", resourceRoot, function(plr,seat,jacked)
if seat == 0 then
if categoryA[getElementModel(source)] then
if exports["pystories-ustawienia-praca"]:getVehicleLicense(plr,"A") then
cancelEvent()
end
elseif categoryB[getElementModel(source)] then
if exports["pystories-ustawienia-praca"]:getVehicleLicense(plr,"B") then
cancelEvent()
end
elseif categoryC[getElementModel(source)] then
if exports["pystories-ustawienia-praca"]:getVehicleLicense(plr,"C") then
cancelEvent()
end
elseif categoryL[getElementModel(source)] then
if exports["pystories-ustawienia-praca"]:getVehicleLicense(plr,"L") then
cancelEvent()
end
end
end
end)
addEventHandler("onVehicleEnter", getRootElement(), function(plr,seat,jacked)
local v = getPedOccupiedVehicle(plr)
if seat ~= 0 then return end
if getElementData(source, "vehicle:id") and getElementData(source, "vehicle:spawn") then
local mk2 = exports['pystories-db']:dbGet("SELECT * FROM pystories_vehicles WHERE id=? AND mk2=?",getElementData(source, "vehicle:id"), "1")
local mk1 = exports['pystories-db']:dbGet("SELECT * FROM pystories_vehicles WHERE id=? AND mk1=?",getElementData(source, "vehicle:id"), "1")
local rh = exports['pystories-db']:dbGet("SELECT * FROM pystories_vehicles WHERE id=? AND rh=?",getElementData(source, "vehicle:id"), "1")
local np = exports['pystories-db']:dbGet("SELECT * FROM pystories_vehicles WHERE id=? AND naped=?",getElementData(source, "vehicle:id"), "1")
local chip = exports['pystories-db']:dbGet("SELECT * FROM pystories_vehicles WHERE id=? AND chip=?",getElementData(source, "vehicle:id"), "1")
local drift = exports['pystories-db']:dbGet("SELECT * FROM pystories_vehicles WHERE id=? AND drift=?",getElementData(source, "vehicle:id"), "1")
local lpg = exports['pystories-db']:dbGet("SELECT * FROM pystories_vehicles WHERE id=? AND lpg=?",getElementData(source, "vehicle:id"), "1")
--local neonrgb = exports['pystories-db']:dbGet("SELECT * FROM pystories_vehicles WHERE id=? AND neon=?", getElementData(veh, "vehicle:id"), "2")
--[[if #mk1 > 0 then outputChatBox("#00FF00ⓘ #ffffffPomy?lnie zaprogramowano: UP1", plr, 0, 144, 255, true) end
if #mk2 > 0 then outputChatBox("#00FF00ⓘ #ffffffPomy?lnie zaprogramowano: UP2", plr, 0, 144, 255, true) end
if #rh > 0 then outputChatBox("#00FF00ⓘ #ffffffPomy?lnie zaprogramowano: RH", plr, 0, 144, 255, true) end
if #np > 0 then outputChatBox("#00FF00ⓘ #ffffffPomy?lnie zaprogramowano: Zmienny Nap?d", plr, 0, 144, 255, true) end
if #chip > 0 then outputChatBox("#00FF00ⓘ #ffffffPomy?lnie zaprogramowano: Chip Tuning", plr, 0, 144, 255, true) end
if #drift > 0 then outputChatBox("#00FF00ⓘ #ffffffPomy?lnie zaprogramowano: Drift",plr,255, 255, 255, true) end
if #lpg > 0 then outputChatBox("#00FF00ⓘ #ffffffPomy?lnie zaprogramowano: LPG",plr,255, 255, 255, true) end]]
end
end)
function vTeleport()
for k, veh in pairs(getElementsByType("vehicle")) do
if getElementData(veh, "vehicle:id") then
if isVehicleBlown(veh) then fixVehicle(veh) end
local plr = getVehicleController(veh)
if plr then
local x, y, z = getElementPosition(veh)
if isElementInWater(veh) then
setElementPosition(veh, x, y, -1000)
end
else
if isElementInWater(veh) then
exports["pystories-vehicles"]:onSaveVehicle(veh)
exports["pystories-vehicles"]:onParkVehicle(veh)
end
end
end
end
end
setTimer( function()
vTeleport()
end, 10000, 0)