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

wywalenie gracza za mape


Entify

Rekomendowane odpowiedzi

Opublikowano

czesc, chce zrobic dosyc fajny plugin pod lobby ale nie wiem jak zaczac ;/

a mianowicie: jak wywalic gracza pod/za mape

 

tzn. gracz wbija, i nie ma go nigdzie (jest w nicosci), nie zabiera mu damage itd.

 

musze sie pobawic w teleportacje gracza, ondamage itd. czy da sie to zrobic po prostu inaczej?

 

 

JAVA <3

 

Opublikowano

Nie masz co robić rano jak szkoły nie masz?

PlayerMoveEvent

if y < 10 then p.teleport(spawn)

Dodaj mój nick do posta jeśli potrzebujesz pomocy | Piszę pluginy na zlecenie | Pomagam z Linuxem

newlogo.png

Opublikowano
1 godzinę temu, MarcinWieczorek napisał:

Nie masz co robić rano jak szkoły nie masz?

PlayerMoveEvent

if y < 10 then p.teleport(spawn)

only java!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! <3

ehh, nie o to mi chodzilo, nie zrozumiales mnie, z tym problemem bym sobie poradzil izi ^^

Cytat

PlayerMoveEvent

if y < 10 then p.teleport(spawn)

chce aby jak gracz wejdzie teleportowalo go w nicosc, "bez mozliwosci ruszania itp.", np. proxy xayanixa ma takie cos, ale to jest "aplikacja" czy cos takiego.

 

Chce zrobic aby nie po prostu nie bylo widac mapy, gracz byl w nicosci.

Gracz wbija - pojawia sie w nicosci, i nie moze sie ruszac - wiesz chyba o co chodzi xD

mam cos takiego;

	@EventHandler
	public void onJoin(final PlayerJoinEvent e){
		final Player p = e.getPlayer();
		final Location loc = new Location(p.getWorld(), 0, 80, 0);
		int block = p.getWorld().getHighestBlockAt(loc).getY();
                                     //i tu porobie tak samo z x i z
		for (int i = block; i<block; i--){
			p.getWorld().getHighestBlockAt(loc).setType(Material.AIR);
                                     //i tu porobie tak samo z x i z
			
		}
		p.teleport(loc);
		for (Player all : Bukkit.getOnlinePlayers()){
			p.hidePlayer(all);
			all.hidePlayer(p);
		}
		final ItemStack item = item();
		if (!p.getInventory().containsAtLeast(item, 1)){
			p.getInventory().addItem(new ItemStack[] { item });
		}
	}

 

 

 

JAVA <3

 

Opublikowano

No to nie możesz w jakimś tasku go cały czas teleportować pod mapę dopóki nie spełni jakichś warunków?

Ewentualnie zawsze jak będzie poniżej jakichś koordynatów to go z powrotem tam teleportować (bez użycia taska).

Opublikowano
Przed chwilą, Jaqobb napisał:

No to nie możesz w jakimś tasku go cały czas teleportować pod mapę dopóki nie spełni jakichś warunków?

to teraz wyobraz sobie ze bedzie takich 300 graczy i bede ich teleportowal w tasku pod mape caly czas

 

 

JAVA <3

 

Opublikowano
3 minuty temu, Entify napisał:

to teraz wyobraz sobie ze bedzie takich 300 graczy i bede ich teleportowal w tasku pod mape caly czas

To teraz wyobraź sobie, że pakiety możesz wysyłać asynchronicznie, więc możesz wysyłać również dzięki temu graczom pakiet od teleportacji.

Jeśli nie chcesz pakietów to sprawdzaj w PlayerMoveEvent y gracza, i jeśli jest poniżej jakiegoś poziomu to go z powrotem teleportuj na twój poziom y.

Opublikowano

do zamkniecia

//w onjoin teleportuje gracza pod mape

//w onmove sprawdzam czy y of player jest rozne niz cos tam i znow teleportuje pod mape jesli jest rozne

@edit

eh

da sie to jakos poprawic?

[12:33:41 WARN]: Entify_ was kicked for floating too long!
[12:33:41 INFO]: Entify_ lost connection: Flying is not enabled on this server
[12:33:41 INFO]: Entify_ left the game.
>

kod:
	@EventHandler
	public void onMove(PlayerMoveEvent e){
		final Player p = e.getPlayer();
		final Location loc = new Location(p.getWorld(), 0, -100, 0);
		p.teleport(loc);
	}

(sprawdzanie "p.getLocation ==/equals..." itp jest zbedne, bo tak czy siak bedzie teleportowac)

 

 

JAVA <3

 

Opublikowano

God sorka ale byłem zaspany. Oczywiście to był pseudokod, nie Skript :D Znasz mnie...

Po prostu nie wysyłaj graczowi pakietów od mapy, będzie w nicości, chociaż będzie stał na spawnie.

Dodaj mój nick do posta jeśli potrzebujesz pomocy | Piszę pluginy na zlecenie | Pomagam z Linuxem

newlogo.png

Opublikowano
PacketPlayOutMapChunk

przyjdzie ci z pomocą, wystarczy taki packet łapać i wyrzucać go z pipeline'u (netty) lub za pomocą protocolliba, jak zrobisz to Twoja decyzja

 

 

 

 

fKJeAI4.jpg

 

 

 

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...