Skocz do zawartości
  • 0

Drop cobble do eq


SkrytyZiomus
 Udostępnij

Pytanie

Witam, poprosze sk na to ze gdy gracz rozkopuje stone to cobble leci do eq a nie na ziemie, mialem cos w stylu on mine -> cancel event -> set block to air -> add cobblestone to player, ale nie chce na cancel event set block to air, tylko na jakas inna metode typu cancel drops i add cobblestone to player.

Odnośnik do komentarza
Udostępnij na innych stronach

17 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
Teraz, SkrytyZiomus napisał:

Witam, poprosze sk na to ze gdy gracz rozkopuje stone to cobble leci do eq a nie na ziemie, mialem cos w stylu on mine -> cancel event -> set block to air -> add cobblestone to player, ale nie chce na cancel event set block to air, tylko na jakas inna metode typu cancel drops i add cobblestone to player.

Kurczę, to ty wszystko wiesz. Skoro cancel drops na bloki u ciebie nie działa, znaczy to, że posiadasz wersję serwera niższą niż 1.12.2.

W takim wypadku:

on mine of stone:
	set {cancelCobblestone} to true
	add 1 cobblestone to player's inventory
	
on item spawn of cobblestone:
	{cancelCobblestone} is set
	cancel event
	clear {cancelCobblestone}

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 minutę temu, Kormic napisał:

Kurczę, to ty wszystko wiesz. Skoro cancel drops na bloki u ciebie nie działa, znaczy to, że posiadasz wersję serwera niższą niż 1.12.2.

W takim wypadku:


on mine of stone:
	set {cancelCobblestone} to true
	add 1 cobblestone to player's inventory
	
on item spawn of cobblestone:
	{cancelCobblestone} is set
	cancel event
	clear {cancelCobblestone}

 

Tak, serwer posiadam 1.8, nie chce to robic na zmiennych mam juz jedna odnosnie tego czy gracz ma wlaczone wypadanie cobble czy nie.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 minutę temu, Kormic napisał:

Ale nie ma innego sposobu. Albo cancel drops, albo zmienne. Wybieraj.

on mine of stone:
	if player's tool is not enchanted with silk touch:
		if {WypadanieCobble::%player%} is "&aWlaczone":
			giveOrDropItem(player, cobblestone)

Mam cos takiego, jesli gracz ma full eq to wypada, tylko ze trzeba jakos zatrzymac wypadanie cobblestone jesli gracz rozkopie stone, nie masz innych pomyslow?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
2 minuty temu, SkrytyZiomus napisał:

on mine of stone:
	if player's tool is not enchanted with silk touch:
		if {WypadanieCobble::%player%} is "&aWlaczone":
			giveOrDropItem(player, cobblestone)

Mam cos takiego, jesli gracz ma full eq to wypada, tylko ze trzeba jakos zatrzymac wypadanie cobblestone jesli gracz rozkopie stone, nie masz innych pomyslow?

Jeżeli pomimo pełnego ekwipunku chcesz sprawić, aby bruk nie wypadał, to musisz sprawdzać przy dawaniu graczu do ekwipunku bruku czy jego ekwipunek jest pełny za pomocą warunku:

if player has enough space for 1 cobblestone:

Mimo wszystko wątpię czy to właśnie miałeś na myśli. Jeżeli powiesz dokładniej co ma się dziać, to będę w stanie pomóc. Pokaż jak ta funkcja wygląda.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 minutę temu, Kormic napisał:

Jeżeli pomimo pełnego ekwipunku chcesz sprawić, aby bruk nie wypadał, to musisz sprawdzać przy dawaniu graczu do ekwipunku bruku czy jego ekwipunek jest pełny za pomocą warunku:


if player has enough space for 1 cobblestone:

Mimo wszystko wątpię czy to właśnie miałeś na myśli. Jeżeli powiesz dokładniej co ma się dziać, to będę w stanie pomóc. Pokaż jak ta funkcja wygląda.

Chodzi o to ze podstawowo w minecraft jest ze gdy rozkopie cobble to wypada on na ziemie, a chce zrobic ze jesli gracz ma miejsce na ten cobble to lapie go do eq a nie wypada na ziemie, jesli nie ma miejsca to wypada na ziemie.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Teraz, SkrytyZiomus napisał:

Chodzi o to ze podstawowo w minecraft jest ze gdy rozkopie cobble to wypada on na ziemie, a chce zrobic ze jesli gracz ma miejsce na ten cobble to lapie go do eq a nie wypada na ziemie, jesli nie ma miejsca to wypada na ziemie.

