Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2015-01-08, 16:30


Fanciak

BOT






Wiek: 26
Na forum: 4587 dni
Posty: 728
Nick w MP: Fanciak

Piwa: 1572

Respekt: 500
Respekt: 500

Cze?? i czo?em !

Mam pewien problem z skryptem Shuffle gdy? mam skrypt na prywatne auta oraz nadawanie im ID i chcia?bym doda? do tego zapisu aut zapisywanie tuningu i zapisywanie tego ID lecz nie wychodzi mi.

Skrypt na tworzenie tych aut z nadawaniem ID:


aktualneID = 0

function give(playerSource,pcar,car,cost,km)
    car = getVehicleModelFromName(car)
    if isPlayerInACL(playerSource,"Admin") then 
    local x, y, z = getElementPosition(playerSource)
    if ( car ) then 
        local theCar = createVehicle(car,x,y,z-0.1)
        warpPedIntoVehicle(playerSource,theCar)
        setElementPosition(playerSource,x,y,z+1.5)
        local xr,yr,zr = getElementRotation(playerSource)
        setElementRotation(theCar,xr,yr,zr)
        setElementData(theCar,"vehicle:cost",tonumber(cost))
        setElementData(theCar,"vehicle:owner",0)
        setElementData(theCar,"vehicle:id",aktualneID)
        setVehiclePlateText(theCar,"SF    "..aktualneID)
        aktualneID = aktualneID + 1
        setElementFrozen(theCar,true)
        outputChatBox("#63DBFF*Stworzy?e? pojazd #B9F46C"..getVehicleNameFromModel(car).." #63DBFFkt?ry kosztuje #B9F46C"..cost.."$#63DBFF.",playerSource,0,0,0,true)
        if km then
        setElementData(theCar,"vehicle:travel",tonumber(km))
        end
        else
        outputChatBox("#63DBFF*Wpisa?e? z?? nazw? auta.",playerSource,0,0,0,true)
        end else outputChatBox("#63DBFF*Nie masz prawa do u?ywania tej komendy.",playerSource,0,0,0,true)
        end
        end
addCommandHandler("pcar",give)


Skrypt z SQLite:


local conn = dbConnect ( "sqlite", "db.db" )

addEventHandler ( "onResourceStart", resourceRoot, function ()
    if conn then
        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, aktualneID INTEGER)" )
        local q = dbQuery ( conn, "SELECT * FROM OP_Vehicles" )
        local result = dbPoll ( q, -1 )
        if result then
            for _,v in pairs ( result ) do
                local theCar = createVehicle ( v["model"], v["posx"], v["posy"], v["posz"], v["rotx"], v["roty"], v["rotz"] )
                setVehicleColor ( theCar, v["color1"], v["color2"], v["color3"], v["color4"] )
                 setElementData(theCar,"vehicle:id",aktualneID)
                 setVehiclePlateText(theCar,"SF    "..aktualneID)
                 aktualneID = aktualneID + 1
            end
        end
    end
end)


addCommandHandler ( "zapisz", function ( plr )
    dbQuery ( conn, "DELETE FROM OP_Vehicles" )
    for _,v in ipairs ( getElementsByType ( "vehicle" ) ) do
        local pojazdID = getElementModel ( v )
        local aktualneID = getElementID ( v )
        local c1,c2,c3,c4 = getVehicleColor ( v )
        local x,y,z = getElementPosition ( v )
        local rotx, roty, rotz = getElementRotation ( v )
        dbQuery ( conn, "INSERT INTO OP_Vehicles (model, posx, posy, posz, rotx, roty, rotz, color1, color2 ,color3, color4 ) VALUES ( ?,?,?,?,?,?,?,?,?,?,? )", aktualneID, x, y, z, rotx, roty, rotz, c1, c2, c3, c4 )
    end
end)


Za pomoc browary.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-08, 16:35


MeeShuffle

Programista/Grafik






Wiek: 33
Na forum: 4535 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8578

Respekt: 535,3
Respekt: 535,3

Na zapis tuningu :

zamie? dbExec z onResourceStart na to :


 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, aktualneID INTEGER, tuning VARCHAR)" )



dodaj do onResourceStart to :

local tuning = split ( v.tuning, "," )
for _,v in ipairs ( tuning ) do
    addVehicleUpgrade ( theCar, v )
end



a funkcj? /zapisz zamie? na t? :

