Skocz do zawartości
  • 0

"If inventory contains {_cena} sunflower named "&eMoneta": "


Pytanie

Witam! :D Mam taki skrypt:

if arg-1's inventory contains {_cena} sunflower named "&eMoneta":

tylko, że gdy reloaduje skrypt to wyświetla się błąd: "Inventory of the 1st argument is not a region"

Chodzi tu pewnie o zmienną, bo gdy zamiast {_cena} dam np. 1 to wszystko działa Wystarczyło dać "{_cena} of sunflower" i wszystko działa, z wyjątkiem tego, że skript wykrywa tylko słoneczniki bez lore. Gdy mam np.:

remove 1 ender_pearl named "cos tam" from arg-1's inventory

To również usuwa tylko te perły, które nie mają lore.

Pomoże ktoś? :(

Edytowane przez Rafep
Odnośnik do komentarza
https://skript.pl/temat/30940-if-inventory-contains-_cena-sunflower-named-emoneta/
Udostępnij na innych stronach

Rekomendowane odpowiedzi

  • 0

Nie może być tak:

...{_zmienna} of sunflower...

Musisz zrobić tak:

set {_item} to "%{_cena}% of sunflower" parsed as item
if arg-1's inventory contains {_item} named "&eMoneta":

 

Edytowane przez stefanik11
stefanik11

Poprawiam formatowanie.

Notatka dodana przez stefanik11

Odnośnik do komentarza
https://skript.pl/temat/30940-if-inventory-contains-_cena-sunflower-named-emoneta/#findComment-201615
Udostępnij na innych stronach

  • 0

@stefanik11 Tak, oczywiście. Argument 1 jest playerem. A jeśli chodzi o skrypt, to proszę:

command /kowal [<player>] [<text>]:
	permission: admin.kowal
	permission message: {@no_perm}
	trigger:
		if arg-1 is not online:
			stop
		if ( arg-2 parsed as integer ) is not set:
			stop
			
		if arg-1's tool is air:
			send "&cMusisz trzymac cos w rece!" to arg-1
			stop
			
		set {_arg2} to arg-2 parsed as integer
	
		loop {przedmiot::cena_ulepszenia::*}:
			if name of arg-1's tool is {przedmiot::nazwa::%loop-index%}:
				set {_typ} to "przedmiot"
				set {_przedmiot} to loop-index
				
		loop {zbroja::cena_ulepszenia::*}:
			if name of arg-1's tool is {zbroja::nazwa::%loop-index%}:
				set {_typ} to "zbroja"
				set {_przedmiot} to loop-index
				
		if {_przedmiot} is not set:
			send "&cTego przedmiotu nie da sie ulepszyc!" to arg-1
			stop
			
		set {_upgrade_przedmiot} to {%{_typ}%::item_ulepszenia::%{_przedmiot}%}
			
		if {%{_typ}%::wymagany_poziom::%{_upgrade_przedmiot}%} is greater than {_arg2}:
			send "&cNie potrafie ulepszyc tego przedmiotu!" to arg-1
			stop
			
		if name of arg-1's current inventory is not "{@kowal_menu_nazwa}":
			open chest with 3 rows named "{@kowal_menu_nazwa}" to arg-1
			
		set {_cena} to {%{_typ}%::cena_ulepszenia::%{_przedmiot}%}
		
		if arg-1's inventory contains {_cena} sunflower named "&eMoneta":
			set {_click_text} to "&eKliknij, aby ulepszyc!"
		
		if arg-1's inventory doesn't contain {_cena} sunflower named "&eMoneta":
			set {_click_text} to "&cMasz za malo monet."
			
		set arg-1's current inventory's slot 13 to {%{_typ}%::item::%{_upgrade_przedmiot}%} named "&fUlepsz: %name of arg-1's tool%" with lore "&7||&7Przedmiot zostanie ulepszony do:|| %{%{_typ}%::nazwa::%{_upgrade_przedmiot}%}%||&7&o Wymagany poziom: &a%{%{_typ}%::wymagany_poziom::%{_upgrade_przedmiot}%}%||&7&o Wymagana inteligencja: &a%{%{_typ}%::wymagana_inteligencja::%{_upgrade_przedmiot}%}%||&7&o Wymagana zrecznosc: &a%{%{_typ}%::wymagana_zrecznosc::%{_upgrade_przedmiot}%}%||&7||&7Cena: &e%{_cena}% monet||&7||%{_click_text}%"

 

Odnośnik do komentarza
https://skript.pl/temat/30940-if-inventory-contains-_cena-sunflower-named-emoneta/#findComment-201646
Udostępnij na innych stronach

  • 0

To powinno pomóc. Podmień te linijki na te:

		if arg-1's inventory contains {_cena} of sunflower named "&eMoneta":
			set {_click_text} to "&eKliknij, aby ulepszyc!"
		
		if arg-1's inventory doesn't contain {_cena} of sunflower named "&eMoneta":
			set {_click_text} to "&cMasz za malo monet."

 

Odnośnik do komentarza
https://skript.pl/temat/30940-if-inventory-contains-_cena-sunflower-named-emoneta/#findComment-201647
Udostępnij na innych stronach

  • 0

To takim prostym sposobem, możesz zrobić.

Najpierw zdebuguj zmienną {_cena}, po prostu przed warunkami na posiadanie sunflowera, dodaj: send "%{_cena}%"

Jeżeli pokażę liczbę, omiń kolejne kroki i przejdż do tekstu pod kreskami. 

Jeżeli <none> to sprawdź zmienną "%{_typ}%",

*Jeżeli zmienna {_typ} jest <none> to masz problem z zapisywaniem owej zmiennej.

*Jeżeli zmienna {_typ} jest ok to wtedy zdebuguj "{%{_typ}%::item_ulepszenia::%{_przedmiot}%}-->%{%{_typ}%::item_ulepszenia::%{_przedmiot}%}%".

I ponowna analiza owej zmiennej.

Jeżeli wyświetli Ci: {przedmiot::item_ulepszenia::<none>}--><none> to masz problem z zmienną, {_przedmiot},

Jeżeli wyświetli Ci: {przedmiot::item_ulepszenia::leather helmet}--><none> to najprawdopodobniej nie masz tej zmiennej globalnej zapisywanej.

---------------------

Jeżeli od razu {_cena} pokazała liczbę, to zrób coś takiego:

set {_cena} to {_cena} parsed as integer
if arg-1's inventory contains {_cena} of sunflower named "&eMoneta":
	set {_click_text} to "&eKliknij, aby ulepszyc!"
if arg-1's inventory doesn't contain {_cena} of sunflower named "&eMoneta":
	set {_click_text} to "&cMasz za malo monet."

 

Odnośnik do komentarza
https://skript.pl/temat/30940-if-inventory-contains-_cena-sunflower-named-emoneta/#findComment-201652
Udostępnij na innych stronach

  • 0

@Jeste Ale jak tego użyć? :thonk:  Jeśli chodzi Ci o coś w tym stylu: " sunflower named "&eMoneta" with lore "lore tej monety" " to niestety nie pomoże, gdyż każda moneta może mieć inny lore. Jeśli chodziło Ci o coś innego napisz i bardziej sprecyzuj swoją wypowiedź :P 

 

Odnośnik do komentarza
https://skript.pl/temat/30940-if-inventory-contains-_cena-sunflower-named-emoneta/#findComment-201778
Udostępnij na innych stronach

  • 0

@RafepChodziło mi o:

Monety o wartości od 1 do 10 (Lub więcej).

Wartość była by na przykład w lore np.: " sunflower named "&eMoneta" with lore "&6Wartosc: &e(Wartość monety)"  ".

Wykrywał czy moneta ma dany lore.

I już.

Odnośnik do komentarza
https://skript.pl/temat/30940-if-inventory-contains-_cena-sunflower-named-emoneta/#findComment-201808
Udostępnij na innych stronach

  • 0

@Jeste Nie chodzi mi o coś takiego. System monet jest już na moim serwer opracowany. 1 moneta = 1 moneta. Nie będę robił monet o różnych wartościach, zapisanych - tak jak to napisałeś - w lore. Monety gracz ma w ekwipunku. Normalnie. Każda moneta ma tę samą wartość.

A o lore, chodziło mi o to, że moneta czasami może mieć jakiś dopisek czy coś, np: "Ta moneta jest inna niż wszystkie." No rozumiesz.

Ale trochę za bardzo się rozpisałem... Chodzi mi po prostu o to, żeby skrypt sprawdzał, czy gracz ma {_cena} słoneczników, nazwanych "&eMoneta" w ekwipunku i tyle.

Mam nadzieję, że rozumiesz :P 

Odnośnik do komentarza
https://skript.pl/temat/30940-if-inventory-contains-_cena-sunflower-named-emoneta/#findComment-201812
Udostępnij na innych stronach

  • 0

@SernickLOL Jednak wiesz.. Moneta może też nie mieć w ogóle lore. :/ A poza tym - dlaczego "sunflower named "&eMoneta" " nie działa na moim serwerze TERAZ, a na moim starym serwerze, na którym była TA SAMA wersja skripta to działało... Jak? Umiesz mi to wytłumaczyć?

Odnośnik do komentarza
https://skript.pl/temat/30940-if-inventory-contains-_cena-sunflower-named-emoneta/#findComment-201865
Udostępnij na innych stronach

  • 0
Teraz, Rafep napisał:

@SernickLOL Jednak wiesz.. Moneta może też nie mieć w ogóle lore. :/ A poza tym - dlaczego "sunflower named "&eMoneta" " nie działa na moim serwerze TERAZ, a na moim starym serwerze, na którym była TA SAMA wersja skripta to działało... Jak? Umiesz mi to wytłumaczyć?

Może zamień sunflower na id numeryczne tego przedmiotu? + jeśli nie chcesz aby moneta była wyszukiwana tylko z lore to możesz podwoić kod tylko bez tego with lore

Odnośnik do komentarza
https://skript.pl/temat/30940-if-inventory-contains-_cena-sunflower-named-emoneta/#findComment-201866
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ę...