Se me reinician 2 datos
#1
Tengo un problema y es que el damage y adr se me vuelven números negativos y se me reinician al segundo mapa me explico al jugar el primer mapa este registra bien el damage y el adr, pero al jugar el segundo mapa y al guardar datos y querer ver mis estadisticas el damage y el adr pasa a un numero negativo y se reinicia -0.00 y al cambio de mapa el negativo se quita y queda 0.00

alguien me puede ayudar no se si es la parte del guardado o al cargar los datos

Código:
PlayerLoad(index)
{
    new szTemp[100], data[2];
   
    formatex(szTemp, charsmax(szTemp), "SELECT * FROM %s WHERE `%s`='%s'", SQLX_TABLA, COLUMN_AUTHID, g_szPlayerAuthdID[index]);
   
    data[0] = index;
    data[1] = get_user_userid(index); // Por si se desconecta y entra otro jugador con el mismo id
    SQL_ThreadQuery(g_tuple, "handler_cargar", szTemp, data, 2);
}

public handler_cargar(FailState, Handle:Query, Error[], Errcode, Data[], DataSize)
{
    new index = Data[0];
   
    if(index != find_player("k", Data[1]))
    {
        SQL_FreeHandle(Query);
        return;
    }
   
    if(fail_query(FailState, Error, Errcode))
    {
        console_print(index, "Error al registrar");
        return;
    }
   
    if(SQL_NumResults(Query))
    {
        g_iPlayerUserID[index] = SQL_ReadResult(Query, 0);
       
        g_OldPlayerData[index][Kills] = SQL_ReadResult(Query, 2);
        g_OldPlayerData[index][Deaths] = SQL_ReadResult(Query, 3);
        g_OldPlayerData[index][HeadShots] = SQL_ReadResult(Query, 4);
        g_OldPlayerData[index][BombPlanteds] = SQL_ReadResult(Query, 5);
        g_OldPlayerData[index][BombDefuseds] = SQL_ReadResult(Query, 6);
        SQL_ReadResult(Query, 7, Float:g_OldPlayerData[index][Damages]);
        g_OldPlayerData[index][Rounds] = SQL_ReadResult(Query, 8);
        g_OldPlayerData[index][Pugs] = SQL_ReadResult(Query, 9);
        g_OldPlayerData[index][Kills3k] = SQL_ReadResult(Query, 10);
        g_OldPlayerData[index][Kills4k] = SQL_ReadResult(Query, 11);
        g_OldPlayerData[index][Kills5k] = SQL_ReadResult(Query, 12);
       
        console_print(index, "Datos cargados");
       
        arrayset(g_PlayerData[index], 0, DATA_PLAYERS);
       
        g_iStatus[index] = LOGUEADO;
    }
    else
    {
        PlayerRegister(index);
    }
    SQL_FreeHandle(Query);
}

public PlayerRegister(index)
{
    new szTemp[2048], data[1];

    formatex(szTemp, charsmax(szTemp), "INSERT INTO %s (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) VALUES ('%s','0','0','0','0','0','0.0','0','0','0','0','0')",
        SQLX_TABLA,
        COLUMN_AUTHID,
        COLUMN_KILLS,
        COLUMN_DEATHS,
        COLUMN_HEADSHOTS,
        COLUMN_BOMBPLANTEDS,
        COLUMN_BOMBDEFUSED,
        COLUMN_DAMAGES,
        COLUMN_ROUNDS,
        COLUMN_PUGS,
        COLUMN_KILLS3K,
        COLUMN_KILLS4K,
        COLUMN_KILLS5K,
        g_szPlayerAuthdID[index],
        g_szPlayerName[index]);
  
    data[0] = index;
    SQL_ThreadQuery(g_tuple, "handler_registrar", szTemp, data, 1);
}

public SaveGlobalPlayerData(index)
{
    if(g_iStatus[index] != LOGUEADO || !is_user_connected(index) || is_user_bot(index) || is_user_hltv(index))
    {
        return;
    }

    new szTemp[456], data[1];
       
    for (new i = Kills; i < DATA_PLAYERS; i++)
    {
        g_OldPlayerData[index][i] += g_PlayerData[index][i];
        g_PlayerData[index][i] = 0;
    }

    formatex(szTemp, charsmax(szTemp), "UPDATE %s SET `%s`=^"%i^",`%s`=^"%i^",`%s`=^"%i^",`%s`=^"%i^",`%s`=^"%i^",`%s`=^"%0.02f^",`%s`=^"%i^",`%s`=^"%i^",`%s`=^"%i^",`%s`=^"%i^",`%s`=^"%i^" WHERE %s=%d",
        SQLX_TABLA,
        COLUMN_KILLS,
        g_OldPlayerData[index][Kills],
        COLUMN_DEATHS,
        g_OldPlayerData[index][Deaths],
        COLUMN_HEADSHOTS,
        g_OldPlayerData[index][HeadShots],
        COLUMN_BOMBPLANTEDS,
        g_OldPlayerData[index][BombPlanteds],
        COLUMN_BOMBDEFUSED,
        g_OldPlayerData[index][BombDefuseds],
        COLUMN_DAMAGES,
        g_OldPlayerData[index][Damages],
        COLUMN_ROUNDS,
        g_OldPlayerData[index][Rounds],
        COLUMN_PUGS,
        g_OldPlayerData[index][Pugs],
        COLUMN_KILLS3K,
        g_OldPlayerData[index][Kills3k],
        COLUMN_KILLS4K,
        g_OldPlayerData[index][Kills4k],
        COLUMN_KILLS5K,
        g_OldPlayerData[index][Kills5k],
        COLUMN_USERID,
        g_iPlayerUserID[index]);
   
    data[0] = index;
    SQL_ThreadQuery(g_tuple, "handler_actualizar", szTemp, data, 1);
}

public handler_actualizar(FailState, Handle:Query, Error[], Errcode, data[], DataSize)
{
    new id = data[0];

    if(fail_query(FailState, Error, Errcode))
    {
        console_print(id, "Error al registrar");
        return;
    }
   
    SQL_FreeHandle(Query);
   
    if(!is_user_connected(id))
    {
        return;
    }
    console_print(id, "Datos Actualizados");
}
Pawn Básico no critiquen xD  Approved

Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)