addCommandHandler ( "zapisz", function ( plr )
    dbQuery ( conn, "DELETE FROM OP_Vehicles" )
    for _,v in ipairs ( getElementsByType ( "vehicle" ) ) do
        upgrades = {}
        local pojazdID = getElementModel ( v )
        local aktualneID = getElementID ( v )
        local c1,c2,c3,c4 = getVehicleColor ( v )
        local x,y,z = getElementPosition ( v )
        local rotx, roty, rotz = getElementRotation ( v )
        for _,v in ipairs ( getVehicleUpgrades ( v ) ) do
            table.insert ( upgrades, v )
        end
        local tuning = table.concat ( upgrades, "," )
        dbQuery ( conn, "INSERT INTO OP_Vehicles (model, posx, posy, posz, rotx, roty, rotz, color1, color2 ,color3, color4, tuning ) VALUES ( ?,?,?,?,?,?,?,?,?,?,?,? )", aktualneID, x, y, z, rotx, roty, rotz, c1, c2, c3, c4, tuning )
    end
end)


Zapis tuningu gotowy

Podpis

https://shufflecode.pl
Static Codes and Graphics - Join our discord!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-08, 17:23


Fanciak

BOT






Wiek: 26
Na forum: 4587 dni
Posty: 728
Nick w MP: Fanciak

Piwa: 1572

Respekt: 500
Respekt: 500

Obecny kod, z tego co mi pisa?e? na skype:



local conn = dbConnect ( "sqlite", "db.db" )

addEventHandler ( "onResourceStart", resourceRoot, function ()
    if conn then
        dbExec ( conn, "CREATE TABLE IF NOT EXISTS OP_Vehicles(id INTEGER, model INTEGER, posx FLOAT, posy FLOAT, posz FLOAT, rotx FLOAT, roty FLOAT, rotz FLOAT, color1 INTEGER, color2 INTEGER, color3 INTEGER, color4 INTEGER, tuning VARCHAR)" )
        local q = dbQuery ( conn, "SELECT * FROM OP_Vehicles" )
        local result = dbPoll ( q, -1 )
        if result then
            for _,v in pairs ( result ) do
                local theCar = createVehicle ( v["model"], v["posx"], v["posy"], v["posz"], v["rotx"], v["roty"], v["rotz"] )
                setVehicleColor ( theCar, v["color1"], v["color2"], v["color3"], v["color4"] )
                 setElementData(theCar,"vehicle:id",aktualneID)
                 local tuning = split ( v.tuning, "," )
    for _,k in ipairs ( tuning ) do
     addVehicleUpgrade ( auto, tonumber ( k ) )
    end
                 setVehiclePlateText(theCar,"SF    "..aktualneID)
                 aktualneID = aktualneID + 1
            end
        end
    end
end)


addCommandHandler ( "zapisz", function ( plr )
    dbQuery ( conn, "DELETE FROM OP_Vehicles" )
      upgrades = {}
    for _,v in ipairs ( getVehicleUpgrades ( v ) ) do
   table.insert ( upgrades, v )
  end
  local tuning = table.concat ( upgrades, "," )
        local pojazdID = getElementModel ( v )
        local aktualneID = getElementID ( v )
        local c1,c2,c3,c4 = getVehicleColor ( v )
        local x,y,z = getElementPosition ( v )
        local rotx, roty, rotz = getElementRotation ( v )
        for _,v in ipairs ( getVehicleUpgrades ( v ) ) do
            table.insert ( upgrades, v )
        end
        local tuning = table.concat ( upgrades, "," )
        local pojazdID = getElementModel ( v )
       dbQuery ( conn, "INSERT INTO OP_Vehicles ( id, model, posx, posy, posz, rotx, roty, rotz, color1, color2, color3, color4, tuning ) VALUES ( ?,?,?,?,?,?,?,?,?,?,?,? )", pojazdID, x, y, z, rotx, roty, rotz, c1, c2, c3, c4, tuning )
end)


I b??d DB3:

ERROR: VehSave\sever.lua:29: bad argument #1 to 'iparis' (table xpected, got boolean)



Prosi?bym o pomoc.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-08, 19:30


Terr9909

Skrypter LUA






Wiek: 27
Na forum: 4375 dni
Posty: 346
Nick w MP: Split

Piwa: 1043

Respekt: 182,8
Respekt: 182,8Respekt: 182,8

Zaraz w tym po?cie wstawi? kod.
?ap, nie testowane, ale powinno dzia?a?, doda?em jeszcze zapisywanie obra?e? pojazdu:
local connection = dbConnect ( "sqlite", "db.db" )

