Skocz do zawartości
  • 0

Misja Zabijanie


brvads

Pytanie

Witam, potrzebuję skrypty na misje, który będzie polegał na tym, że:

Mamy NPC z jakąś nazwą, po jego otwarciu wyświetla się gui. w którym ukazuje się pierwsza misja misja (ważne zeby nie było widać 2, chodzi mi o to ze gui wyglada tak: https://imgur.com/a/Z2qtEYB [zielone - aktywna misja] reszta bez nazwy. Misje mają polegać na tym ze trzeba zabijać moby z jakas tam nazwa (mam plugin mythicmobs) i zeby bylo po zabiciu calej ilosci mobow na chacie komunikat "ukonczyles misje", po ukończeniu 1 misji gui ma wyglądać tak https://imgur.com/a/aYgUICG [ zolty - skonczona misja, zielony - aktywna, reszta bez nazwy ] Proszę o napisanie tylko dwóch pierwszych z resztą sobie poradze.

Odnośnik do komentarza
https://skript.pl/temat/44770-misja-zabijanie/
Udostępnij na innych stronach

Rekomendowane odpowiedzi

  • 0

Nie testowałem, jak są błędy to podaj.

 

variables:
	{misja-1} = 10 #ile mobow trzeba zabic
	{misja-2} = 15 #ile mobow trzeba zabic


function misja(p:player,n:number):
	{misja::%{_p}%::%{_n}%} is false
	if {misja::%{_p}%::%{_n}%::postep} is not set:
		set {misja::%{_p}%::%{_n}%::postep} to 0
	add 1 to {misja::%{_p}%::%{_n}%::postep}
	if {misja::%{_p}%::%{_n}%::postep} >= {misja-%{_n}%}:
		send "ukonczyles misje" to {_p}
		set {misja::%{_p}%::%{_n}%} to true
		if {_n} < 9:
			add 1 to {_n}
			set {misja::%{_p}%::%{_n}%} to false


on rightclick on entity:
	event-entity is villager
	name of event-entity = "&cnazwa"
	open chest inventory named "&cnazwa" with 1 row to player
	loop 9 times: #9 - ilosc misji
		if {misja::%player%::%loop-number%} is true:
			set slot (loop-number - 1) of player's current inventory to yellow stained glass pane
		else if {misja::%player%::%loop-number%} is false:
			set slot (loop-number - 1) of player's current inventory to green stained glass pane
		else:
			set slot (loop-number - 1) of player's current inventory to gray stained glass pane
on join:
	if {misja::%player%::1} is not set:
		set {misja::%player%::1} to false

on death:
	attacker is a player
	victim is not a player

	# MISJA 1:
	if name of victim is "&cnazwa":
		misja(attacker,1)

	# MISJA 2:
	else if name of victim is "&cnazwa2":
		misja(attacker,2)
        

on inventory click:
	name of player's inventory = "&cnazwa"
	clicked inventory is not player's inventory
	cancel event
Edytowane przez CoFFeIN04
Odnośnik do komentarza
https://skript.pl/temat/44770-misja-zabijanie/#findComment-281060
Udostępnij na innych stronach

  • 0

[19:51:33 ERROR]: indentation error: expected 2 tabs, but found '->->_' [-> = tab, _ = space, ? = other whitespace] (misja.sk, line 9: set {misja::%{_p}%::%{_n}%::postep} to 0') - Poprawiłem 

[19:51:34 ERROR]: Can't understand this condition/effect: set {misja::%{_p}%::%{_n} + 1%} to false (misja.sk, line 15: set {misja::%{_p}%::%{_n} + 1%} to false') 

Odnośnik do komentarza
https://skript.pl/temat/44770-misja-zabijanie/#findComment-281062
Udostępnij na innych stronach

  • 0
7 minut temu, CoFFeIN04 napisał:

Edytowałem, sprawdź teraz

https://imgur.com/a/9LnRG58 tak wygląda gui, 0 errorów

EDIT: po zreloganiu widać ze pierwsze szkło jest zielone, natomiast można wszystko wyciągać.

https://imgur.com/a/nTz5j4l

Edytowane przez brvads
Odnośnik do komentarza
https://skript.pl/temat/44770-misja-zabijanie/#findComment-281064
Udostępnij na innych stronach

  • 0
3 minuty temu, brvads napisał:

EDIT: po zreloganiu widać ze pierwsze szkło jest zielone, natomiast można wszystko wyciągać.

trzeba wyjść i wejść po wgraniu skryptu, zapomniałem zablokować wyciąganie, już naprawiłem w poprzedniej wiadomości

 

Schemat dodawania nowej misji:

- dodajesz w variables {misja-3} (-4,-5 itd.) i przypisujesz ilość potrzebnych mobów do zabicia

- dodajesz w on death sprawdzenie nazwy moba i wywołanie funkcji misja(attacker,3) (zamiast 3 to kolejny numer misji)

Edytowane przez CoFFeIN04
Odnośnik do komentarza
https://skript.pl/temat/44770-misja-zabijanie/#findComment-281067
Udostępnij na innych stronach

  • 0
Teraz, brvads napisał:

Dalej da się wyciągać

Podaj:

  • wersję serwera
  • silnik serwera
  • wersję Skripta
  • listę dodatków do Skripta wraz z wersjami
  • błędy przy przeładowaniu
  • błędy w konsoli
Odnośnik do komentarza
https://skript.pl/temat/44770-misja-zabijanie/#findComment-281070
Udostępnij na innych stronach

  • 0
1 minutę temu, brvads napisał:

Dalej da się wyciągać

testowałem u siebie, nie da się, musisz mieć coś nie tak.

Na pewno zapisałeś i przeładowałeś skrypt? 

 

Jeśli wszystko okej to podaj to co wyżej zostało podane

Odnośnik do komentarza
https://skript.pl/temat/44770-misja-zabijanie/#findComment-281071
Udostępnij na innych stronach

  • 0
4 minuty temu, Kormic napisał:

Podaj:

  • wersję serwera
  • silnik serwera
  • wersję Skripta
  • listę dodatków do Skripta wraz z wersjami
  • błędy przy przeładowaniu
  • błędy w konsoli

  

2 minuty temu, Kormic napisał:

Podaj:

  • wersję serwera
  • silnik serwera
  • wersję Skripta
  • listę dodatków do Skripta wraz z wersjami
  • błędy przy przeładowaniu
  • błędy w konsoli

1.8.8
paperspigot 1.8.8
2.5.3
SkQueryLime, skRayFall 1.9.21, SharpSK
Brak
Brak

Odnośnik do komentarza
https://skript.pl/temat/44770-misja-zabijanie/#findComment-281072
Udostępnij na innych stronach

  • 0
Teraz, brvads napisał:

  

1.8.8
paperspigot 1.8.8
2.5.3
SkQueryLime, skRayFall 1.9.21, SharpSK
Brak
Brak

Skript 2.5.3 od Matocolotoe, tak?

Spróbuj bez wszystkich dodatków do Skripta i zobacz jak się zachowuje skrypt.

Odnośnik do komentarza
https://skript.pl/temat/44770-misja-zabijanie/#findComment-281073
Udostępnij na innych stronach

  • 0
1 minutę temu, brvads napisał:

Od matocolotoe, spróbowałem bez dodatków i tak samo.

W takim razie zrób tak:

  • wyłącz serwer
  • zapisz sobie w bezpiecznym miejscu skrypty i/lub zmienne
  • usuń folder Skript
  • włącz ponownie serwer
  • wrzuć z powrotem wcześniej zapisane skrypty i/lub zmienne
Odnośnik do komentarza
https://skript.pl/temat/44770-misja-zabijanie/#findComment-281075
Udostępnij na innych stronach

  • 0

Hmm, dziwna sytuacja, powinno działać.

Wszystko poza wyciąganiem jest okej?

Możliwe, że na starej wersji nie ma (nie działa) jakiegoś warunku lub autor forka o nim zapomniał, ale wątpie, więc zakomentuj (dodaj # przed linią) 2 warunek w evencie inventory click (2 linijka od dołu) i zobacz, czy zadziała. 

Czy w 3 linijce od dołu zamieniłeś nazwę gui na swoją?

Edytowane przez CoFFeIN04
Odnośnik do komentarza
https://skript.pl/temat/44770-misja-zabijanie/#findComment-281076
Udostępnij na innych stronach

  • 0
2 minuty temu, CoFFeIN04 napisał:

Hmm, dziwna sytuacja, powinno działać.

Wszystko poza wyciąganiem jest okej?

Możliwe, że na starej wersji nie ma jakiegoś warunku, zakomentuj (dodaj # przed linią)  2 warunek (2 linijka od dołu) i zobacz, czy zadziała. 

Czy w 3 linijce od dołu zamieniłeś nazwę gui na swoją?

Nie, ale zmieniłem 

na

 

Odnośnik do komentarza
https://skript.pl/temat/44770-misja-zabijanie/#findComment-281077
Udostępnij na innych stronach

  • 0

Okej, to tylko sprawdzało czy entity jest villagerem, rozumiem że zrobiłeś to bo chcesz by inne stworzenia też mogły pokazywać misje po kliknięciu na nie?

 

Odnośnik do komentarza
https://skript.pl/temat/44770-misja-zabijanie/#findComment-281078
Udostępnij na innych stronach

  • 0
4 minuty temu, CoFFeIN04 napisał:

Możliwe, że na starej wersji nie ma (nie działa) jakiegoś warunku lub autor forka o nim zapomniał, ale wątpie, więc zakomentuj (dodaj # przed linią) 2 warunek w evencie inventory click (2 linijka od dołu) i zobacz, czy zadziała. 

Spróbuj powyższego.

 

Jeśli nadal nie zadziała to odkomentuj (usuń #) i zrób to, co napisał Kormic:

5 minut temu, Kormic napisał:
  • wyłącz serwer
  • zapisz sobie w bezpiecznym miejscu skrypty i/lub zmienne
  • usuń folder Skript
  • włącz ponownie serwer
  • wrzuć z powrotem wcześniej zapisane skrypty i/lub zmienne

 

Edytowane przez CoFFeIN04
Odnośnik do komentarza
https://skript.pl/temat/44770-misja-zabijanie/#findComment-281080
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ę...