ServerPlugin HidePlayer Schaden machen!

Dieses Thema im Forum "Programmierung" wurde erstellt von MineForce, 19. Januar 2014.

  1. MineForce
    Offline

    MineForce Gesperrt

    Registriert seit:
    17. Oktober 2012
    Beiträge:
    122
    Hallo liebe Forum Mitglieder,

    Ich habe mein HideAndSeek Plugin fasst fertig!

    Nun kommt ein Problem:
    Die Spieler werden mit p.setHide() Vanish gemacht.
    Dann wird ein FallingBlock gespawnt.

    Nun was muss ich machen damit man den "Unsichtbaren" Spieler schlagen kann?
    Mein Code:

    Code (Text):
    1.     @EventHandler
    2.     public void PlayerEvent(EntityDamageByEntityEvent e) {
    3.         Entity en0 = e.getEntity();
    4.         Entity en1 = e.getDamager();
    5.                
    6.         if(en0 instanceof Player){
    7.             Player opfer = (Player) en0;
    8.             if(opfer.getKiller() instanceof Player){
    9.             Player damager = (Player)en1;
    10.             if(opfer.isBlocking()){
    11.                 damager.setLastDamage(10.0);
    12.             }
    13.             }
    14.         }
    15.             }
    Der Code sieht naja nicht sehr versprechends Wert aus und funktioniert auch nicht.
    Leider finde ich keine If(opfer.isHide()){ Methode D:
    Und damager.setDamage gibts auch nicht.

    Hoffe mir kann jemand helfen.

    Vielen Dank!
     
    #1
  2. GermanUbuntu
    Online

    GermanUbuntu

    Hallo,

    Das gleiche Problem hatte auch mall mein freund.

    Lösung:
    - Da der Spieler nicht geschlagen werden kann hat er ein "Objekt" dort hin gestellt was man schlagen kann z.b eine Unsichtbarer Pig-Zombie.

    Wieso machst du eig. den Spieler nicht Unsichtbar (also Potion Effect).
     
    #2
  3. MineForce
    Offline

    MineForce Gesperrt

    Registriert seit:
    17. Oktober 2012
    Beiträge:
    122
    Kennst du HideAndSeek überhaupt?
    Ich spawne einen FallingBlock genau an der Stelle des Spielers(Verstecker).

    Nur ich will keine unsichtbare Entity(mob) spawnen weil das nicht wirklich passt.

    Keiner eine Idee?
     
    #3
  4. GermanUbuntu
    Online

    GermanUbuntu

    Hmm

    Hmm die frage ist wieso passt es nicht? man sieht den mob nicht und du hast etwas was man schlagen kann...
     
    #4
  5. MineForce
    Offline

    MineForce Gesperrt

    Registriert seit:
    17. Oktober 2012
    Beiträge:
    122
    Ja aber das ist doch noch komplizierter weil wer Damage den man den Monster macht muss man auf den Spieler umleiten.

    Es ist möglich das Event auf einen Spieler zu beziehen dann ob er Hide ist und einfach einen bestimmten Schaden einstellen den er pro Schlag bekommt. Nun wie überprüfe ich ob er Hide ist? Und was muss ich schreiben um den Schaden festzulegen?
     
    #5
  6. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.069
    Code (Text):
    1. double oldHealth = ((Damageable) player).getHealth();
    2. double newHealth = oldHealth - damage;
    3. player.setHealth(neueGesundheit);
    "damage" ist, wie viel Gesundheit der Spieler verlieren soll.
     
    #6
  7. MineForce
    Offline

    MineForce Gesperrt

    Registriert seit:
    17. Oktober 2012
    Beiträge:
    122
    danke ich hab das was gefunden damager.cansee(opfer)
    Heißt das doch ob der der Schaden macht das Opfer sieht?
     
    #7
  8. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.069
    #8
  9. MineForce
    Offline

    MineForce Gesperrt

    Registriert seit:
    17. Oktober 2012
    Beiträge:
    122
    Da der Spieler Hide ist egal was ich mach er bekommt keinen schaden D:
     
    #9
  10. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.069
    Poste bitte Deine Klasse(n) bei pastebin.com und posten dann den Link hier... Der Spieler sollte eigentlich Schaden bekommen, da er ja nur für einen bestimmten Spieler unsichtbar ist.
     
    #10