Skocz do zawartości
  • 0

Skript - podwójny drop


Legal
 Udostępnij

Pytanie

Hello, posiadam taki kodzik, lecz jest problem ponieważ czasami dropią 2 przedmioty, a chciałbym aby zawsze dropił tylko 1 :/ 

 

        loop all players:
            if {msgcase.%loop-player%} is true:
                send "otworzyl:" to loop-player
        set {_drop} to false
        while {_drop} is false:
            chance of 10%:
                set {_drop} to true
                drop 1 beacon
                loop all players:
                    if {msgcase.%loop-player%} is true:
                        send "%player% xxx" to loop-player
            chance of 90%:
                set {_drop} to true
                drop 1 iron sword of sharpness 5 and fire aspect 2
                loop all players:
                    if {msgcase.%loop-player%} is true:
                        send "%player% xxx" to loop-player

 

@Edit nie chciałbym robić tego na zasadzie "between 1 and 100", jest jakiś inny sposób?

Edytowane przez Legal
Odnośnik do komentarza
Udostępnij na innych stronach

1 odpowiedź na to pytanie

Rekomendowane odpowiedzi

  • 1
1 minutę temu, Legal napisał:

Hello, posiadam taki kodzik, lecz jest problem ponieważ czasami dropią 2 przedmioty, a chciałbym aby zawsze dropił tylko 1 :/ 

Chance of może się wykonać i to w dowolnej ilości, jeżeli następuje kilka z nich po sobie.

Dlatego też należy ustawić do zmiennej lokalnej losową liczbę i porównujemy ją do danego zbioru liczb.

Tutaj pokazałem przykład jak można to zrobić, dlatego też w twoim przypadku zamiana będzie podobna.

loop all players:
	if {msgcase.%loop-player%} is true:
		send "otworzyl:" to loop-player
set {_drop} to false
while {_drop} is false:
	set {_r} to random integer between 1 and 100
	if {_r} is between 1 and 10:
		set {_drop} to true
		drop 1 beacon
		loop all players:
			if {msgcase.%loop-player%} is true:
				send "%player% xxx" to loop-player
	else if {_r} is between 11 and 100:
		set {_drop} to true
		drop 1 iron sword of sharpness 5 and fire aspect 2
		loop all players:
			if {msgcase.%loop-player%} is true:
				send "%player% xxx" to loop-player

EDIT:

@Legal, odnosząc się do twojego edytowanego postu... jeżeli chcemy ustalić szanse procentowe dla danej rzeczy to poza 'chance of' oraz losowaniem liczby z danego zakresu nie ma wielu możliwości. W pluginach zwykle używa się do tego albo metody random(), albo metody nextInt(), które polegają na losowaniu liczby.

Dlaczego nie chcesz tego robić w ten sposób?

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

 Udostępnij

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

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