Skocz do zawartości
  • 0

Cashblock


Gość Usunięty#58125

Pytanie

Gość Usunięty#58125

Czesc u gory podrzucam skrypt na dropienie pieniedzy z blokow a na dole plik w którym moge zmienic wartosci szansy i wartosci bloku , dało by rade zrobić tak że jeżeli graczeej mieliby ponizej 5zl to wartosc chance by wzrastała przykladowo o 0.3

drops:
    '1':
        chance: 0.01
        value: 0.01
    '2':
        chance: 0.05
        value: 0.02
    '3':
        chance: 0.10
        value: 0.05
    '4':
        chance: 0.00005
        value: 0.1
    '5':
        chance: 0.0000050
        value: 5


   

GRIERIOR

Formatuję konfigurację jako kod.

Notatka dodana przez GRIERIOR

Odnośnik do komentarza
https://skript.pl/temat/57524-cashblock/
Udostępnij na innych stronach

7 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
13 minut temu, FilipK napisał:

Czesc u gory podrzucam skrypt na dropienie pieniedzy z blokow a na dole plik w którym moge zmienic wartosci szansy i wartosci bloku , dało by rade zrobić tak że jeżeli graczeej mieliby ponizej 5zl to wartosc chance by wzrastała przykladowo o 0.3

Wystarczy, że Pan doda warunek sprawdzający czy stan konta gracza jest mniejszy niż 5. Jeśli tak, dodaje Pan do zmiennej {_chance} liczbę 0.3.

Warunek ten może Pan (a nawet dobrze byłoby) dodać nad warunkiem w linijce 104.

Pozdrawiam.

Odnośnik do komentarza
https://skript.pl/temat/57524-cashblock/#findComment-342527
Udostępnij na innych stronach

  • 0
Gość Usunięty#58125
3 minuty temu, Kormic napisał:

Wystarczy, że Pan doda warunek sprawdzający czy stan konta gracza jest mniejszy niż 5. Jeśli tak, dodaje Pan do zmiennej {_chance} liczbę 0.3.

Warunek ten może Pan (a nawet dobrze byłoby) dodać nad warunkiem w linijce 104.

Pozdrawiam.

dałby pan rade za to mnie zrobić? byłbym bardzo wdzięczny

Odnośnik do komentarza
https://skript.pl/temat/57524-cashblock/#findComment-342528
Udostępnij na innych stronach

  • 0
38 minut temu, FilipK napisał:

dałby pan rade za to mnie zrobić? byłbym bardzo wdzięczny

No dobrze. Proszę podmienić kod funkcji cashDrop na podany przeze mnie poniżej.

Swoją drogą, muszę wspomnieć o jednym. Autor tego skryptu uczynił go niewydajnym poprzez zapis wszystkich danych w plikach YAML i kopiowanie ich do zmiennych, co skutkuje potrzebą częstego ich ładowania (load yaml) i rozładowywania (unload yaml). Przeczy to idei przyświecającej dodatkowi skript-yaml, którego główną zaletą jest ładowanie plików YAML i przechowywanie ich w pamięci zamiast ciągłego otwierania i przetwarzania ich, co generuje niepotrzebne obciążenie serwera. Niestety, kilka najpopularniejszych dodatków popełnia (bądź popełniało) ten błąd, na przykład SkQuery, SkUtilities i Skellett.

function cashDrop(p: player):
	if {cashblock::config::drop-cash-from-stone} is true:
		loop {cashblock::drop-list::*}:
			set {_chance} to {cashblock::drop::%loop-value%::chance}
			if {_p}'s balance < 5:
				add 0.3 to {_chance}
			if {_p} have permission "cashblock.vip":
				add 0.0125 to {_chance}
			else if {_p} have permission "cashblock.svip":
				add 0.015 to {_chance}
			else if {_p} have permission "cashblock.sponsor":
				add 0.0175 to {_chance}
			else if {_p} have permission "cashblock.elita":
				add 0.02 to {_chance}
			chance of {cashblock::drop::%loop-value%::chance}%:
				add {cashblock::drop::%loop-value%::value} to {_p}'s account
				launch star coloured gold and yellow at {_p}'s location with duration 1
				set {_title} to coloured {cashblock::messages::drop-cash-from-stone-title-message}
				set {_subtitle} to coloured {cashblock::messages::drop-cash-from-stone-subtitle-message}
				replace all "{CASH}" with "%{cashblock::drop::%loop-value%::value}%" in {_subtitle}
				replace all "{VAULT}" with "%{cashblock::config::cash-vault-format}%" in {_subtitle}
				send title "&a&lCASH&f&lMINE.PL" with subtitle "&fWlasnie wykopales &a%{cashblock::drop::%loop-value%::value}%zl! &fGratulacje! (/kasa)" to {_p}

				if {cashblock::config::drop-cash-from-stone-message-broadcast} is true:
					loop {cashblock::messages::drop-cash-from-stone-broadcast-message::*}:
						set {_msg} to coloured loop-value-2
						replace all "{PLAYER}" with "%{_p}%" in {_msg}
						replace all "{CASH}" with "%{cashblock::drop::%loop-value-1%::value}%" in {_msg}
						replace all "{VAULT}" with "%{cashblock::config::cash-vault-format}%" in {_msg}
						broadcast {_msg}
				stop

