Skocz do zawartości
  • 0

Zmienna, Przedmioty, GUI.


V4T3

Pytanie

Cześć, to znowu ja ;-:

Chciałem stworzyć skrypt na wzór aukcji, stworzyłem już komendę, która kasuje przedmiot z ekwipunku gracza, uprzednio dodając go do zmiennej.

Jednak w jaki sposób mogę umieścić zmienną, w której zawarty jest przedmiot do GUI? I czy tak w ogóle się da?

Chodzi o to, że udało mi się to zrobić dzięki %player%, ale widzę to tylko ja (logiczne). Jak można to przerobić, aby każdy widział wystawiony przedmiot?

Próbowałem na wiele, wiele, wiele sposobów.

Jeśli chodzi o plugin'y których używam, to: Skript, SKQuery, SKRayFall.

Spoiler

Tak. Wiem, że TuSKe jest niby lepszy do robienia GUI, itp, itd. Nie musicie mi o tym pisać.

 

Odnośnik do komentarza
https://skript.pl/temat/44540-zmienna-przedmioty-gui/
Udostępnij na innych stronach

Rekomendowane odpowiedzi

  • 0
Teraz, V4T3 napisał:

Cześć, to znowu ja ;-:

Chciałem stworzyć skrypt na wzór aukcji, stworzyłem już komendę, która kasuje przedmiot z ekwipunku gracza, uprzednio dodając go do zmiennej.

Jednak w jaki sposób mogę umieścić zmienną, w której zawarty jest przedmiot do GUI? I czy tak w ogóle się da?

Chodzi o to, że udało mi się to zrobić dzięki %player%, ale widzę to tylko ja (logiczne). Jak można to przerobić, aby każdy widział wystawiony przedmiot?

Próbowałem na wiele, wiele, wiele sposobów.

Po prostu użyj jej tak jak zwykłego przedmiotu.

format slot x of player with {_twojItem}

 

Odnośnik do komentarza
https://skript.pl/temat/44540-zmienna-przedmioty-gui/#findComment-279394
Udostępnij na innych stronach

  • 0
2 minuty temu, Kormic napisał:

Po prostu użyj jej tak jak zwykłego przedmiotu.




format slot x of player with {_twojItem}

 

Problem w tym, że jak stworzę taką zmienną (bez tej podłogi nie próbowałem), to już inny gracz nie wstawi przedmiotu.

Dodałem zabezpieczenie, przez które da się wystawić jeden przedmiot: if {items.%player%} is 0:, else: (wcześniej było to przerobione bez %player%), no i mogłem item wystawić tylko ja, nikt inny, bo zmienna była już większa niż 0.

Edytowane przez V4T3
Odnośnik do komentarza
https://skript.pl/temat/44540-zmienna-przedmioty-gui/#findComment-279398
Udostępnij na innych stronach

  • 0
Teraz, V4T3 napisał:

Problem w tym, że jak stworzę taką zmienną (bez tej podłogi nie próbowałem), to już inny gracz nie wstawi przedmiotu.

Dodałem zabezpieczenie, przez które da się wystawić jeden przedmiot: if {items.%player%} is 0: (wcześniej było to przerobione bez %player%), no i mogłem item wystawić tylko ja, nikt inny, bo zmienna była już większa niż 0.

Czy mógłbym rzucić okiem na twój kod? Nie rozumiem twojego problemu. Wyjaśnij go jeszcze raz.

Odnośnik do komentarza
https://skript.pl/temat/44540-zmienna-przedmioty-gui/#findComment-279400
Udostępnij na innych stronach

  • 0

Jeśli masz już zmienne w których jest gracz to lepiej użyć zmiennej grupowej - {items::%player%}  (więcej info tutaj).

Najłatwiej będzie jak pokażesz kod.

Odnośnik do komentarza
https://skript.pl/temat/44540-zmienna-przedmioty-gui/#findComment-279402
Udostępnij na innych stronach

  • 0

Tak wygląda kod skryptu.

Z góry proszę o to, aby mnie nie "hejtować", bo wracam sobie do tej gry po wielu latach, także mam z niektórymi rzeczami problemy.

A, z cena/slot/owner póki co nie korzystam, bo tu jest podobny problem co z wystawianiem przedmiotów.

Odnośnik do komentarza
https://skript.pl/temat/44540-zmienna-przedmioty-gui/#findComment-279404
Udostępnij na innych stronach

  • 0
Teraz, V4T3 napisał:

Tak wygląda kod skryptu.

Z góry proszę o to, aby mnie nie "hejtować", bo wracam sobie do tej gry po wielu latach, także mam z niektórymi rzeczami problemy.

