PlayerUpdateStatusEvent.Type - Stamina
-
- German
- Sandboxgamer
- Thread is Unresolved
-
-
Hey, grundsätzlich wäre das möglich, das Problem ist leider nur, dass sich das Stamina sehr häufig ändert... immer wenn man rennt (und auch danach, wenn es sich regeneriert). Das Event würde also extrem häufig getriggert
Das Spiel kann auch nicht prüfen, ob ein Plugin überhaupt diese Info benötigt (es kann nur geprüft werden, ob zB generell PlayerUpdateStatusEvent verwendet wird, d.h. der Overhead dafür wäre immer da...Wofür genau benötigst du diese Info bzw. den Änderungshinweis denn? Wahrscheinlich wäre es sonst günstiger, einfach selbst das Stamina auszulesen (Player.getStamina()), evtl. zusammen mit Player.isSprinting() (das kannst du zB mit einem Timer, oder einem weiteren Thread, oder mit dem UpdateEvent machen)

-
Besser wäre wahrscheinlich sowas wie LowStamina oder CriticalStamina Events bei <25% / <10%, aber ja die Frage wofür ist da berechtigt

-
Hey, grundsätzlich wäre das möglich, das Problem ist leider nur, dass sich das Stamina sehr häufig ändert... immer wenn man rennt (und auch danach, wenn es sich regeneriert). Das Event würde also extrem häufig getriggert
Das Spiel kann auch nicht prüfen, ob ein Plugin überhaupt diese Info benötigt (es kann nur geprüft werden, ob zB generell PlayerUpdateStatusEvent verwendet wird, d.h. der Overhead dafür wäre immer da...Wofür genau benötigst du diese Info bzw. den Änderungshinweis denn? Wahrscheinlich wäre es sonst günstiger, einfach selbst das Stamina auszulesen (Player.getStamina()), evtl. zusammen mit Player.isSprinting() (das kannst du zB mit einem Timer, oder einem weiteren Thread, oder mit dem UpdateEvent machen)

Achso. Daran habe ich natürlich nicht gedacht.
Es ging mir eigendlich nur darum, es zu Canceln, um den Verbrauch zu stoppen.
Ich wollte einen Ausdauer-Boost machen, bei den für eine gewisse Zeit keine Ausdauer verbraucht wird.
Andere Idee: Wie wäre es mit einer Methode, wo man den Verbrauch deaktivieren und aktivieren kann (Nicht nur für Ausdauer, sondern für jedes einzelne). Vielleicht ist das die bessere Variante.
Das würde auch viele Events vermeiden.
-
Besser wäre wahrscheinlich sowas wie LowStamina oder CriticalStamina Events bei <25% / <10%, aber ja die Frage wofür ist da berechtigt

Das wäre evtl. denkbar, allerdings auch schwierig, hier passende Grenzen zu ziehen (wenn es bei 25% und 10% ein Event gibt, dann benötigt aber evtl. jemand auch bei 20% oder 50% ein Event usw)

Andere Idee: Wie wäre es mit einer Methode, wo man den Verbrauch deaktivieren und aktivieren kann (Nicht nur für Ausdauer, sondern für jedes einzelne). Vielleicht ist das die bessere Variante.
Das würde auch viele Events vermeiden.
Achso, also das ist grundsätzlich sogar schon möglich (zumindest für Stamina)
Mit Player.setMaxStamina() kannst du den Maximalwert an Stamina verändert (Standardwert ist 100). Wenn du das auf einen absurd hohen Wert setzt, dann kommt das einem Deaktivieren gleich. Setze es idealerweise einfach auf Integer.MAX_VALUE. Denke auch daran, zusätzlich noch Player.setStamina() auf denselben hohen Wert zu setzen:Zwar verbraucht der Spieler weiterhin Stamina, aber er müsste viele Jahre ununterbrochen durchsprinten, damit sein Stamina aufgebraucht wird

Participate now!
Don’t have an account yet? Create a new account now and be part of our community!