UserMs Posted January 30, 2022 Share Posted January 30, 2022 Eu sou iniciante em SQLite.. Faz umas semanas que tou praticando, fiz uma savesystem com sqlite.. mais quando eu vou iniciar o script ele dar erro em muitas linhas.. na print não dar pra mostrar.. mais dar pra saber mais ou menos como fica.. eu também fiz outro mod com sqlite mais também tá com erro do mesmo tipo, mais o problema está no dbPoll é dbQuery porque esses não sei usar muito bem, se alguém pode ajudar ficarei muito agradecido function ResourceStart() local db = dbConnect("sqlite", "Contas.db") dbExec(db, "CREATE TABLE IF NOT EXISTS Dados (Login, Money, Skin, Vida, Colete, Tag, Posicao, Interior, Dimensao, Procurado, Armas)") if db then print("DataBase: SaveSystem Conectado!") for i, v in ipairs(getElementsByType("player")) do local acc = getPlayerAccount(v) if not isGuestAccount(acc) then CarregarDados(v) end end else print("DataBase: SaveSystem Falhou!") end end addEventHandler("onResourceStart", resourceRoot, ResourceStart) Armas = {} function SalvarDados(source) local conta = getAccountName(getPlayerAccount(source)) local money = getPlayerMoney(source) local roupa = getElementModel(source) local vida = getElementHealth(source) local colete = getPedArmor(source) local r,g,b = getPlayerNametagColor(source) local x,y,z = getElementPosition(source) local dimensao = getElementDimension(source) local interior = getElementInterior(source) local procurado = getPlayerWantedLevel(source) local tableTag = toJSON(r,g,b) local tablePos = toJSON(x,y,z) for i = 0,12 do local arma = getPedWeapon(source, i) local muni = getPedTotalAmmo(source, i) if arma > 0 then table.insert(Armas,{arma,muni}) end end local tableArmas = toJSON(Armas) local result = dbPoll(dbQuery(db, "SELECT * FROM Dados WHERE Login = ?", conta), -1) if result ~= 0 then dbExec(db, "UPDATE Dados SET Money = ?, Dinheiro = ?, Skin = ?, Vida = ?, Colete = ?, Tag = ?, Posicao = ?, Interior = ?, Dimensao = ?, Procurado = ?, Armas = ?, WHERE Login = ?", money, roupa, vida, colete, tableTag, tablePos, dimensao, interior, procurado, tableArmas, conta) else dbExec(db, "INSERT INTO Dados VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", money, roupa, vida, colete, tableTag, tablePos, dimensao, interior, procurado, tableArmas) end end function CarregarDados(source) local accName = getAccountName(getPlayerAccount(source)) local result = dbPoll(dbQuery(db, "SELECT * FROM Dados WHERE Login = ?",accName),-1) if #result ~= 0 then local Money = result[1]["Money"] local Skin = result[1]["Skin"] local Vida = result[1]["Vida"] local Colete = result[1]["Colete"] local Tag = fromJSON(result[1]["Tag"]) local r,g,b = Tag[1],Tag[2],Tag[3] local Pos = fromJSON(result[1]["Posicao"]) local x,y,z = Pos[1],Pos[2],Pos[3] local interior = result[1]["Interior"] local dimensao = result[1]["Dimensao"] local procurado = result[1]["Procurado"] local weapons = fromJSON(result[1]["Armas"]) spawnPlayer(source, x, y, z, 0, Skin, interior, dimensao, nil) setPlayerMoney(source, Money) setElementHealth(source, Vida) setPedArmor(source, Colete) setPlayerNametagColor(source, r,g,b) setPlayerWantedLevel(source, procurado) fadeCamera(source, true, 5) setCameraTarget(source, source) if #weapons ~= 0 then for i,v in ipairs(weapons) do giveWeapon(source, v[1], v[2]) end end else ComecarDados(source) SalvarDados(source) end end function ComecarDados(source) local Dinheiro = 5000 local x1, y1, z1 = 1177.95886, -1323.29858, 14.09641 spawnPlayer(source, x1, y1, z1, 0) setPlayerMoney(source, Dinheiro) fadeCamera(source) setCameraTarget(source, source) end function MorrerDados(source) local RMoney = 200 local x2, y2, z2 = 1480.93555, -1768.83215, 18.79576 setTimer(spawnPlayer, 3000, 1, source, x2, y2, z2, 0) setCameraTarget(source, source) takeAllWeapons(source) takePlayerMoney(source, RMoney) end function EntrarDados(_, acc) local player = getAccountPlayer(acc) outputChatBox("#FF0000SaveSystem #FFFFFFFeito Por UserMs!", acc, 255, 255, 255, true) CarregarDados(player) end addEventHandler("onPlayerLogin", root, EntrarDados) function SairDados() local acc = getPlayerAccount(source) if not isGuestAccount(acc) then SalvarDados(source) end end addEventHandler("onPlayerQuit", root, SairDados) function ResourceStop() for i,v in ipairs(getElementsByType("player")) do local acc = getPlayerAccount(v) if not isGuestAccount(acc) then SalvarDados(v) end end end addEventHandler("onResourceStop", resourceRoot, ResourceStop) b Link to comment
UserMs Posted January 31, 2022 Author Share Posted January 31, 2022 58 minutes ago, UserMs said: Eu sou iniciante em SQLite.. Faz umas semanas que tou praticando, fiz uma savesystem com sqlite.. mais quando eu vou iniciar o script ele dar erro em muitas linhas.. na print não dar pra mostrar.. mais dar pra saber mais ou menos como fica.. eu também fiz outro mod com sqlite mais também tá com erro do mesmo tipo, mais o problema está no dbPoll é dbQuery porque esses não sei usar muito bem, se alguém pode ajudar ficarei muito agradecido function ResourceStart() local db = dbConnect("sqlite", "Contas.db") dbExec(db, "CREATE TABLE IF NOT EXISTS Dados (Login, Money, Skin, Vida, Colete, Tag, Posicao, Interior, Dimensao, Procurado, Armas)") if db then print("DataBase: SaveSystem Conectado!") for i, v in ipairs(getElementsByType("player")) do local acc = getPlayerAccount(v) if not isGuestAccount(acc) then CarregarDados(v) end end else print("DataBase: SaveSystem Falhou!") end end addEventHandler("onResourceStart", resourceRoot, ResourceStart) Armas = {} function SalvarDados(source) local conta = getAccountName(getPlayerAccount(source)) local money = getPlayerMoney(source) local roupa = getElementModel(source) local vida = getElementHealth(source) local colete = getPedArmor(source) local r,g,b = getPlayerNametagColor(source) local x,y,z = getElementPosition(source) local dimensao = getElementDimension(source) local interior = getElementInterior(source) local procurado = getPlayerWantedLevel(source) local tableTag = toJSON(r,g,b) local tablePos = toJSON(x,y,z) for i = 0,12 do local arma = getPedWeapon(source, i) local muni = getPedTotalAmmo(source, i) if arma > 0 then table.insert(Armas,{arma,muni}) end end local tableArmas = toJSON(Armas) local result = dbPoll(dbQuery(db, "SELECT * FROM Dados WHERE Login = ?", conta), -1) if result ~= 0 then dbExec(db, "UPDATE Dados SET Money = ?, Dinheiro = ?, Skin = ?, Vida = ?, Colete = ?, Tag = ?, Posicao = ?, Interior = ?, Dimensao = ?, Procurado = ?, Armas = ?, WHERE Login = ?", money, roupa, vida, colete, tableTag, tablePos, dimensao, interior, procurado, tableArmas, conta) else dbExec(db, "INSERT INTO Dados VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", money, roupa, vida, colete, tableTag, tablePos, dimensao, interior, procurado, tableArmas) end end function CarregarDados(source) local accName = getAccountName(getPlayerAccount(source)) local result = dbPoll(dbQuery(db, "SELECT * FROM Dados WHERE Login = ?",accName),-1) if #result ~= 0 then local Money = result[1]["Money"] local Skin = result[1]["Skin"] local Vida = result[1]["Vida"] local Colete = result[1]["Colete"] local Tag = fromJSON(result[1]["Tag"]) local r,g,b = Tag[1],Tag[2],Tag[3] local Pos = fromJSON(result[1]["Posicao"]) local x,y,z = Pos[1],Pos[2],Pos[3] local interior = result[1]["Interior"] local dimensao = result[1]["Dimensao"] local procurado = result[1]["Procurado"] local weapons = fromJSON(result[1]["Armas"]) spawnPlayer(source, x, y, z, 0, Skin, interior, dimensao, nil) setPlayerMoney(source, Money) setElementHealth(source, Vida) setPedArmor(source, Colete) setPlayerNametagColor(source, r,g,b) setPlayerWantedLevel(source, procurado) fadeCamera(source, true, 5) setCameraTarget(source, source) if #weapons ~= 0 then for i,v in ipairs(weapons) do giveWeapon(source, v[1], v[2]) end end else ComecarDados(source) SalvarDados(source) end end function ComecarDados(source) local Dinheiro = 5000 local x1, y1, z1 = 1177.95886, -1323.29858, 14.09641 spawnPlayer(source, x1, y1, z1, 0) setPlayerMoney(source, Dinheiro) fadeCamera(source) setCameraTarget(source, source) end function MorrerDados(source) local RMoney = 200 local x2, y2, z2 = 1480.93555, -1768.83215, 18.79576 setTimer(spawnPlayer, 3000, 1, source, x2, y2, z2, 0) setCameraTarget(source, source) takeAllWeapons(source) takePlayerMoney(source, RMoney) end function EntrarDados(_, acc) local player = getAccountPlayer(acc) outputChatBox("#FF0000SaveSystem #FFFFFFFeito Por UserMs!", acc, 255, 255, 255, true) CarregarDados(player) end addEventHandler("onPlayerLogin", root, EntrarDados) function SairDados() local acc = getPlayerAccount(source) if not isGuestAccount(acc) then SalvarDados(source) end end addEventHandler("onPlayerQuit", root, SairDados) function ResourceStop() for i,v in ipairs(getElementsByType("player")) do local acc = getPlayerAccount(v) if not isGuestAccount(acc) then SalvarDados(v) end end end addEventHandler("onResourceStop", resourceRoot, ResourceStop) b Resolvido! Link to comment
Recommended Posts