Skocz do zawartości
  • 0
TOSTERpp

Używanie zmiennych w argumentach funkcji

Pytanie

Użytkownik

Więc mój problem polega na tym, że nie mogę używać zmiennych jako argumentu w funkcji np.

function funkcja(p: player, t: text):
	send {_t} to {_p}
    
// costamcostam kod bla bla bla
		funkcja(player, {_textzczatu})

powyższy kod niewiedzieć czemu nie działa, funkcja się nie wykonuje, żadnych błędów w konsoli.

Natomiast, jeśli zrobię coś takiego:

function funkcja(p: player, t: text):
	send {_t} to {_p}
    
// costamcostam kod bla bla bla
		funkcja(player, "text")

Kod działa bez zarzutu.

Ma ktoś jakiś pomysł jak wstawić inaczej, w moim skrypcie konkretnie liczbę, w przykładzie tekst, ze zmiennej do funkcji?

Będę wdzięczny, daje plusy czy co tam się daje.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

6 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

Użytkownik
  • 0
function f2(p: player, c: number):
	close inventory of {_p}
	open chest with 5 rows to {_p}
	set {_c} to ({_c} + 21)
	format gui slot 10 of {_p} with green concrete to run function f2({_p}, {_c})

function f1(p: player):
	close inventory of {_p}
	open chest with 3 rows to {_p}
	format gui slot 0 of {_p} with diamond to run function f2({_p}, 1)

on rightclick on entity:
	#(...)
	open chest with 1 row to player
	format gui slot 0 of player with potato to run function f1(player)

Zainstaluj sobie TuSke (nie buguje się tak jak SkQuery przy robieniu GUI). To co masz powyżej będzie ci działać na pewno.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
  • 0

A to działa?

function test(p: player, t: text):
	send {_t} to {_p}
command /test:
	trigger:
		set {_p} to player
		set {_t} to "Jakis tekst"
		test({_p}, {_t})

możliwe, że zmienne są w innym typie, lub o zgrozo masz literówkę w zmiennej

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
  • 0

@LloydPL tak jak napisałem, w swoim skrypcie mam inta, nie stringa, na którym wykonuję działania, więc tak średnio
@knugi twoja funkcja działa jak należy u mnie

lecz ja u siebie wykonuję coś takiego:

function f2(p: player, c: number):
	open chest with 5 rows named "bla bla" to {_p}
	wait 1 tick
	loop all players:
   		if loop-player is {_p}:
			format slot 10 of {_p} with 1 of green concrete named "bla bla" to run [f2(loop-player, {_c} + 21)]

function f1(p: player):
	open chest with 3 rows named "bla bla" to {_p}
	wait 1 tick
    loop all players: # musialem zrobic loopa bo mi nie chcialo sie odpalic f2 gdy bylo {_p}
        if loop-player is {_p}:
			format slot 0 of {_p} with 1 of iron ingot named "bla bla$" with lore "bla bla" to run [f2(loop-player, 1)]

on rightclick on entity:
	# bla bla bla
	format slot 0 of player with 1 of emerald named "bla bla" with lore "bla bla" to close then run [f1(player)]

i to nie dziala (jestem zmuszony to zrobić w ten sposób czy jest jakiś inny) w przykładzie chodzi o to, że mam 3 menu GUI do których mogę mieć dostęp bezpośrednio z nich (w linijce 6 wywołuję ponownie f2 z pewnego powodu i jest to zamierzone)

 

EDIT:

Okej, nic nie zrobiłem ale nagle zaczęła działać funkcja, problem polega na tym, że po ponownym wywołaniu funkcji zmienna {_c} ciągle jest równa 21 zamiast zwiększać się o tyle

Edytowane przez TOSTERpp
Poprawka

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
  • 0
5 minut temu, LuckyPotato napisał:
function f2(p: player, c: number):
	close inventory of {_p}
	open chest with 5 rows to {_p}
	set {_c} to ({_c} + 21)
	format gui slot 10 of {_p} with green concrete to run function f2({_p}, {_c})

function f1(p: player):
	close inventory of {_p}
	open chest with 3 rows to {_p}
	format gui slot 0 of {_p} with diamond to run function f2({_p}, 1)

on rightclick on entity:
	#(...)
	open chest with 1 row to player
	format gui slot 0 of player with potato to run function f1(player)

Zainstaluj sobie TuSke (nie buguje się tak jak SkQuery przy robieniu GUI). To co masz powyżej będzie ci działać na pewno.

Wow! działa wyśmienicie, dziękuje bardzo!

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Losowy awatar
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×