Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Problem] EntityDeathEvent.


xAsky

Rekomendowane odpowiedzi

Opublikowano

Wie ktoś co tu jest źle?

public class PlayerDeath implements Listener{
	
	@EventHandler
	public void onDeath(EntityDeathEvent e){
		Entity zabity = e.getEntity();
		Entity zabojca = e.getEntity().getKiller();
		if(zabojca instanceof Player){
			if(zabity instanceof Player){
				if(Ranking.rank.containsKey(zabity.getName()) || Ranking.deads.containsKey(zabity.getName())){
					if(Ranking.rank.containsKey(zabojca.getName()) || Ranking.kills.containsKey(zabojca.getName())){
						zabojca.sendMessage("§8> Zabiles gracza §6" + zabity.getName() + "§8. (§6+125§8)");
						zabity.sendMessage("§8> Zostales zabity przez §6" + zabojca.getName() + "§8. (§c-125§8)");
						Ranking.rank.put(zabojca.getName(), Ranking.rank.get(zabojca.getName()) + 125);
						Ranking.kills.put(zabojca.getName(), Ranking.kills.get(zabojca.getName()) + 1);
						Ranking.rank.put(zabity.getName(), Ranking.rank.get(zabity.getName()) - 125);
						Ranking.deads.put(zabity.getName(), Ranking.deads.get(zabity.getName()) + 1);
					}
				}
			}
		}
	}

}

Daje like.

Opublikowano

Dlaczego EntityDeathEvent?

Użyj PlayerDeathEvent. Od razu masz pewność, że zabity jest graczem, więc pozostaje kwestia zabójcy.

Jeśli nic się nie wyświetla to błąd powinien być w jednej z tych linijek:

if(Ranking.rank.containsKey(zabity.getName()) || Ranking.deads.containsKey(zabity.getName())){
    if(Ranking.rank.containsKey(zabojca.getName()) || Ranking.kills.containsKey(zabojca.getName())){

Podrukuj w konsolce co if'a jakąś wiadomość do konsolki, lub do siebie. Np. (1 petla, 2 petla, ...)

Jeśli masz jakiś problem z Plugin'em/Skryptem do MineCraft'a to pisz na PW/Skype/GG, lub inny komunikator podany w profilu. Pomagam za darmo.

Pracuję na zlecenia. Do stałej pracy bardzo ciężko mnie namówić. ^^

 

Przepiszę Skrypt na Plugin! W większości przypadków za darmo.

Opublikowano

@iIvanowski

Konsola nie pokazuje żadnych błędów. ;/

 

@Veasst

Ma być jeszcze zabicia przez moba, ale najpierw chciałem się upewnić, czy tak będzie działać.

Opublikowano

@iIvanowski

Konsola nie pokazuje żadnych błędów. ;/

 

@Veasst

Ma być jeszcze zabicia przez moba, ale najpierw chciałem się upewnić, czy tak będzie działać.

zobacz sobie co zwraca:

 e.getEntity().getKiller();

getKiller zawsze zwraca Player, więc albo zwraca gracza który zabił, albo nulla.

Jak chcesz pobrać entity, to albo w evencie od ataku, albo pobrać z entity ostatni atak

 

PS: zarejestrowałeś event?

1438614356923701010629.png

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...