Skocz do zawartości
  • 0

jak zapisać i odczytać gui w skript


TheVloryn6336

Pytanie

mam taki kod 

function towar(g: player):
	set {_gui} to chest inventory with 3 rows named "Towar"
	set {_nr} to 0
	loop 27 times:
		set slot {_nr} of {_gui} to black glass pane named "&3..."
		add 1 to {_nr}
	set slot 11 of {_gui} to air
	set slot 12 of {_gui} to air
	set slot 13 of {_gui} to air
	set slot 14 of {_gui} to air
	set slot 15 of {_gui} to air
	close {_g}'s inventory
	open {_gui} to {_g}


on right click on sign:
	if line 1 of block = "&9[Sklep]":
		if line 3 of block = "&a%player%":
			towar(player)

i chciał bym przy otwarciu gui o nazwie "Towar" odczytać stan sprzed zamknięcia a przy zamknięciu zapisać. można jakoś to zrobić? jeszcze chciał bym się zapytać czy można by było wtedy jakoś sprawdzać czy w tym gui jest przeedmiot z lini 2 tabliczki

Odnośnik do komentarza
Udostępnij na innych stronach

6 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
1 minutę temu, TheVloryn6336 napisał:

chciał bym przy otwarciu gui o nazwie "Towar" odczytać stan sprzed zamknięcia a przy zamknięciu zapisać.

Poszukaj skryptów na zapis ekwipunku i/lub jakieś magazyny. Tam masz zrobiony zapis i odczyt.

Zresztą, nawet ostatnio odpowiadałem jednemu użytkownikowi na forum na te pytanie (w dziale "Skript > Pytania i problemy").

2 minuty temu, TheVloryn6336 napisał:

jeszcze chciał bym się zapytać czy można by było wtedy jakoś sprawdzać czy w tym gui jest przeedmiot z lini 2 tabliczki

Musiałbyś sobie parse'ować linijkę 2 (lub jej fragment) na item i sprawdzać czy te zapisane GUI zawiera ten przedmiot.

set {_i} to (line 2 of targeted block) parsed as item
{_i} is set # Sprawdzanie czy parse'owanie się powiodło
# Dalszy kod

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
9 minut temu, Kormic napisał:

Poszukaj skryptów na zapis ekwipunku i/lub jakieś magazyny. Tam masz zrobiony zapis i odczyt.

Zresztą, nawet ostatnio odpowiadałem jednemu użytkownikowi na forum na te pytanie (w dziale "Skript > Pytania i problemy").

Musiałbyś sobie parse'ować linijkę 2 (lub jej fragment) na item i sprawdzać czy te zapisane GUI zawiera ten przedmiot.


set {_i} to (line 2 of targeted block) parsed as item
{_i} is set # Sprawdzanie czy parse'owanie się powiodło
# Dalszy kod

 

a jak można sprawdzić czy gracz zamknął gui? 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
9 minut temu, Kormic napisał:

Poprzez event 'on inventory close'.

Sprawdzasz w nim czy 'name of player's current inventory' to nazwa tego twojego GUI.

on inventory close:
	if name of event-inventory is "Towar":
		loop 27 times:
			set {saveshop::%player%::%loop-number - 1%} to slot (loop-number - 1) of {_gui}

wyskakuje mi błąd "There's not player in a function event" 13 linijka czyli set {saveshop::%player%::%loop-number - 1%} to slot (loop-number - 1) of {_gui}

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

  • 0
9 minut temu, TheVloryn6336 napisał:

on inventory close:
	if name of event-inventory is "Towar":
		loop 27 times:
			set {saveshop::%player%::%loop-number - 1%} to slot (loop-number - 1) of {_gui}

wyskakuje mi błąd "There's not player in a function event" 13 linijka czyli set {saveshop::%player%::%loop-number - 1%} to slot (loop-number - 1) of {_gui}

Pokaż cały kod.

Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

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