Skocz do zawartości
  • 0

Dodanie % do dropu


Nau

Pytanie

on load:
	set {item} to mossy cobblestone named "&6&lCobbleX"
	clear {cx::*}
	
	#Dodawanie itemow do dropu
	
	add diamond to {cx::*}
	add gold ingot to {cx::*}
	add 8 of gold ingot to {cx::*}
	add iron ingot to {cx::*}
	add 8 of iron ingot to {cx::*}
	add golden apple to {cx::*}

Mam skrypcik na CobbleX to jest jego kawałek kodu jak mogę dodać % szans do poszczególnego itemu?

Odnośnik do komentarza
https://skript.pl/temat/44310-dodanie-do-dropu/
Udostępnij na innych stronach

20 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
8 minut temu, Nau napisał:

Mam skrypcik na CobbleX to jest jego kawałek kodu jak mogę dodać % szans do poszczególnego itemu?

Przy postawieniu cobblexa (czy też przy jego postawieniu, nie wiem jak to u ciebie wygląda) musisz zapętlić listę {cx::*} i sprawdzać czym jest loop-value, a następnie użyć 'chance of'.

Odnośnik do komentarza
https://skript.pl/temat/44310-dodanie-do-dropu/#findComment-277842
Udostępnij na innych stronach

  • 0
15 minut temu, Kormic napisał:

Przy postawieniu cobblexa (czy też przy jego postawieniu, nie wiem jak to u ciebie wygląda) musisz zapętlić listę {cx::*} i sprawdzać czym jest loop-value, a następnie użyć 'chance of'.

 

Tak przy postawieniu daje randomowy przedmiot, za bardzo nie rozumiem szczerze mówiąc o czym mówisz mógłbyś mnie bardziej w tą stronę nakierować bo też nie chcę od razu pazernie pisać czy zrobisz to za mnie tylko czegoś sam spróbować

Odnośnik do komentarza
https://skript.pl/temat/44310-dodanie-do-dropu/#findComment-277847
Udostępnij na innych stronach

  • 0
Teraz, Nau napisał:

 

Tak przy postawieniu daje randomowy przedmiot, za bardzo nie rozumiem szczerze mówiąc o czym mówisz mógłbyś mnie bardziej w tą stronę nakierować bo też nie chcę od razu pazernie pisać czy zrobisz to za mnie tylko czegoś sam spróbować

Powinno pomóc.

loop {cx::*}:
	if loop-value is gold ingot:
		chance of 5.5%:
			# Kod od wydropienia loop-value
	else if loop-value is iron ingot:
		chance of 10%:
			# Kod od wydropienia loop-value
	# I tak dalej...

 

Odnośnik do komentarza
https://skript.pl/temat/44310-dodanie-do-dropu/#findComment-277848
Udostępnij na innych stronach

  • 0
6 minut temu, Kormic napisał:

Powinno pomóc.


loop {cx::*}:
	if loop-value is gold ingot:
		chance of 5.5%:
			# Kod od wydropienia loop-value
	else if loop-value is iron ingot:
		chance of 10%:
			# Kod od wydropienia loop-value
	# I tak dalej...

 

	if loop-value is iron ingot:
		chance of 10%:
	else if loop-valuee is gold ingot
		chance of 10%:
	else if loop_value is diamond
		chance of 50%:

Napisałem taki kawałek kodu, nie zrobiłem żadnego błędu? + mam pytanie powiedzmy jeżeli diament byłby ostatnim itemem do dropu to po chance of 50%: musi być jakiś end do if`a? Czy po prostu zostawić tak jak teraz wysłałem w kodzie

 

 

Odnośnik do komentarza
https://skript.pl/temat/44310-dodanie-do-dropu/#findComment-277851
Udostępnij na innych stronach

  • 0
Teraz, Nau napisał:

	if loop-value is iron ingot:
		chance of 10%:
	else if loop-valuee is gold ingot
		chance of 10%:
	else if loop_value is diamond
		chance of 50%:

Napisałem taki kawałek kodu, nie zrobiłem żadnego błędu? + mam pytanie powiedzmy jeżeli diament byłby ostatnim itemem do dropu to po chance of 50%: musi być jakiś end do if`a? Czy po prostu zostawić tak jak teraz wysłałem w kodzie

 

 

