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

[Pytanie] Jak wyłączyć atakowanie na podczas latania?


Rekomendowane odpowiedzi

Opublikowano

Witam !

Otoż jak zrobić aby gracze nie mogli bić graczy jak latają i ewentualnie nie mogli podnnsić itemów.

Bardzo was proszę o rozwiązanie danego problemu

Opublikowano

Da się -.- jak używasz permissions essentials.fly to w essentials możesz gdzieś to ustawić... Niestety nie pamiętam gdzie :P Rok już nie mam serwera swojego...

Opublikowano

Może skript to załatwi. Jak coś to przypomnij się za kilka dni. Teraz zabieram się za różnego rodzaje skrypty. Możesz podesłać na PW ip serwera :D

Opublikowano

Nadchodzi e3uS i pomoc...:
 

Wiem, że nic z tego nie ogarniesz ale:

Potrzebujemy event od bicia, najlepszym będzie:
 

@EventHandler
public void onDamage(EntityDamageByEntityEvent evt) {
}

Sprawdzamy czy osoba która atakuje i osoba która jest atakowana to gracz a następnie castujemy je na gracza żeby móc do nich wysyłać wiadomości itp.. W tym wypadku tylko zcastujemy Atakującego bo na atakowanym nic nie będziemy robić.

		if (evt.getEntity() instanceof Player) {
			if (evt.getDamager() instanceof Player) {
				Player attacker = (Player) evt.getDamager();
			}
		}

Sprawdzamy czy atakujący aktualnie lata i jeśli lata to blokujemy obrażenia i wysyłamy do niego wiadomość (dla lepszego efektu ja mu dodam jeszcze zabieranie flaya):
 

				if (attacker.isFlying()) {
					attacker.sendMessage("Nie mozesz bic podczas latania!");
					attacker.setFlying(false);
					attacker.setAllowFlight(false);
					evt.setCancelled(true);
				}

I... gotowe!

Cały kod powinien wyglądać tak:
 

	@EventHandler
	public void onDamage(EntityDamageByEntityEvent evt) {
		if (evt.getEntity() instanceof Player) {
			if (evt.getDamager() instanceof Player) {
				Player attacker = (Player) evt.getDamager();
				
				if (attacker.isFlying()) {
					attacker.sendMessage("Nie mozesz bic podczas latania!");
					attacker.setFlying(false);
					attacker.setAllowFlight(false);
					evt.setCancelled(true);
				}
				
			}
		}
	}
Opublikowano

@#e3uS

No i nic mu nie pomogłeś, dlatego zgłaszam Twoją wypowiedź :) (Nic nie wniosła do tematu. Ponadto sam napisałeś, że autor pewnie tego "nie ogarnie".).

Jak coś ja zrozumiałem ;D

 

@Autor

Zainstaluj plugin "CombatLog". Wyłącza on latanie podczas włączonego trybu walki.

 

Pozdrawiam

S0L1D3R

Cześć!

Jeżeli odpowiedziałem akurat w tym temacie, którym się interesujesz lub sam go założyłeś to wiedz, że dopóki nie rozwiążemy problemu, zagwozdki, czy po prostu nie rozwiejemy Twoich wątpliwości będę śledzić ten temat.

 

Nie rzucam słów na wiatr, więc i ty też tego nie rób.

 

Pozdrawiam,

S0L1D3R

Opublikowano

Okej, proszę bardzo skrypt:
 

Potrzebuje znowu event od bicia, najlepiej przyda się:
 

on damage:

sprawdzamy czy osoba która atakuje i osoba która jest atakowana to gracz:
 

if victim is player:
    if attacker is player:

jeśli tak to sprawdzamy czy osoba atakująca lata:

if attacker is flying:

Jeśli tak to anulujemy event i np. wysyłamy wiadomość:

send "Nie mozesz bic podczas latania" to attacker
cancel event
Opublikowano

Już sprawa załatwiona.

Dziękuje wam wszyskim. kolega napisał mi skrypt :

 

on damage of player:

    attacker is player
    if attacker is flying:
        if attacker has permission "atak.fly":
            stop
        else:
            cancel event
            send "&4Nie mozesz podaczasz latania!" to attacker
            execute player command "/fly"

teraz natomiast mam 2 problem a kolega powiedział że może napisać mi tylko 1 skrypt, ma dość różnych programów do napisania. widzę że tylko na was mogę liczyć

A więc " Jak zablokować craftowanie pewnych przedmiotów" Zaznacze że nie działa mi plugin DisableCrafting

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...