Premium Timer

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 Leute,


    Habe mal so ne frage und zwar wollte mal so ein Premium system machen mit ein Timer aber auch wenn der Spieler offline ist soll er weiter zählen


    Beispiel:
    Der Spieler hat 1Tag 24Stunden und 30Minuten premium
    er kommt auf Server bekommt das
    der spielt 30 min auf Server und geht offline dann hat er nur 1Tag 23Stunden und 59Minuten premium so aber der ist nun offline und spieler so 3 stunden nicht
    und wenn er wieder online kommt hat er noch 1Tag 20Stunden und 59Minuten premium


    Wie könnte man sowas machen ?


    danke in vorraus


    //habe das mal so gemacht aber der zeigt mir so minus zahlen an ??



    new days,hours,mins;
    new premiumzeit = Spieler[playerid][PremiumDay];
    new restzeit= premiumzeit -gettime();
    new premiumzeitm = Spieler[playerid][PremiumMin];
    new restmin= premiumzeitm -gettime();
    days = floatround(premiumzeit / 1,floatround_floor);
    hours = restzeit - (days * 1);
    hours = floatround(hours / 3600,floatround_floor);
    mins = restmin - ( (days * 86400) + (hours * 3600) );
    mins = floatround(mins / 60,floatround_floor);
    new string[128];
    format(string, sizeof(string), "Verbleibende Premiumzeit: %d Tage %dStunden %d Minuten.",days, hours, mins);
    SendClientMessage(playerid, COLOR_GELB,string);


    Mfg-

  • meinst du 2 tage und 30 minuten? weil 1 tag +24 stunden +30 minuten wären sowas^^
    wenn er bezahlt das es startet
    wenn er disconnectet stoppt also ich würd dann die restzeit in der user datei speichern
    dann müsste man das datum und die uhrzeit in die datei reinschreiben wann er offline gegangen ist


    wenn er connectet soll der intervall aus der datei gelesen werden und die offline zeit abgerechnet werden

    Einmal editiert, zuletzt von west123 ()

  • beim Premium geben:
    Spieler[playerid][PremiumDay]=gettime()+(tage*24*60*60);


    beim auslesen der restzeit in sekunden:
    new restzeit= Spieler[playerid][PremiumDay] -gettime();
    new days,hours,mins;
    days = floatround(restzeit / (24*60*60),floatround_floor);
    restzeit -= (days * (24*60*60));
    hours = floatround(restzeit / 60*60,floatround_floor);
    restzeit-=(hours * (60*60));
    mins = floatround(restzeit / 60,floatround_floor);

  • meinst du 2 tage und 30 minuten? weil 1 tag +24 stunden +30 minuten wären sowas^^
    wenn er bezahlt das es startet
    wenn er disconnectet stoppt also ich würd dann die restzeit in der user datei speichern
    wenn er connectet soll der intervall aus der datei gelesen werden


    Jedoch soll die Zeit weiterhin, also auch im Offline-Modus ablaufen.

    [tabmenu][tab=Signatur,'http://bit.ly/1i4RY3v']

    Wie poste ich richtig?
    Nachdem du Google, die FAQ und die Suchfunktion erfolgreich ignoriert hast, erstellst du 2 bis 5 neue Themen in den falschen Unterforen mit lustigem Titel,
    zu vielen Ausrufezeichen und undeutlichem Text, unter dem sich jeder etwas anders vorstellen kann.



    Mr.Dubstep | GFX | Scripting | Hackerplace
    If Mr.DubStep don't have it, you don't need it.

    [tab=Spieler bei,'http://bit.ly/1db2jaf'][subtab=Hackerplace,'http://bit.ly/1bswN2T']


    Welch wunderschöner Hack ist heute vollzogen worden, könntest Du mir es denn sagen? Ein wunderschönes Browsergame, auch für Kleinigkeiten unterwegs. Erschaffe deinen eigenen Computer, nutze ihn um anderen das Geld zu rauben, schließe dich einem Clan an oder gründe selbst einen. Bleibe allein oder mit vielen Freunden.

  • ganz einfach: beim setzen von Premium wird die momentane zeit genommen plus die anzahl der tage in sekunden.
    dabei ist tage eine variable in der beispielsweise 30 drin stehen könnte mit hilfe von tage*24*60*60 werden die tage in sekunden umgerechnet, damit es mit der unixtime funktioniert.

  • (tage*24*60*60)
    (7*24*60*60) - ?

    [tabmenu][tab=Signatur,'http://bit.ly/1i4RY3v']

    Wie poste ich richtig?
    Nachdem du Google, die FAQ und die Suchfunktion erfolgreich ignoriert hast, erstellst du 2 bis 5 neue Themen in den falschen Unterforen mit lustigem Titel,
    zu vielen Ausrufezeichen und undeutlichem Text, unter dem sich jeder etwas anders vorstellen kann.



    Mr.Dubstep | GFX | Scripting | Hackerplace
    If Mr.DubStep don't have it, you don't need it.

    [tab=Spieler bei,'http://bit.ly/1db2jaf'][subtab=Hackerplace,'http://bit.ly/1bswN2T']


    Welch wunderschöner Hack ist heute vollzogen worden, könntest Du mir es denn sagen? Ein wunderschönes Browsergame, auch für Kleinigkeiten unterwegs. Erschaffe deinen eigenen Computer, nutze ihn um anderen das Geld zu rauben, schließe dich einem Clan an oder gründe selbst einen. Bleibe allein oder mit vielen Freunden.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • server ip pls das lass ich mir nicht entgehen premium auf lebenszeit :D


    würde behaupten es liegt an der 7*24*60*60 rechnung


    kommt auch net hin komme da auf etwas über 600k vllt schlafen gehen und morgen nochmal in ruhe schaun

  • server ip pls das lass ich mir nicht entgehen premium auf lebenszeit :D


    würde behaupten es liegt an der 7*24*60*60 rechnung


    kommt auch net hin komme da auf etwas über 600k vllt schlafen gehen und morgen nochmal in ruhe schaun


    Wieso soll das nicht stimmen. mit der Rechnung kommst du auf exakt 604800 sekunden.
    604800sek / 60sek (eine Minute = 60 sekunden) = 10080Min
    10080Min / 60Min (eine Stunde = 60 Minuten) = 168std
    168std / 24std (Ein Tag = 24 Stunden) = 7 Tage


    Also entweder man weiss was die Rechnung machen soll und rechnet nach oder aber man sagt einfach nichts...


    Der Fehler bei der Ausgabe scheint ein Fehler in meiner Berechnung zu sein die die Sekunden zurückrechnet.
    Der TE soll mir mal ne Pn senden, damit ich es nicht vergesse morgen die Berechnung neu zu machen.