Bukkit max. Onlinezeit pro Tag?
Hallo,
ich möchte ein Plugin machen, mit dem man pro Tag nur genau eine Stunde insgesamt auf dem Server sein darf.
Wie würdet ihr ansetzen bzw welche Methoden würdet ihr nehmen?
Vielen Dank im Vorraus.
LG, Julian
3 Antworten
Ich würde auf die Statistics des Players zugreifen in denen ja die Playtime gespeichert ist (Escape - Statistics - Time Played). Die genaue Methode dazu weiß ich nicht, sollte aber leicht rauszufinden sein - Somit musst du garnicht extra bei jedem die Zeit mitzählen sondern kannst einfach dieses Vanilla-Feature nutzen. Jeden Tag um 00:00 speicherst du die aktuelle Playtime aller Spieler in eine Liste.
Wenn ein Spieler joint kann er solange spielen, bis seine Playtime 1h mehr ist. Einfach ein Event das jede Minute oder so aufgerufen wird und für alle Spieler die Online sind schaut ob (JetzigePlaytime > PlaytimeUm0Uhr + 1h)
Perfekt, nach so einer Antwort habe ich gesucht. Vielen Dank!
PlayerJoinEvent -> start time / reset if new day
-> Scheduler -> kick after 1h
PlayerQuitEvent -> add time to map
AsyncPlayerPreLoginEvent -> block if >1h
Map<UUID, Long> <-- save time
Willst du das unbedingt mit Plugins machen oder ganz leicht mit Befehlen?
Truee, sollte machbar sein