[Bukkit] [Programmierung] Plugin Spielertot

02/25/2014 22:25 Ahrndti#1
Hallo,

ich bin grade fleißig am Programmieren eines Plugins für ein KD-System :)
Den Großteil habe ich auch schon fertig, jedoch möchte ich gerne, dass der Todeszähler nur hochgesetzt wird, wenn man von einem Spieler getötet wird. Geht das? :confused: Mit "PlayerDeathEvent" und dann ".getKiller" lese ich aus, ob man einen Spieler getötet hat. Gibt es auch einen Befehl, der erkennt, ob man durch einen Spieler getötet wurde?

Danke im Vorraus für eure Hilfe ;)
02/25/2014 22:32 Freak2011#2
Du hast dir deine Frage praktisch selber beantwortet. .getKiller gibt dir doch bereits den Töter vom Typ Player zurück oder null wenns kein Player war
02/25/2014 22:45 False#3
Quote:
Originally Posted by Freak2011 View Post
Du hast dir deine Frage praktisch selber beantwortet. .getKiller gibt dir doch bereits den Töter vom Typ Player zurück oder null wenns kein Player war
Das ist falsch!
Den es könnte ihn ja auch ein Zombie gekillt haben sprich er müsste erst überprüfen ob es ein Player war, aber da er das meiste ja schon fertig hat sollte er das wohl schaffen..^^
02/25/2014 22:46 Ahrndti#4
Und wie frage ich dann am besten den Spieler ab? :o

Edit: war zu langsam :) Mir fehlt nur noch das, damit häng ich :/
02/25/2014 23:07 Freak2011#5
Quote:
Originally Posted by .ƒaℓsє. View Post
Das ist falsch!
Den es könnte ihn ja auch ein Zombie gekillt haben sprich er müsste erst überprüfen ob es ein Player war, aber da er das meiste ja schon fertig hat sollte er das wohl schaffen..^^
Es ist zu 100% richtig wenn du mal richtig gelesen hättest. Es gibt null zurück wenn es kein Player war. So einfach ist das

Code:
@EventHandler
public void blabla(PlayerDeathEvent evt) {
   if (evt.getEntity().getKiller() != null) {
      tode++;
      Player killer = evt.getEntity().getKiller();
   }
}
02/26/2014 00:14 False#6
Quote:
Originally Posted by Freak2011 View Post
Es ist zu 100% richtig wenn du mal richtig gelesen hättest. Es gibt null zurück wenn es kein Player war. So einfach ist das

Code:
@EventHandler
public void blabla(PlayerDeathEvent evt) {
   if (evt.getEntity().getKiller() != null) {
      tode++;
      Player killer = evt.getEntity().getKiller();
   }
}
Ups war bei dem Falschen Event^^
02/26/2014 15:22 Ahrndti#7
Quote:
Originally Posted by Freak2011 View Post
Es ist zu 100% richtig wenn du mal richtig gelesen hättest. Es gibt null zurück wenn es kein Player war. So einfach ist das

Code:
@EventHandler
public void blabla(PlayerDeathEvent evt) {
   if (evt.getEntity().getKiller() != null) {
      tode++;
      Player killer = evt.getEntity().getKiller();
   }
}
Dankeschön, funktioniert super :D