Bukkit: Player in einer Welt rausfinden

01/06/2014 15:57 themrdomi#1
Moin,
ich würde gerne wissen, wie man mit einem Bukkit Plugin herrausfinden kann, wieviele Spieler sich in einer Welt befinden, und demnach ein Schild ändern kann.
Ich weiß, wie ich jemanden teleportiere.
Ich möchte ein Plugin machen, dass einen in eine andere Welt teleportiert, und dann auf dem Schild entsprechend hochzählt.
Wenn zb. 20 in dieser Welt sind, gibt es einem eine Message aus.

Lg
Dominik
01/06/2014 16:03 lordsill#2
Das Schild soll immer die aktuelle Anzahl anzeigen?
Oder immer hochzählen, sobald einer das Schild geklickt hat?

Auf jedenfall würde ich eine for-Schleife laufen lassen, die alle OnlineSpieler abfragt, auf welcher Welt sie sind. Wenn sie in der gewünschten Welt sind, wird einfach eine Variable hochgezählt und am Ende auf das Schild geschrieben.
01/06/2014 16:10 themrdomi#3
Ja, das Schild soll immer den aktuellen Stand anzeigen.
Das ganze soll praktisch ein Lobby-Plugin werden.
So eines wie es auch jeder Minigame Server hat.
Das Problem ist halt, dass ich nur einen Server zur Verfügung habe.

Lg
01/06/2014 16:14 lordsill#4
Wie gesagt:

1. Sollte das Schild gespeichert werden (Die Location/Position des Schildes)

Jetzt kommt es drauf an, wie du die Zahl haben willst:

1. Du prüfst in regelmäßigen Abständen (Scheduler), wieviele Spieler auf der Welt sind
2. Du zählst beim Klick auf das Schild um 1 hoch, wenn das Game zu ende ist, wird die Zahl wieder um eins gesenkt (soll ja glaub ein spiel werden?)

Und so hast du dann die Zahl, die du dann nur noch mit dem Plugin auf das Schild schreiben musst
01/06/2014 16:18 themrdomi#5
Danke für deine Tipps.
Ich werde es so mal probieren :)

Lg
01/06/2014 16:48 Kante'#6
Quote:
Originally Posted by LordSill View Post
Wie gesagt:

1. Sollte das Schild gespeichert werden (Die Location/Position des Schildes)

Jetzt kommt es drauf an, wie du die Zahl haben willst:

1. Du prüfst in regelmäßigen Abständen (Scheduler), wieviele Spieler auf der Welt sind
2. Du zählst beim Klick auf das Schild um 1 hoch, wenn das Game zu ende ist, wird die Zahl wieder um eins gesenkt (soll ja glaub ein spiel werden?)

Und so hast du dann die Zahl, die du dann nur noch mit dem Plugin auf das Schild schreiben musst
Wozu ein scheduler, das ist soch nur unnötiger lag und nicht genau, einfach beim Playerjoin oder arenajoin das schild updaten
01/06/2014 16:51 lordsill#7
Das war noch eher basierend auf dem 1. Post:

ich würde gerne wissen, wie man mit einem Bukkit Plugin herrausfinden kann, wieviele Spieler sich in einer Welt befinden, und demnach ein Schild ändern kann.
01/06/2014 18:16 Kante'#8
Ja, aber das geht doch einfacher mit dem PlayerJoinEvent
01/06/2014 18:20 lordsill#9
Ja, aber nicht mit dem JoinEvent alleine. Man kann es schon mit Events machen.
(bei nur JoinEvent, würde man missachten, dass Spieler A von Welt A auf Welt B wechselt). Daher hier noch das PlayerChangedWorldEvent zusätzlich zu dem PlayerJoinEvent