Wie mach ich von Spielern die Spielzeit aufnehmen?

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
  • Du erstellst dir einen Timer der Fest vom Server läuft.
    diesen startest du in OnGameModeInit mit dem Wert von 1. Min ... beim Timer ist das der Wert: 60000 da 1000 eine Sek sind.


    Du erstellst dir eine Variable:
    zB.
    new spielzeit[MAX_PLAYERS] = 0;


    Wenn du den Timer ausführen lässt also in der timerpublic das was dann passiert wenn er abläuft, stellst du die Spielzeit von jedem Spieler der online ist spielzeit[playerid]+=1;


    du speicherst die Variable spielzeit[playerid] = ... in deinem Accountverzeichnis ab und lässt sie jedesmal laden und saven wenn auch der rest vom Account gesaved wird (also bindest du die Variable in der Abspeicherung des Accounts mit ein mit ein)


    bei /stats musst du nun umrechnen


    new tage = spielzeit[playerid]/60/24;
    new stunden = spielzeit[playerid]/60;
    new minuten = spielzeit[playerid];


    diese 3 variablen lässt du dann unter /stats anzeigen.

  • An und für sich richtig, was Mon3y_Diaz sagt, nur die finale Umrechnung nicht.


    new tage = spielzeit[playerid]/60/24;


    new stunden = spielzeit[playerid]/60;


    new minuten = spielzeit[playerid];


    Ergäbe beispielsweise bei einer Spielzeit von 3 Tagen: 3 Tage, 72 Stunden und 4320 Minuten.
    Richtiger wäre

    new tage = spielzeit[playerid] / 60 / 24;
    new stunden = (spielzeit[playerid] % 1440) / 60; // 1440 = 60 * 24, dies entspricht einem tag.
    new minuten = spielzeit[playerid] % 60; // 60 entspricht jeweils einer stunde, übrig bleiben die restlichen minuten.


    * Ich bin mir nicht sicher, ob % als mathematischer Operator für "Rest" auch in PAWN korrekt ist. In den meisten Sprachen wird allerdings % benutzt.


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'