Źle zrobiłeś. Masz literówkę w drugim (dwa razy "e"), a w trzecim dałeś podłogę zamiast myślnika. Zapomniałeś również o kodzie do wydropienia tych itemów.

Nie rozumiem twojego pytania. Mógłbyś jaśniej?

Odnośnik do komentarza
https://skript.pl/temat/44310-dodanie-do-dropu/#findComment-277852
Udostępnij na innych stronach

  • 0
2 minuty temu, Kormic napisał:

Źle zrobiłeś. Masz literówkę w drugim (dwa razy "e"), a w trzecim dałeś podłogę zamiast myślnika. Zapomniałeś również o kodzie do wydropienia tych itemów.

Nie rozumiem twojego pytania. Mógłbyś jaśniej?

Dzięki, jeżeli chodzi o kod wydropienia tych itemów to jest tak?
 

	if loop-value is iron ingot:
		chance of 10%:
			give to player 1 iron ingot

Bawiłem się swojego czasu w .lua i tam zazwyczaj jeżeli jest if na początku kodu to na końcu musi być end
np. tak jak jest na górze to w .lua by musiało być na końcu np end. taki przykład 

	if loop-value is iron ingot:
		chance of 10%:
			give to player 1 iron ingot
	else if loop-value is iron ingot:
		chance of 10%:
			give to player 1 iron ingot
	else if loop-value is iron ingot:
		chance of 10%:
			give to player 1 iron ingot
	end

I chodziło mi w pytaniu czy musi być jakieś zakończenie czy po prostu zostawić tak jak jest bez ,,end"?

Odnośnik do komentarza
https://skript.pl/temat/44310-dodanie-do-dropu/#findComment-277853
Udostępnij na innych stronach

  • 0
13 minut temu, Nau napisał:

Bawiłem się swojego czasu w .lua i tam zazwyczaj jeżeli jest if na początku kodu to na końcu musi być end
np. tak jak jest na górze to w .lua by musiało być na końcu np end. taki przykład 

Aaa... już rozumiem twoje obawy. Nie, w Skript'cie przynależność do danego warunku definiuje wcięcie (wytabowanie kodu).

13 minut temu, Nau napisał:

I chodziło mi w pytaniu czy musi być jakieś zakończenie czy po prostu zostawić tak jak jest bez ,,end"?

Nie ma czegoś takiego jak 'end' w Skript'cie. Po prostu zostaw to tak jak jest.

Odnośnik do komentarza
https://skript.pl/temat/44310-dodanie-do-dropu/#findComment-277857
Udostępnij na innych stronach

  • 0
43 minuty temu, Nau napisał:

Dobra, dzięki wielkie za pomoc, jeszcze mam pytanie bo zrestartowałem tego cx.sk i teraz pokazuje mi błędy: 
https://prnt.sc/wfehdk

 

byłbyś w stanie jeszcze z tym pomóc?:

Posiadasz starą wersję Skripta, tak?

Co do błędów, pierwsze 4 dotyczą wcięć w kodzie (wytabowania kodu).

W 5. zakładam, że zapomniałeś o dwukropku na końcu linijki.

Reszta zakładam, że jest związana z pierwszymi pięcioma.

Odnośnik do komentarza
https://skript.pl/temat/44310-dodanie-do-dropu/#findComment-277861
Udostępnij na innych stronach

  • 0
11 minut temu, Kormic napisał:

Posiadasz starą wersję Skripta, tak?

Co do błędów, pierwsze 4 dotyczą wcięć w kodzie (wytabowania kodu).

W 5. zakładam, że zapomniałeś o dwukropku na końcu linijki.

Reszta zakładam, że jest związana z pierwszymi pięcioma.

Tak próbuje coś zdziałać na 1.8.8 pod stare PvP

Poprawiłem wytabowanie dałem dwukropek na końcu linijki i teraz kod wygląda tak
 

on load:
	set {item} to mossy cobblestone named "&6&lCobbleX"
	loop {cx::*}:
	
	#Dodawanie itemow do dropu
	
	if loop-value is iron ingot:
		chance of 10%:
			give to player 1 iron ingot

	else if loop-value is gold ingot
	chance of 10%:
	give to player 1 gold ingot

	else if loop-value is diamond
	chance of 50%:
	give to player 1 diamond 

a error jeszcze większy :D 

https://prnt.sc/wffm8r

 