addEventHandler("onResourceStart", resourceRoot, function()
  if connection then
    outputServerLog("Po??czono z baz? danych...")
  else
    outputServerLog("Nie po??czono z baz? danych...")
  end
end)

addEventHandler("onResourceStart", resourceRoot, function()
    if not connection then return false end
    dbExec(connection, "CREATE TABLE IF NOT EXISTS OP_Vehicles(id INTEGER, model INTEGER, loc VARCHAR, rot VARCHAR, color VARCHAR, tuning VARCHAR, damage VARCHAR)")
    local query=dbQuery(connection, "SELECT * FROM OP_Vehicles")
    local result=dbPoll(query, -1)
    if result then
        for i,v in ipairs(result) do
            v.color = split(v["color"], ",")
            v.tuning = split(v["tuning"], ",")
            v.damage = split(v["damage"], ",")
            local veh=createVehicle(v["model"], v["loc"][1], v["loc"][2], v["loc"][3], v["rot"][1], v["rot"][2], v["rot"][3])
            setVehicleColor(veh, v["color"][1], v["color"][2], v["color"][3])
            for i,v in ipairs(v["damage"]) do setVehiclePanelState(veh, i-1, v) end
            for i,v in ipairs(v["tuning"]) do addVehicleUpgrade(veh, v) end
            setElementData(veh, "vehicle:spawn", true)
            setElementData(veh, "vehicle:id", v["id"])
            setVehiclePlateText(veh, "SF "..v["id"])
        end
    end
end)

addCommandHandler("zapisz", function(plr,cmd)
    if not connection then return false end
    local query = dbQuery(connection, "DELETE FROM OP_Vehicles")
    for i,v in ipairs(getElementByType("vehicle")) do
        if getElementData(v, "vehicle:spawn") then
            local damage = {}
            local x,y,z = getElementPosition(v)
            local r1,r2,r3 = getElementRotation(v)
            local c1,c2,c3,c4 = getVehicleColor(v)
            local id = getElementData(v, "vehicle_id")

            for i=0,6 do table.insert(damage, getVehiclePanelState(v, i)) end
            local tuning = table.concat(getVehicleUpgrades(v), ",")
            local damage = table.concat(damage, ",")

            dbQuery(connection, "INSERT INTO OP_Vehicles (id,model,loc,rot,color,tuning,damage) VALUES (?,?,?,?,?,?,?)", id, x,y,z, r1,r2,r3, c1,c2,c3,c4, tuning, damage)
        end
    end
end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-08, 19:58


Fanciak

BOT






Wiek: 26
Na forum: 4587 dni
Posty: 728
Nick w MP: Fanciak

Piwa: 1572

Respekt: 500
Respekt: 500

DB3:

ERROR: VehSave\server.lua:35: attempt to call global 'getElementByType' (a nil value)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-08, 20:13


Terr9909

Skrypter LUA






Wiek: 27
Na forum: 4375 dni
Posty: 346
Nick w MP: Split

Piwa: 1043

Respekt: 182,8
Respekt: 182,8Respekt: 182,8

ups mini b??d zamie?:
to:
for i,v in ipairs(getElementByType("vehicle")) do


na to:
for i,v in ipairs(getElementsByType("vehicle")) do


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-08, 21:29


Fanciak

BOT






Wiek: 26
Na forum: 4587 dni
Posty: 728
Nick w MP: Fanciak

Piwa: 1572

Respekt: 500
Respekt: 500

Teraz b??d?w nie ma w db3, ale nie zapisuje aut. Respie pojazd, wpisuje /zapisz daje /restart VehSave i nic.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-08, 22:02


Terr9909

Skrypter LUA






Wiek: 27
Na forum: 4375 dni
Posty: 346
Nick w MP: Split

Piwa: 1043

Respekt: 182,8
Respekt: 182,8Respekt: 182,8

?ap:
local connection = dbConnect ( "sqlite", "db.db" )

addEventHandler("onResourceStart", resourceRoot, function()
  if connection then
    outputServerLog("Po??czono z baz? danych...")
  else
    outputServerLog("Nie po??czono z baz? danych...")
  end
end)

addEventHandler("onResourceStart", resourceRoot, function()
    if not connection then return false end
    dbExec(connection, "CREATE TABLE IF NOT EXISTS OP_Vehicles(id INTEGER, model INTEGER, loc VARCHAR, rot VARCHAR, color VARCHAR, tuning VARCHAR, damage VARCHAR)")
    local query=dbQuery(connection, "SELECT * FROM OP_Vehicles")
    local result=dbPoll(query, -1)
    if result then
        for i,v in ipairs(result) do
            v.color = split(v["color"], ",")
            v.tuning = split(v["tuning"], ",")
            v.damage = split(v["damage"], ",")
            local veh=createVehicle(v["model"], v["loc"][1], v["loc"][2], v["loc"][3], v["rot"][1], v["rot"][2], v["rot"][3])
            setVehicleColor(veh, v["color"][1], v["color"][2], v["color"][3])
            for i,v in ipairs(v["damage"]) do setVehiclePanelState(veh, i-1, v) end
            for i,v in ipairs(v["tuning"]) do addVehicleUpgrade(veh, v) end
            --setElementData(veh, "vehicle:spawn", true) OP OP :-)
            setElementData(veh, "vehicle:id", v["id"])
            setVehiclePlateText(veh, "SF "..v["id"])
        end
    end
end)

