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 