Portal SAMP
[Ajuda] Inventário zerado ao logar - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Inventário zerado ao logar (/showthread.php?tid=2547)



Inventário zerado ao logar - Settzera - 03/07/2022

Troquei o sistema de salvamento de dof2 pra sql, porém alguns players estão tendo problema em perder todo inventário ao carregar o servidor, isso acontece somente com alguns players, porém acredito que não seja n salvamento, pois não é algo generalizado, vou deixar o código abaixo pra caso alguém que tenha conhecimento sobre tal acontecimento consiga me ajudar Smile


Código:
stock CarregarInventario(playerid)
{
    new string2[5000];
    format(string2, sizeof(string2), "SELECT * FROM `Inventario` WHERE `Nome`='%q'",DB_Escape(PlayerName(playerid)));
    Resultado = db_query(Conexao,string2);
    if(db_num_rows(Resultado) > 0)
    {
        for(new i = 0; i != 75; ++i)
        {
            new field[30];
            new strslot[25], strunidade[25];
            format(strslot,25,"Slot%d",i);
            db_get_field_assoc(Resultado, strslot, field, sizeof(field));
            InventarioInfo[playerid][i][iSlot] = strval(field);
            format(strunidade,25,"Unidades%d",i);
            db_get_field_assoc(Resultado, strunidade, field, sizeof(field));
            InventarioInfo[playerid][i][iUnidades] = strval(field);
        }
    }
    return 1;
}



RE: [Ajuda] Inventário zerado ao logar - Dr Editor - 04/07/2022

Se não é geral, pode começar adequando seu código.

1 - DB_Escape só é utilizado caso use uma versão do SA:MP inferior a 0.3.7 R2, bem como o especificador %q.
2 - Você está pegando um valor que é inteiro através de uma função que retorna string e depois realizando a conversão. Use db_get_field_assoc_int.


RE: Inventário zerado ao logar - Dionzito - 13/07/2022

Não vejo erros no codigo, o erro pode estar em alguma outra parte do seu GameMode.

Por acaso o inventário do player é resetado quando ele desloga ou entra no servidor? Confira se o carregamento está antes ou depois do inventário ser resetado.