Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Sprawdzanie nazwy itemu w skrypcie


ninis

Rekomendowane odpowiedzi

Opublikowano

Witam serdecznie poraz kolejny, nastąpił kolejny problem na mojej drodze, potrzebuję przerobić Skript na sprawdzanie czy gracz posiada w EQ dany item, tak aby skrypt sprawdzał dokładnie również jego nazwę, bardziej chodzi mi o to by usuwał przedmioty które nie mają np lore a te które lore posiadają aby sie nie usuwały.
 

every a second:
    loop all players:
        if loop-player have 1:
            remove all 1 from loop-player
            give loop-player 16 2

Jeśli ma ktos jakiś pomysł, to czekam na odpowiedź ^^ 
 

Opublikowano

Nie, nie chodziło mi o to. Bardziej o to, aby podczas " loop-player " skrypt sprawdzał item pod kątem tego czy przedmiot posiada lore, i jeśli go nie posiada to aby został usunięty.

Odświeżam

Opublikowano

@ninis

on any move:
	loop items in player's inventory:
		loop-item's lore is "zabieram":
			delete loop-item

Albo loop all players co sekunde ;p

every 1 second:
	loop all players:
		loop items in loop-player's inventory:
			loop-item's lore is "zabieram":
				delete loop-item
Opublikowano

@ninis

Nie jestem pewien ale spróbuj

every 1 second:
    loop all players:
        loop loop-player's inventory:
            lore of loop-item is not set:
                remove loop-item from loop-player's inventory

» Zostanę technikiem serwera minecraft / stworzę twój serwer (Klik) «

» Wykonam pliki serwerowe do minecraft  «

» Pomagam w różnych sprawach «

<>~~~~~~~~~~~~<> Kontakt <>~~~~~~~~~~~~<>
» Wyślij do mnie Prywatną Wiadomość (PW) «

Opublikowano

@XSkrypcioX

Jeśli mogę zapytać w którym miejscu mam wskazać jakiego itemu ma szukać skrypt ?

Tam gdzie masz "lore of loop-item is" musisz dodac jeszcze warunek np. "loop-item is stone"

Opublikowano

@marcoral no w zadnym ;p

Można tam napisać if ... is "ziom"

else

zeby nic nie robilo ale tak to bedzie reagowalo na wszystko inne

» Zostanę technikiem serwera minecraft / stworzę twój serwer (Klik) «

» Wykonam pliki serwerowe do minecraft  «

» Pomagam w różnych sprawach «

<>~~~~~~~~~~~~<> Kontakt <>~~~~~~~~~~~~<>
» Wyślij do mnie Prywatną Wiadomość (PW) «

Opublikowano

Czyli mam rozumieć że nie da się zrobić tego w ten sposób jaki ja chcę ? xD

Da się, po prostu od jakiegoś czasu przepisuję całość z MaRPG na pluginy i odwykłem od Skriptowej składni. Zamiast "loop loop-player's inventory" powinno być "loop all items in loop-player's inventory".

Opublikowano
every 1 second:
    loop all players:
        loop all items in loop-player's inventory:
            lore of loop-item is 4518 not set:
                remove loop-item from loop-player's inventory
