Mal wieder ein Problem

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
  • Hey,
    seit dem ich eine neue Speicherart benutze, kriege ich immer wieder Fehler :)


    Diesmal:
    Bei meinem Payday System wird die Paydayzeit nicht verkürzt..


    Code:
    public paydaytimer(playerid)
    {
    if(Spieler[playerid][Eingeloggt] != 1)return 1;
    Spieler[playerid][PayDay] --;
    if(Spieler[playerid][PayDay] <= 0)
    {
    if(Spieler[playerid][ViP] < 1)
    {
    SendClientMessage(playerid,Orange,"===============>PayDay / Zahltag<===============");
    SendClientMessage(playerid,Blau,"Du hast 100 EXP bekommen.");
    SendClientMessage(playerid,Orange,"===============>PayDay / Zahltag<===============");
    Spieler[playerid][EXP] +=100;
    }
    else if(Spieler[playerid][ViP] >= 1)
    {
    SendClientMessage(playerid,Orange,"===============>PayDay / Zahltag<===============");
    SendClientMessage(playerid,Blau,"Du hast 200 EXP bekommen.");
    SendClientMessage(playerid,Orange,"===============>PayDay / Zahltag<===============");
    Spieler[playerid][EXP] +=200;
    }
    }
    Spieler[playerid][PayDay] = 60;
    SpielerSpeichern(playerid);
    return 1;
    }



    stock Login(playerid)
    {
    Spieler[playerid][Eingeloggt] = 1;
    SendClientMessageX(playerid,HBlau,"Du hast dich erfolgreich eingeloggt.");
    SetSpawnInfo(playerid,0,0,1958.3783,1343.1572,15.3746,0,0,0,0,0,0,0);
    SpawnPlayer(playerid);
    SpielerLaden(playerid);
    SetTimerEx("paydaytimer",888*60,true,"i",playerid);
    return 1;
    }


    stock SpielerLaden(playerid)
    {
    new SD[64];
    format(SD,64,"/Accounts/%s",Name(playerid));
    Spieler[playerid][Admin] = getInt:SD("Admin");
    Spieler[playerid][Level] = getInt:SD("Level");
    Spieler[playerid][Euro] = getInt:SD("Euro");
    Spieler[playerid][Cent] = getInt:SD("Cent");
    Spieler[playerid][BEuro] = getInt:SD("BEuro");
    Spieler[playerid][BCent] = getInt:SD("BCent");
    Spieler[playerid][PayDay] = getInt:SD("Payday");
    Spieler[playerid][Fraktion] = getInt:SD("Fraktion");
    Spieler[playerid][Rank] = getInt:SD("Rank");
    Spieler[playerid][Job] = getInt:SD("Job");
    Spieler[playerid][ViP] = getInt:SD("ViP");
    Spieler[playerid][EXP] = getInt:SD("EXP");
    Spieler[playerid][Rollerlic] = getInt:SD("Rollerlic");
    Spieler[playerid][Motolic] = getInt:SD("Motolic");
    Spieler[playerid][Autolic] = getInt:SD("Autolic");
    Spieler[playerid][LKWlic] = getInt:SD("LKWlic");
    Spieler[playerid][Fluglic] = getInt:SD("Fluglic");
    Spieler[playerid][Angellic] = getInt:SD("Angellic");
    Spieler[playerid][Bootlic] = getInt:SD("Bootlic");
    Spieler[playerid][Waffenlic] = getInt:SD("Waffenlic");
    Spieler[playerid][Banned] = getInt:SD("Banned");
    Spieler[playerid][Registriert] = getInt:SD("Registriert");
    Spieler[playerid][Timeban] = getInt:SD("Timeban");
    SetPlayerScore(playerid,Spieler[playerid][Level]);
    Save(SD);
    return 1;
    }


    stock SpielerSpeichern(playerid)
    {
    new SD[64];
    format(SD,64,"/Accounts/%s",Name(playerid));
    setInt:SD("Admin",Spieler[playerid][Admin]);
    setInt:SD("Level",Spieler[playerid][Level]);
    setInt:SD("Euro",Spieler[playerid][Euro]);
    setInt:SD("Cent",Spieler[playerid][Cent]);
    setInt:SD("BEuro",Spieler[playerid][BEuro]);
    setInt:SD("BCent",Spieler[playerid][BCent]);
    setInt:SD("Payday",Spieler[playerid][PayDay]);
    setInt:SD("Fraktion",Spieler[playerid][Fraktion]);
    setInt:SD("Rank",Spieler[playerid][Rank]);
    setInt:SD("Job",Spieler[playerid][Job]);
    setInt:SD("ViP",Spieler[playerid][ViP]);
    setInt:SD("EXP",Spieler[playerid][EXP]);
    setInt:SD("Rollerlic",Spieler[playerid][Rollerlic]);
    setInt:SD("Motolic",Spieler[playerid][Motolic]);
    setInt:SD("Autolic",Spieler[playerid][Autolic]);
    setInt:SD("LKWlic",Spieler[playerid][LKWlic]);
    setInt:SD("Fluglic",Spieler[playerid][Fluglic]);
    setInt:SD("Angellic",Spieler[playerid][Angellic]);
    setInt:SD("Bootlic",Spieler[playerid][Bootlic]);
    setInt:SD("Waffenlic",Spieler[playerid][Waffenlic]);
    setInt:SD("Banned",Spieler[playerid][Banned]);
    setInt:SD("Registriert",Spieler[playerid][Registriert]);
    setInt:SD("Timeban",Spieler[playerid][Timeban]);
    Save(SD);
    return 1;
    }


    Komischerweise zieht er halt die Zeit nicht ab...


    Kann mir jemand helfen?

  • ...das liegt nicht am Speichersystem...das ist eigenes unvermögen^^(wirklich nicht böse gemeint, jeder sieht mal was nicht)
    schau mal folgendes:
    public paydaytimer(playerid)
    {
    if(Spieler[playerid][Eingeloggt] != 1)return 1;
    Spieler[playerid][PayDay] --; //-->hier ziehst du eine Minute ab
    if(Spieler[playerid][PayDay] <= 0)
    {
    if(Spieler[playerid][ViP] < 1)
    {
    SendClientMessage(playerid,Orange,"===============>PayDay / Zahltag<===============");
    SendClientMessage(playerid,Blau,"Du hast 100 EXP bekommen.");
    SendClientMessage(playerid,Orange,"===============>PayDay / Zahltag<===============");
    Spieler[playerid][EXP] +=100;
    }
    else if(Spieler[playerid][ViP] >= 1)
    {
    SendClientMessage(playerid,Orange,"===============>PayDay / Zahltag<===============");
    SendClientMessage(playerid,Blau,"Du hast 200 EXP bekommen.");
    SendClientMessage(playerid,Orange,"===============>PayDay / Zahltag<===============");
    Spieler[playerid][EXP] +=200;
    }
    }
    Spieler[playerid][PayDay] = 60; //-->hier setzt du die Zeit in jedemfall wieder auf 60(auch wenn man kein Payday hatte)
    SpielerSpeichern(playerid);
    return 1;
    }