Skocz do zawartości
  • 0

dropienie blokow z procentami


Pytanie

Siema napisalby mi ktos taki skrypcik na wydropienie blokow z procentami? Mialoby w nim chodzic o to ze wszystkie rudy (ruda wegla, zelaza, miedzi, zlota, redstona, emeraldu, diamentu i netherowa ruda zlota) mialy by miec 60% wydropienia No chyba ze ktos by wykopał je z Silk touchem to wtedy maja 100% szans ale dostaja rude I jak sie wykopie z fortuna 3, 2 i 1 to też maja wieksze szanse I jeszcze jak mozna to mozesz dodac wiadomosc cos w stylu "Nie udalo sie wydropic bloku!"

Odnośnik do komentarza
https://skript.pl/temat/57728-dropienie-blokow-z-procentami/
Udostępnij na innych stronach

5 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
2 godziny temu, SNoczek21 napisał:

Siema napisalby mi ktos taki skrypcik na wydropienie blokow z procentami? Mialoby w nim chodzic o to ze wszystkie rudy (ruda wegla, zelaza, miedzi, zlota, redstona, emeraldu, diamentu i netherowa ruda zlota) mialy by miec 60% wydropienia No chyba ze ktos by wykopał je z Silk touchem to wtedy maja 100% szans ale dostaja rude I jak sie wykopie z fortuna 3, 2 i 1 to też maja wieksze szanse I jeszcze jak mozna to mozesz dodac wiadomosc cos w stylu "Nie udalo sie wydropic bloku!"

Proszę uprzejmie. Skrypt nie był testowany.

Teraz omówię zwięźle sposób działania poniższego kodu.
Jeśli gracz posiada kilof z zaklęciem jedwabnego dotyku (ang. silk touch), nic się nie dzieje. W innym przypadku obliczana jest szansa na podstawie bazowej szansy (opcja 'baseChance' na samej górze skryptu) i stosunku poziomu zaklęcia szczęścia (ang. fortune) do maksymalnego poziomu zaklęcia szczęścia możliwego do uzyskania na serwerze.

Wzór na bonus do szansy dla przypadku ogólnego można opisać jak poniżej:

bonusowa szansa = (100 - bazowa szansa) * poziom zaklęcia szczęścia / maksymalny poziom zaklęcia szczęścia

 

Na górze skryptu dodałem możliwość zmiany podstawowej szansy otrzymania przedmiotów z rudy i maksymalnego poziomu zaklęcia szczęścia.
Jeśli będzie potrzeba, można zwiększyć maksymalny poziom szczęścia na przykład o 1, aby nigdy nie było możliwości 100% szans na drop.

options:
	baseChance: 60
	maxFortuneLevel: 3

on mine:
	event-block is any ore
	if level of silk touch of player's tool > 0:
		stop
	set {_fortuneLevel} to level of fortune of player's tool
	set {_fortuneLevel} to 0 if {_fortuneLevel} is not set
	set {_bonusChance} to (100 - {@baseChance}) * {_fortuneLevel} / {@maxFortuneLevel}
	chance of (100 - {@baseChance} - {_bonusChance})%:
		cancel item drops
		send "&6Nie udało się wydropić bloku!" to player

Pozdrawiam.

Odnośnik do komentarza
https://skript.pl/temat/57728-dropienie-blokow-z-procentami/#findComment-343259
Udostępnij na innych stronach

  • 0
43 minuty temu, Kormic napisał:

Proszę uprzejmie. Skrypt nie był testowany.

Teraz omówię zwięźle sposób działania poniższego kodu.
Jeśli gracz posiada kilof z zaklęciem jedwabnego dotyku (ang. silk touch), nic się nie dzieje. W innym przypadku obliczana jest szansa na podstawie bazowej szansy (opcja 'baseChance' na samej górze skryptu) i stosunku poziomu zaklęcia szczęścia (ang. fortune) do maksymalnego poziomu zaklęcia szczęścia możliwego do uzyskania na serwerze.

Wzór na bonus do szansy dla przypadku ogólnego można opisać jak poniżej:

bonusowa szansa = (100 - bazowa szansa) * poziom zaklęcia szczęścia / maksymalny poziom zaklęcia szczęścia

 

Na górze skryptu dodałem możliwość zmiany podstawowej szansy otrzymania przedmiotów z rudy i maksymalnego poziomu zaklęcia szczęścia.
Jeśli będzie potrzeba, można zwiększyć maksymalny poziom szczęścia na przykład o 1, aby nigdy nie było możliwości 100% szans na drop.

options:
	baseChance: 60
	maxFortuneLevel: 3

on mine:
	event-block is any ore
	if level of silk touch of player's tool > 0:
		stop
	set {_fortuneLevel} to level of fortune of player's tool
	set {_fortuneLevel} to 0 if {_fortuneLevel} is not set
	set {_bonusChance} to (100 - {@baseChance}) * {_fortuneLevel} / {@maxFortuneLevel}
	chance of (100 - {@baseChance} - {_bonusChance})%:
		cancel item drops
		send "&6Nie udało się wydropić bloku!" to player

Pozdrawiam.

Wszystko pieknie dziala ale mozesz ustawic ze fortuna 1 ma 65 procent fortuna 2 70 a fortuna 3 75 procent dropu?

Odnośnik do komentarza
https://skript.pl/temat/57728-dropienie-blokow-z-procentami/#findComment-343262
Udostępnij na innych stronach

  • 0
44 minuty temu, SNoczek21 napisał:

Wszystko pieknie dziala ale mozesz ustawic ze fortuna 1 ma 65 procent fortuna 2 70 a fortuna 3 75 procent dropu?

No dobrze. W takim razie druga opcja 'maxFortuneLevel' jest zbędna.

Proszę bardzo.

options:
	baseChance: 60
	
on mine:
	event-block is any ore
	if level of silk touch of player's tool > 0:
		stop
	set {_fortunePercentages::*} to {@baseChance}, 65, 70 and 75
	set {_fortuneLevel} to level of fortune of player's tool
	set {_fortuneLevel} to 0 if {_fortuneLevel} is not set
	set {_index} to min(3, {_fortuneLevel}) + 1
	set {_chance} to {_fortunePercentages::%{_index}%}
	chance of (100 - {_chance})%:
		cancel item drops
		send "&6Nie udało się wydropić bloku!" to player

Pozdrawiam.

Odnośnik do komentarza
https://skript.pl/temat/57728-dropienie-blokow-z-procentami/#findComment-343263
Udostępnij na innych stronach

  • 0
33 minuty temu, Kormic napisał:
options:
	baseChance: 60
	
on mine:
	event-block is any ore
	if level of silk touch of player's tool > 0:
		stop
	set {_fortunePercentages::*} to {@baseChance}, 65, 70 and 75
	set {_fortuneLevel} to level of fortune of player's tool
	set {_fortuneLevel} to 0 if {_fortuneLevel} is not set
	set {_index} to min(3, {_fortuneLevel}) + 1
	set {_chance} to {_fortunePercentages::%{_index}%}
	chance of (100 - {_chance})%:
		cancel item drops
		send "&6Nie udało się wydropić bloku!" to player

Bardzo dziekuje! 

Odnośnik do komentarza
https://skript.pl/temat/57728-dropienie-blokow-z-procentami/#findComment-343264
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ę...