A, z cena/slot/owner póki co nie korzystam, bo tu jest podobny problem co z wystawianiem przedmiotów.

Nikt tu nie ma zamiaru cię hejtować.

Dobra, jeszcze raz, powoli, bez pośpiechu. Jaki dokładnie jest problem? Czego nie wiesz? Jak ten skrypt ma dokładnie działać?

Odnośnik do komentarza
https://skript.pl/temat/44540-zmienna-przedmioty-gui/#findComment-279406
Udostępnij na innych stronach

  • 0
6 minut temu, Kormic napisał:

Nikt tu nie ma zamiaru cię hejtować.

Dobra, jeszcze raz, powoli, bez pośpiechu. Jaki dokładnie jest problem? Czego nie wiesz? Jak ten skrypt ma dokładnie działać?

Dobrze, więc tak - Chcę, aby działał on jak aukcje.

Gracz, drugi gracz, trzeci gracz itd. wpisuje /wystaw, podaje cenę oraz numer slotu na którym item ma się znajdować.

Gdy będzie go trzymać w łapie, przedmiot znika.

 

Problem zaczyna się wtedy, kiedy trzeba wyświetlić w GUI wystawione przedmioty.

Jako, że podałem tutaj %player% (bo nie wiem co można zamiast tego wstawić), wystawiony przedmiot wyświetla się u jednego gracza.

Chciałbym aby każdy kto wystawił przedmiot widział swój item oraz item wystawiony przez inną osobę.

Edytowane przez V4T3
Odnośnik do komentarza
https://skript.pl/temat/44540-zmienna-przedmioty-gui/#findComment-279412
Udostępnij na innych stronach

  • 0
Teraz, V4T3 napisał:

Dobrze, więc tak - Chcę, aby działał on jak aukcje.

Gracz, drugi gracz, trzeci gracz itd. wpisuje /wystaw, podaje cenę oraz numer slotu na którym item ma się znajdować.

Gdy będzie go trzymać w łapie, przedmiot znika.

 

Problem zaczyna się wtedy, kiedy trzeba wyświetlić w GUI wystawione przedmioty.

Jako, że podałem tutaj %player% (bo nie wiem co można zamiast tego wstawić), wystawiony przedmiot wyświetla się u jednego gracza.

Chciałbym, aby każdy kto wystawił przedmiot widział swój item oraz item wystawiony przez inną osobę.

Na twoim miejscu zrobiłbym to poprzez użycie listy zmiennych, w której zawierasz wszystkie dostępne numery slotów i przypisujemy im dane przedmioty.

Przykładowo:

# Lista:
{aukcje::sloty::*}

# Przykłady:
{aukcje::sloty::23} # Slot 23 zawierający diamentowy miecz

I przy ładowaniu wszystkich slotów użyłbyś tej listy.

loop {aukcje::sloty::*}:
	set slot...

 

Odnośnik do komentarza
https://skript.pl/temat/44540-zmienna-przedmioty-gui/#findComment-279414
Udostępnij na innych stronach

  • 0
5 minut temu, Kormic napisał:

Na twoim miejscu zrobiłbym to poprzez użycie listy zmiennych, w której zawierasz wszystkie dostępne numery slotów i przypisujemy im dane przedmioty.

Przykładowo:


# Lista:
{aukcje::sloty::*}

# Przykłady:
{aukcje::sloty::23} # Slot 23 zawierający diamentowy miecz

I przy ładowaniu wszystkich slotów użyłbyś tej listy.


loop {aukcje::sloty::*}:
	set slot...

 

A w jaki sposób mógłbym wyświetlić przedmioty w set slot?

Odnośnik do komentarza
https://skript.pl/temat/44540-zmienna-przedmioty-gui/#findComment-279417
Udostępnij na innych stronach

  • 0
Teraz, V4T3 napisał:

A w jaki sposób mógłbym wyświetlić przedmioty w set slot?

Nie musisz koniecznie tego robić w set slot, możesz to nawet zrobić w format slot. Robisz to tak, jak ci wyżej pokazałem ze zmienną.

Odnośnik do komentarza
https://skript.pl/temat/44540-zmienna-przedmioty-gui/#findComment-279418
Udostępnij na innych stronach

  • 0
1 minutę temu, V4T3 napisał:

w jaki sposób mógłbym wyświetlić przedmioty w set slot

Możesz to zrobić w taki sposób:

set slot 1 of player's current inventory to stone named "123"

podmieniasz 1 na numer slotu który cię interesuje oraz przedmiot.

