Mysql Spielzeit speichern

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
  • Hi Ich habe folgendes Spielzeit Script:


    pInfo[playerid][Hour]
    pInfo[playerid][Minute]



    forward OnlineTimeUpdate(playerid);public OnlineTimeUpdate(playerid){
    PlayerData[playerid][Minutes] ++;
    if(PlayerData[playerid][Minutes] == 60) {
    PlayerData[playerid][Hours] ++;
    PlayerData[playerid][Minutes] = 0; }
    return 1;}


    und beim logout speichere ich so auf mysql


    public OnPlayerDisconnect(playerid, reason)
    {
    if(GetPVarInt(playerid, "Logged") == 1)
    {
    format(Query, sizeof(Query), "UPDATE `playerinfo` SET `score` = '%d',`money` = '%d', `kills` = '%d', `deaths` = '%d' WHERE `user` = '%s'", GetPlayerScore(playerid), GetPlayerMoney(playerid), GetPVarInt(playerid, "Kills"), GetPVarInt(playerid, "Deaths"), escpname(playerid));
    mysql_query(Query);
    }
    return 1;
    }



    Wie kann ich nun die Spielzeit über einen Befehl abrufen? und wie kann ich es abspeichern bei logout?

  • versuch es mal so hier...



    public OnPlayerDisconnect(playerid, reason)
    {
    if(GetPVarInt(playerid, "Logged") == 1)
    {
    format(Query, sizeof(Query), "UPDATE `playerinfo` SET `score` = '%d',`money` = '%d', `kills` = '%d', `deaths` = '%d', `hour` = '%d', `minute` = '%d' WHERE `user` = '%s'", GetPlayerScore(playerid), GetPlayerMoney(playerid), GetPVarInt(playerid, "Kills"), GetPVarInt(playerid, "Deaths"), PlayerData[playerid][pHours],PlayerData[playerid][pMinutes], escpname(playerid));
    mysql_query(Query);
    }
    return 1;
    }



    ungetestet...



    Lg Cal44

  • public OnlineTimeUpdate(playerid)
    {
    SetPVarInt(playerid, "Minutes", GetPVarInt(playerid, "Minutes") ++);
    if(PlayerData[playerid][Minutes] == 60)
    {
    PlayerData[playerid][Hours] ++;
    PlayerData[playerid][Minutes] = 0;
    }
    return 1;
    }


    C:\Users\Desktop\test.pwn(593) : error 022: must be lvalue (non-constant)
    C:\Users\Desktop\test.pwn(594) : error 017: undefined symbol "Minutes"
    C:\Users\Desktop\test.pwn(596) : error 017: undefined symbol "Hours"
    C:\Users\Desktop\test.pwn(597) : error 017: undefined symbol "Minutes"
    C:\Users\Desktop\test.pwn(599) : warning 217: loose indentation
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    habe folgende fehler was mache ich falsch :S

  • Das ist weil du die Namen bei deinem enum falsch benannt hast.


    So heißen sie derzeit bei dir
    pInfo[playerid][Hour]
    pInfo[playerid][Minute]


    Du nutzt sie aber mit Hours und Minutes. Du musst darauf achten das sie gleich sind. ;)


    Außerdem geht diese Zeile hier nicht.


    SetPVarInt(playerid, "Minutes", GetPVarInt(playerid, "Minutes") ++);


    Statt dem ++ mach ein +1

    Die Macht etwas zu bewirken, ist in Dir. Du musst sie nur rauslassen


    cristiano-ronaldo-525-portugal-euro-2012-banner-wallpaper.jpg


  • public OnlineTimeUpdate(playerid)
    {
    new Minute,Hour;
    SetPVarInt(playerid, "Minute", GetPVarInt(playerid, "Minute") +1);
    if(GetPVarInt(playerid, "Minute") == 60)
    {
    SetPVarInt( playerid, "Hour", +1);
    SetPVarInt ( playerid, "Minute", 0);
    }
    return 1;
    }



    error 029: invalid expression, assumed zero
    warning 215: expression has no effect
    error 001: expected token: ";", but found ")"
    error 029: invalid expression, assumed zero
    fatal error 107: too many error messages on one line


    bei
    SetPVarInt( playerid, "Hour", +1);


    wieso geht das nicht