Skocz do zawartości
  • 0

Problem z give


Notro

Pytanie

Hej, pytałem się o to na chacie ale niestety nic z tego nie zrozumiałem..

Nie działa mi "give {item%{x}%-1} to player". W skrypcie nie ma błędów, lecz graczowi nic nie daje. Próbowałem wszystkie kombinacje które wymyslilem ale to na nic.

Przepraszam za to, że mam 3 problemy dziennie 🤣

Odnośnik do komentarza
https://skript.pl/temat/44180-problem-z-give/
Udostępnij na innych stronach

13 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
2 minuty temu, JkodGames napisał:

Hej, pytałem się o to na chacie ale niestety nic z tego nie zrozumiałem..

Nie działa mi "give {item%{x}%-1} to player". W skrypcie nie ma błędów, lecz graczowi nic nie daje. Próbowałem wszystkie kombinacje które wymyslilem ale to na nic.

Przepraszam za to, że mam 3 problemy dziennie 🤣

Z tego co widzę to w nazwie zmiennej próbujesz wykonać odejmowanie, mam rację?

Jeżeli tak, to wiedz, że wstawiłeś procent w złym miejscu i działanie '{x} - 1' powinno znaleźć się między procentami.

Na przyszłość zalecam zakładać wątek aniżeli liczyć na pomoc na czatboxie. Tam w ogóle ciężko mówić o możliwości pomocy.

Edytowane przez Kormic
Odnośnik do komentarza
https://skript.pl/temat/44180-problem-z-give/#findComment-277010
Udostępnij na innych stronach

  • 0
4 minuty temu, Kormic napisał:

Z tego co widzę to w nazwie zmiennej próbujesz wykonać odejmowanie, mam rację?

Jeżeli tak, to wiedz, że wstawiłeś procent w złym miejscu i działanie '{x} - 1' powinno znaleźć się między procentami.

Nie, {x} to wcześniej wylosowana liczba. Losuje np 5 i mialo wyjsc item5-1.

Odnośnik do komentarza
https://skript.pl/temat/44180-problem-z-give/#findComment-277011
Udostępnij na innych stronach

  • 0
2 minuty temu, CoFFeIN04 napisał:

a jak wygląda twoja sekcja variables

Tylko, żee.. Tam nie ma {x} ani item. {x} nie wpisywalem, jest tylko umieszczony w kodzie, a item1-1 jest w options.

Odnośnik do komentarza
https://skript.pl/temat/44180-problem-z-give/#findComment-277014
Udostępnij na innych stronach

  • 0
Teraz, JkodGames napisał:

Tylko, żee.. Tam nie ma {x} ani item. {x} nie wpisywalem, jest tylko umieszczony w kodzie, a item1-1 jest w options.

Po prostu pokaż kod, a nie tłumaczysz nam coś, czego nie widzimy. Tak będzie najprościej.

Odnośnik do komentarza
https://skript.pl/temat/44180-problem-z-give/#findComment-277015
Udostępnij na innych stronach

  • 0
Teraz, Kormic napisał:

Po prostu pokaż kod, a nie tłumaczysz nam coś, czego nie widzimy. Tak będzie najprościej.

options:
	prefix : cos
	
	skrzynka1-ileitemow : 5 #Wpisz ile ma być przedmiotów w skrzynii 1 (Uniwersalnej) (Musi być max tyle, ile ustawisz itemów w opcjach niżej!)
	
	#   item1-1 - item1 ze skrzynki 1
	#   item1-2 - item1 ze skrzynki 2
	#   item 2-1 - item2 ze skzynki 1
	item1-1 : 1 diamond
	item2-1 : 1 gold_ingot
	item3-1 : 1 iron_ingot
	item4-1 : 1 dirt
	item5-1 : 1 string

variables:
	{klucze1::%player%} = 0
	{klucze2::%player%} = 0
	{klucze3::%player%} = 0
	
