Plugin Hilfe Lebens Anzeige

Dieses Thema im Forum "Programmierung" wurde erstellt von MrOAriO, 17. November 2012.

  1. MrOAriO
    Offline

    MrOAriO

    Registriert seit:
    6. Oktober 2012
    Beiträge:
    135
    Minecraft:
    OAriO
    Warum Funktioniert der Code nicht ?

    HTML:
    1. @EventHandler(priority=EventPriority.HIGHEST)
    2.   public void EntityDamageByEntityEvent(EntityDamageByEntityEvent e) {
    3.     if ((e.getDamager() instanceof Player)) {
    4.  
    5.       if ((e.getDamager() instanceof Player)) {
    6.         Player pl = (Player)e.getDamager();
    7.        
    8.         if ((e.getEntity() instanceof Player)) {
    9.           Player ppl = (Player)e.getEntity();
    10.          
    11.           if (ppl.getHealth() == 2) {
    12.            pl.sendMessage("Dein Gegner " + ppl.getName() + " hat noch §c❤  Leben!");
    13.           }
    14.  
    15.           else if (ppl.getHealth() == 4) {
    16.              
    17.            pl.sendMessage("Dein Gegner " + ppl.getName() + " hat noch §c❤❤ Leben!");
    18.           }
    19.  
    20.           else if (ppl.getHealth() == 6) {
    21.            pl.sendMessage("Dein Gegner " + ppl.getName() + " hat noch §c❤❤❤ Leben!");
    22.           }
    23.  
    24.           else if (ppl.getHealth() == 8) {
    25.            pl.sendMessage("Dein Gegner " + ppl.getName() + " hat noch §c❤❤❤❤  Leben!");
    26.           }
    27.  
    28.           else if (ppl.getHealth() == 10) {
    29.            pl.sendMessage("Dein Gegner " + ppl.getName() + " hat noch §c❤❤❤❤❤  Leben!");
    30.           }
    31.  
    32.           else if (ppl.getHealth() == 12) {
    33.            pl.sendMessage("Dein Gegner " + ppl.getName() + " hat noch §c❤❤❤❤❤❤  Leben!");
    34.           }
    35.  
    36.           else if (ppl.getHealth() == 14) {
    37.            pl.sendMessage("Dein Gegner " + ppl.getName() + " hat noch §c❤❤❤❤❤❤❤  Leben!");
    38.           }
    39.  
    40.           else if (ppl.getHealth() == 16) {
    41.            pl.sendMessage("Dein Gegner " + ppl.getName() + " hat noch §c❤❤❤❤❤❤❤❤  Leben!");
    42.           }
    43.  
    44.           else if (ppl.getHealth() == 18) {
    45.            pl.sendMessage("Dein Gegner " + ppl.getName() + " hat noch §c❤❤❤❤❤❤❤❤❤  Leben!");
    46.           }
    47.  
    48.           else if (ppl.getHealth() == 20)
    49.            pl.sendMessage("Dein Gegner " + ppl.getName() + " hat noch §c❤❤❤❤❤❤❤❤❤❤  Leben!");
    50.         }
    51.        
    52.       }
    53.     }
    54.   }
    55. }
    56.  
     
    #1
  2. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
    Weil ein Fehler drin ist?
    Ohne Fehlermeldung kann dir keiner helfen.

    Und dein code geht viel viel viel einfacher.
    (Hat DEBukkit ein Video gemacht mit diesen herzchen? o_O das ist jetzt schon das 2.te mal das ich diesen code sehe.)
     
    #2
  3. mdafcker
    Offline

    mdafcker Gesperrt

    Registriert seit:
    20. Oktober 2012
    Beiträge:
    51
    Minecraft:
    mdafcker
    Ehmm ja der Code sind mehr wie von mir Aus.. :/Schreib mal die Fehlermeldung..
     
    #3
  4. Smuil
    Offline

    Smuil

    Also ich seh den Fehler schon so, aber anscheinend kann unser Mister da oben kein Java und versucht sich an Copy & Paste, sonst würde er den Fehler schon angezeigt bekommen in Eclipse oder Netbeans oder ähnlichem
     
    #4
  5. MrOAriO
    Offline

    MrOAriO

    Registriert seit:
    6. Oktober 2012
    Beiträge:
    135
    Minecraft:
    OAriO
  6. Smuil
    Offline

    Smuil

    Das ist aber nen andere Code, als du uns geschickt hast....bei dem geschickten fehlt nämlich ein {
     
    #6
  7. MrOAriO
    Offline

    MrOAriO

    Registriert seit:
    6. Oktober 2012
    Beiträge:
    135
    Minecraft:
    OAriO
    Ich habe euch ja auch nur den Event Handler geschickt und nicht mehr ...
     
    #7
  8. Smuil
    Offline

    Smuil

    In dem fehlt die auch.....
     
    #8
  9. MrOAriO
    Offline

    MrOAriO

    Registriert seit:
    6. Oktober 2012
    Beiträge:
    135
    Minecraft:
    OAriO
    Wo denn ? Helf mir ma auf die Sprünge ^^
     
    #9
  10. Smuil
    Offline

    Smuil

    Da Bitte. Rot Markiert


    Rot markieren geht nicht....aber bei dem letzten else if fehlte die aufmach klammer { bei dem code, denn du uns geschickt hast.
     
    #10
  11. MrOAriO
    Offline

    MrOAriO

    Registriert seit:
    6. Oktober 2012
    Beiträge:
    135
    Minecraft:
    OAriO
    Es geht immer noch nicht ... :(
     
    #11
  12. Smuil
    Offline

    Smuil

    Dann brauchen wir immer noch eine Fehlermeldung die beim starten des Plugins kommt...
     
    #12
  13. Gleydar
    Offline

    Gleydar Ehem. Teammitglied

    Registriert seit:
    2. August 2012
    Beiträge:
    443
    Ort:
    player.getHome()
    Minecraft:
    Gleydar
    Oder aber du versuchst das selbst zu lösen, was jeder der coden kann können sollte
     
    #13
  14. MrFlieder
    Offline

    MrFlieder

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    333
    Ort:
    Österreich
    Minecraft:
    MrFlieder
    Was geht daran nicht?
    Kann das Plugin beim Starten des Servers nicht geladen werden?
    Poste doch bitte mal deinen ganzen Code, nicht nur die Stelle mit dem EventHandler - da liegt ja offenbar kein Fehler mehr.
     
    #14
  15. MrOAriO
    Offline

    MrOAriO

    Registriert seit:
    6. Oktober 2012
    Beiträge:
    135
    Minecraft:
    OAriO
    Es kommt kein Fehler es funktioniert einfach nicht das ist es ja ...
     
    #15
  16. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
    Naja wahrscheinlich liegt es daran das dein gegner ein halbes herz hat, dein code löst nur bei ganzen herzen aus.
    Es hat einen Grund das ich deinen Code kritisiert habe.
     
    #16
  17. MrFlieder
    Offline

    MrFlieder

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    333
    Ort:
    Österreich
    Minecraft:
    MrFlieder
    Wie wäre es dann, wenn du uns deinen gesamten Code schickst? Alleinig mit dem EventHandler können wir dir auch nicht weiterhelfen, da darin ja offenbar kein Fehler mehr liegt.

    Hast du das EntityDamageByEntity-Event überhaupt in der onEnable-Methode registriert?
    Code (Text):
    1. Bukkit.getPluginManager().registerEvents(new KLASSE_DES_EVENTHANDLERS, this);
    Dein Code ist übrigens, wie Benni1000 schon sagte, ziemlich unübersichtlich.
    Was sollen eigentlich die doppelten und dreifachen IF-Abfragen am Anfang des EventHandlers?
    Das ganze könnte man in einer einzelnen Abfrage auch regeln, wirkt dann etwas übersichtlicher. :)
     
    #17
  18. MrOAriO
    Offline

    MrOAriO

    Registriert seit:
    6. Oktober 2012
    Beiträge:
    135
    Minecraft:
    OAriO
    Bin halt noch relativ neu in Java ....
    Könntest du mir das mal einfacher machen also in einer Abfrage ? Dann könnte ich was lernen ^^
     
    #18
  19. MrFlieder
    Offline

    MrFlieder

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    333
    Ort:
    Österreich
    Minecraft:
    MrFlieder
    Die 3 IF-Abfragen kannst du auf eine reduzieren, indem du die 3 erstmal alle entfernst und durch folgende ersetzt:
    Code (Text):
    1. if((e.getEntity() instanceof Player) && (e.getDamager() instanceof Player))
    2. {
    3.     //Code
    4. }
    Funktioniert dein Lebensanzeige-Plugin jetzt? :p
     
    #19
  20. MrOAriO
    Offline

    MrOAriO

    Registriert seit:
    6. Oktober 2012
    Beiträge:
    135
    Minecraft:
    OAriO
    Denke schon bin blos Grade nicht zu hause
     
    #20