Skocz do zawartości
  • 0

usuwanie itemow z innym lore


Pytanie

Witam, czy wie ktoś może jak usunąć graczu 3 diamenty z ekwipunku przy czym każdy diament nazywa się tak samo, ale ma inne lore?

 

Przykład:

on rightclick with diamond:
	If player have 3 diamond named "test" with lore " Test: %random integer between 1 and 3% ":
		remove 3 diamond named "test" with lore " Test: %random integer between 1 and 3% " from player's inventory
		add 1 diamond named "elo" to the player's inventory
		stop

Dajmy na to, że w ekwipunku mam 3 diamenty i każdy ma inną cyfrę w lore od 1 do 3. Po kliknięciu w diament powinno sprawdzić czy gracz ma te 3 diamenty z innym lore, zabrać je z inventory i dać diament nazwany "test".

W skrypcie wywala błąd %random integer between 1 and 3% is not a valid item data

 

Jeżeli ktoś czegoś nie rozumie to pisać spróbuje to jeszcze jakoś inaczej wytłumaczyć.

 

 

Edytowane przez xXx_Skrypter_xXx
Odnośnik do komentarza
https://skript.pl/temat/40606-usuwanie-itemow-z-innym-lore/
Udostępnij na innych stronach

5 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Po prostu nie dawaj warunku lore tylko usuwaj po samej nazwie.

on right click with diamond:
    if player's inventory contains 3 of diamond named "Diament"
        remove 3 of diamond named "Diament" from player's inventory
        give 1 diamond named "test" to player

    

(nie testowane)

Odnośnik do komentarza
https://skript.pl/temat/40606-usuwanie-itemow-z-innym-lore/#findComment-253339
Udostępnij na innych stronach

  • 0
11 minut temu, TakiJakTy napisał:

set {integer} to random integer between 1 and 3

a potem daj {integer} do skryptu :P 

i co to da? usunie wtedy tylko 3 diamenty, ktore maja jeden losowy integer w lore, a autorowi chodzi o to, zeby w ten twoj {integer} podstawic dowolna liczbe/stringa etc.

ja osobiscie zrobilbym to tak:

options:
	nazwa: &b&lDiament #nazwa diamentow zabieranych graczowi
	lore: &7&oTest #czlon wspolny opisow zabieranych diamentow
	nowy: &6&lElo #nazwa diamentu dodawanego do EQ gracza

on rightclick with diamond:
	if name of player's tool is "{@nazwa}":
		if 1st line of lore of player's tool contains "{@lore}":
			set {_x} to 0
			set {_y} to 1
			loop 36 times:
				set {_item} to slot {_y} of player
				if {_item} is diamond named "{@nazwa}":
					if 1st line of lore of {_item} contains "{@lore}":
						add {_y} to {_sloty::*}
				add 1 to {_x}
				add 1 to {_y}
			if size of {_sloty::*} >= 3:
				set slot {_sloty::1} of player to air
				set slot {_sloty::2} of player to air
				set slot {_sloty::3} of player to air
				add diamond named "{@nowy}" to player's inventory

 

Odnośnik do komentarza
https://skript.pl/temat/40606-usuwanie-itemow-z-innym-lore/#findComment-253357
Udostępnij na innych stronach

  • 0

@PanAnimek @TakiJakTy @notKubaaa

 

Pokaże wam na przykładzie mojego skripta.

on inventory click:
	if "%clicked slot%" is "1":
		loop all items in player's inventory:
			if loop-item's name contain "&6Diament &8[&7Zwyczajny&8]":
				if lore of loop-item contain "&8- &fZwieksza obrazenia o: &b%random number from 1 to 3%%%":
					if player have 3 of loop-item:
						remove 3 of loop-item from player's inventory
						set {_losowe} to random integer between 4 and 6
						add 1 diamond named "&6Diament &2[&aRzadki&2]" with lore " ||&7Gdy w plecaku alchemicznym:||&8- &fZwieksza obrazenia o: &b%{_losowe}%%%|| " to the player's inventory
						broadcast "&c&lAlchemik &7Gracz &a%player% &7wytworzyl &6Diament &2[&aRzadki&2]"
						broadcast "&8- &fZwieksza obrazenia o: &b%{_losowe}%%%"
						stop

Dajmy na to ze mam 3 diamenty i każdy ma inny lore, chciałbym żeby to lore tak jakby nie brało pod uwagę i brało graczowi po prostu 3 diamenty nazwane "&6Diament &8[&7Zwyczajny&8]" a lore musi być bo potrzebuje je do dalszego kodu.

Wyższy kod nie wywala błędu, ale gdy mam 3 diamenty z innym lore to nic się nie dzieje, gdy mam 3 z takim samym to wtedy skrypt śmiga.

Odnośnik do komentarza
https://skript.pl/temat/40606-usuwanie-itemow-z-innym-lore/#findComment-253373
Udostępnij na innych stronach

  • 0
options:
	nazwa: &b&lDiament #nazwa diamentow zabieranych graczowi
	lore: &7&oTest #czlon wspolny opisow zabieranych diamentow
	nowy: &6&lElo #nazwa diamentu dodawanego do EQ gracza

on inventory click:
	if clicked slot is 1:
		set {_x} to 0
		set {_y} to 1
		loop 36 times:
			set {_item} to slot {_y} of player
			if {_item} is diamond named "{@nazwa}":
				if 1st line of lore of {_item} contains "{@lore}":
					add {_y} to {_sloty::*}
			add 1 to {_x}
			add 1 to {_y}
		if size of {_sloty::*} >= 3:
			set slot {_sloty::1} of player to air
			set slot {_sloty::2} of player to air
			set slot {_sloty::3} of player to air
			add diamond named "{@nowy}" to player's inventory

 

Odnośnik do komentarza
https://skript.pl/temat/40606-usuwanie-itemow-z-innym-lore/#findComment-253400
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.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...