Odnośnik do komentarza
https://skript.pl/temat/44540-zmienna-przedmioty-gui/#findComment-279419
Udostępnij na innych stronach

  • 0
1 minutę temu, CoFFeIN04 napisał:

Możesz to zrobić w taki sposób:


set slot 1 of player's current inventory to stone named "123"

podmieniasz 1 na numer slotu który cię interesuje oraz przedmiot.

Chodzi mi o wystawienie przedmiotu, który zostanie wrzucony do zmiennej.

@Kormic za chwilę wypróbuje Twój sposób i dam znać.

Odnośnik do komentarza
https://skript.pl/temat/44540-zmienna-przedmioty-gui/#findComment-279420
Udostępnij na innych stronach

  • 0

Otóż napisałeś to inaczej niż podałem, być może to jest winne.

 

variables:
    {aukcje::sloty::*}
    {aukcje::sloty::23}

nie możesz tak tutaj zostawić pustego, to wywali błąd

Odnośnik do komentarza
https://skript.pl/temat/44540-zmienna-przedmioty-gui/#findComment-279428
Udostępnij na innych stronach

  • 0
Teraz, V4T3 napisał:

Wyrzuca błąd, kompletnie nie wiem co tu można zmienić.

Nie, nie...

Źle się za to zabrałeś. Spójrz na mój powyższy przykład ze slotem aukcji. Musisz zapisywać do konkretnego slotu (konkretnego numeru) dany przedmiot.

Następnie przy tworzeniu GUI zapętlasz tę listę (dobrze to zrobiłeś) i ustawiasz slot nr (loop-index parsed as integer) jako {aukcje::sloty::%loop-number%}.

Odnośnik do komentarza
https://skript.pl/temat/44540-zmienna-przedmioty-gui/#findComment-279429
Udostępnij na innych stronach

  • 0
4 minuty temu, CoFFeIN04 napisał:

Otóż napisałeś to inaczej niż podałem, być może to jest winne.

 


variables:
    {aukcje::sloty::*}
    {aukcje::sloty::23}

nie możesz tak tutaj zostawić pustego, to wywali błąd

No ale o co mam uzupełnić te zmienne? Nie rozumiem :/

3 minuty temu, Kormic napisał:

Nie, nie...

Źle się za to zabrałeś. Spójrz na mój powyższy przykład ze slotem aukcji. Musisz zapisywać do konkretnego slotu (konkretnego numeru) dany przedmiot.

Następnie przy tworzeniu GUI zapętlasz tę listę (dobrze to zrobiłeś) i ustawiasz slot nr (loop-index parsed as integer) jako {aukcje::sloty::%loop-number%}.

set player's current inventory's slot 0 to {aukcje::sloty::%loop-number%} with lore "Cena: 10 Monet." Daje podobny efekt - błąd.

Odnośnik do komentarza
https://skript.pl/temat/44540-zmienna-przedmioty-gui/#findComment-279431
Udostępnij na innych stronach

  • 0
Teraz, V4T3 napisał:

No ale o co mam uzupełnić te zmienne? Nie rozumiem :/

Sekcja 'variables' jest u ciebie zbędna.

Teraz, V4T3 napisał:

set player's current inventory's slot 0 to {aukcje::sloty::%loop-number%} with lore "Cena: 10 Monet." Daje podobny efekt - błąd.

Pokaż cały kod, ponownie.

Odnośnik do komentarza
https://skript.pl/temat/44540-zmienna-przedmioty-gui/#findComment-279433
Udostępnij na innych stronach

  • 0
# Jeśli variabyls jest zbędne, wyrzuciłem.

command /aukcje:
	trigger:
		wait 1 tick
		open chest inventory with 6 rows named "Aukcje" to player
		wait 3 ticks
		loop {aukcje::sloty::*}:
			set player's current inventory's slot 0 to {aukcje::sloty::%loop-number%} with lore "Cena: 10 Monet."

command /wyczysc_itemy:
	trigger:
		clear {aukcje::sloty::*}

command /wystaw [<integer>] [<integer>]:
	trigger:
		if arg 1 is set:
			if arg 2 is set:
				if {aukcje::sloty::*} is 0:
					# Dodawanie przedmiotu do zmiennej i kasowanie go z ekwipunku:
					set {aukcje::sloty::*} to player's tool
				else:
					send "&c► Wystawiłeś już przedmiot. ◄"
			else:
				send "nie2."
		else:
			send "nie1."

 

Odnośnik do komentarza
https://skript.pl/temat/44540-zmienna-przedmioty-gui/#findComment-279434
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ę...