Skocz do zawartości
  • 0

Zestaw


Rabby

Pytanie

Cześć witam ;d,

Robie sobie skrypta na sklep za specjalne monety wszystko działa i jest spoko ale to już nie:

Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! <<=== Kod

Chodzi w tym o to, że nie daje kita ani uprawnień. A gdy kit jest dostępny pisze ze czas nie minal :(;-; Gdy w menu kliknę tą opcje to nic się nie dzieje!

Jeżeli chodzi o caly kod on ma dużo linijek ale tylko pierwsza tego dotyczą:

Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! <<=== Kod 

Co do bledow nie ma zadnych wszystko w konsoli smiga :/ 

Proszę o pomoc daje + i naj. Z góry dzięki!

Odnośnik do komentarza
Udostępnij na innych stronach

1 odpowiedź na to pytanie

Rekomendowane odpowiedzi

  • 0

W swoim kodzie komendy wszędzie używasz "%player%", co wskazuje na gracza, który wykonuje komendę. W przypadku

make console execute "zestaw legendarny %player%"

tym "graczem" jest konsola, która uruchamia komendę. Konsola nie może przecież dostać przedmiotów, a więc

give diamond pickaxe to player

nie może działać. Wymaganym jest tu stworzenie drugiego argumentu do komendy, który odpowiadałby za gracza, który ma dostać przedmiot (jeżeli ktoś wykonywałby komendę z poziomu gracza, nie musiałby tego wpisywać, to także zaimplementowałem w poniższym kodzie).

A więc

command /zestaw [<text>]:

musisz zamienić na

command /zestaw [<text>] [<offline player>]:

(offline player dlatego, że przy player wyrzucałoby błędy, w przypadku, gdybyśmy nie wpisali gracza, lub gracza nie byłoby na serwerze)

A więc kod komendy powinien wyglądać tak:

command /zestaw [<text>] [<offline player>]:
	trigger:
		if sender is console:
			if arg 2 is set:
				if arg 2 is online:
					set {_gracz} to arg 2
		else:
			set {_gracz} to player
		if arg 1 is "Gracz":
			give stone pickaxe to {_gracz}
		if arg 1 is "Legendarny":
			if {_gracz} has permission "skrypt.zestaw.legendarny":
				if {czas::legendarny::%{_gracz}%} is true:
					give diamond pickaxe to {_gracz}
					set {czas::legendarny::%{_gracz}%} to false
					wait 1 ticks
					set {czas::legendarny::%{_gracz}%} to true
					send "&c>> &7twoj zestaw: &9Legendarny &7odnowil sie!" to {_gracz}
				else:
					send "&cCzas oczekiwania na kit nie minal!" to {_gracz}
			else:
				send "&cNie posiadasz uprawnien" to {_gracz}

Wystarczyło zrobić zmienną {_gracz}, która definiuje, kto ma dostać przedmioty, być poinformowanym itp.

Jeżeli wykonawcą komendy jest konsola i argument gracza spełnia wymogi (argument jest podany, a gracz jest online), wtedy zmienna ustawia się na gracza podanego w argumencie.

Jeżeli wykonawcą komendy jest gracz zmienna ustawia się na właśnie niego.

A poza tym, zrobiłeś literówkę przy "skrypt.zestaw.legendarny", napisałeś "skypt.zestaw.legendarny", w powyższym kodzie jest poprawione.

Jeżeli chcesz, mogę Ci pomóc w zrobieniu lepszego systemu czasowego brania zestawów, napisz do mnie. Z "wait" po restarcie serwera gracz nie będzie mógł już wcale brać zestawu.

Mam nadzieję, że wszystko dobrze wytłumaczyłem, za błędy przepraszam :-P, :D.

Edytowane przez xMarcinos
Odnośnik do komentarza
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ę...