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

@Jeste "Chodzi tu pewnie o zmienną, bo gdy zamiast {_cena} dam np. 1 to wszystko działa :/" tak. Tak myślałem wtedy. Ale gdy dodałem "of" między zmienną, a itemem wszystko już działa. Więc ten problem został już dawno rozwiązany. Teraz zastanawiam się nad tym, dlaczego wykrywa tylko te bez lore.

@knugi No ale przecież widziałem sporo skryptów, w których było użyte np.:

remove 1 feather named "cos tam" from player's inventory

I odziwo wszystko działało...

A skoro to nie jest wina tego, jaką się ma wersję skripta to... od czego zależy, czy coś działa, czy nie?

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

  • 0
W dniu 29.12.2018 o 17:18, Rafep napisał:

@knugi No ale przecież widziałem sporo skryptów, w których było użyte np.:


remove 1 feather named "cos tam" from player's inventory

I odziwo wszystko działało...

A skoro to nie jest wina tego, jaką się ma wersję skripta to... od czego zależy, czy coś działa, czy nie?

To że działało to nwm. Zaraz zrobię test.

Na wszystkich serwerach korzystam z tego samego kodu:

command /m [<text>] [<text>]:
	trigger:
		if arg 1 is not set:
			send "m daj [<lore>] &7daje monete."
			send "m <anything> &7sprawdza czy ma monete."
			send "m <anything> <anything> &7Sprawdza i usuwa nam monete."
			stop
		if arg 1 is "daj":
			if arg 2 is set:
				give sunflower named "&eMoneta" with lore "%coloured arg 2%" to player
				stop
			give sunflower named "&eMoneta" to player
			stop
		loop 3 times:
			send ""
		send "&aSpradzam czy ma monete:"
		if player has sunflower named "&eMoneta":
			send "Masz :D"
			if arg 2 is set:
				send "Usunieto."
				remove 1 sunflower named "&eMoneta" from player
command /e [<text>]:
	trigger:
		evaluate "%arg%"

Odpalam serwer na 1.7.2 i sprawdzam czy usuwa przedmioty z lore:

Spoiler

Dodaję sobie monetkę z lore:

Spoiler

n0x29GE.png

Sprawdzam, czy posiadam taką monetkę, a czy posiadam to ją usuwa:

Spoiler

DwQXYK7.png

I jak widać, nic nie usunęło, monetka dalej jest, teraz dodam sobie zwykłą monetkę bez lore i sprawdźmy, czy zadziała:

Spoiler

2CbP45o.png0jSkKjM.png

Jak widać, zadziałało, lecz bez lore nie działa. Na 1.7.2!

I teraz serwer 1.12:

Spoiler

Tak samo jak w poprzenim teście:

Spoiler

vMi0yTZ.pngcnMP7Ep.png56WSzGd.png47JvDBF.png

 

Jak widać, na serwerze CrafBukkit 1.7.2 wersja Skript 2.1.2 już miała w sobie ten błąd.

Zarówno też na serwerze Spigot 1.12 wersja Skript 2.2-dev36 też ten błąd posiada.

Więc nie wiem jaką ty miałem wersję serwera i jaką wersję Skripta, że Ci to normalnie działało.

 

Zatem przechodząc do meritum sprawy, jest to błąd Skripta

Można próbować na inne sposoby, napisz mi tylko, czy w Lore będzie też uwzględniana wartość owej monety. To spróbuję napisać Tobie funkcję, która będzie spełniała wszystko co chcesz w zamian za tę jedną linijkę :) 

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

  • 0

@knugi "Czy w lore będzie uwzględniana wartość owej monety." W jakim sensie? 1 moneta = 1 moneta. W lore nie jest uwzględniana wartość monety, a jedynie randomowy numer. Nie wiem, czy dobrze Cię zrozumiałem :<

EDIT: Chyba się nauczę pisać pluginy, bo ten skript jakiś zbugowany :/ 

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

  • 0

@Zaaxel Kodu

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

już nie używam. Zrobiłem mniej więcej takie coś jak ty już dawno.

Teraz zastanawiam się dlaczego i jak naprawić to, że skrypt wykrywa tylko słoneczniki, które nie mają lore.

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

  • 0

@Jeste No jest to jakieś wyjście, ale wolałbym zostać przy pierwotnym pomyśle :/ 

EDIT: Chociaż jak teraz nad tym myślę... Nie ma chyba innego sposobu... :/ 

Więc w sumie chyba temat do zamknięcia.

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