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] Z onPlayerChat(AsyncPlayerChatEvent) w pisaniu pluginów


Swiezu

Rekomendowane odpowiedzi

Opublikowano

Witam! Jak w temacie.

Mam oto taki kawałek kodu (wklejam ten odpowiadający za to)

    // czat //
    @EventHandler
    public void onPlayerChat(AsyncPlayerChatEvent e){
    	if(e.getMessage().toLowerCase().contains("Heal")){
    		Bukkit.broadcastMessage("Siema!");
    	}else if(e.getMessage().toLowerCase().contains("Lol")){
    		Bukkit.broadcastMessage("Siema dwa!");
    	}
    }

I niestety - nie działa on :(

 

Tylko nie mów mi że nie zaimportowałem - uczę się, ale nie jestem głupi.

733761405517115815990.png

"To, że milczę, nie znaczy, że nie mam nic do powiedzenia" ~Jonathan Carroll

Opublikowano

@EventHandler
public void onPlayerChat(AsyncPlayerChatEvent e){
    if(e.getMessage().toLowerCase() == "heal"){
        Bukkit.broadcastMessage("Siema!");
    }else if(e.getMessage().toLowerCase() == "Lol"){
        Bukkit.broadcastMessage("Siema dwa!");
    }
}

 

 

## Nie sprawdzałem ,ale zobacz // Jestem na telefonie ;p

N0thing! :: = ;; :.>

Opublikowano

@Up nie działa :/
Jakieś dalej pomysły?

733761405517115815990.png

"To, że milczę, nie znaczy, że nie mam nic do powiedzenia" ~Jonathan Carroll

Opublikowano

Dodałeś Bukkit.getServer().getPluginManager().registerEvents(this, this); ? W onEnable?

Jeśli używasz lowerCase to zmień szukaną na małe litery. Np. Z 'Heal' na 'heal' !

10732745374541468291.png

Opublikowano
 

@EventHandler
public void onPlayerChat(AsyncPlayerChatEvent e){
    if(e.getMessage().toLowerCase() == "heal"){
        Bukkit.broadcastMessage("Siema!");
    }else if(e.getMessage().toLowerCase() == "Lol"){
        Bukkit.broadcastMessage("Siema dwa!");
    }
}

 

 

## Nie sprawdzałem ,ale zobacz // Jestem na telefonie ;p

 

Matko, ale głupotę napisałeś. Operator porównawczy "==" sprawdza równość, stosuje się go jeżeli chce się sprawdzić, czy coś jest równe czemuś.

W tym przypadku autor chce sprawdzić, czy dana wiadomość wysłana ma w sobie dane słowo, więc nie wiem skąd wynalazłeś tutaj "==".

 

Co do tematu: sprawdź, czy zarejestrowałeś event, jeśli piszesz w wielu klasach robisz to mniej więcej tak:

getServer().getPluginManager().registerEvents(new PlayerInteractListener(this), this);

Jeśli w jednej klasie piszesz, to po prostu thisy. 

 

Jeśli zarejestrowałeś wydarzenie, to spróbuj zmienić priorytet eventu na wyższy, bo możliwe, że jakiś plugin ma już obsługę chatu z powiedzmy priorytetem HIGH i nie działa Ci. Ja tak miałem przy gildiach, napisałem plugin na obsługę chatu, slowdowny i inne i nie działało przez to. ;)

 

Pozdrawiam,

Avaterys. :-)

8098_com.tmobile.theme.Ubuntu_ubuntu-cm1


 


Risen. :# - wierny użytkownik Linux'a (Ubuntu). :D

Opublikowano


// czat //

@EventHandler

public void onPlayerChat(AsyncPlayerChatEvent e){

if(e.getMessage().equalsIgnoreCase().contains("Heal")){

Bukkit.broadcastMessage("Siema!");

}else if(e.getMessage().equalsIgnoreCase().contains("Lol")){

Bukkit.broadcastMessage("Siema dwa!");

}

}

784091427630431250239.png


Regulamin sygnatur


Opublikowano

Matko, zapomniałem zaimplementować Listenera w public class :D
Sam kod w sobie był dobry tylko brak tego niby priorytetowego tutaj implements Listener :P
Niby takie banalne, ale człowiek potyka się o własne łatwe błędy, z których kiedyś się śmiał :D

Myślę że najbardziej konstruktywna wypowiedź była ze strony Risen'a i może ona się komuś przydać w przypadku takiego błędu, dla tego podpinam jako najlepsza odpowiedź.

Do zamknięcia.

733761405517115815990.png

"To, że milczę, nie znaczy, że nie mam nic do powiedzenia" ~Jonathan Carroll

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...