Brauche hilfe bei GunGame Plugin 2 Fehler meldungen!

Dieses Thema im Forum "Programmierung" wurde erstellt von Scanner44, 19. Juli 2013.

  1. Scanner44
    Offline

    Scanner44

    Registriert seit:
    29. Dezember 2012
    Beiträge:
    18
    hallo, ich bin neu hier ich habe eine frage. Ich code ein GunGame plugin und habe 2 Fehler gefunden 1. im Wasser stirbt man nicht einmal sondern 5 bis 8 mal aber nur wenn das Wasser mehr als eins tief ist wenn das Wasser 1 block tief ist stirbt man nur 1 mal. 2. wenn man ein fire aspeckt Schwert hat und verbrennd werden die Items gedroppt und ich möchte es nicht das sie Gedroppt werden (Halt GunGame)

    Hier ist der code:
    Code (Text):
    1.  
    2.  
    3.  if (pl.getLocation().getBlock().getTypeId() == 9) {
    4.                 int fx = ev.getFrom().getBlockX();
    5.                 int fy = ev.getFrom().getBlockY();
    6.                 int fz = ev.getFrom().getBlockZ();
    7.                 int tx = ev.getTo().getBlockX();
    8.                 int ty = ev.getTo().getBlockY();
    9.                 int tz = ev.getTo().getBlockZ();
    10.                 if ((fx != tx) || (fy != ty) || (fz != tz)) {
    11.                     pl.getInventory().setHelmet(null);
    12.                     pl.getInventory().setChestplate(null);
    13.                     pl.getInventory().setLeggings(null);
    14.                     pl.getInventory().setBoots(null);
    15.                     pl.getInventory().clear();
    16.                     pl.setLevel(0);
    17.                     ((CraftPlayer) pl).setHealth((int) 0);
    18.                     return;
    19.                 }
    20.             }
    21.  
    22.  
     
    #1
  2. games6471
    Offline

    games6471

    Was soll denn das hier?

    Und verwende bitte die Code-Tags.
     
    #2
  3. Scanner44
    Offline

    Scanner44

    Registriert seit:
    29. Dezember 2012
    Beiträge:
    18
    antwort

    das hab ich schon gemacht geht nicht.
     
    #3
  4. games6471
    Offline

    games6471

    Dann solltest du uns auch einbischen mehr Code geben. Also mit so viel Informationen kann man fast nur Vermutungen anstellen. Zusätzlich zum Casten einer Integer Zahl in einen Integer (mein voheriger Beitrag), frag ich mich warum du den Spieler bei einem MoveEvent oder was es auch sein soll tötest.
     
    #4
  5. Scanner44
    Offline

    Scanner44

    Registriert seit:
    29. Dezember 2012
    Beiträge:
    18
    mit welchen event soll ich es denn sonst machen ? bitte sag es mir
     
    #5
  6. games6471
    Offline

    games6471

    Achso ich wusste nicht, dass das sofortige Sterben im Wasser zum Spielprinzip gehört. Ok, dann würde ich dir empfehlen, dass du den Spieler über p.setHealth tötest und den Rest über das PlayerDeathEvent regelst. Damit würdest du auch sogleich die ganzen anderen Todesursachen behandeln.
     
    #6
  7. Mrcookie008
    Offline

    Mrcookie008

    Registriert seit:
    15. Dezember 2011
    Beiträge:
    380
    Ort:
    /home
    Minecraft:
    xCookieZz oder Mrcookie008 (Beides Premium)
    5 Minuten rumbasteln (Und ich bin Javaanfänger)


    Code (Text):
    1.     @EventHandler(priority=EventPriority.HIGHEST, ignoreCancelled=false)      public void onPlayerMove(PlayerMoveEvent event)
    2.       {
    3.         Player p = event.getPlayer();
    4.         Location UnterSpieler = event.getPlayer().getLocation().add(0.0D, -1.0D, 0.0D);
    5.          
    6.         if (UnterSpieler.getBlock().getTypeId() == 9)
    7.         {
    8.  
    9.  
    10.                         p.setHealth(0);
    11.                      
    12.                     p.sendMessage("[§aGun-Game] §aDa du Wasser berührt hast, bist du gestorben!");
    13.  
    14.                            <TeleportCode>
    15.  
    16.  
    17.               }
    18.       }

    Bitte einwenig mehr Selbstmotivation...

    Lg.
     
    #7
  8. Plugin00
    Offline

    Plugin00

    Registriert seit:
    3. Februar 2013
    Beiträge:
    71
    @Mrcookie008,

    Du weißt schon,
    Das wenn das wasser 2 Tief ist.. genau der gleiche Fehler kommt wie er es geschreiben hat.. :))
    Es geht aber einfacher,

    Code (Text):
    1.     @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
    2.     public void tttt(PlayerMoveEvent ev) {
    3.         Player player = ev.getPlayer();
    4.         if (player.getLocation().getBlock().getTypeId() == 9) {
    5.             //Erst zum "Spawn" Teleportieren...
    6.             //Dein Spawn aus einer DB, oder Config ausgeben lassen.
    7.             Location loc = new Location(world, x, y, z, (float) yaw,(float) pitch);
    8.             player.teleport(loc);
    9.             ((CraftPlayer)player).setHealth(0);
    10.             player.sendMessage("Deine Message");
    11.         }
    12.     }
     
    #8
  9. Sn0wBlizz4rd
    Offline

    Sn0wBlizz4rd

    Registriert seit:
    26. September 2012
    Beiträge:
    424
    Minecraft:
    Sn0wBlizz4rd
    Wieso nicht Cookies Code benutzen, und mit "if(!player.isDead()) {" umranden? Viel einfacher ;)
     
    #9