Gość Usunięty#58125 Opublikowano 17 maja 2024 Udostępnij Opublikowano 17 maja 2024 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 Formatuję konfigurację jako kod. Notatka dodana przez GRIERIOR Odnośnik do komentarza https://skript.pl/temat/57524-cashblock/ Udostępnij na innych stronach Więcej opcji udostępniania...
0 Kormic 1951 Opublikowano 17 maja 2024 Udostępnij Opublikowano 17 maja 2024 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 Więcej opcji udostępniania...
0 Gość Usunięty#58125 Opublikowano 17 maja 2024 Udostępnij Opublikowano 17 maja 2024 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 Więcej opcji udostępniania...
0 Kormic 1951 Opublikowano 17 maja 2024 Udostępnij Opublikowano 17 maja 2024 (edytowane) 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 17 maja 2024 przez Kormic Odnośnik do komentarza https://skript.pl/temat/57524-cashblock/#findComment-342529 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Gość Usunięty#58125 Opublikowano 17 maja 2024 Udostępnij Opublikowano 17 maja 2024 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 Więcej opcji udostępniania...
0 Kormic 1951 Opublikowano 17 maja 2024 Udostępnij Opublikowano 17 maja 2024 (edytowane) 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 17 maja 2024 przez Kormic Odnośnik do komentarza https://skript.pl/temat/57524-cashblock/#findComment-342531 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Gość Usunięty#58125 Opublikowano 17 maja 2024 Udostępnij Opublikowano 17 maja 2024 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 Więcej opcji udostępniania...
0 GRIERIOR 39 Opublikowano 22 maja 2024 Udostępnij Opublikowano 22 maja 2024 Problem został rozwiązany. Odnośnik do komentarza https://skript.pl/temat/57524-cashblock/#findComment-342602 Udostępnij na innych stronach Więcej opcji udostępniania...
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
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