Payday 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
  • pimerday[playerid] = SetTimerEx("pimer",60000,1,"i",playerid);


    Das ist mein Timer, dieser soll jede Minute zählen.


    Und hier mein Public, der soll Pro Minute die Variable um 1 erhöhen.



    public pimer(playerid)
    {
    SpielerInfo[playerid][pPaydayZeit]++; // ++ ist wie +1 also wird es alle 60000 milliskunden um 1 erhöht soll die Spielzeit sein
    if(SpielerInfo[playerid][pPaydayZeit] >= 60) // wenn Zeitseitpayday 60 oder über 6o ist wird das in der Klammer ausgelöst
    {
    SpielerInfo[playerid][pPaydayZeit] = 0; // ZeitseitPayday wird wieder auf 0 gesetzt da er den Payday hatte.
    GivePlayerMoneyEx(playerid, 2000); // der ID "Playerid" werden 2000$ gegeben
    SpielerInfo[playerid][pErfahrung] ++;
    SendClientMessage(playerid,GRÜN,"PAYDAY");
    }
    else
    {
    SpielerInfo[playerid][pPaydayZeit]++; // ZEit seit Payday wird um 1 erhöht
    }
    return 1;
    }



    Problem nur, er addiert manchmal in einer minute 20 Minuten etc. also, der Timer scheint nicht richtig zu funktionieren. :/

  • Ich hab das zwar mit den 20 Minuten nicht verstanden, aber ich empfehle dir für Timer Funktionen das include "Timerfix"(-> Google).
    Das ermöglicht dir, Timer & timestamps flüssig am laufen zu halten. Ich hatte das Problem damals, das in einer normalen Sekunde der Timer schon 2 Sekunden gezählt hatte, durch das Include wird dies gefixxt. :thumbup:

    KleineHilfe 2.0

  • SpielerInfo[playerid][pPaydayZeit]++; // ZEit seit Payday wird um 1 erhöht


    Wenn ich das Richtig Verstehe wird also die Zeit nachdem er PayDay hatte um 1 Erhöht?
    D.h sobald du 60 Minuten InGame warst kriegste bei pPayDayZeit 1 Minute dazu? da kann was nicht stimmen :p


    Außerdem:

    OnPlayerDisconnect:
    {
    //bla
    //bla
    //bla
    // Hier deine Andern Speicher Sachen
    dini_IntSet(Spieler[Bitte auf deins Anpassen],"pPayDayZeit",dini_Int(Spieler,"pPayDayZeit"));
    }


    Habs jetzt nicht getestet bin nur am Handy.

  • public pimer(playerid)
    {
    SpielerInfo[playerid][pPaydayZeit]++; // ++ ist wie +1 also wird es alle 60000 milliskunden um 1 erhöht soll die Spielzeit sein
    if(SpielerInfo[playerid][pPaydayZeit] == 60) // wenn Zeitseitpayday 60 oder über 6o ist wird das in der Klammer ausgelöst
    {
    SpielerInfo[playerid][pPaydayZeit] = 0; // ZeitseitPayday wird wieder auf 0 gesetzt da er den Payday hatte.
    GivePlayerMoneyEx(playerid, 2000); // der ID "Playerid" werden 2000$ gegeben
    SpielerInfo[playerid][pErfahrung] ++;
    SendClientMessage(playerid,GRÜN,"PAYDAY");
    }
    return 1;
    }

    KleineHilfe 2.0