addCommandHandler("zapisz", function(plr,cmd)
    if not connection then return false end
    local query = dbQuery(connection, "DELETE FROM OP_Vehicles")
    for i,v in ipairs(getElementsByType("vehicle")) do
        --if getElementData(v, "vehicle:spawn") then OP OP ;-)
            local damage = {}
            local x,y,z = getElementPosition(v)
            local r1,r2,r3 = getElementRotation(v)
            local c1,c2,c3,c4 = getVehicleColor(v)
            local id = getElementData(v, "vehicle_id")

            for i=0,6 do table.insert(damage, getVehiclePanelState(v, i)) end
            local tuning = table.concat(getVehicleUpgrades(v), ",")
            local damage = table.concat(damage, ",")

            dbQuery(connection, "INSERT INTO OP_Vehicles (id,model,loc,rot,color,tuning,damage) VALUES (?,?,?,?,?,?,?)", id, x,y,z, r1,r2,r3, c1,c2,c3,c4, tuning, damage)
        -- end OP OP ;-)
    end
end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-08, 22:38


Fanciak

BOT






Wiek: 26
Na forum: 4587 dni
Posty: 728
Nick w MP: Fanciak

Piwa: 1572

Respekt: 500
Respekt: 500

Nadal si? nie zapisuj?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-08, 23:12


Terr9909

Skrypter LUA






Wiek: 27
Na forum: 4375 dni
Posty: 346
Nick w MP: Split

Piwa: 1043

Respekt: 182,8
Respekt: 182,8Respekt: 182,8

To spr?buj tak:
local connection = dbConnect ( "sqlite", "db.db" )

addEventHandler("onResourceStart", resourceRoot, function()
  if connection then
    outputServerLog("Po??czono z baz? danych...")
  else
    outputServerLog("Nie po??czono z baz? danych...")
  end
end)

addEventHandler("onResourceStart", resourceRoot, function()
    dbExec(connection, "CREATE TABLE IF NOT EXISTS OP_Vehicles(id INTEGER, model INTEGER, loc VARCHAR, rot VARCHAR, color VARCHAR, tuning VARCHAR, damage VARCHAR)")
    local query=dbQuery(connection, "SELECT * FROM OP_Vehicles")
    local result=dbPoll(query, -1)
    if result then
        for i,v in ipairs(result) do
            v.color = split(v["color"], ",")
            v.tuning = split(v["tuning"], ",")
            v.damage = split(v["damage"], ",")
            local veh=createVehicle(v["model"], v["loc"][1], v["loc"][2], v["loc"][3], v["rot"][1], v["rot"][2], v["rot"][3])
            setVehicleColor(veh, v["color"][1], v["color"][2], v["color"][3])
            for i,v in ipairs(v["damage"]) do setVehiclePanelState(veh, i-1, v) end
            for i,v in ipairs(v["tuning"]) do addVehicleUpgrade(veh, v) end
            --setElementData(veh, "vehicle:spawn", true) OP OP :-)
            setElementData(veh, "vehicle:id", v["id"])
            setVehiclePlateText(veh, "SF "..v["id"])
        end
    end
end)