Odnośnik do komentarza
https://skript.pl/temat/44310-dodanie-do-dropu/#findComment-277864
Udostępnij na innych stronach

  • 0

W dalszym ciągu źle brak wcięć po warunkach i brak dwukropków na końcu warunków

 

To powinno wyglądać tak

on load:
	set {item} to mossy cobblestone named "&6&lCobbleX"
	loop {cx::*}:
	
	#Dodawanie itemow do dropu
	
	if loop-value is iron ingot:
		chance of 10%:
			give to player 1 iron ingot

	else if loop-value is gold ingot:
		chance of 10%:
			give to player 1 gold ingot

	else if loop-value is diamond:
		chance of 50%:
			give to player 1 diamond 

Oczywiście dodając rzeczy do loopa

Nieaktywny

Łączę posty.

Odnośnik do komentarza
https://skript.pl/temat/44310-dodanie-do-dropu/#findComment-277865
Udostępnij na innych stronach

  • 0
Teraz, Gooldzik napisał:

To powinno wyglądać tak


on load:
	set {item} to mossy cobblestone named "&6&lCobbleX"
	loop {cx::*}:
	
	#Dodawanie itemow do dropu
	
	if loop-value is iron ingot:
		chance of 10%:
			give to player 1 iron ingot

	else if loop-value is gold ingot:
		chance of 10%:
			give to player 1 gold ingot

	else if loop-value is diamond:
		chance of 50%:
			give to player 1 diamond 

Oczywiście dodając rzeczy do loopa

Mógłbyś powiedzieć jak się dodaje rzeczy do loopa? Jestem naprawdę laikiem jeżeli chodzi o Skript w minecraft a próbuje cokolwiek zrozumieć, żeby nie zadawać na przyszłość głupich pytań

Odnośnik do komentarza
https://skript.pl/temat/44310-dodanie-do-dropu/#findComment-277867
Udostępnij na innych stronach

  • 0
4 minuty temu, Nau napisał:

Poprawiłem wytabowanie dałem dwukropek na końcu linijki i teraz kod wygląda tak

O chłopie... ty to robisz w 'on load'. Przecież w 'on load' nie ma żadnego gracza i to już jest podstawowym błędem. Napisałem na początku, że musisz w tym celu użyć eventu 'on place' lub 'on break' (lub 'on mine').

Co do zmiennej {item}, jest ona całkowicie zbędna. Użyj w tym celu sekcji 'options'.

Popraw wcięcie. Po każdym dwukropku na końcu linijki przesuwasz dalszy kod o jeden znak tabulacji w prawo.

Brakuje również w wielu miejscach dwukropków.

W 'on load' ustaw listę z dropem i w 'on place'/'on break'/'on mine' zapętl tę listę i użyj tego kodu, co ci podesłałem na samym początku.

Edytowane przez Kormic
Odnośnik do komentarza
https://skript.pl/temat/44310-dodanie-do-dropu/#findComment-277869
Udostępnij na innych stronach

  • 0
10 minut temu, Kormic napisał:

O chłopie... ty to robisz w 'on load'. Przecież w 'on load' nie ma żadnego gracza i to już jest podstawowym błędem. Napisałem na początku, że musisz w tym celu użyć eventu 'on place' lub 'on break' (lub 'on mine').

Co do zmiennej {item}, jest ona całkowicie zbędna. Użyj w tym celu sekcji 'options'.

Popraw wcięcie. Po każdym dwukropku na końcu linijki przesuwasz dalszy kod o jeden znak tabulacji w prawo.

Brakuje również w wielu miejscach dwukropków.

W 'on load' ustaw listę z dropem i w 'on place'/'on break'/'on mine' zapętl tę listę i użyj tego kodu, co ci podesłałem na samym początku.

Okej teraz trochę zrozumiałem i poprawiłem według instrukcji, pytanie czy wszystko dobrze

on load:
	set {item} to mossy cobblestone named "&6&lCobbleX"
	loop {cx::*}:
	
	#Dodawanie itemow do dropu
	
	add gold ingot to {cx::*}
	add iron ingot to {cx::*}

on place: 

	if loop-value is gold ingot:
		chance of 5.5%:
			# Kod od wydropienia loop-value
	else if loop-value is iron ingot:
		chance of 10%:
			# Kod od wydropienia loop-value

 

