test_db = dbConnect( "sqlite", "auta.db" )
function save()
dbQuery( test_db,"DROP TABLE auta")
dbQuery( test_db,"CREATE TABLE auta (VehicleID INTEGER,ID INTEGER, px REAL, py REAL, pz REAL, rx REAL, ry REAL, rz REAL, Color1 INTEGER, Color2 INTEGER, Health REAL, upgrades TEXT, paintjob INTEGER, PALIWO TEXT, PRZEBIEG TEXT, Zarejstrowany TEXT, NaKogo1 TEXT, NaKogo2 TEXT)")
for i, vehicle in pairs (getElementsByType("vehicle")) do
if getElementData(vehicle,"Pojazd_zapis") == true then
local px, py, pz = getElementPosition(vehicle)
local rx, ry, rz = getElementRotation(vehicle)
local color1, color2, color3, color4 = getVehicleColor(vehicle)
local model = getElementModel(vehicle)
local health = getElementHealth (vehicle)
local tableUpgrades = getVehicleUpgrades(vehicle)
local upgrades = table.concat(tableUpgrades, ",")
local paintjob = getVehiclePaintjob(vehicle)
local id1 = tostring(getElementData(vehicle,"id"))
local paliwo = tostring(getElementData(vehicle,"fuel"))
local przebieg = tostring(getElementData(vehicle,"przebieg"))
local zarejstrowany = tostring(getElementData(vehicle,"Zarejstrowany"))
local x = getElementData(vehicle,"Zarejstrowany-Na")
local x2 = getElementData(vehicle,"Zarejstrowany-Na2")
if x then
na1 = getElementData(vehicle,"Zarejstrowany-Na")
else
na1 = ""
end
if x2 then
na2 = getElementData(vehicle,"Zarejstrowany-Na2")
else
na2 = ""
end
dbQuery( test_db, "INSERT INTO auta VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)",model,id1,px,py,pz,rx,ry,rz,color1,color2,health,upgrades,paintjob,paliwo,przebieg,zarejstrowany,na1,na2 )
end
end
end
addEventHandler("onResourceStop", getResourceRootElement(getThisResource()), save)
addCommandHandler("zapis",save)
function zapisujemy()
local pojazdy = getElementsByType("vehicle", root)
for i,v in ipairs(pojazdy) do
save(v)
end
end
setTimer(zapisujemy, 360, 1)
addEventHandler("onResourceStop", root, zapisujemy)
-- Zapisujemy pojazd
addEventHandler("onVehicleExit", root, function(player, seat, jacked)
if seat==0 then
save(player)
end
end)
function Database()
dbQuery( test_db,"CREATE TABLE auta (VehicleID INTEGER,ID INTEGER, px REAL, py REAL, pz REAL, rx REAL, ry REAL, rz REAL, Color1 INTEGER, Color2 INTEGER, Health REAL, upgrades TEXT, paintjob INTEGER, PALIWO TEXT, PRZEBIEG TEXT, Zarejstrowany TEXT, NaKogo1 TEXT, NaKogo2 TEXT)")
qh = dbQuery(test_db,"SELECT * FROM auta")
local result, num_affected_rows, errmsg = dbPoll ( qh, -1 )
for i, v in pairs (result) do
local vehicle = createVehicle( v.VehicleID, v.px, v.py, v.pz, v.rx, v.ry, v.rz )
setElementHealth ( vehicle, v.Health )
setElementFrozen ( vehicle, true )
setVehicleEngineState ( vehicle, false )
setVehicleColor ( vehicle, v.Color1, v.Color2, 0, 0 )
if ( v.paintjob ) then
setVehiclePaintjob( vehicle, v.paintjob )
end
local upgrades = split( v.upgrades, 44 )
for index, upgrade in pairs (upgrades) do
addVehicleUpgrade( vehicle, upgrade )
end
setElementData(vehicle,"przebieg",v.PRZEBIEG)
setElementData(vehicle,"fuel",v.PALIWO)
if v.Zarejstrowany == "brak" then
else
setElementData(vehicle,"Zarejstrowany",v.Zarejstrowany)
setElementData(vehicle,"Zarejstrowany-Na",v.NaKogo1)
setElementData(vehicle,"Zarejstrowany-Na2",v.NaKogo2)
setElementData(vehicle,"Pojazd_zapis",true)
setElementData(vehicle,"id",v.ID)
end
end
end
addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), Database)