'4518 not set' is not an entity type (pickup.sk, line 4: lore of loop-item is 4518 not set:')

Hmm xD pogubiłem się troche 

Opublikowano

Jak dałeś w linijce ze lore loopowanego itemu to 4518 to juz nie dajesz "not set" poniewaz on to dal dla przykladu

 

i w takich przypadkach dajesz to w tym "" 

Czyli powinno to wygladac tak:

every 1 second:
    loop all players:
        loop all items in loop-player's inventory:
            lore of loop-item is "Tu jakies lore":
                remove loop-item from loop-player's inventory

EDIT a sorki bo ty chcesz żeby usuwało to co nie ma lore czyli ma byc not set

every 1 second:
    loop all players:
        loop all items in loop-player's inventory:
            lore of loop-item is not set:
                remove loop-item from loop-player's inventory

czyli nie potrzebne było to 4518 :D

a jesli chcesz by usuwalo itemy z lore np "MIecz :D" to robisz to w tym wyżej xD

Opublikowano

Ech wszystko okej ale dalej to nie rozwiązuje mojego problemu xD 

Może opiszę dlaczego potrzebuje ten skrypt.
Skrypt miałby za zadanie usuwać itemy w tym przypadku masterballe po wydropieniu ich z Bossów na serwerze PixelMon, ale nie chcę całkowicie usuwać ich dlatego właśnie potrzebne jest to ID masterballa. 

Mają być One sprzedawane w sklepie, i są dosyć cennym przedmiotem dlatego wymyśliłem że po wydropieniu z bossa Master Balla będzie on się usuwał a w sklepie będzie sprzedawany masterball z Lore i nie będzie on usuwany podczas " loop all players " 

Myśle że teraz ktoś ogarnie koncept xD 

Opublikowano

dobra w koncu odpalilem serwer i sprawdzilem jak dziala wgl ten skrypt i metoda prob i bledow zrobilem:

i jesli chcesz zeby usuwalo master ball to zaleznie od wersji serwera i skripta

jesli wersja 1.7.x lub nizej to id ma byc to 4518 lub jak patrzylem w googlu to tam bylo id: 4137

a jesli 1.8 i wyzej to slownie Master ball

 

czyli

every 1 second:
	loop all players:
		loop all items in loop-player's inventory:
			loop-item is master ball:
				lore of loop-item is "":
					remove loop-item from loop-player's inventory

#lub
every 1 second:
	loop all players:
		loop all items in loop-player's inventory:
			loop-item is 4518:
				lore of loop-item is "":
					remove loop-item from loop-player's inventory
#lub
every 1 second:
	loop all players:
		loop all items in loop-player's inventory:
			loop-item is 4137:
				lore of loop-item is "":
					remove loop-item from loop-player's inventory

powinno dzialac, ja sprawdzalem na stone

jesli dawalem not set to nic nie robilo, a gdy dalem ze jest ustawione "" to dziala pieknie 

"" czyli ze lore to nic czyli usuwa zwykle itemy

 

czyli łapie wszystkich graczy> łapie wszystkie itemy w ekwipunku złapanych graczy> łapie wszystkie "master ball" w ekwipunkach złapancyh graczy> łapie wszystkie Master Balle z lore "" czyli nic> usuwa te złapane master balle :D

 

 

Opublikowano

Wciąż bardzo podobny błąd do poprzedniego.. ID itemu znam, więc o to się nie martw ;d ale dzięki wam za zaangażowanie :D Podeślę zaraz ss jak wygląda błąd

 

every 1 second:
	loop all players:
		loop all items in loop-player's inventory:
			loop-item is 4518:
				lore of loop-item is "":
					remove loop-item from loop-player's inventory
every 1 second:
	loop all players:
		loop all items in loop-player's inventory:
			loop-item is 4538:
				lore of loop-item is "":
					remove loop-item from loop-player's inventory
every 1 second:
	loop all players:
		loop all items in loop-player's inventory:
			loop-item is 4539:
				lore of loop-item is "":
					remove loop-item from loop-player's inventory
every 1 second:
	loop all players:
		loop all items in loop-player's inventory:
			loop-item is 4540:
				lore of loop-item is "":
					remove loop-item from loop-player's inventory

taki o kodzik. A tu błąd bladdd.jpg

Opublikowano
every 1 second:
	loop all players:
		loop all items in loop-player's inventory:
			loop-item is <ID Slowne>:
				lore of loop-item is "":
					remove loop-item from loop-player's inventory
			loop-item is <ID Slowne>:
				lore of loop-item is "":
					remove loop-item from loop-player's inventory
			loop-item is <ID Slowne>:
				lore of loop-item is "":
					remove loop-item from loop-player's inventory
			loop-item is <ID Slowne>:
				lore of loop-item is "":
					remove loop-item from loop-player's inventory

torche krocej a to samo robi :D

 

Uzywaj ID slownego czyli przykladowo zamiast 1 wpisz stone.  Czyli zamiast 4518 wpisz to "Master Ball"

Opublikowano
every 1 second:
	loop all players:
		loop all items in loop-player's inventory:
			loop-item is stone:
				lore of loop-item is "":
					remove loop-item from loop-player's inventory

najpierw daj to i sprawdz czy dziala. Mam nadzieje ze masz WildSkript oraz SkQuery.

 

Jesli to bedzie dzialac a master ball nie, to probuj rowniez masterball lub zmien jezyk minecraft na angielski i wtedy najedz na tego masterballa i jaka dokladnie nazwa jest i to wpisz identycznie tak jak bedziesz mial w ekwipunku 

Opublikowano

hmm możesz spróbować tak
 

every 1 second:
    loop all players:
        loop all items in loop-player inventory:
            set {_i.%loop-player%} to loop-item
            set {_l.%loop-player%} to lore of loop-item
            if {_l.%loop-player%} is set:
                send "&aTwoj item &e%{_i.%loop-player%}% ma lore "&e%{l.%loop-player%}%"
            if {_l.%loop-player%} is "":
                send "&aTwoj item &e%{_i.%loop-player%}% nie ma lore"
            if {_l.%loop-player%} is " ":
                send "&aTwoj item &e%{_i.%loop-player%}% nie ma lore"
            if {_l.%loop-player%} is not set:
                send "&aTwoj item &e%{_i.%loop-player%}% nie ma lore"

Pomysłów powoli mi brakuje - spróbuj @ninis

» Zostanę technikiem serwera minecraft / stworzę twój serwer (Klik) «

» Wykonam pliki serwerowe do minecraft  «

» Pomagam w różnych sprawach «

<>~~~~~~~~~~~~<> Kontakt <>~~~~~~~~~~~~<>
» Wyślij do mnie Prywatną Wiadomość (PW) «

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...