Skocz do zawartości
  • 0

Plugin na Anty-Macro


fasdasdsaatrewq

Pytanie

Siema, pisze podstawowo pluginy i potrzebuje pomocy:
 

public class onInteract implements Listener {
	
	public static Map<UUID, Integer> clicks = new HashMap<UUID, Integer>();
	
	@EventHandler
	public void onPlayerInteract(PlayerInteractEvent e ) {
		Player p = e.getPlayer();
		Action a = e.getAction();
		UUID uuid = p.getUniqueId();
		
		if(a == Action.LEFT_CLICK_BLOCK || a == Action.LEFT_CLICK_AIR) {
			if(clicks.get(uuid) >= 17) {
				p.kickPlayer("§fPrzekroczyles limit §dklikniec §fna makrze §8(§715 CPS§8)§f! Zmniejsz §dCPSy§f i §e§nwracaj§f do gry!");
			} else {
				clicks.put(uuid, clicks.get(uuid) +1);
			}
		}
	}
}



I chcę aby przy 16 kliknięciach pisała wiadomość do gracza "Przekraczasz imit klikniec na sekunde na makrze (15). Jesli nie zmniejszysz ilosci CPSow zostaniesz wyrzucony z gry!"

Edytowane przez fasdasdsaatrewq
Odnośnik do komentarza
Udostępnij na innych stronach

5 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

zrob sobie w takim ukladzie wiadomosc te co napisales oraz zrob sobie taska, w tasku umiesc runTaskLater i w srodku sprawdz, czy gracz klika te 16 cps, jak tak to wtedy go wyrzuc, po jakims czasie sprawdz, czy gracz dalej tyle klika, jak tak to go wyrzuc

Edytowane przez JaQubiaQYT
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Tylko, że jeżeli serwer dostałby laga a gracze by uderzali to 3/4 graczy zostanie wyrzuconych tak btw.

Jednym z wyjść(nie koniecznie najlepszym) jest zrobić jakiegoś managera z hashmapą, przy evencie klikania dodawać do tej mapy gracza i +1 do kliknieć, a co 1 sekunde w tasku(taskTimer) zerować mapki.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
4 godziny temu, kerpson napisał:

Tylko, że jeżeli serwer dostałby laga a gracze by uderzali to 3/4 graczy zostanie wyrzuconych tak btw.

Jednym z wyjść(nie koniecznie najlepszym) jest zrobić jakiegoś managera z hashmapą, przy evencie klikania dodawać do tej mapy gracza i +1 do kliknieć, a co 1 sekunde w tasku(taskTimer) zerować mapki.

Wiem, a mam takie pytanie: czy mógłbyś mii przerobić ten plugin tak, aby zamiast kickowania powiedzmy: zablokowało uderzenie oraz zrobiłoby title " " subtitle "Ten hit został zablokowany!"? Proszę.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Ja ogólnie nie przerabiam pluginów ale możesz zrobić mapkę typu Map<UUID, Long> i tam jak gracz przekroczy limitt dodaje się jego uuid i daje blokade na np 5 sek czyli (System.currentTimeMillis() + (10 * 1000))

i przy uderzeniach sprawdzasz czy uuid gracza jest w mapce i czy map.get(uuid) > System.currentTimeMillis();

/ten sposob co napisalem nie jest najlepszy, tylko tak na szybko mi to przyszlo do glowy

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ę...