command /skrzynie [<text>] [<player>] [<integer>] [<text>]:
	trigger:
		if arg 1 is "reset":
			if arg 2 is set:
				if player has permission "skrzynie.reset":
					loop 3 times:
						set {klucze%loop-value%::%arg 2%} to 0
					send "{@prefix} &aPomyślnie zresetowałeś zmienne!" to player
				else:
					send  "{@prefix} &cNie posiadasz permisji, by użyć tej komendy!" to player
		if arg 1 is "give" or "daj":
			if player has permission "skrzynie.daj":
				if arg 2 is set:
					if arg 3 is integer:
						loop 3 times:
							if arg 4 is "skrzynia%loop-value%":
								if loop-value is 1:
									set {nazwa_skrzyni} to "Uniwersalna"
								else if loop-value is 2:
									set {nazwa_skrzyni} to "Platynowa"
								else if loop-value is 3:
									set {nazwa_skrzyni} to "Legendarna"
								send "{@prefix} &aDałeś klucz/e do skrzyni &b%{nazwa_skrzyni}% &agraczowi &b%arg 2%&a!" to player
								send "{@prefix} &aOtrzymałeś klucz do skrzyni &b%{nazwa_skrzyni}%&a!" to arg 2
								add arg-3 to {klucze%loop-value%::%arg 2%}
						if arg 4 is not "skrzynia1" or "skrzynia2" or "skrzynia3":
							send  "{@prefix} &cZła nazwa skrzyni! Użyj /skrzynie give [nick] [ilość] skrzynia1/2/3" to player
					else:
						send  "{@prefix} &cBłąd przy wpisaniu ilości! Użyj /skrzynie give [nick] [ilość] [skrzynia]" to player
				else:
					send  "{@prefix} &cBłąd przy wpisaniu nicku! Użyj /skrzynie give [nick] [ilość] [skrzynia]" to player
			else:
				send  "{@prefix} &cNie posiadasz permisji, by użyć tej komendy!" to player
		else if arg 1 is not set:
			set {_guiskrzynie} to chest with 3 rows named "&9Skrzynie"
			set slot 0 of {_guiskrzynie} to tripwire hook named "<##0eed85>Klucze" with lore "<##23f7c2>Posiadasz takie klucze:" and "<##1eff05>Skrzynia Uniwersalna <##23f7c2>- %{klucze1::%player%}%" and "<##700af5>Skrzynia Platynowa <##23f7c2>- %{klucze2::%player%}%" and "<##f22458>Skrzynia Legendarna <##23f7c2>- %{klucze3::%player%}%"
			set slot (integers between 1 and 11) and (integers between 15 and 26) of {_guiskrzynie} to black stained glass pane named "&a"
			set slot 12 of {_guiskrzynie} to chest named "<##1eff05>Skrzynia Uniwersalna"
			set slot 13 of {_guiskrzynie} to chest named "<##700af5>Skrzynia Platynowa"
			set slot 14 of {_guiskrzynie} to chest named "<##f22458>Skrzynia Legendarna"
			open {_guiskrzynie} to player
	
on inventory click:
	if inventory name of current inventory of player is "&9Skrzynie":
		cancel event
		if clicked slot is 12:
			if {klucze1::%player%} is greater than 0:
				close player's inventory
				launch ball large coloured light green at player's location with duration 1
				set {x} to random integer between 1 and 5
				wait 2 tick
				give {item%{x}%-1} to player
				wait 2 tick
				remove 1 from {klucze1::%player%}
			else if {klucze1::%player%} is 0:
				send "{@prefix} &cNie masz klucza do tej skrzyni!" to player

 

Odnośnik do komentarza
https://skript.pl/temat/44180-problem-z-give/#findComment-277017
Udostępnij na innych stronach

  • 0
2 minuty temu, Kormic napisał:

Jeżeli używamy zmiennych z sekcji 'options', stawiamy przed nimi małpę (@). Tego właśnie w twoim kodzie brakuje.

Tak, wiem, miałem to, lecz przy kopiowaniu jej nie miałem.

Jak jest, jest taki błąd -Iwi7qqH.png

Edytowane przez Notro
Odnośnik do komentarza
https://skript.pl/temat/44180-problem-z-give/#findComment-277020
Udostępnij na innych stronach

  • 1
Teraz, JkodGames napisał:

Tak, wiem, miałem to, lecz przy kopiowaniu jej nie miałem.

Jak jest, jest taki błąd -Iwi7qqH.png

No cóż, w takim razie Pan Maruda miał rację. Nie możesz używać zmiennych w nazwach zmiennych z options.

W takim wypadku stwórz szereg warunków sprawdzający wartość zmiennej {x}.

if {x} is 1:
	give {@item1-1} to player
else if {x} is 2:
	give {@item2-1} to player
# I tak dalej... 

Dodam, że {x} powinieneś zamienić na {_x}, gdyż to jest zmienna, która będzie ci jedynie w tym kodzie potrzebna i nigdzie indziej. Dodanie podłogi przed nazwą zmiennej uczyni ją zmienną tymczasową, która zostanie wyczyszczona po dobrnięciu do końca kodu, w którym się znajduje.

Edytowane przez Kormic
Odnośnik do komentarza
https://skript.pl/temat/44180-problem-z-give/#findComment-277022
Udostępnij na innych stronach

  • 0
2 minuty temu, Kormic napisał:

No cóż, w takim razie Pan Maruda miał rację. Nie możesz używać zmiennych w nazwach zmiennych z options.

W takim wypadku stwórz szereg warunków sprawdzający wartość zmiennej {x}.



if {x} is 1:
	give {@item1-1} to player
else if {x} is 2:
	give {@item2-1} to player
# I tak dalej... 

Dodam, że {x} powinieneś zamienić na {_x}, gdyż to jest zmienna, która będzie ci jedynie w tym kodzie potrzebna i nigdzie indziej.

Uhh.. Jak zwykle, wielkie dzięki. Do zamknięcia. Poza tym gratulacje za 700 najlepszych odpowiedzi! Cieszę się, ze mogłem się do tego przyłożyć hah

Odnośnik do komentarza
https://skript.pl/temat/44180-problem-z-give/#findComment-277023
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ę...