- vehicles=0
- root=getRootElement()
- resourceRoot=getResourceRootElement(getThisResource())
- local nlOffsets={
- [411]={-1,0,-0.6}, -- infernus
- [470]={-1,0,-0.4}, -- patriot
- [541]={-0.9,0,-0.4}, -- bulelt
- [549]={-0.9,0,-0.4}, -- tampa
- [587]={-1,0,-0.5}, -- euros
- }
- local nlIDX={
- 3962,2113,1784,2054,2428,2352
- }
- function getVehicleTable(ownerType, owner)
- local tmpTable = {}
- if(tonumber(ownerType) and tonumber(owner)) then
- for k, v in pairs(vehData) do
- if(v and v.ownerType == ownerType and v.ownerID == owner) then
- table.insert(tmpTable, v)
- end
- end
- if(#tmpTable <= 0) then return false end
- return tmpTable
- end
- return false
- end
- function getVehiclesToDashboard(player)
- local vehs = getVehicleTable(1, player:getData("player:sid"))
- if(not vehs) then vehs = {} end
- return vehs
- 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,buyed,player)
- -- 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])
- if buyed then
- warpPedIntoVehicle(player,veh)
- end
- 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("PL "..vehicle["id"]))
- end
- setElementFrozen(veh, (vehicle["frozen"]) > 0)
- if vehicle["paintjob"] ~= 3 then
- setVehiclePaintjob(veh, vehicle["paintjob"])
- end
- 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", false)
- setElementData(veh,"vehicle:mileage", vehicle["mileage"])
- setElementData(veh,"vehicle:driver", vehicle["driver"])
- setElementData(veh,"vehicle:ownedGroup", vehicle["ownedGroup"])
- setElementData(veh,"vehicle:ownedPlayer", vehicle["ownedPlayer"])
- setElementData(veh, "vehicle:pojemnosc", vehicle["pojemnosc_silnika"])
- if getElementData(veh, "vehicle:pojemnosc") > 11 then
- setElementData(veh, "vehicle:pojemnosc", 11)
- end
- if getElementData(veh, "vehicle:pojemnosc") == 1 then
- local acceleration = getVehicleHandling(veh).engineAcceleration
- local velocity = getVehicleHandling(veh).maxVelocity
- setElementData(veh, "vehicle:poj", "1.2")
- setVehicleHandling(veh, "engineAcceleration", acceleration+1.3)
- elseif getElementData(veh, "vehicle:pojemnosc") == 2 then
- local acceleration = getVehicleHandling(veh).engineAcceleration
- local velocity = getVehicleHandling(veh).maxVelocity
- setElementData(veh, "vehicle:poj", "1.6")
- setVehicleHandling(veh, "engineAcceleration", acceleration+1.5)
- elseif getElementData(veh, "vehicle:pojemnosc") == 3 then
- local acceleration = getVehicleHandling(veh).engineAcceleration
- local velocity = getVehicleHandling(veh).maxVelocity
- setElementData(veh, "vehicle:poj", "1.8")
- setVehicleHandling(veh, "maxVelocity", velocity+3)
- setVehicleHandling(veh, "engineAcceleration", acceleration+1.8)
- elseif getElementData(veh, "vehicle:pojemnosc") == 4 then
- local acceleration = getVehicleHandling(veh).engineAcceleration
- local velocity = getVehicleHandling(veh).maxVelocity
- setElementData(veh, "vehicle:poj", "2.0")
- setVehicleHandling(veh, "maxVelocity", velocity+4)
- setVehicleHandling(veh, "engineAcceleration", acceleration+1.9)
- elseif getElementData(veh, "vehicle:pojemnosc") == 5 then
- local acceleration = getVehicleHandling(veh).engineAcceleration
- local velocity = getVehicleHandling(veh).maxVelocity
- setElementData(veh, "vehicle:poj", "2.2")
- setVehicleHandling(veh, "maxVelocity", velocity+5)
- setVehicleHandling(veh, "engineAcceleration", acceleration+2.0)
- elseif getElementData(veh, "vehicle:pojemnosc") == 6 then
- local acceleration = getVehicleHandling(veh).engineAcceleration
- local velocity = getVehicleHandling(veh).maxVelocity
- setElementData(veh, "vehicle:poj", "2.5")
- setVehicleHandling(veh, "maxVelocity", velocity+6)
- setVehicleHandling(veh, "engineAcceleration", acceleration+2.2)
- elseif getElementData(veh, "vehicle:pojemnosc") == 7 then
- local acceleration = getVehicleHandling(veh).engineAcceleration
- local velocity = getVehicleHandling(veh).maxVelocity
- setElementData(veh, "vehicle:poj", "2.6")
- setVehicleHandling(veh, "maxVelocity", velocity+7)
- setVehicleHandling(veh, "engineAcceleration", acceleration+2.4)
- elseif getElementData(veh, "vehicle:pojemnosc") == 8 then
- local acceleration = getVehicleHandling(veh).engineAcceleration
- local velocity = getVehicleHandling(veh).maxVelocity
- setElementData(veh, "vehicle:poj", "2.7")
- setVehicleHandling(veh, "maxVelocity", velocity+8)
- setVehicleHandling(veh, "engineAcceleration", acceleration+2.5)
- elseif getElementData(veh, "vehicle:pojemnosc") == 9 then
- local acceleration = getVehicleHandling(veh).engineAcceleration
- local velocity = getVehicleHandling(veh).maxVelocity
- setElementData(veh, "vehicle:poj", "2.8")
- setVehicleHandling(veh, "maxVelocity", velocity+12)
- setVehicleHandling(veh, "engineAcceleration", acceleration+2.6)
- elseif getElementData(veh, "vehicle:pojemnosc") == 10 then
- local acceleration = getVehicleHandling(veh).engineAcceleration
- local velocity = getVehicleHandling(veh).maxVelocity
- setElementData(veh, "vehicle:poj", "2.9")
- setVehicleHandling(veh, "maxVelocity", velocity+13)
- setVehicleHandling(veh, "engineAcceleration", acceleration+2.7)
- elseif getElementData(veh, "vehicle:pojemnosc") == 11 then
- local acceleration = getVehicleHandling(veh).engineAcceleration
- local velocity = getVehicleHandling(veh).maxVelocity
- setElementData(veh, "vehicle:poj", "3.0")
- setVehicleHandling(veh, "maxVelocity", velocity+18)
- setVehicleHandling(veh, "engineAcceleration", acceleration+5)
- end
- local mk1 = vehicle['mk1']
- if tonumber(mk1) ~= 0 then
- local acceleration = getVehicleHandling(veh).engineAcceleration
- local velocity = getVehicleHandling(veh).maxVelocity
- setVehicleHandling(veh,"engineAcceleration", acceleration+2)
- setVehicleHandling(veh,"maxVelocity", velocity+6)
- end
- local mk2 = vehicle['mk2']
- if tonumber(mk2) ~= 0 then
- local acceleration = getVehicleHandling(veh).engineAcceleration
- local velocity = getVehicleHandling(veh).maxVelocity
- setVehicleHandling(veh,"engineAcceleration", acceleration+4)
- setVehicleHandling(veh,"maxVelocity", velocity+8)
- end
- local mk3 = vehicle['mk3']
- if tonumber(mk3) ~= 0 then
- local acceleration = getVehicleHandling(veh).engineAcceleration
- local velocity = getVehicleHandling(veh).maxVelocity
- setVehicleHandling(veh,"engineAcceleration", acceleration+4)
- setVehicleHandling(veh,"maxVelocity", velocity+8)
- end
- local turbo = vehicle['turbo']
- if tonumber(turbo) ~= 0 then
- local acceleration = getVehicleHandling(veh).engineAcceleration
- local velocity = getVehicleHandling(veh).maxVelocity
- setVehicleHandling(veh,"engineAcceleration", acceleration+12)
- --setVehicleHandling(veh,"maxVelocity", velocity+8)
- end
- local drift = vehicle['drift']
- if tonumber(drift) ~= 0 then
- setVehicleHandling(veh,"driveType","rwd")
- setVehicleHandling(veh,"dragCoeff",1.59)
- end
- local naped = vehicle['naped']
- if tonumber(naped) ~= 0 then
- setVehicleHandling(veh,"driveType","awd")
- end
- local mask = vehicle['masked']
- if tonumber(mask) ~= 0 then
- setElementData(veh,"vehicle:masked",vehicle['masked'])
- end
- local wariant = getElementModel(veh)
- if wariant == 429 then
- setVehicleVariant(veh, 2, 2)
- end
- if wariant == 562 then
- setVehicleVariant(veh, 1, 1)
- end
- if wariant == 415 then
- setVehicleVariant(veh, 4, 4)
- end
- if wariant == 477 then
- setVehicleVariant(veh, 0, 1)
- end
- if wariant == 480 then
- setVehicleVariant(veh, 0, 0)
- end
- if wariant == 579 then
- setVehicleVariant(veh, 0, 0)
- end
- if wariant == 559 then
- setVehicleVariant(veh, 0, 0)
- end
- if wariant == 411 then
- setVehicleVariant(veh, 0, 0)
- end
- if wariant == 561 then
- setVehicleVariant(veh, 0, 0)
- end
- setElementData(veh,"neony", vehicle["neon"])
- local rodzajneonu=tonumber(getElementData(veh,"neony"))
- if getElementData(veh,"neony") ~= 0 then
- local m = getElementModel(veh)
- local of
- if not nlOffsets[m] then
- of={-1,0,-0.5}
- else
- of=nlOffsets[m]
- end
- neon1=createObject(nlIDX[rodzajneonu],0,0,0)
- neon2=createObject(nlIDX[rodzajneonu],0,0,0)
- setElementData(veh,"zneony", {neon1, neon2})
- attachElements(neon1,veh,of[1],of[2],of[3])
- attachElements(neon2,veh,-of[1],of[2],of[3])
- 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
- setVehicleDamageProof(veh, true)
- 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 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") or ''
- 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 mask=getElementData(vehicle,"vehicle:masked") or 0
- local neon=getElementData(vehicle,"neony")
- 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', neon='%d', blokada='%s' 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, neon, tostring(blokada), id))
- if (type(rent) == "table") then
- local rr = string.format("%s", table.concat(rent, ',') )
- 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
- local zneony=getElementData(vehicle,"zneony")
- if (zneony and type(zneony)=="table") then
- destroyElement(zneony[1])
- destroyElement(zneony[2])
- removeElementData(vehicle,"zneony")
- end
- 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
- setVehicleEngineState(source, false)
- setVehicleDamageProof(source, true)
- onSaveVehicle(source)
- end)
- addEventHandler("onPlayerQuit", root, function()
- local veh=getPedOccupiedVehicle(source)
- if veh then
- setVehicleDamageProof(source, true)
- onSaveVehicle(veh)
- end
- end)
- addEventHandler("onResourceStop", resourceRoot, function()
- for i,v in ipairs(getElementsByType("vehicle")) do
- onSaveVehicle(v)
- local zneony=getElementData(v,"zneony")
- if (zneony and type(zneony)=="table") then
- destroyElement(zneony[1])
- destroyElement(zneony[2])
- removeElementData(v,"zneony")
- end
- end
- outputDebugString("[pystories_vehicles] Saved all vehicles!")
- end)
- addEventHandler("onVehicleEnter", root, function(plr,seat)
- if seat ~= 0 then return end
- setVehicleEngineState(source, false)
- setElementData(source,"vehicle:driver",getElementData(plr, "player:nickname"))
- if getElementData(source,"neony") and getElementData(source,"neony") ~= 0 then
- triggerClientEvent(plr,"onClientAddNotification",root,"Posiadasz neony w pojezdzie możesz \nwłączyć/wyłaczyć za pomocą przycisku H.","info")
- bindKey(plr, 'h', 'down', bindHoron4, plr)
- end
- end)
- function bindHoron4(plr)
- veh=getPedOccupiedVehicle(plr)
- if not veh then return end
- local rodzajneonu=tonumber(getElementData(veh,"neony"))
- if not rodzajneonu then return end
- if rodzajneonu==0 then
- outputChatBox('* Brak Neonow.', plr, 255, 0 ,0)
- return end
- local zneony=getElementData(veh,"zneony")
- if (zneony and type(zneony)=="table") then
- destroyElement(zneony[1])
- destroyElement(zneony[2])
- removeElementData(veh,"zneony")
- --triggerClientEvent(plr,"addNotification",root,'* Wyłączyłeś Neony.',"warning")
- else
- local m = getElementModel(veh)
- local of
- if not nlOffsets[m] then
- of={-1,0,-0.5}
- else
- of=nlOffsets[m]
- end
- neon1=createObject(nlIDX[rodzajneonu],0,0,0)
- neon2=createObject(nlIDX[rodzajneonu],0,0,0)
- setElementData(veh,"zneony", {neon1, neon2})
- attachElements(neon1,veh,of[1],of[2],of[3])
- attachElements(neon2,veh,-of[1],of[2],of[3])
- --triggerClientEvent(plr,"addNotification",root,'* Włączyłeś Neony. Pojawią się one jak poruszysz pojazdem!',"info")
- end
- end
- --///////////////////////////////////// SPRAWDZENIE WĹAĹšCICIELA /////////////////////////////////
- addEventHandler("onVehicleStartEnter", resourceRoot, function(plr,seat,jacked)
- if seat == 0 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, 4) 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
- if getSettings(plr,false,"organization") == group then return end
- end
- if player and player ~= getSettings(plr,false,"owner") then
- outputChatBox("* Nie posiadasz kluczykĂłw do tego pojazdu.", plr)
- cancelEvent()
- end
- end
- end)
- addEventHandler("onElementDestroy", getRootElement(), function ()
- if getElementType(source) == "vehicle" then
- local zneony=getElementData(source,"zneony")
- if (zneony and type(zneony)=="table") then
- destroyElement(zneony[1])
- destroyElement(zneony[2])
- removeElementData(source,"zneony")
- 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('onVehicleStartEnter', resourceRoot, function(player, seat, jacked)
- if seat ~= 0 then return end
- if not getElementData(source, 'vehicle:id') then return end
- local serial = getPlayerSerial(player)
- local result = exports['pystories-db']:dbGet('select * from pystories_punish where serial = ? AND time>NOW()', serial)
- if #result > 0 then
- cancelEvent()
- else
- exports['pystories-db']:dbSet('delete from pystories_punish where serial = ?', serial)
- end
- end)
- addEventHandler("onResourceStart", resourceRoot, function() onRespawnVehicles(_,false) end)
- 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", root, function(plr,seat,jacked)
- if source then
- if source and getElementData(source,"vehicle:masked") then
- setElementData(plr,"player:old:nick",getPlayerName(plr))
- local x = string.format("#040707%s",getPlayerName(plr):gsub("#%x%x%x%x%x%x",""))
- setPlayerName(plr,x)
- end
- end
- end)
- addEventHandler("onVehicleExit", root, function(plr,seat,jacked)
- if source then
- if source and getElementData(source,"vehicle:masked") then
- local name = getElementData(plr,"player:old:nick")
- setPlayerName(plr,name)
- end
- end
- end)
- addEventHandler("onElementDestroy", root, function()
- if getElementType(source) ~= "vehicle" then return end
- if getElementData(source,"vehicle:masked") then
- for i,p in pairs(getVehicleOccupants(source)) do
- local name = getElementData(p,"player:old:nick")
- setPlayerName(p,name)
- end
- end
- end)
- addEventHandler("onVehicleEnter", getRootElement(), function(plr,seat,jacked)
- 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 drift = exports['pystories-db']:dbGet("SELECT * FROM pystories_vehicles WHERE id=? AND drift=?",getElementData(source, "vehicle:id"), "1")
- local mk3 = exports['pystories-db']:dbGet("SELECT * FROM pystories_vehicles WHERE id=? AND mk3=?",getElementData(source, "vehicle:id"), "1")
- local turbo = exports['pystories-db']:dbGet("SELECT * FROM pystories_vehicles WHERE id=? AND turbo=?",getElementData(source, "vehicle:id"), "1")
- if #mk1 > 0 then outputChatBox("#ff6600(â“) #FFFFFFPomyĹ›lnie zaprogramowano #ff6600Ulepszenie Silnika poz.1",plr,255, 255, 255, true) end
- if #mk2 > 0 then outputChatBox("#ff6600(â“) #FFFFFFPomyĹ›lnie zaprogramowano #ff6600Ulepszenie Silnika poz.2",plr,255, 255, 255, true) end
- if #mk3 > 0 then outputChatBox("#ff6600(â“) #FFFFFFPomyĹ›lnie zaprogramowano #ff6600Ulepszenie Silnika poz.3",plr,255, 255, 255, true) end
- if #rh > 0 then outputChatBox("#ff6600(â“) #FFFFFFPomyĹ›lnie zaprogramowano #ff6600Gwintowane Zawieszenie(RH1)",plr,255, 255, 255, true) end
- if #np > 0 then outputChatBox("#ff6600(â“) #FFFFFFPomyĹ›lnie zaprogramowano #ff6600NapÄ™d 4x4",plr,255, 255, 255, true) end
- if #turbo > 0 then outputChatBox("#ff6600(â“) #FFFFFFPomyĹ›lnie zaprogramowano #ff6600Turbo",plr,255, 255, 255, true) end
- if #drift > 0 then outputChatBox("#ff6600(â“) #FFFFFFPomyĹ›lnie zaprogramowano #ff6600Drift",plr,255, 255, 255, true) end
- end
- end)