Odnośnik do komentarza
https://skript.pl/temat/44310-dodanie-do-dropu/#findComment-277875
Udostępnij na innych stronach

  • 0
Teraz, Nau napisał:

Okej teraz trochę zrozumiałem i poprawiłem według instrukcji, pytanie czy wszystko dobrze

Już jest znacznie lepiej, ale brakuje jeszcze paru rzeczy.

Znowu zapomniałeś o wcięciu kodu przy zapętlaniu listy. Możesz zresztą to o wiele prościej zrobić w 'on load'.

set {cx::*} to gold ingot, diamond and iron ingot

Co do eventu 'on place', nie ma nigdzie zapętlania listy. Musisz ją zapętlić.

Napisałem już o {item}, ale napiszę to jeszcze raz. Użyj sekcji 'options'.

Odnośnik do komentarza
https://skript.pl/temat/44310-dodanie-do-dropu/#findComment-277877
Udostępnij na innych stronach

  • 0
5 minut temu, Kormic napisał:

Już jest znacznie lepiej, ale brakuje jeszcze paru rzeczy.

Znowu zapomniałeś o wcięciu kodu przy zapętlaniu listy. Możesz zresztą to o wiele prościej zrobić w 'on load'.


set {cx::*} to gold ingot, diamond and iron ingot

Co do eventu 'on place', nie ma nigdzie zapętlania listy. Musisz ją zapętlić.

Napisałem już o {item}, ale napiszę to jeszcze raz. Użyj sekcji 'options'.

Czyli za każdym razem jeżeli jest nowy wiersz musi być w nim +1 tab niż w poprzednim dobrze zrozumiałem?
event 'on place' zapętliłem chyba dobrze

{item} zrobiłem w sekcji options. Wygląda to tak:
 

options:
	set {item} to mossy cobblestone named "&6&lCobbleX"

on load:
	set {cx::*} to gold ingot, diamond and iron ingot
	

on place: 
	loop {cx::*}
		if loop-value is gold ingot:
			chance of 5.5%:
				# Kod od wydropienia loop-value
		else if loop-value is iron ingot:
			chance of 10%:
				# Kod od wydropienia loop-value

 

Odnośnik do komentarza
https://skript.pl/temat/44310-dodanie-do-dropu/#findComment-277880
Udostępnij na innych stronach

  • 0
Teraz, Nau napisał:

Czyli za każdym razem jeżeli jest nowy wiersz musi być w nim +1 tab niż w poprzednim dobrze zrozumiałem?

Jeżeli na końcu poprzedniej linijki jest dwukropek, w następnej dajemy o jedno wcięcie więcej.

Teraz, Nau napisał:

event 'on place' zapętliłem chyba dobrze

Brakuje dwukropka.

Teraz, Nau napisał:

{item} zrobiłem w sekcji options.

Źle to zrobiłeś, zmienne w sekcji 'options' definiujemy w następujący sposób:

options:
	item: iron ingot named "test"

Następnie możemy użyć jej w kodzie poprzez:

{@item}

# Przykład:

if player's tool is {@item}:
	# Dalszy kod

 

Odnośnik do komentarza
https://skript.pl/temat/44310-dodanie-do-dropu/#findComment-277881
Udostępnij na innych stronach

  • 0

Powiem tak jesteś mistrz po prostu umiesz wszystko wyjaśnic jak trzeba, wydaje mi się teraz, że wszystko chyba jest w porządku. Wszystko wygląda bardziej przejrzyście teraz + pozmieniałem resztę kodu jak opisałeś tutaj: 

{@item}

# Przykład:

if player's tool is {@item}:
	# Dalszy kod

Ale wracając zerknąłbyś czy teraz wszystko się zgadza + co dopisać w miejscu gdzie jest '# Kod od wydropienia loop-value' uzupełnić to po prostu w ten sposób?
 

on place: 
	loop {cx::*}:
		if loop-value is gold ingot:
			chance of 5.5%:
				add 3 iron ingot to player
				send "zelazo"
		else if loop-value is iron ingot:
			chance of 10%:
				add 3 gold ingot to player
				send "zloto"

 

Edytowane przez Nau
złe uzupełnienie kodu
Odnośnik do komentarza
https://skript.pl/temat/44310-dodanie-do-dropu/#findComment-277886
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ę...