Player Spielzeit verbuggt

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo Ich habe ein script erstellt was die Spielzeit "Minute" "Stunde" speichern soll leider ist es verbuggt und speichert manchmal ne zu lange zeit also zbs war ich 10 minuten online und er speicher 7 Stunden ab oder auch mal das richtige ist ganz komisch an der timer zeit leigt es nicht hier mal die codes des systems:



    enum gPlayerInfo
    {
    minutesPlayed,
    hoursPlayed,
    Onlinetimer
    };




    if(response)
    {
    if(rows > 0)
    {
    if(mysql_fetch_row(line))
    {
    new savingstring[20];
    new data[3][55];
    new data2[5];
    sscanf(line, "p<|>s[50]s[300]dddds[50]ds[100]", data[0], largestring, data2[0], data2[1], data2[2], data2[3], data[2], data2[4], estring);
    stringempty(estring);
    stringempty(largestring);
    SetPVarInt(playerid, "Logged", 1);
    mysql_fetch_field_row(savingstring, "hoursplayed"); PlayerInfo[playerid][hoursPlayed] = strval(savingstring);
    mysql_fetch_field_row(savingstring, "minutesplayed"); PlayerInfo[playerid][minutesPlayed] = strval(savingstring);
    SendClientMessage(playerid, COLOR_YELLOW, "* Erfolgreich Eingeloggt!");
    mysql_free_result();
    PlayerInfo[playerid][Onlinetimer] = SetTimerEx("CheckHMPlayed", 60000, 1, "i", playerid);
    GetPlayerIp(playerid, PIP, 18);
    format(Query, sizeof(Query), "UPDATE `playerinfo` SET IP = '%s' WHERE user='%s'", PIP, escpname(playerid));
    mysql_query(Query);
    }
    }
    }
    }
    return 1;
    }
    stock GetPlayerHours(playerid) return PlayerInfo[playerid][hoursPlayed];
    stock GetPlayerMinutes(playerid) return PlayerInfo[playerid][minutesPlayed];




    public CheckHMPlayed(playerid)
    {
    PlayerInfo[playerid][minutesPlayed]++;
    if(PlayerInfo[playerid][minutesPlayed] == 60)
    {
    PlayerInfo[playerid][hoursPlayed]++;
    PlayerInfo[playerid][minutesPlayed] = 0;
    }
    }


    //
    Habe nun rausgefunden das nur bei ID 0 die Zeit gezählt wird an was liegt es das nicht bei jedem einzeln gezählt wird?

    Einmal editiert, zuletzt von Manuel20 ()