Skocz do zawartości
  • 0

Potrzebuję skrypt na fly na działce


Pytanie

Potrzebuje skrypt na komendę /fly na działce, oczywiście z permisją dla rang premium.
Próbowałem wcześniej napisać taki skrypt ale nie działał poprawnie. Używam pluginu protectionstones, dzięki za każdą odpowiedź.

Odnośnik do komentarza
https://skript.pl/temat/57435-potrzebuj%C4%99-skrypt-na-fly-na-dzia%C5%82ce/
Udostępnij na innych stronach

5 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
Godzinę temu, xKnozekk napisał:

Potrzebuje skrypt na komendę /fly na działce, oczywiście z permisją dla rang premium.
Próbowałem wcześniej napisać taki skrypt ale nie działał poprawnie. Używam pluginu protectionstones, dzięki za każdą odpowiedź.

Z początku próbowałem znaleźć odpowiednią flagę w WorldGuard, jednak zauważyłem, że próba pogodzenia tego z faktem, iż każdy gracz może posiadać wiele działek, może być trudna.

Tak więc przejrzałem ProtectionStones API i napisałem dla Pana poniższy skrypt. Wydaje mi się, że dobrze zrozumiałem zasadę działania pluginu i jego API. Jeśli tak, skrypt powinien działać tak długo jak trzymamy się założenia, że działki różnych graczy nie mogą na siebie nachodzić. Istnieje jeszcze ryzyko, że skript-reflect nie będzie w stanie rzutować typu String na typ UUID (mówię o wyrażeniu 'player's uuid'.

Ostatnia informacja - latanie jest jedynie możliwe dla pierwotnego właściciela działki.

Do działania skryptu wymagany jest dodatek skript-reflect.

EDIT:

Może Pan zauważyć w skrypcie zakomentowaną linijkę w listenerze zdarzenia 'on any move:'. Dodałem ją gdyby Pan przewidywał jakąś permisję poza byciem operatorem serwera.

import:
	dev.espi.protectionstones.PSRegion
	
command /fly:
	executable by: players
	permission: server.rank.premium
	permission: &cNie posiadasz wystarczających uprawnień do użycia tej komendy.
	trigger:
		if player's flight mode is true:
			send "&cWyłączyłeś latanie w obrębie tego regionu."
		set {_closestPSRegion} to PSRegion.fromLocation(player's location)
		if {_closestPSRegion}.isOwner(player's uuid) is false:
			send "&cNie możesz tutaj latać." to player
			stop
		set player's flight mode to true
		send "&aWłączyłeś latanie w obrębie tego regionu." to player
	
on player move:
	player's flight mode is true
	player is not op
	#player doesn't have permission "server.your.permission"
	set {_closestPSRegion} to PSRegion.fromLocation(player's location)
	{_closestPSRegion}.isOwner(player's uuid) is false
	send "&cNie możesz tutaj latać." to player
	set player's flight mode to false
	set {protectionStones::noFallDamage::%player's uuid%} to true
	
on damage of player:
	damage cause is fall
	{protectionStones::noFallDamage::%player's uuid%} is true
	cancel event
	clear {protectionStones::noFallDamage::%player's uuid%}

 

Edytowane przez Kormic
Odnośnik do komentarza
https://skript.pl/temat/57435-potrzebuj%C4%99-skrypt-na-fly-na-dzia%C5%82ce/#findComment-342022
Udostępnij na innych stronach

  • 0

Jeszcze jak będziesz robił poprawki, to możesz dodać coś w stylu "jesli region posiada ps w swojej nazwie". I żeby nie usuwało fly`a przy upadku, w sensie nie zadawało obrażeń, po prostu możesz podłączyć /fly z essentials.

Odnośnik do komentarza
https://skript.pl/temat/57435-potrzebuj%C4%99-skrypt-na-fly-na-dzia%C5%82ce/#findComment-342050
Udostępnij na innych stronach

  • 0
W dniu 28.04.2024 o 18:58, xKnozekk napisał:

Jeszcze jak będziesz robił poprawki, to możesz dodać coś w stylu "jesli region posiada ps w swojej nazwie". I żeby nie usuwało fly`a przy upadku, w sensie nie zadawało obrażeń, po prostu możesz podłączyć /fly z essentials.

Nie ma Pan prawdopodobnie dodatku "Skript-mirror" lub "Skript-reflect" (w zależności od wersji serwera) który jest potrzebny do importowania paketów w bukkicie : D. 

Odnośnik do komentarza
https://skript.pl/temat/57435-potrzebuj%C4%99-skrypt-na-fly-na-dzia%C5%82ce/#findComment-342113
Udostępnij na innych stronach

  • 0
28 minut temu, Hiri12 napisał:

Nie ma Pan prawdopodobnie dodatku "Skript-mirror" lub "Skript-reflect" (w zależności od wersji serwera) który jest potrzebny do importowania paketów w bukkicie : D. 

Z początku stwierdziłem, że nie będę odpowiadał Zleceniodawcy, ponieważ pogrubionym tekstem w moim poście napisałem, że do działania skryptu wymagany jest dodatek skript-reflect.
Jednak Pan swoim postem sprawił, że mam chęć odpowiedzieć, ale tylko na Pana post.

  1. Proszę pamiętać, że dodatek skript-mirror już dawno odszedł w zapomnienie. Nawet na wersji 1.8.8 (notabene uwielbianej przez wielu graczy) jest możliwość zainstalowania Skript 2.5 autorstwa Matocolotoe, a następnie zainstalowania dodatku skript-reflect na serwerze.
  2. Naprostuję pewną rzecz. Generalnie napisał Pan prawdę, że jest on potrzebny do pobierania głównie klas z Bukkit API (rozumiem, że taki był tutaj zastosowany skrót myślowy), jednakże w tym przypadku użyłem go w celu podłączenia się do API pluginu ProtectionStones.
Edytowane przez Kormic
Odnośnik do komentarza
https://skript.pl/temat/57435-potrzebuj%C4%99-skrypt-na-fly-na-dzia%C5%82ce/#findComment-342115
Udostępnij na innych stronach

  • 0
57 minut temu, Kormic napisał:

Z początku stwierdziłem, że nie będę odpowiadał Zleceniodawcy, ponieważ pogrubionym tekstem w moim poście napisałem, że do działania skryptu wymagany jest dodatek skript-reflect.
Jednak Pan swoim postem sprawił, że mam chęć odpowiedzieć, ale tylko na Pana post.

  1. Proszę pamiętać, że dodatek skript-mirror już dawno odszedł w zapomnienie. Nawet na wersji 1.8.8 (notabene uwielbianej przez wielu graczy) jest możliwość zainstalowania Skript 2.5 autorstwa Matocolotoe, a następnie zainstalowania dodatku skript-reflect na serwerze.
  2. Naprostuję pewną rzecz. Generalnie napisał Pan prawdę, że jest on potrzebny do pobierania głównie klas z Bukkit API (rozumiem, że taki był tutaj zastosowany skrót myślowy), jednakże w tym przypadku użyłem go w celu podłączenia się do API pluginu ProtectionStones.

Co do drugiego to nie ukrywam, że nie wiedziałem jak to określić dla tego napisałem to tak jak napisałem. Po prostu nie wpadło mi do głowy, że istnieje cos takiego jak API i to wszystko. Co do pierwszego widziałem, że dużo osób korzysta z Skript-mirror na wersję 1.8.8 (Przez Pana powyżej wspomnianą) więc (jako iż osobiscie korzystam tylko z Skript-reflect) myślałem, że na wersje 1.8.8 lepszy będzie Skript-mirror z uwagi na to, że na tą wersję pierwotnie był wydany. Mam nadzieje, że Pan to zrozumie, pozdrawiam : D.

Edytowane przez Hiri12
Odnośnik do komentarza
https://skript.pl/temat/57435-potrzebuj%C4%99-skrypt-na-fly-na-dzia%C5%82ce/#findComment-342116
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.

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

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