W takim razie proszę.

on mine of stone:
	if player has enough space for 1 cobblestone:
		set {cancelCobblestone} to true
		add 1 cobblestone to player's inventory
	
on item spawn of cobblestone:
	{cancelCobblestone} is set
	cancel event
	clear {cancelCobblestone}

EDIT:

Zedytowałem skrypt, gdyż przy jego użyciu wypadałyby 2 bloki bruku.

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

  • 0
8 minut temu, Kormic napisał:

W takim razie proszę.


on mine of stone:
	if player has enough space for 1 cobblestone:
		set {cancelCobblestone} to true
		add 1 cobblestone to player's inventory
	
on item spawn of cobblestone:
	{cancelCobblestone} is set
	cancel event
	clear {cancelCobblestone}

EDIT:

Zedytowałem skrypt, gdyż przy jego użyciu wypadałyby 2 bloki bruku.

Kurde no slabo bo to robi strasznie duzo linijek, moze komus sie uda to zrobic bez zmiennych, cos zrobi zeby po prostu anulowalo drop/nie wyrzucalo na ziemie cobble po rozkopaniu stone.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Teraz, SkrytyZiomus napisał:

Kurde no slabo bo to robi strasznie duzo linijek, moze komus sie uda to zrobic bez zmiennych, cos zrobi zeby po prostu anulowalo drop/nie wyrzucalo na ziemie cobble po rozkopaniu stone.

Strasznie dużo linijek? O czym ty mówisz? To przecież tylko jedna zmienna...

Dodam, że nie zrobisz tego inaczej na wersji poniżej 1.12.2, nawet poprzez Bukkit/Spigot API. Metoda wycofująca drop bloków została wprowadzona właśnie w tej wersji.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Teraz, Kormic napisał:

Strasznie dużo linijek? O czym ty mówisz? To przecież tylko jedna zmienna...

Dodam, że nie zrobisz tego inaczej na wersji poniżej 1.12.2, nawet poprzez Bukkit/Spigot API. Metoda wycofująca drop bloków została wprowadzona właśnie w tej wersji.

W variables robi straszny spam od jednego gracza, a co dopiero przy 100 graczach np.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

To jest zmienna globalna, utworzy się tylko raz, a później wyczyści. Tworzy to tylko ryzyko, że w momencie kiedy dużo osób będzie kopać coś na wysokiej wydajności z haste, to skrypt będzie niepoprawnie działał, właśnie przez to że zmienna jest nakładana na wszystkich graczy.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Teraz, LeviBoyPL napisał:

To jest zmienna globalna, utworzy się tylko raz, a później wyczyści. Tworzy to tylko ryzyko, że w momencie kiedy dużo osób będzie kopać coś na wysokiej wydajności z haste, to skrypt będzie niepoprawnie działał, właśnie przez to że zmienna jest nakładana na wszystkich graczy.

Co do pierwszej części, w pełni się zgadzam. Co do drugiej, to również prawda, aczkolwiek ciężko to w jakiś lepszy sposób zorganizować. W 'on item spawn' rzecz jasna nie przechwycisz playera.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

przez pare sekund kopania mam takich ponad 200 linijek

ancelcobblestone, boolean, 01
cancelcobblestone, null, 
cancelcobblestone, boolean, 01
cancelcobblestone, null, 
cancelcobblestone, boolean, 01
cancelcobblestone, null, 
cancelcobblestone, boolean, 01
cancelcobblestone, boolean, 01
cancelcobblestone, boolean, 01
cancelcobblestone, boolean, 01
cancelcobblestone, boolean, 01
cancelcobblestone, boolean, 01
cancelcobblestone, boolean, 01
cancelcobblestone, boolean, 01
cancelcobblestone, boolean, 01
cancelcobblestone, boolean, 01
cancelcobblestone, boolean, 01
cancelcobblestone, boolean, 01
cancelcobblestone, boolean, 01
cancelcobblestone, boolean, 01
cancelcobblestone, boolean, 01
cancelcobblestone, boolean, 01
cancelcobblestone, boolean, 01

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
8 godzin temu, SkrytyZiomus napisał:

2.2

Możliwe, że w tej wersji system zmiennych w Skript jeszcze nie był na tyle wydajny, aby móc to obsłużyć. Równie dobrze może być i tak, że nawet teraz Skript nie jest w stanie tego ogarnąć. Sprawdzę jeszcze dzisiaj jak się zapisują na wersji 2.5.1 te zmienne i dam znać.

Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Nieaktywny
Odpowiedz na pytanie...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...