Skocz do zawartości
  • 0

Jak najlepiej zabezpieczyć itemy w gui


Uzi
 Udostępnij

Pytanie

8 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
  • Dodawać opóźnienie po otwarciu GUI, ale przed formatowaniem,
  • Otwierać GUI, z gotowymi już itemami,
  • Blokować klikanie i wyrzucanie itemków podczas posiadania GUI,
  • Blokować otwieranie innego GUI/inventory/klikanie na skrzynki przez jakiś czas po otworzeniu jednego,
  • Zamykać GUI gracza, gdy prosto z niego otwierane jest kolejne,
  • Blokować zamykanie GUI przez jakiś czas po jego otwarciu,
  • Ograniczać ilość kodu jaka wykonuje się po kliknięciu,
  • Przed wykonaniem czegokolwiek, sprawdzać czy nazwa GUI gracza jest zgodna z zakładaną.

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
2 godziny temu, LuckyPotato napisał:
  • Dodawać opóźnienie po otwarciu GUI, ale przed formatowaniem,
  • Otwierać GUI, z gotowymi już itemami,
  • Blokować klikanie i wyrzucanie itemków podczas posiadania GUI,
  • Blokować otwieranie innego GUI/inventory/klikanie na skrzynki przez jakiś czas po otworzeniu jednego,
  • Zamykać GUI gracza, gdy prosto z niego otwierane jest kolejne,
  • Blokować zamykanie GUI przez jakiś czas po jego otwarciu,
  • Ograniczać ilość kodu jaka wykonuje się po kliknięciu,
  • Przed wykonaniem czegokolwiek, sprawdzać czy nazwa GUI gracza jest zgodna z zakładaną.

 

Pokażesz jakiś przykład + jakbym to zrobił w chestcommand byłoby ok tnz. skrypt przenieść tam ?

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

  • 0

opóźnienie:

command /test [<text>]:
  	trigger:
  		open chest with 3 rows named "" to player
  		wait 2 tick #To jest to opóźnienie
  		format slot...

Otwieranie z gotowymi itemkami: (Nie jestem pewny)

command /test [<text>]:
  	trigger:
  		set {_open} to chest with 3 rows
  		set slot 1 of {_open} to diamond
  		open {_open} to player

Blokowanie klikania:

on inventory click:
	if inventory name of current inventory of player is "Test":
		cancel event
command /test [<text>]:
  	trigger:
  		open chest with 3 rows named "TEST" to player
  		set {ot::%player%} to true
on inventory open:
  	if inventory name of current inventory of player is not "TEST":
      if {ot::%player%} is true:
          close player's inventory #lub cancel event 

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
variable:
	{openGUi::%player%} = false
command /gui [<text="">]
	trigger:
		open chest with 1 rows named "blabla" to player
		set {openGui::%player%} to true
		format slot 0 of player with 1 of diamond named "blabla" with lore "twojelinijki||itemLocked" to be unstealable
		stop
on inventory close: # po zamknieciu gui
	if {openGui::%player%} is true:
		loop all items in player's inventory:
			if lore of loop-item contains "itemLocked":
				remove loop-item from player
		set {openGui::%player%} to false

W ten sposób ;)

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
9 godzin temu, KCPRRR napisał:
variable:
	{openGUi::%player%} = false
command /gui [<text="">]
	trigger:
		open chest with 1 rows named "blabla" to player
		set {openGui::%player%} to true
		format slot 0 of player with 1 of diamond named "blabla" with lore "twojelinijki||itemLocked" to be unstealable
		stop
on inventory close: # po zamknieciu gui
	if {openGui::%player%} is true:
		loop all items in player's inventory:
			if lore of loop-item contains "itemLocked":
				remove loop-item from player
		set {openGui::%player%} to false

W ten sposób ;)

Nawet twój przykład jakoś nie działa :/

 

[20:18:13] [Server thread/ERROR]: indentation error: expected 0 tabs, but found 1 tab (esa.sk, line 4: trigger:")
[20:18:13] [Server thread/ERROR]: indentation error: expected 0 tabs, but found 2 tabs (esa.sk, line 5: open chest with 1 rows named "blabla" to player")
[20:18:13] [Server thread/ERROR]: indentation error: expected 0 tabs, but found 2 tabs (esa.sk, line 6: set {openGui::%player%} to true")
[20:18:13] [Server thread/ERROR]: indentation error: expected 0 tabs, but found 2 tabs (esa.sk, line 7: format slot 0 of player with 1 of diamond named "blabla" with lore "twojelinijki||itemLocked" to be unstealable")
[20:18:13] [Server thread/ERROR]: indentation error: expected 0 tabs, but found 2 tabs (esa.sk, line 8: stop")
[20:18:13] [Server thread/ERROR]: can"t understand this event: "variable" (esa.sk, line 1: variable:")
[20:18:13] [Server thread/ERROR]: invalid line - all code has to be put into triggers (esa.sk, line 3: command /gui []")

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

aj masakra xd juz naprawiam.
 

variables:
	{openGui::%player%} = false
command /gui [<text="">]:
	trigger:
		open chest with 1 rows named "blabla" to player
		set {openGui::%player%} to true
		format slot 0 of player with 1 of diamond named "blabla" with lore "twojelinijki||itemLocked" to be unstealable
		stop
on inventory close: # po zamknieciu gui
	if {openGui::%player%} is true:
		loop all items in player's inventory:
			if lore of loop-item contains "itemLocked":
				remove loop-item from player
		set {openGui::%player%} to false

Ogólnie, źle to skopiowałeś.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
4 godziny temu, KCPRRR napisał:

aj masakra xd juz naprawiam.
 

variables:
	{openGui::%player%} = false
command /gui [<text="">]:
	trigger:
		open chest with 1 rows named "blabla" to player
		set {openGui::%player%} to true
		format slot 0 of player with 1 of diamond named "blabla" with lore "twojelinijki||itemLocked" to be unstealable
		stop
on inventory close: # po zamknieciu gui
	if {openGui::%player%} is true:
		loop all items in player's inventory:
			if lore of loop-item contains "itemLocked":
				remove loop-item from player
		set {openGui::%player%} to false

Ogólnie, źle to skopiowałeś.

a to sorry, już działa

A co jeśli chcę aby jeszcze ten item wykonywał daną komendę ?

Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

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

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