PayDayMins 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
  • Moin leute.


    Ich hab ein sehr sehr sehr komisches problem!


    Ich hab beim script einen Timer eingesetzt, der anfängt zu laufen, sobald sich der Spieler eingeloggt hat (also SetTimerEx("PayDayTimer", 60000, 1, "i", playerid);).



    Oben deklariert:


    forward PayDayTimer(playerid);


    Timer:


    public PayDayTimer(playerid)
    {
    if(PlayerInfo[playerid][pPayDayMins] < 60)
    {
    PlayerInfo[playerid][pPayDayMins]++;
    if(PlayerInfo[playerid][pPayDayMins] == 60)
    {
    PayDay(playerid);
    }
    }
    else if(PlayerInfo[playerid][pPayDayMins] >= 60)
    {
    PayDay(playerid);
    }
    }


    Das ist der einzige Ort, der PayDayMins verändert (ausser beim PayDay, dort wird er wieder auf 0 gesetzt).


    Was ist das Problem?


    Muss beim Disconnect des Spielers der Timer gekillt werden?


    Ich hoffe jemand kann mir helfen.


    MFG selEcT


    edit: keine idee?

  • public PayDayTimer(playerid)
    {
    if(PlayerInfo[playerid][pPayDayMins] < 60) // wenn paydaymins kleiner ist als 60
    {
    PlayerInfo[playerid][pPayDayMins]++;
    if(PlayerInfo[playerid][pPayDayMins] == 60) // und hier wird abgefragt ob pdaymins = 60 ist !?
    {
    PayDay(playerid);
    }
    }
    else if(PlayerInfo[playerid][pPayDayMins] >= 60)
    {
    PayDay(playerid);
    }
    }

    Wenn du mich fragst würd ich den Timer einfach auf 60 mins Setzen und dann ne Random Geldsumme geben, das vereinfacht das ganz erheblich.
    PS: Ich bin besoffen wegen Vatertag, also nicht wundern wegen Aussprache, Rechtschreibung oder sonst was. ^^

  • ja, aber ich möchte es gerne so lassen ;)


    jaa ich hab die abfrage gemacht, da es gleich direkt wieder abfragt, ob die 60 mins erreicht sind. Der Timer sollte ja stimmen, es kommt aber alle 10-15 minuten pro spieler ein payday?!


    edit: hmm, hab jetzt die erste abfrage rausgenommen und es funktioniert bis jetzt ^^