Skocz do zawartości
  • 0

Problem z EntityDamageEvent


TheRemekk

Pytanie

Witam, podczas pisania pluginu napotkałem problem związany z zadawaniem obrażeń, kod ma po prostu działać tak, że gdy atakowany i atakujący są graczami, nie mogą się bić, nie otrzymują obrażeń, ostateczny cel jest taki, aby podczas minigierki osoby w tej samej drużynie nie mogły się ze sobą bić, ale póki co nawet ten kod nie działa.

Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

Edytowane przez LjayPL789
bludis

Wstawiam kod na code.skript.
§2.2.2.4

Notatka dodana przez bludis

Odnośnik do komentarza
Udostępnij na innych stronach

3 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Skorzystaj z tego eventu: Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

W twoim kodzie przypisujesz zabójcę tamtego gracza jako attackera, a skoro jest to DamageEvent to getKiller jest ostatnim graczem, który zabił tamtego gracza, a nie uderzył. Więc jest to logiczne, że nie będzie blokowało tego ataku.

W powyższym evencie możesz skorzystać z
EntityDamageByEntityEvent#getDamager(), aby otrzymać Entity, który zadał obrażenia
oraz EntityEvent#getEntity(), aby otrzymać Entity, które otrzymało obrażenia. Wystarczy sprawdzić czy obaj są graczami, jeśli tak zablokować event.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Teraz kodzik wygląda tak: Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

Nie działa, po prostu można się bić, przy założonych if-ach, bez nich tez testowałem dodając tylko "e.setCancelled(true);" do eventu, tez mozna sie normalnie bić, probowalem tez e.setDamage(0.0), nic nie dało.

//EDIT, poradziłem sobie i sam naprawiłem znaleziony wcześniej przeze mnie błąd, aczkolwiek to co napisałeś mi pomogło, więc dziękuje, a temat można zamknąć

Edytowane przez LjayPL789
bludis

Wstawiam kod na code.skript.
§2.2.2.4

Notatka dodana przez bludis

Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...