Aktivitätsbonus Fragen

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,


    Ich wollte Fragen wie man ein Aktivitäts bonus machen kann.


    Tag 1: 5k auf die Hand
    Tag 2: 10k auf die Hand
    Tag 3: 15k auf die Hand usw....


    Die frage ist man muss 120 Minuten Spielen um den Aktivitätsbonus zu bekommen


    mit /activity kann man sehen wielang man noch online sein muss um den Bonus zu erhalten.
    Sollte man 1 Tag den Bonus nicht erhalten sollte er wieder resettet werden auf Tag 1.


    Würde mich freuen wen ihr mich tatkräftig unterstützen könnt.

  • Das ist keine triviale Aufgabe.
    Man muss hier schon einige Dinge beachten.


    Als Tipp eventuell du solltest nicht versuchen das einfach random irgendwo zwischen zu quetschen, bei so "komplexen" Aufgaben, solltest du das gezielt auslagern, so entstehen weniger Fehler.
    Am besten baust du die Aufgabe als Include auf, worauf du vereinzelnd zugreifst für die jeweiligen Funktionen.


    Du brauchst auf jeden Fall die [wiki]gettime[/wiki] Funktion und die [wiki]getdate[/wiki] Funktion.


    • gettime als Timestamp, wenn sich der Spieler einloggt x[playerid] = gettime(), wenn er sich ausloggt pTimestamp[playerid] += (gettime()-x[playerid])
    • Lager das alles aus, sonst verlierst du nur den Überblick
    • Hat er heute schon mal den Bonus bekommen.
    • Beim einloggen am besten prüfen, wie lange ist sein letzter Bonus her, musst Daten (Plural von Datum = Daten) Differenzen bilden.
    • Brauchst einen Spieler Timer, der prüft ob er 120 Minuten erreicht hat.

      • Denk hier daran, dass gettime in Sekunden zählt. Für die Abfrage brauchst du also sowas wie:
      • if(pTimestamp[playerid]+(gettime()-x[playerid]) >= 60*120) //Dann Bonus
      • Vergiss nicht, dass da noch eine Abfrage rein muss, ob er heute schon den Bonus hatte
    • Dann wieder zu beachten, dass wenn er von 23:59 auf 00:00 durchzockt, x[playerid] = gettime() zu setzen.

    Also das ist eine ziemlich komplexe Angelegenheit und in meinen Augen für einen Neuling etwas zu komplex.


    Kannst du ja mal daran versuchen und deinen Zwischenstand mal posten.


    Auf jeden Fall wie gesagt am Besten auslagern, wenn du das alles so in deinen Code schreibst kommt nur Chaos dabei raus ^^

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S