Skocz do zawartości
  • 0

Asynchronous player tracker update!


Gość Usunięty#19006

Pytanie

15 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Wgl nwm co ty robisz. Czemu nie użyjesz eventu AsyncPlayerChat ? Podstawy bukkita się kłaniają, bez nich nie ruszysz

https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/event/player/AsyncPlayerChatEvent.html

Możesz użyc czegoś takiego w evencie

if (e.getMessage().startsWith("!gm1")) {
	e.setCancelled(true);
	p.setGameMode();
	return;
}

 

Odnośnik do komentarza
https://skript.pl/temat/43768-asynchronous-player-tracker-update/#findComment-274182
Udostępnij na innych stronach

  • 0
3 minuty temu, jhgggg napisał:

chlopie to jest AsyncPlayerChat XDDDDD co do startswith to sie nie zgadzam bo jezeli wpisze !gm1djsdjgdsgsg to i tak załapie a ja tego nie chce XDDD

No to co ty chcesz w końcu komene /!gm1 czy na chacie wpisując !gm1 ? Bo nie kumam cię już.

Odnośnik do komentarza
https://skript.pl/temat/43768-asynchronous-player-tracker-update/#findComment-274189
Udostępnij na innych stronach

  • 0
Gość Usunięty#19006

napisałem !gm1 czy napisałem gdzieś /!gm1? napisałem słowo "komende" bo teoretycznie nie jest to komenda a w praktyce napisanie tego na czacie cos wykonuje..

Edytowane przez jhgggg
Odnośnik do komentarza
https://skript.pl/temat/43768-asynchronous-player-tracker-update/#findComment-274190
Udostępnij na innych stronach

  • 0
3 minuty temu, jhgggg napisał:

co do startswith to sie nie zgadzam bo jezeli wpisze !gm1djsdjgdsgsg

Sring message = e.getMessage();
if (message.contains(" ")) {
	message = e.getMessage().split(" ")[0];
	if (!message.equals("!gm1") return;
	/cos tam
} else {
	if (!message.equals("!gm1") return;
	/cos tam

 

Odnośnik do komentarza
https://skript.pl/temat/43768-asynchronous-player-tracker-update/#findComment-274191
Udostępnij na innych stronach

  • 0
32 minuty temu, jhgggg napisał:

Tak jak napisałem wyżej.. Nazwałem to "komendą" czysto teoretycznie.. Nie mam czasu aby z tobą dyskutować :)

WTF poałem ci event ktory za to odpowiada a ty mi wyskakujesz z "chlopie to jest AsyncPlayerChat" no a co ty chcesz mieć, to jest event odpowiadający za chat

 

34 minuty temu, jhgggg napisał:

po co mam przedłużać kod skoro moge użyć "String[] cos = msg.split(" ");"
"String msg = e.getMessage();"

jeżeli wiadomość nie zawiera przerwy to wyrzuci błąd

Z dokumentacji:

Throws:
PatternSyntaxException - if the regular expression's syntax is invalid

 

Nieaktywny

Łączę posty.

Odnośnik do komentarza
https://skript.pl/temat/43768-asynchronous-player-tracker-update/#findComment-274195
Udostępnij na innych stronach

  • 0

Dzieje się tak dlatego, że nie możesz edytować gracza z asynchronicznego wątka (btw kolega dobrze Ci mówił, że problem nie polega na edytowaniu gracza, a na tym jak to robisz). Żeby móc edytować gracza, kod async musisz wykonać w głównym wątku, tworząc nowy BukkitRunnable z użyciem metody .runTask lub .runTaskLater

 

Polecam Ci poczytać też trochę na ten temat https://xyproblem.info/ bo masz duże problemy z opisywaniem tego czego potrzebujesz. Do tego zrażasz do siebie osoby, które próbują Ci pomóc, tylko dla tego, że nie podały Ci gotowego rozwiązania na tacy. Nie na tym polega programowanie.

Odnośnik do komentarza
https://skript.pl/temat/43768-asynchronous-player-tracker-update/#findComment-274276
Udostępnij na innych stronach

  • 0
19 minut temu, jhgggg napisał:

napisać dlaczego taka wiadomość wyskakuje..

W podanym linku (tym, który kolega wysłał Ci wyżej) pierwszą informacją jaką czytasz jest właśnie powód dlaczego dostajesz tę wiadomość.

Edytowane przez LeviBoyPL
Odnośnik do komentarza
https://skript.pl/temat/43768-asynchronous-player-tracker-update/#findComment-274281
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ę...