Skocz do zawartości
  • 0

Problem ||Kopiowanie z GUI przy użyciu Skrzynki.


DeepesT
 Udostępnij

Pytanie

8 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
Teraz, DeepesT napisał:

Witam,mam problem posiadam skrypt na /sklep ale zauważyłem iż podczas wykonywania komendy /sklep i jednoczesnym otwarciu skrzynki istnieje prawdopodobieństwo skopiowania gui. Dziękuję za Pomoc.Pozdrawiam

Czy masz jakiś delay w skrypcie? Przykładowo 'wait 1 tick' przed otwarciem GUI.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Teraz, DeepesT napisał:

jak najbardziej używam format slot 

W takim razie zalecam przesiadkę na set slot, format slot jest zbugowany, można przez to czasem wykradać itemki.

Dam jeszcze przykład jak używać 'set slot' ze Skripta:

command /test:
	trigger:
		open chest with 3 rows named "TEST" to player
		loop 27 times:
			set slot loop-number - 1 of player's current inventory to black stained glass pane named " "
		set slot 13 of player's current inventory to stone named "&aKliknij mnie!"

on inventory click:
	if name of player's current inventory is not "TEST":
		stop
	if clicked inventory is player's inventory:
		stop
	cancel event
	if clicked slot is 13:
		close player's inventory
		send "&aKliknales mnie!" to player

Jak widać, wszelkie akcje wykonuje się w 'on inventory click'.

Komenda test ustawia GUI z czarnym szkłem i kamieniem pośrodku.

W 'on inventory click' mamy 2 warunki sprawdzające kolejno czy nazwa obecnie otwartego GUI gracza to "TEST", jeśli nie, trigger jest zatrzymywany 'stop' i nic dalej się nie dzieje. Kolejny warunek sprawdza czy klikniętym GUI jest skrzynka, a nie ekwipunek gracza, jeśli kliknięto ekwipunek gracza, nic się nie dzieje (stop). Oczywiście te warunki możesz zrobić równie dobrze tak:

on inventory click:
	if name of player's current inventory is "TEST":
		if clicked inventory is not player's inventory:
			cancel event
			if clicked slot is 13:
				close player's inventory
				send "&aKliknales mnie!" to player

lecz w mojej ocenie wygląda to dość brzydko. Czyli stop można dać gdy "odwracamy" (tak na nie, nie na tak) warunek.

Dalej mamy cancel event na całe GUI, jeśli chcesz zablokować wyjmowanie konkretnych itemków to dajesz cancel event tylko w konkretnych klikniętych slotach, np.

if clicked slot is 13:
	cancel event
	send "&aKliknales mnie!" to player
if clicked slot is 14:
	send "&aWyciagnales szybe!" to player

 

Mam nadzieję, że wyjaśniłem wszystko jak trzeba. Przy otwieraniu GUI w Skript'cie niepotrzebne jest 'wait 1 tick', natomiast w SkQuery z tego co pamiętam to już tak.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
11 minut temu, DeepesT napisał:

A mam pytanie czy istnieje możliwosc aby automatycznie po zakupie przedmiotu w /sklep odejmowało z konta pieniądze 

Tak, jeśli posiadasz Vault i jakiś plugin wspierający ekonomię, np. Essentials.

Robisz to w ten sposób:

add 100 to player's money # tak dodajesz do konta gracza,
remove 100 from player's money # a tak usuwasz z konta gracza

 

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