Pozdrawiam.

Edytowane przez Kormic
Odnośnik do komentarza
https://skript.pl/temat/57524-cashblock/#findComment-342529
Udostępnij na innych stronach

  • 0
Gość Usunięty#58125
36 minut temu, Kormic napisał:

No dobrze. Proszę podmienić kod funkcji cashDrop na podany przeze mnie poniżej.

Swoją drogą, muszę wspomnieć o jednym. Autor tego skryptu uczynił go niewydajnym poprzez zapis wszystkich danych w plikach YAML i kopiowanie ich do zmiennych, co skutkuje potrzebą częstego ich ładowania (load yaml) i rozładowywania (unload yaml). Przeczy to idei przyświecającej dodatkowi skript-yaml, którego główną zaletą jest ładowanie plików YAML i przechowywanie ich w pamięci zamiast ciągłego otwierania i przetwarzania ich, co generuje niepotrzebne obciążenie serwera. Niestety, kilka najpopularniejszych dodatków popełnia (bądź popełniało) ten błąd, na przykład SkQuery, SkUtilities i Skellett.

function cashDrop(p: player):
	if {cashblock::config::drop-cash-from-stone} is true:
		loop {cashblock::drop-list::*}:
			set {_chance} to {cashblock::drop::%loop-value%::chance}
			if {_p}'s balance < 5:
				add 0.3 to {_chance}
			if {_p} have permission "cashblock.vip":
				add 0.0125 to {_chance}
			else if {_p} have permission "cashblock.svip":
				add 0.015 to {_chance}
			else if {_p} have permission "cashblock.sponsor":
				add 0.0175 to {_chance}
			else if {_p} have permission "cashblock.elita":
				add 0.02 to {_chance}
			chance of {cashblock::drop::%loop-value%::chance}%:
				add {cashblock::drop::%loop-value%::value} to {_p}'s account
				launch star coloured gold and yellow at {_p}'s location with duration 1
				set {_title} to coloured {cashblock::messages::drop-cash-from-stone-title-message}
				set {_subtitle} to coloured {cashblock::messages::drop-cash-from-stone-subtitle-message}
				replace all "{CASH}" with "%{cashblock::drop::%loop-value%::value}%" in {_subtitle}
				replace all "{VAULT}" with "%{cashblock::config::cash-vault-format}%" in {_subtitle}
				send title "&a&lCASH&f&lMINE.PL" with subtitle "&fWlasnie wykopales &a%{cashblock::drop::%loop-value%::value}%zl! &fGratulacje! (/kasa)" to {_p}

				if {cashblock::config::drop-cash-from-stone-message-broadcast} is true:
					loop {cashblock::messages::drop-cash-from-stone-broadcast-message::*}:
						set {_msg} to coloured loop-value-2
						replace all "{PLAYER}" with "%{_p}%" in {_msg}
						replace all "{CASH}" with "%{cashblock::drop::%loop-value-1%::value}%" in {_msg}
						replace all "{VAULT}" with "%{cashblock::config::cash-vault-format}%" in {_msg}
						broadcast {_msg}
				stop

Pozdrawiam.

coś nie działa, drop sie nie zwiększył ani troche

Odnośnik do komentarza
https://skript.pl/temat/57524-cashblock/#findComment-342530
Udostępnij na innych stronach

  • 0
21 minut temu, FilipK napisał:

coś nie działa, drop sie nie zwiększył ani troche

Już widzę w czym problem. Kod nie bierze pod uwagę zmiennej {_chance}. Proszę więc poprawić poniższą linijkę:

chance of {cashblock::drop::%loop-value%::chance}%:

na:

chance of {_chance}%:

Niech Pan ma na uwadze to, że Pan podaje prawdopodobieństwo (szansę) wylosowania danego przedmiotu w procentach [0%; 100%], nie w przedziale [0; 1]. Dlatego też proszę pamiętać, że posiadanie mniej niż 5zł na koncie zwiększy prawdopodobieństwo o jedyne 0.3%, co jest wartością niewielką. W przypadku pominięcia znaku procenta byłoby to już 30%. Po więcej informacji odsyłam do dokumentacji.

Pozdrawiam.

Edytowane przez Kormic
Odnośnik do komentarza
https://skript.pl/temat/57524-cashblock/#findComment-342531
Udostępnij na innych stronach

  • 0
Gość Usunięty#58125
13 minut temu, Kormic napisał:

Już widzę w czym problem. Kod nie bierze pod uwagę zmiennej {_chance}. Proszę więc poprawić poniższą linijkę:

chance of {cashblock::drop::%loop-value%::chance}%:

na:

chance of {_chance}%:

Niech Pan ma na uwadze to, że Pan podaje prawdopodobieństwo (szansę) wylosowania danego przedmiotu w procentach [0%; 100%], nie w przedziale [0; 1]. Dlatego też proszę pamiętać, że posiadanie mniej niż 5zł na koncie zwiększy prawdopodobieństwo o jedyne 0.3%, co jest wartością niewielką. W przypadku pominięcia znaku procenta byłoby to już 30%. Po więcej informacji odsyłam do dokumentacji.

Pozdrawiam.

dziekuje bardzo 

Odnośnik do komentarza
https://skript.pl/temat/57524-cashblock/#findComment-342532
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ę...