addCommandHandler("zapisz", function(plr,cmd)
    local query = dbQuery(connection, "DELETE FROM OP_Vehicles")
    for i,v in ipairs(getElementsByType("vehicle")) do
            local damage = {}
            local x,y,z = getElementPosition(v)
            local r1,r2,r3 = getElementRotation(v)
            local c1,c2,c3,c4 = getVehicleColor(v)
            local id = getElementData(v, "vehicle_id")

            for i=0,6 do table.insert(damage, getVehiclePanelState(v, i)) end
            local tuning = table.concat(getVehicleUpgrades(v), ",")
            local damage = table.concat(damage, ",")

            dbQuery(connection, "INSERT INTO OP_Vehicles (id,model,loc,rot,color,tuning,damage) VALUES (?,?,?,?,?,?,?)", id, x,y,z, r1,r2,r3, c1,c2,c3,c4, tuning, damage)
    end
end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-09, 16:28


Fanciak

BOT






Wiek: 26
Na forum: 4587 dni
Posty: 728
Nick w MP: Fanciak

Piwa: 1572

Respekt: 500
Respekt: 500

?ADNEGO b??du nie ma, ale po wpisaniu /zapisz i /restart VehSave auta si? nie respawni? ani nie zapisuj? z tego co widze w db.db. Je?eli masz ch?ci napisa? mi do tego kodu zapis aut po restarcie skryptu by?bym wdzi?czny. Jestem w stanie nawet zap?aci? PaySafeCardem.

aktualneID = 0

function give(playerSource,pcar,car,cost,km)
    car = getVehicleModelFromName(car)
    if isPlayerInACL(playerSource,"Admin") then 
    local x, y, z = getElementPosition(playerSource)
    if ( car ) then 
        local theCar = createVehicle(car,x,y,z-0.1)
        warpPedIntoVehicle(playerSource,theCar)
        setElementPosition(playerSource,x,y,z+1.5)
        local xr,yr,zr = getElementRotation(playerSource)
        setElementRotation(theCar,xr,yr,zr)
        setElementData(theCar,"vehicle:cost",tonumber(cost))
        setElementData(theCar,"vehicle:owner",0)
        setElementData(theCar,"vehicle:id",aktualneID)
        setVehiclePlateText(theCar,"SF    "..aktualneID)
        aktualneID = aktualneID + 1
        setElementFrozen(theCar,true)
        outputChatBox("#63DBFF*Stworzy?e? pojazd #B9F46C"..getVehicleNameFromModel(car).." #63DBFFkt?ry kosztuje #B9F46C"..cost.."$#63DBFF.",playerSource,0,0,0,true)
        if km then
        setElementData(theCar,"vehicle:travel",tonumber(km))
        end
        else
        outputChatBox("#63DBFF*Wpisa?e? z?? nazw? auta.",playerSource,0,0,0,true)
        end else outputChatBox("#63DBFF*Nie masz prawa do u?ywania tej komendy.",playerSource,0,0,0,true)
        end
        end
addCommandHandler("pcar",give)


Je?eli to za ma?o wy?l? Ci caly kod na PW.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-09, 16:31


Terr9909

Skrypter LUA






Wiek: 27
Na forum: 4375 dni
Posty: 346
Nick w MP: Split

Piwa: 1043

Respekt: 182,8
Respekt: 182,8Respekt: 182,8

Ostatnia moja pr?ba:
addCommandHandler("zapisz", function(plr,cmd)
    local query = dbQuery(connection, "DELETE FROM OP_Vehicles")
    for i,v in ipairs(getElementsByType("vehicle")) do
            local damage = {}
            local x,y,z = getElementPosition(v)
            local r1,r2,r3 = getElementRotation(v)
            local c1,c2,c3,c4 = getVehicleColor(v)
            local id = getElementData(v, "vehicle:id")

            for i=0,6 do table.insert(damage, getVehiclePanelState(v, i)) end
            local tuning = table.concat(getVehicleUpgrades(v), ",")
            local damage = table.concat(damage, ",")

            dbQuery(connection, "INSERT INTO OP_Vehicles (id,model,loc,rot,color,tuning,damage) VALUES (?,?,?,?,?,?,?)", id, x,y,z, r1,r2,r3, c1,c2,c3,c4, tuning, damage)
    end
end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-09, 16:53


Fanciak

BOT






Wiek: 26
Na forum: 4587 dni
Posty: 728
Nick w MP: Fanciak

Piwa: 1572

Respekt: 500
Respekt: 500

Temat do zamkni?cia, kupi?em od Splita pod mysql.

Postaw piwo autorowi tego posta
 

 
Tagi: sqlite :: zapis :: aut
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » SQLite zapis aut Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku