Wysłany: 2016-07-04, 07:07
GamerHD11
Wiek: 24 Na forum: 4260 dni Posty: 259
Nick w MP: SzokoHD
Piwa : 23
No bym musia? znale?? jaki program do otwierania plik?w DB, polecasz jakis ?
Wysłany: 2016-07-04, 08:21
AteX
Wiek: 26 Na forum: 4015 dni Posty: 927
Nick w MP: #AteX
Piwa : 8360
Wysłany: 2016-07-04, 11:19
GamerHD11
Wiek: 24 Na forum: 4260 dni Posty: 259
Nick w MP: SzokoHD
Piwa : 23
AteX , dzi?ki a co do zapisu to normalnie zapisuje sie nazw? konta
Wysłany: 2016-07-04, 19:02
luki123luki123
Place Game
Wiek: 28 Na forum: 5275 dni Posty: 1948
Nick w MP: LuKiO
Piwa : 6101
GamerHD11 , witam chia?bym zwr?ci? ci uwag? ?e w funkcji na zapisywanie musisz najpierw sprawdzi? czy podane auto zosta?o zapisane je?eli tak to je tylko aktualizujesz a je?eli nie to je dodaje. Bez sprawdzanie takiego skrypt nie b?dzie ci do ko?ca dzia?a?.
Kolejn? spraw? to r?b skrypty tak ?eby u?atwi? sobie programowanie, przejrzysto?? kodu oraz optymalniejsze by?y.
Chodzi mi na np. o ten kod:
addVehicleUpgrade ( auto , v [ "t0" ])
addVehicleUpgrade ( auto , v [ "t1" ])
addVehicleUpgrade ( auto , v [ "t2" ])
addVehicleUpgrade ( auto , v [ "t3" ])
addVehicleUpgrade ( auto , v [ "t4" ])
addVehicleUpgrade ( auto , v [ "t5" ])
addVehicleUpgrade ( auto , v [ "t6" ])
addVehicleUpgrade ( auto , v [ "t7" ])
addVehicleUpgrade ( auto , v [ "t8" ])
addVehicleUpgrade ( auto , v [ "t9" ])
addVehicleUpgrade ( auto , v [ "t13" ])
addVehicleUpgrade ( auto , v [ "t14" ])
addVehicleUpgrade ( auto , v [ "t15" ])
addVehicleUpgrade ( auto , v [ "t16" ])
Jak by? zapisywa? tuning po kuleli czyli od 1 do np. 13 to by? m?g? tak nawet zrobi?:
for i = 0 , 13 do
addVehicleUpgrade ( auto , v [ "t" .. i .. "" ])
end
Nie wygoda to lepiej ? patrz ile linijek mniej masz ju? do napisania.
Wystarczy logicznie pomy?le?.
GamerHD11 , O co chodzi ci z tym ostatnim pytaniem ? Jakie konta.
Wysłany: 2016-07-04, 20:28
GamerHD11
Wiek: 24 Na forum: 4260 dni Posty: 259
Nick w MP: SzokoHD
Piwa : 23
To mam wybra? wszystkie auta za pomoc? SELECT, potem u?y? dbPool i sprawdzi? czy wynik jest poprawny ?
Takie co? zrobi?em i nie dzia?a:
addCommandHandler ( "zapisz" , function ( plr )
acc = getAccountName ( getPlayerAccount ( plr ))
if isObjectInACLGroup ( "user." .. acc , aclGetGroup ( "Admin" )) then
for _ , v in ipairs ( getElementsByType ( "vehicle" , resourceRoot )) do
if getElementData ( v , "prywatne" ) then
local wybierz = dbQuery ( conn , "SELECT * FROM OP_Vehicles" )
local result = dbPool ( wybierz , - 1 )
if result then
local pojazdID = getElementModel ( v )
local c1 , c2 , c3 , c4 = getVehicleColor ( v )
local x , y , z = getElementPosition ( v )
local rotx , roty , rotz = getElementRotation ( v )
local id = getElementData ( v , "vehid" )
local owner = getElementData ( v , "owner" )
local przebieg = getElementData ( v , "przebieg" )
local paliwo = getElementData ( v , "paliwo" )
local bak = getElementData ( v , "bak" )
local t0 = getVehicleUpgradeOnSlot ( v , 0 )
local t1 = getVehicleUpgradeOnSlot ( v , 1 )
local t2 = getVehicleUpgradeOnSlot ( v , 2 )
local t3 = getVehicleUpgradeOnSlot ( v , 3 )
local t4 = getVehicleUpgradeOnSlot ( v , 4 )
local t5 = getVehicleUpgradeOnSlot ( v , 5 )
local t6 = getVehicleUpgradeOnSlot ( v , 6 )
local t7 = getVehicleUpgradeOnSlot ( v , 7 )
local t8 = getVehicleUpgradeOnSlot ( v , 8 )
local t9 = getVehicleUpgradeOnSlot ( v , 9 )
local t13 = getVehicleUpgradeOnSlot ( v , 13 )
local t14 = getVehicleUpgradeOnSlot ( v , 14 )
local t15 = getVehicleUpgradeOnSlot ( v , 15 )
local t16 = getVehicleUpgradeOnSlot ( v , 16 )
local felgi = getVehicleUpgradeOnSlot ( v , 12 )
local paintjob = getVehiclePaintjob ( v )
local hr , hg , hb = getVehicleHeadLightColor ( v )
local tablica = getVehiclePlateText ( v )
local wariant1 , wariant2 = getVehicleVariant ( v )
local vmax = getVehicleHandling ( auto ). maxVelocity
local acceler = getVehicleHandling ( auto ). engineAcceleration
dbQuery ( conn , "UPDATE OP_Vehicles SET model = ?, posx = ?, posy = ?, posz = ?, rotx = ?, roty = ?, rotz = ?, color1 = ?, color2 = ?, color3 = ?, color4 = ?, id = ?, owner = ?, przebieg = ?, paliwo = ?, bak = ?, paintjob = ?, hr = ?, hg = ?, hb = ?, felgi = ?, t0 = ?, t1 = ?, t2 = ?, t3 = ?, t4 = ?, t5 = ?, t6 = ?, t7 = ?, t8 = ?, t9 = ?, t13 = ?, t14 = ?, t15 = ?, t16 = ?, tablica = ?, wariant1 = ?, wariant2 = ?, vmax = ?, acceler = ?" , pojazdID , x , y , z , rotx , roty , rotz , c1 , c2 , c3 , c4 , id , owner , przebieg , paliwo , bak , paintjob , hr , hg , hb , felgi , t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t13 , t14 , t15 , t16 , tablica , wariant1 , wariant2 , vmax , acceler )
else
dbQuery ( conn , "INSERT INTO OP_Vehicles (model, posx, posy, posz, rotx, roty, rotz, color1, color2 ,color3, color4, id, owner, przebieg, paliwo, bak, paintjob, hr, hg, hb, felgi, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t13, t14, t15, t16, tablica, wariant1, wariant2, vmax, acceler) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)" , pojazdID , x , y , z , rotx , roty , rotz , c1 , c2 , c3 , c4 , id , owner , przebieg , paliwo , bak , paintjob , hr , hg , hb , felgi , t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t13 , t14 , t15 , t16 , tablica , wariant1 , wariant2 , vmax , acceler )
end
end
end
end
end )
Wysłany: 2016-07-04, 22:31
luki123luki123
Place Game
Wiek: 28 Na forum: 5275 dni Posty: 1948
Nick w MP: LuKiO
Piwa : 6101
GamerHD11 , tutaj mo?esz:
local wybierz = dbQuery ( conn , "SELECT * FROM OP_Vehicles" )
U?y? po OP_Vehicles dalej u?y? WHERE potem kolumne = argument
A i zamiast * ( ma?e wyt?umaczenie o co tu chodzi z *, tutaj pobieramy kolumn? jak? chcemy pobra? w przypadku gwiazdki s? to wszystkie kolumny, mo?emy wpisa? te? nazw? kolumny aby nie obci??a? niepotrzebnie bazy Dannych.
Tutaj przyk?ad:
https://github.com/ShuffleGTAO/Scripts/blob/master/PlayerSaveSQL/players.lua
[ Dodano : 2016-07-04, 22:32 ]
GamerHD11 , W twoim przyk?adzie tylko sprawdzasz czy polecenie zosta?o wykonane czy te? nie:
Wysłany: 2016-07-05, 09:12
GamerHD11
Wiek: 24 Na forum: 4260 dni Posty: 259
Nick w MP: SzokoHD
Piwa : 23
Tak dzia?a ale nie updateuje pojazdu, tylko go wprowadza do bazy
local conn = dbConnect ( "sqlite" , "db.db" )
addEventHandler ( "onResourceStart" , resourceRoot , function ( plr )
if conn then
plr = source
dbExec ( conn , "CREATE TABLE IF NOT EXISTS OP_Vehicles(model INTEGER, posx FLOAT, posy FLOAT, posz FLOAT, rotx FLOAT, roty FLOAT, rotz FLOAT, color1 INTEGER, color2 INTEGER, color3 INTEGER, color4 INTEGER, id INTEGER, owner TEXT, przebieg FLOAT, paliwo FLOAT, bak FLOAT, paintjob INTEGER, hr INTEGER, hg INTEGER, hb INTEGER, felgi INTEGER, t0 INTEGER, t1 INTEGER, t2 INTEGER, t3 INTEGER, t4 INTEGER, t5 INTEGER, t6 INTEGER, t7 INTEGER, t8 INTEGER, t9 INTEGER, t13 INTEGER, t14 INTEGER, t15 INTEGER, t16 INTEGER, tablica TEXT, wariant1 INTEGER, wariant2 INTEGER, vmax FLOAT, acceler FLOAT )" )
local q = dbQuery ( conn , "SELECT * FROM OP_Vehicles" )
local result = dbPoll ( q , - 1 )
dbFree ( q )
if #result == 1 then
for _ , v in pairs ( result ) do
local auto = createVehicle ( v [ "model" ], v [ "posx" ], v [ "posy" ], v [ "posz" ], v [ "rotx" ], v [ "roty" ], v [ "rotz" ] )
setVehicleColor ( auto , v [ "color1" ], v [ "color2" ], v [ "color3" ], v [ "color4" ] )
setElementData ( auto , "vehid" , v [ "id" ])
setElementData ( auto , "owner" , v [ "owner" ])
setElementData ( auto , "przebieg" , v [ "przebieg" ])
setElementData ( auto , "paliwo" , v [ "paliwo" ])
setElementData ( auto , "bak" , v [ "bak" ])
for i = 0 , 9 do
addVehicleUpgrade ( auto , v [ "t" .. i .. "" ])
end
for is = 13 , 16 do
addVehicleUpgrade ( auto , v [ "t" .. is .. "" ])
end
setVehiclePaintjob ( auto , v [ "paintjob" ])
setVehicleVariant ( auto , v [ "wariant1" ], v [ "wariant2" ])
setVehicleHeadLightColor ( auto , v [ "hr" ], v [ "hg" ], v [ "hb" ])
setVehiclePlateText ( auto , v [ "tablica" ])
setVehicleHandling ( auto , "engineAcceleration" , v [ "acceler" ])
setVehicleHandling ( auto , "maxVelocity" , v [ "vmax" ])
setVehicleOverrideLights ( auto , 1 )
end
end
end
end )
addCommandHandler ( "zapisz" , function ( plr )
acc = getAccountName ( getPlayerAccount ( plr ))
if isObjectInACLGroup ( "user." .. acc , aclGetGroup ( "Admin" )) then
for _ , v in ipairs ( getElementsByType ( "vehicle" , resourceRoot )) do
if getElementData ( v , "prywatne" ) then
local wybierz = dbQuery ( conn , "SELECT owner FROM OP_Vehicles WHERE owner = ?" , getElementData ( v , "owner" ))
local result = dbPoll ( wybierz , - 1 )
dbFree ( wybierz )
local pojazdID = getElementModel ( v )
local c1 , c2 , c3 , c4 = getVehicleColor ( v )
local x , y , z = getElementPosition ( v )
local rotx , roty , rotz = getElementRotation ( v )
local id = getElementData ( v , "vehid" )
local przebieg = getElementData ( v , "przebieg" )
local paliwo = getElementData ( v , "paliwo" )
local bak = getElementData ( v , "bak" )
local t0 = getVehicleUpgradeOnSlot ( v , 0 )
local t1 = getVehicleUpgradeOnSlot ( v , 1 )
local t2 = getVehicleUpgradeOnSlot ( v , 2 )
local t3 = getVehicleUpgradeOnSlot ( v , 3 )
local t4 = getVehicleUpgradeOnSlot ( v , 4 )
local t5 = getVehicleUpgradeOnSlot ( v , 5 )
local t6 = getVehicleUpgradeOnSlot ( v , 6 )
local t7 = getVehicleUpgradeOnSlot ( v , 7 )
local t8 = getVehicleUpgradeOnSlot ( v , 8 )
local t9 = getVehicleUpgradeOnSlot ( v , 9 )
local t13 = getVehicleUpgradeOnSlot ( v , 13 )
local t14 = getVehicleUpgradeOnSlot ( v , 14 )
local t15 = getVehicleUpgradeOnSlot ( v , 15 )
local t16 = getVehicleUpgradeOnSlot ( v , 16 )
local felgi = getVehicleUpgradeOnSlot ( v , 12 )
local paintjob = getVehiclePaintjob ( v )
local hr , hg , hb = getVehicleHeadLightColor ( v )
local tablica = getVehiclePlateText ( v )
local wariant1 , wariant2 = getVehicleVariant ( v )
local vmax = getVehicleHandling ( auto ). maxVelocity
local acceler = getVehicleHandling ( auto ). engineAcceleration
if #result == 1 then
dbQuery ( conn , "UPDATE OP_Vehicles SET model = '?', posx = '?', posy = '?', posz = '?', rotx = '?', roty = '?', rotz = '?', color1 = '?', color2 = '?', color3 = '?', color4 = '?', id = '?', przebieg = '?', paliwo = '?', bak = '?', paintjob = '?', hr = '?', hg = '?', hb = '?', felgi = '?', t0 = '?', t1 = '?', t2 = '?', t3 = '?', t4 = '?', t5 = '?', t6 = '?', t7 = '?', t8 = '?', t9 = '?', t13 = '?', t14 = '?', t15 = '?', t16 = '?', tablica = '?', wariant1 = '?', wariant2 = '?', vmax = '?', acceler = '?' WHERE owner = ?" , pojazdID , x , y , z , rotx , roty , rotz , c1 , c2 , c3 , c4 , id , przebieg , paliwo , bak , paintjob , hr , hg , hb , felgi , t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t13 , t14 , t15 , t16 , tablica , wariant1 , wariant2 , vmax , acceler , getElementData ( v , "owner" ))
elseif #result == 0 then
dbQuery ( conn , "INSERT INTO OP_Vehicles (model, posx, posy, posz, rotx, roty, rotz, color1, color2 ,color3, color4, id, owner, przebieg, paliwo, bak, paintjob, hr, hg, hb, felgi, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t13, t14, t15, t16, tablica, wariant1, wariant2, vmax, acceler) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)" , pojazdID , x , y , z , rotx , roty , rotz , c1 , c2 , c3 , c4 , id , getElementData ( v , "owner" ), przebieg , paliwo , bak , paintjob , hr , hg , hb , felgi , t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t13 , t14 , t15 , t16 , tablica , wariant1 , wariant2 , vmax , acceler )
end
end
end
end
end )
Wysłany: 2016-07-05, 10:57
luki123luki123
Place Game
Wiek: 28 Na forum: 5275 dni Posty: 1948
Nick w MP: LuKiO
Piwa : 6101
GamerHD11 , sprawdz funkcja dbFree zapytanie update.
Wysłany: 2016-07-05, 11:12
GamerHD11
Wiek: 24 Na forum: 4260 dni Posty: 259
Nick w MP: SzokoHD
Piwa : 23
Zrobi?em tak i nic
addCommandHandler ( "zapisz" , function ( plr )
acc = getAccountName ( getPlayerAccount ( plr ))
if isObjectInACLGroup ( "user." .. acc , aclGetGroup ( "Admin" )) then
for _ , v in ipairs ( getElementsByType ( "vehicle" , resourceRoot )) do
if getElementData ( v , "prywatne" ) then
local wybierz = dbQuery ( conn , "SELECT owner FROM OP_Vehicles WHERE owner = ?" , getElementData ( v , "owner" ))
local result = dbPoll ( wybierz , - 1 )
dbFree ( wybierz )
local pojazdID = getElementModel ( v )
local c1 , c2 , c3 , c4 = getVehicleColor ( v )
local x , y , z = getElementPosition ( v )
local rotx , roty , rotz = getElementRotation ( v )
local id = getElementData ( v , "vehid" )
local przebieg = getElementData ( v , "przebieg" )
local paliwo = getElementData ( v , "paliwo" )
local bak = getElementData ( v , "bak" )
local t0 = getVehicleUpgradeOnSlot ( v , 0 )
local t1 = getVehicleUpgradeOnSlot ( v , 1 )
local t2 = getVehicleUpgradeOnSlot ( v , 2 )
local t3 = getVehicleUpgradeOnSlot ( v , 3 )
local t4 = getVehicleUpgradeOnSlot ( v , 4 )
local t5 = getVehicleUpgradeOnSlot ( v , 5 )
local t6 = getVehicleUpgradeOnSlot ( v , 6 )
local t7 = getVehicleUpgradeOnSlot ( v , 7 )
local t8 = getVehicleUpgradeOnSlot ( v , 8 )
local t9 = getVehicleUpgradeOnSlot ( v , 9 )
local t13 = getVehicleUpgradeOnSlot ( v , 13 )
local t14 = getVehicleUpgradeOnSlot ( v , 14 )
local t15 = getVehicleUpgradeOnSlot ( v , 15 )
local t16 = getVehicleUpgradeOnSlot ( v , 16 )
local felgi = getVehicleUpgradeOnSlot ( v , 12 )
local paintjob = getVehiclePaintjob ( v )
local hr , hg , hb = getVehicleHeadLightColor ( v )
local tablica = getVehiclePlateText ( v )
local wariant1 , wariant2 = getVehicleVariant ( v )
local vmax = getVehicleHandling ( auto ). maxVelocity
local acceler = getVehicleHandling ( auto ). engineAcceleration
if #result == 1 then
local update = dbQuery ( conn , "UPDATE OP_Vehicles SET model = '?', posx = '?', posy = '?', posz = '?', rotx = '?', roty = '?', rotz = '?', color1 = '?', color2 = '?', color3 = '?', color4 = '?', id = '?', przebieg = '?', paliwo = '?', bak = '?', paintjob = '?', hr = '?', hg = '?', hb = '?', felgi = '?', t0 = '?', t1 = '?', t2 = '?', t3 = '?', t4 = '?', t5 = '?', t6 = '?', t7 = '?', t8 = '?', t9 = '?', t13 = '?', t14 = '?', t15 = '?', t16 = '?', tablica = '?', wariant1 = '?', wariant2 = '?', vmax = '?', acceler = '?' WHERE owner = ?" , pojazdID , x , y , z , rotx , roty , rotz , c1 , c2 , c3 , c4 , id , przebieg , paliwo , bak , paintjob , hr , hg , hb , felgi , t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t13 , t14 , t15 , t16 , tablica , wariant1 , wariant2 , vmax , acceler , getElementData ( v , "owner" ))
dbFree ( update )
elseif #result == 0 then
dbQuery ( conn , "INSERT INTO OP_Vehicles (model, posx, posy, posz, rotx, roty, rotz, color1, color2 ,color3, color4, id, owner, przebieg, paliwo, bak, paintjob, hr, hg, hb, felgi, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t13, t14, t15, t16, tablica, wariant1, wariant2, vmax, acceler) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)" , pojazdID , x , y , z , rotx , roty , rotz , c1 , c2 , c3 , c4 , id , getElementData ( v , "owner" ), przebieg , paliwo , bak , paintjob , hr , hg , hb , felgi , t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t13 , t14 , t15 , t16 , tablica , wariant1 , wariant2 , vmax , acceler )
end
end
end
end
end )
Wysłany: 2016-07-05, 12:12
luki123luki123
Place Game
Wiek: 28 Na forum: 5275 dni Posty: 1948
Nick w MP: LuKiO
Piwa : 6101
GamerHD11 , sprawd? czy if jest spe?niany
dodaj np. outputChatBox
Wysłany: 2016-07-05, 13:01
GamerHD11
Wiek: 24 Na forum: 4260 dni Posty: 259
Nick w MP: SzokoHD
Piwa : 23
Nic nie pisze podczas update ale dzia?a podczas zapisu pierwszego
local conn = dbConnect ( "sqlite" , "db.db" )
addEventHandler ( "onResourceStart" , resourceRoot , function ( plr )
if conn then
plr = source
dbExec ( conn , "CREATE TABLE IF NOT EXISTS OP_Vehicles(model INTEGER, posx FLOAT, posy FLOAT, posz FLOAT, rotx FLOAT, roty FLOAT, rotz FLOAT, color1 INTEGER, color2 INTEGER, color3 INTEGER, color4 INTEGER, id INTEGER, owner VARCHAR, przebieg FLOAT, paliwo FLOAT, bak FLOAT, paintjob INTEGER, hr INTEGER, hg INTEGER, hb INTEGER, felgi INTEGER, t0 INTEGER, t1 INTEGER, t2 INTEGER, t3 INTEGER, t4 INTEGER, t5 INTEGER, t6 INTEGER, t7 INTEGER, t8 INTEGER, t9 INTEGER, t13 INTEGER, t14 INTEGER, t15 INTEGER, t16 INTEGER, tablica TEXT, wariant1 INTEGER, wariant2 INTEGER, vmax FLOAT, acceler FLOAT )" )
local q = dbQuery ( conn , "SELECT * FROM OP_Vehicles" )
local result = dbPoll ( q , - 1 )
dbFree ( q )
if #result == 1 then
for _ , v in pairs ( result ) do
local auto = createVehicle ( v [ "model" ], v [ "posx" ], v [ "posy" ], v [ "posz" ], v [ "rotx" ], v [ "roty" ], v [ "rotz" ] )
setVehicleColor ( auto , v [ "color1" ], v [ "color2" ], v [ "color3" ], v [ "color4" ] )
setElementData ( auto , "vehid" , v [ "id" ])
setElementData ( auto , "owner" , v [ "owner" ])
setElementData ( auto , "przebieg" , v [ "przebieg" ])
setElementData ( auto , "paliwo" , v [ "paliwo" ])
setElementData ( auto , "bak" , v [ "bak" ])
for i = 0 , 9 do
addVehicleUpgrade ( auto , v [ "t" .. i .. "" ])
end
for is = 13 , 16 do
addVehicleUpgrade ( auto , v [ "t" .. is .. "" ])
end
setVehiclePaintjob ( auto , v [ "paintjob" ])
setVehicleVariant ( auto , v [ "wariant1" ], v [ "wariant2" ])
setVehicleHeadLightColor ( auto , v [ "hr" ], v [ "hg" ], v [ "hb" ])
setVehiclePlateText ( auto , v [ "tablica" ])
setVehicleHandling ( auto , "engineAcceleration" , v [ "acceler" ])
setVehicleHandling ( auto , "maxVelocity" , v [ "vmax" ])
setVehicleOverrideLights ( auto , 1 )
end
end
end
end )
addCommandHandler ( "zapisz" , function ( plr )
acc = getAccountName ( getPlayerAccount ( plr ))
if isObjectInACLGroup ( "user." .. acc , aclGetGroup ( "Admin" )) then
for _ , v in ipairs ( getElementsByType ( "vehicle" , resourceRoot )) do
if getElementData ( v , "prywatne" ) then
local wybierz = dbQuery ( conn , "SELECT owner FROM OP_Vehicles WHERE owner = ?" , getElementData ( v , "owner" ))
local result = dbPoll ( wybierz , - 1 )
dbFree ( wybierz )
local pojazdID = getElementModel ( v )
local c1 , c2 , c3 , c4 = getVehicleColor ( v )
local x , y , z = getElementPosition ( v )
local rotx , roty , rotz = getElementRotation ( v )
local id = getElementData ( v , "vehid" )
local przebieg = getElementData ( v , "przebieg" )
local paliwo = getElementData ( v , "paliwo" )
local bak = getElementData ( v , "bak" )
local t0 = getVehicleUpgradeOnSlot ( v , 0 )
local t1 = getVehicleUpgradeOnSlot ( v , 1 )
local t2 = getVehicleUpgradeOnSlot ( v , 2 )
local t3 = getVehicleUpgradeOnSlot ( v , 3 )
local t4 = getVehicleUpgradeOnSlot ( v , 4 )
local t5 = getVehicleUpgradeOnSlot ( v , 5 )
local t6 = getVehicleUpgradeOnSlot ( v , 6 )
local t7 = getVehicleUpgradeOnSlot ( v , 7 )
local t8 = getVehicleUpgradeOnSlot ( v , 8 )
local t9 = getVehicleUpgradeOnSlot ( v , 9 )
local t13 = getVehicleUpgradeOnSlot ( v , 13 )
local t14 = getVehicleUpgradeOnSlot ( v , 14 )
local t15 = getVehicleUpgradeOnSlot ( v , 15 )
local t16 = getVehicleUpgradeOnSlot ( v , 16 )
local felgi = getVehicleUpgradeOnSlot ( v , 12 )
local paintjob = getVehiclePaintjob ( v )
local hr , hg , hb = getVehicleHeadLightColor ( v )
local tablica = getVehiclePlateText ( v )
local wariant1 , wariant2 = getVehicleVariant ( v )
local vmax = getVehicleHandling ( auto ). maxVelocity
local acceler = getVehicleHandling ( auto ). engineAcceleration
if #result == 1 then
local update = dbQuery ( conn , "UPDATE OP_Vehicles SET model = '?', posx = '?', posy = '?', posz = '?', rotx = '?', roty = '?', rotz = '?', color1 = '?', color2 = '?', color3 = '?', color4 = '?', id = '?', przebieg = '?', paliwo = '?', bak = '?', paintjob = '?', hr = '?', hg = '?', hb = '?', felgi = '?', t0 = '?', t1 = '?', t2 = '?', t3 = '?', t4 = '?', t5 = '?', t6 = '?', t7 = '?', t8 = '?', t9 = '?', t13 = '?', t14 = '?', t15 = '?', t16 = '?', tablica = '?', wariant1 = '?', wariant2 = '?', vmax = '?', acceler = '?' WHERE owner = ?" , pojazdID , x , y , z , rotx , roty , rotz , c1 , c2 , c3 , c4 , id , przebieg , paliwo , bak , paintjob , hr , hg , hb , felgi , t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t13 , t14 , t15 , t16 , tablica , wariant1 , wariant2 , vmax , acceler , getElementData ( v , "owner" ))
dbFree ( update )
outputChatBox ( "*Zaktualizowano pojazdy w bazie danych !" , plr , 255 , 255 , 255 )
elseif #result == 0 then
dbQuery ( conn , "INSERT INTO OP_Vehicles (model, posx, posy, posz, rotx, roty, rotz, color1, color2 ,color3, color4, id, owner, przebieg, paliwo, bak, paintjob, hr, hg, hb, felgi, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t13, t14, t15, t16, tablica, wariant1, wariant2, vmax, acceler) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)" , pojazdID , x , y , z , rotx , roty , rotz , c1 , c2 , c3 , c4 , id , getElementData ( v , "owner" ), przebieg , paliwo , bak , paintjob , hr , hg , hb , felgi , t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t13 , t14 , t15 , t16 , tablica , wariant1 , wariant2 , vmax , acceler )
outputChatBox ( "*Dodano auta do bazy danych !" , plr , 255 , 255 , 255 )
end
end
end
end
end )
Wysłany: 2016-07-05, 17:39
Jacob
Głupiomądry
Wiek: 28 Na forum: 5502 dni Posty: 967
Nick w MP: Jacob
Piwa : 786
Zacznijmy od tego ?e do zapyta? modyfikuj?cych baz? danych u?ywane si? funkcji dbExec, do kt?rej p??niej nie trzeba u?ywa? dbFree.
dbFree u?ywa si? tylko do zapyta? wybieraj?cych z u?yciem dbQuery. Luki wida?, ?e masz s?abe poj?cia o bazach danych i Twoje rozwi?zania s? bardzo niewydajne.
Wysłany: 2016-07-05, 19:07
GamerHD11
Wiek: 24 Na forum: 4260 dni Posty: 259
Nick w MP: SzokoHD
Piwa : 23
Usun??em wszystkie dbFree i teraz tylko aktualizuje pojazdy kt?re by?y zapisane w bazie ale jak kupie nowy i go zapisze to on sie nie zapisuje
addCommandHandler ( "zapisz" , function ( plr )
acc = getAccountName ( getPlayerAccount ( plr ))
if isObjectInACLGroup ( "user." .. acc , aclGetGroup ( "Admin" )) then
for _ , v in ipairs ( getElementsByType ( "vehicle" , resourceRoot )) do
if getElementData ( v , "prywatne" ) then
local wybierz = dbQuery ( conn , "SELECT owner FROM OP_Vehicles WHERE owner = ?" , getElementData ( v , "owner" ))
local result = dbPoll ( wybierz , - 1 )
local pojazdID = getElementModel ( v )
local c1 , c2 , c3 , c4 = getVehicleColor ( v )
local x , y , z = getElementPosition ( v )
local rotx , roty , rotz = getElementRotation ( v )
local id = getElementData ( v , "vehid" )
local przebieg = getElementData ( v , "przebieg" )
local paliwo = getElementData ( v , "paliwo" )
local bak = getElementData ( v , "bak" )
local t0 = getVehicleUpgradeOnSlot ( v , 0 )
local t1 = getVehicleUpgradeOnSlot ( v , 1 )
local t2 = getVehicleUpgradeOnSlot ( v , 2 )
local t3 = getVehicleUpgradeOnSlot ( v , 3 )
local t4 = getVehicleUpgradeOnSlot ( v , 4 )
local t5 = getVehicleUpgradeOnSlot ( v , 5 )
local t6 = getVehicleUpgradeOnSlot ( v , 6 )
local t7 = getVehicleUpgradeOnSlot ( v , 7 )
local t8 = getVehicleUpgradeOnSlot ( v , 8 )
local t9 = getVehicleUpgradeOnSlot ( v , 9 )
local t13 = getVehicleUpgradeOnSlot ( v , 13 )
local t14 = getVehicleUpgradeOnSlot ( v , 14 )
local t15 = getVehicleUpgradeOnSlot ( v , 15 )
local t16 = getVehicleUpgradeOnSlot ( v , 16 )
local felgi = getVehicleUpgradeOnSlot ( v , 12 )
local paintjob = getVehiclePaintjob ( v )
local hr , hg , hb = getVehicleHeadLightColor ( v )
local tablica = getVehiclePlateText ( v )
local wariant1 , wariant2 = getVehicleVariant ( v )
local vmax = getVehicleHandling ( auto ). maxVelocity
local acceler = getVehicleHandling ( auto ). engineAcceleration
if #result == 1 then
local update = dbQuery ( conn , "UPDATE OP_Vehicles SET model = '?', posx = '?', posy = '?', posz = '?', rotx = '?', roty = '?', rotz = '?', color1 = '?', color2 = '?', color3 = '?', color4 = '?', id = '?', przebieg = '?', paliwo = '?', bak = '?', paintjob = '?', hr = '?', hg = '?', hb = '?', felgi = '?', t0 = '?', t1 = '?', t2 = '?', t3 = '?', t4 = '?', t5 = '?', t6 = '?', t7 = '?', t8 = '?', t9 = '?', t13 = '?', t14 = '?', t15 = '?', t16 = '?', tablica = '?', wariant1 = '?', wariant2 = '?', vmax = '?', acceler = '?', WHERE owner = ?" , pojazdID , x , y , z , rotx , roty , rotz , c1 , c2 , c3 , c4 , id , przebieg , paliwo , bak , paintjob , hr , hg , hb , felgi , t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t13 , t14 , t15 , t16 , tablica , wariant1 , wariant2 , vmax , acceler , getElementData ( v , "owner" ))
outputChatBox ( "*Zaktualizowano pojazdy w bazie danych !" , plr , 255 , 255 , 255 )
elseif #result == 0 then
dbQuery ( conn , "INSERT INTO OP_Vehicles (model, posx, posy, posz, rotx, roty, rotz, color1, color2 ,color3, color4, id, owner, przebieg, paliwo, bak, paintjob, hr, hg, hb, felgi, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t13, t14, t15, t16, tablica, wariant1, wariant2, vmax, acceler) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)" , pojazdID , x , y , z , rotx , roty , rotz , c1 , c2 , c3 , c4 , id , getElementData ( v , "owner" ), przebieg , paliwo , bak , paintjob , hr , hg , hb , felgi , t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t13 , t14 , t15 , t16 , tablica , wariant1 , wariant2 , vmax , acceler )
outputChatBox ( "*Dodano auta do bazy danych !" , plr , 255 , 255 , 255 )
end
end
end
end
end )
Wysłany: 2016-07-05, 19:09
luki123luki123
Place Game
Wiek: 28 Na forum: 5275 dni Posty: 1948
Nick w MP: LuKiO
Piwa : 6101
Jacob , chodzi ci o bazy danych chodzi o te rozwi?zania ?
A co do dbQuery a dbFree , to tutaj dodam moje dwa s?owa.
Lepiej na pocz?tku u?ywa? dbQuery poniewa? mo?na sprawdzi? czy jest jaki kolwiek b??d z zapytaniem lub ca?? funkcj? dbQuery. Co do stosowania dbExec zamiast dbQuery nie jest to wymagane. Mo?na u?ywa? dbQuery lub dbExec zadzia?a ta funkcja i ta. Nie ma nic na wiki multitheftauto ?e powinno stosowa? si? funkcj? dbExec do modyfikowania bazy danych.
Kolejne dbFree mo?na u?y? do sprawdzenia czy jaki? b?a wyst?puj? z funkcj? lub zapytaniem ale nie trzeba. Nie wiem czemu piszesz
Cytat: do kt?rej p??niej nie trzeba u?ywa? dbFree.
Nie wiem czemu tam napisa?e?, poniewa? nie trzeba nic u?ywa?. Mo?na u?y? ale nie jest to wymagane.
Wysłany: 2016-07-05, 19:26
GamerHD11
Wiek: 24 Na forum: 4260 dni Posty: 259
Nick w MP: SzokoHD
Piwa : 23
I jeszcze dodam, ?e jak nie ma ?adnych aut i si? zapisze pierwsze to na odwr?t dzia?a nieupdatuje ale dodaje auta do bazy kt?re s? zapisane po raz pierwszy
addCommandHandler ( "zapisz" , function ( plr )
acc = getAccountName ( getPlayerAccount ( plr ))
if isObjectInACLGroup ( "user." .. acc , aclGetGroup ( "Admin" )) then
for _ , v in ipairs ( getElementsByType ( "vehicle" , resourceRoot )) do
if getElementData ( v , "prywatne" ) then
local wybierz = dbQuery ( conn , "SELECT owner FROM OP_Vehicles WHERE owner = ?" , getElementData ( v , "owner" ))
local result = dbPoll ( wybierz , - 1 )
local pojazdID = getElementModel ( v )
local c1 , c2 , c3 , c4 = getVehicleColor ( v )
local x , y , z = getElementPosition ( v )
local rotx , roty , rotz = getElementRotation ( v )
local id = getElementData ( v , "vehid" )
local przebieg = getElementData ( v , "przebieg" )
local paliwo = getElementData ( v , "paliwo" )
local bak = getElementData ( v , "bak" )
local t0 = getVehicleUpgradeOnSlot ( v , 0 )
local t1 = getVehicleUpgradeOnSlot ( v , 1 )
local t2 = getVehicleUpgradeOnSlot ( v , 2 )
local t3 = getVehicleUpgradeOnSlot ( v , 3 )
local t4 = getVehicleUpgradeOnSlot ( v , 4 )
local t5 = getVehicleUpgradeOnSlot ( v , 5 )
local t6 = getVehicleUpgradeOnSlot ( v , 6 )
local t7 = getVehicleUpgradeOnSlot ( v , 7 )
local t8 = getVehicleUpgradeOnSlot ( v , 8 )
local t9 = getVehicleUpgradeOnSlot ( v , 9 )
local t13 = getVehicleUpgradeOnSlot ( v , 13 )
local t14 = getVehicleUpgradeOnSlot ( v , 14 )
local t15 = getVehicleUpgradeOnSlot ( v , 15 )
local t16 = getVehicleUpgradeOnSlot ( v , 16 )
local felgi = getVehicleUpgradeOnSlot ( v , 12 )
local paintjob = getVehiclePaintjob ( v )
local hr , hg , hb = getVehicleHeadLightColor ( v )
local tablica = getVehiclePlateText ( v )
local wariant1 , wariant2 = getVehicleVariant ( v )
local vmax = getVehicleHandling ( auto ). maxVelocity
local acceler = getVehicleHandling ( auto ). engineAcceleration
if #result == 1 then
local update = dbQuery ( conn , "UPDATE OP_Vehicles SET model = '?', posx = '?', posy = '?', posz = '?', rotx = '?', roty = '?', rotz = '?', color1 = '?', color2 = '?', color3 = '?', color4 = '?', id = '?', przebieg = '?', paliwo = '?', bak = '?', paintjob = '?', hr = '?', hg = '?', hb = '?', felgi = '?', t0 = '?', t1 = '?', t2 = '?', t3 = '?', t4 = '?', t5 = '?', t6 = '?', t7 = '?', t8 = '?', t9 = '?', t13 = '?', t14 = '?', t15 = '?', t16 = '?', tablica = '?', wariant1 = '?', wariant2 = '?', vmax = '?', acceler = '?', WHERE owner = ?" , pojazdID , x , y , z , rotx , roty , rotz , c1 , c2 , c3 , c4 , id , przebieg , paliwo , bak , paintjob , hr , hg , hb , felgi , t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t13 , t14 , t15 , t16 , tablica , wariant1 , wariant2 , vmax , acceler , getElementData ( v , "owner" ))
outputChatBox ( "*Zaktualizowano pojazdy w bazie danych !" , plr , 255 , 255 , 255 )
elseif #result == 0 then
dbQuery ( conn , "INSERT INTO OP_Vehicles (model, posx, posy, posz, rotx, roty, rotz, color1, color2 ,color3, color4, id, owner, przebieg, paliwo, bak, paintjob, hr, hg, hb, felgi, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t13, t14, t15, t16, tablica, wariant1, wariant2, vmax, acceler) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)" , pojazdID , x , y , z , rotx , roty , rotz , c1 , c2 , c3 , c4 , id , getElementData ( v , "owner" ), przebieg , paliwo , bak , paintjob , hr , hg , hb , felgi , t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t13 , t14 , t15 , t16 , tablica , wariant1 , wariant2 , vmax , acceler )
outputChatBox ( "*Dodano auta do bazy danych !" , plr , 255 , 255 , 255 )
end
end
end
end
end )
Tagi: wszystkie :: auta :: się :: zapisują
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: