Jump to content

[Obsoleto] Save System no crea una fila


UserToDelete

Recommended Posts

Bueno, no hay mucho que explicar, esto es lo que intento hacer;

Cuando un jugador se logea, el script comprueba la base de datos y dice si el jugador existe en la base de datos o no, si no existe, crea la fila, indicando el nombre de la cuenta y le establece el dinero en "0", Bien pues esto, si el jugador existiera, simplemente le estableceria su dinero como indica en el "else", la cuestion del error es;

Puse unos outputChatBox para reconocer el tipo de error, y me encuentro con estos:

[2015-02-14 12:47:58] [Output] : BOOL ERROR = userdata: 0200032A 

Este codigo lo suelta en chat, tanto si existo en la tabla como si no. El error debe de ser que no reconoce las cuentas o el dinero. No lo sé sinceramente, por eso estoy preguntando aqui xD

Cobnclusion propia, (x = false)

Returns a query handle unless the connection is incorrect, in which case it return false.

Por cierto, no hay ningun error en debugscript

Codigo de servidor:

function saveSystem_setmoney (as, asd)
playerAccount = getAccountName(asd)
db = dbConnect("sqlite", "database.db")
x = dbQuery(db, 'select * from save where Cuenta=?', playerAccount)
xsg = dbPoll(x,-1)
    if not type(x) == "boolean" then
        for id, values in ipairs(xsg) do
        outputChatBox(tostring(values.Dinero).."|"..tostring(values.Cuenta), root, 255,255,0,true)
            if not type(values.Dinero) == "number" then
            dbExec(db,"insert into save values (?,?)", playerAccount, 0)
            outputChatBox("Tu cuenta ha sido registrada en la base de datos", source, 255,0,0,true)
            else
            vD = tonumber(values.Dinero)
            setPlayerMoney(source,vD)
            outputChatBox("Tu cuenta ha cargada desde la base de datos", source, 0,255,0,true)
            end
        end
    else
    outputChatBox("BOOL ERROR = "..tostring(x), root, 255,255,0,true)
    end
end
addEventHandler("onPlayerLogin", root, saveSystem_setmoney)

Edited by Guest
Link to comment
  
function saveSystem_setmoney (as, asd) 
playerAccount = getAccountName(asd) 
db = dbConnect("sqlite", "database.db") 
x = dbQuery(db, 'select * from save where Cuenta=?', playerAccount) 
xsg = dbPoll(x,-1) 
    if x then 
        for id, values in ipairs(xsg) do 
        outputChatBox(tostring(values.Dinero).."|"..tostring(values.Cuenta), root, 255,255,0,true) 
            if not type(values.Dinero) == "number" then 
            dbExec(db,"insert into save values (?,?)", playerAccount, 0) 
            outputChatBox("Tu cuenta ha sido registrada en la base de datos", source, 255,0,0,true) 
            else 
            vD = tonumber(values.Dinero) 
            setPlayerMoney(source,vD) 
            outputChatBox("Tu cuenta ha cargada desde la base de datos", source, 0,255,0,true) 
            end 
        end 
    else 
    outputChatBox("BOOL ERROR = "..tostring(x), root, 255,255,0,true) 
    end 
end 
addEventHandler("onPlayerLogin", root, saveSystem_setmoney) 

Intenta con eso, de todos modos no te recomiendo conectar la base de datos cada vez que alguien se conecta, colócalo afuera de la función y se conectará cuando el recurso se inicie, ahorrarás mucha CPU.

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...