Skocz do zawartości
  • 0

format slot w loopie


RexuTVs
 Udostępnij

Pytanie

Witam, mam pewien problem:

loop {_cos::*}:
	set {_x} to loop-value
	format slot 1 of player with 1 of stone to run [make player execute "komenda %{_x}%"]

i takie coś nie działa. Chciałem aby w argumencie pierwszym w komendzie było to co aktualnie loopuje. Ma ktoś na to jakieś inne rozwiązanie? Z góry dzięki.

Odnośnik do komentarza
Udostępnij na innych stronach

16 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
40 minut temu, RexuTVs napisał:

Wiem, dlatego zapytałem się czy ktoś ma na to inny sposób.

Zakładając że lista jest indeksowana liczbami od 1 w górę wystarczy zrobić coś takiego:

loop {_lista::*}:
	set {_slot} to loop-index parsed as integer
	format slot {_slot} - 1 of player (...)

Jeżeli nie to trzeba dopisać kawałek kodu, który będzie sobie tworzył ten numer slotu:

set {_slot} to 0
loop {_lista::*}:
	format slot {_slot} of player (...)
	#ewentualny kod
	add 1 to {_slot}

 

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

  • 0
37 minut temu, PanMaruda napisał:

Zakładając że lista jest indeksowana liczbami od 1 w górę wystarczy zrobić coś takiego:

loop {_lista::*}:
	set {_slot} to loop-index parsed as integer
	format slot {_slot} - 1 of player (...)

Jeżeli nie to trzeba dopisać kawałek kodu, który będzie sobie tworzył ten numer slotu:

set {_slot} to 0
loop {_lista::*}:
	format slot {_slot} of player (...)
	#ewentualny kod
	add 1 to {_slot}

 

Nie o to mi chodzi. Ja ten skrypt podałem przykładowo, a chodzi mi o sekcje "run".

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
7 minut temu, RexuTVs napisał:

no właśnie nie działa bo na {_x} przypisuje się ciągle kolejna wartość, która jest używana w sekcji run.

Czyli chcesz żeby ci przypisywało pierwszą, ostatnią czy jak?

 

Nie wiem jak inni ale ja z twoich wypowiedzi nie rozumiem nic. Najlepiej by było gdybyś napisał dokładnie ze szczegółami co chcesz uzyskać i dołączył swój kod, wraz z zawartością zmiennej oraz opisał problem który występuje.

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

  • 0
add "cos" and "cos2" and "cos3" to {_COSSS::*}
set {_l} to 0
loop {_COSSS::*}:
	add 1 to {_l}
	set {_x} to loop-value
	format slot {_l} of player with 1 of stone to run [make player execute "komenda %{_x}%"]

Czyli chodziło mi o to aby po kliknięciu wykonała się komenda "komenda" z argumentem, który loopuje. Czyli są 3 stone w gui i jak klikasz 1 to odpalasz komendę "komenda cos", jak 2 to "komenda cos2" itp ale to nie działało. Jak na razie zrobiłem to całkiem na około i dodałem coś w stylu

if {_x} is "cos":
	format slot {_l} of player with 1 of stone to run [make player execute "komenda cos"]
if {_x} is "cos2":
	format slot {_l} of player with 1 of stone to run [make player execute "komenda cos2"]
if {_x} is "cos3":
	format slot {_l} of player with 1 of stone to run [make player execute "komenda cos3"]

Jak ktoś ma jakiś pomysł to nadal można podesłać. Zrobię to wtedy porządnie.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
command /komenda [<text>]:
	trigger:
		send arg


on rightclick:
	open chest with 1 row to player
	add "cos" and "cos2" and "cos3" to {_COSSS::*}
	loop {_COSSS::*}:
		set {_slot} to loop-index parsed as integer
		format slot ({_l} - 1) of player with 1 of stone to run [make player execute command "komenda %loop-value%"]

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
7 minut temu, RexuTVs napisał:

nie o to mi chodziło. Ja dałem tylko przykład i nie pomyślałem o slocie. Chodzi o sekcje run.

to nie działa w ogóle.

nie rozumiem co chcesz osiągnąć po przez ten skrypt, ale z tego co napisałeś co chodzi Ci o sekcję run więc mogę zasugerować aby nie korzystać z format slot tylko z tego:

command /komenda:
	trigger:
  		open chest with 1 row named "Skrzynka" to player
		set player's current inventory's slot 0 to diamond named "se nazwij"

on inventory click:
	if inventory name of current inventory of player is "Skrzynka":
		if clicked slot is 0:
			#Dalszy kod
  
  

Dzięki temu sposobowi będziesz mógł przypisać sobie co chcesz do odpowiedniemu slocie w danej skrzynce nie bawiąc się z format slot i run command

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
39 minut temu, Legal95 napisał:

nie rozumiem co chcesz osiągnąć po przez ten skrypt, ale z tego co napisałeś co chodzi Ci o sekcję run więc mogę zasugerować aby nie korzystać z format slot tylko z tego:

command /komenda:
	trigger:
  		open chest with 1 row named "Skrzynka" to player
		set player's current inventory's slot 0 to diamond named "se nazwij"

on inventory click:
	if inventory name of current inventory of player is "Skrzynka":
		if clicked slot is 0:
			#Dalszy kod
  
  

Dzięki temu sposobowi będziesz mógł przypisać sobie co chcesz do odpowiedniemu slocie w danej skrzynce nie bawiąc się z format slot i run command

 

Próbowałem, aczkolwiek to nie działało, bo nie pokazywało nazwy eq. Zostane przy swoim sposobie

 

54 minuty temu, PanMaruda napisał:
command /komenda [<text>]:
	trigger:
		send arg


on rightclick:
	open chest with 1 row to player
	add "cos" and "cos2" and "cos3" to {_COSSS::*}
	loop {_COSSS::*}:
		set {_slot} to loop-index parsed as integer
		format slot ({_l} - 1) of player with 1 of stone to run [make player execute command "komenda %loop-value%"]

 

to nie działa bo nie wazne co klikasz i tak arg to cos 3.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
10 minut temu, RexuTVs napisał:

to nie działa bo nie wazne co klikasz i tak arg to cos 3.

W takim razie proponuję zmienić dodatek ze skquery na tuske:

command /komenda [<text>]:
	trigger:
		send arg

on rightclick:
	open virtual chest inventory with 1 row named "test" to player
	add "cos" and "cos2" and "cos3" to {_COSSS::*}
	loop {_COSSS::*}:
		set {_slot} to loop-index parsed as integer
		format gui slot ({_l} - 1) of player with 1 of stone to run player command "komenda %loop-value%"

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
6 godzin temu, PanMaruda napisał:

W takim razie proponuję zmienić dodatek ze skquery na tuske:

command /komenda [<text>]:
	trigger:
		send arg

on rightclick:
	open virtual chest inventory with 1 row named "test" to player
	add "cos" and "cos2" and "cos3" to {_COSSS::*}
	loop {_COSSS::*}:
		set {_slot} to loop-index parsed as integer
		format gui slot ({_l} - 1) of player with 1 of stone to run player command "komenda %loop-value%"

 

nie testowałem, ale spodziewam się że też nie zadziała. %loop-value% nadpisuje sie za kazdym nowym slotem i w cos tez jest cos3.

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