Zeitliches Premium | MySQL (R34)

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Beitrag von Apokrate ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Genau, über den Timestamp kannst du das machen.
    Geht ganz einfach:


    ocmd:tpremium(playerid, params[])
    {
    new pID, zeit, string[128];
    if(sscanf(params,"ui", pID, zeit))return SendClientMessage(playerid, fGREY, "Benutze: /premium [ID] [Zeit in Tagen]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid, fGREY, "Der Spieler ist nicht eingeloggt!");
    if(!isPlayerAnAdmin(playerid, 5)) return SendClientMessage(playerid, Grey,""#ADMINSATZ"");
    Spieler[pID][Donator] = 1;
    Spieler[pID][DonatorBis] = gettime() + zeit * 86400; //1 Tag = 86400 Sekunden
    format(string, sizeof(string), "%s hat deinen Accountstatus auf Premium gesetzt. Tage: %i", SpielerName(playerid),zeit);
    SendClientMessage(pID, COLOR_LIGHTBLUE, string);
    return 1;
    }


    Beim Login und bei einem Timer die Abfrage:
    if(Spieler[playerid][DonatorBis] < gettime())
    {
    //Donator-Status weg nehmen.
    }

  • Beitrag von Apokrate ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Die kannst du so errechnen:
    new days, hours, minutes, seconds, tmp;
    tmp = Spieler[playerid][DonatorBis] - gettime();
    days = tmp / 86400;
    tmp -= days * 86400;
    hours = tmp / 3600;
    tmp -= hours * 3600;
    minutes = tmp / 60;
    tmp -= minutes * 60;
    seconds = tmp;
    new str[145];
    format(str, sizeof(str), "Du hast noch %d Tage, %d Stunden, %d Minuten und %d Sekunden den Donator Status.", days, hours, minutes, seconds);
    SendClientMessage(playerid, 0xFF0000FF, str);