-
Ilość zawartości
11015 -
Rejestracja
-
Ostatnia wizyta
-
Wygrane w rankingu
231
Treść opublikowana przez Kormic
-
Jak najbardziej, ale nie obędzie się tutaj bez dodatku. Ściślej mówiąc, potrzebny będzie dodatek SkBee. Pozwala on na działanie na NBT, a więc tym samym na otrzymywanie dowolnych główek. Poradnik dla wersji 1.20.5+ może Pan znaleźć tutaj. Jeśli jednak Pan korzysta z jednej ze starszych wersji, proszę posłużyć się tym poradnikiem. W razie wątpliwości proszę pytać. Pozdrawiam.
-
Najprościej będzie napisać w skrypcie kod cyklicznie wykonywany (znany również jako periodical). Może w nim Pan ustawiać osobno każdy blok w danej lokalizacji jak poniżej. every 5 minutes: set {_block} to block at location (100, 100, 100) in world "world" if {_block} is red stained hardened clay: set {_block} to lime stained hardened clay else if {_block} is lime stained hardened clay: set {_block} to red stained hardened clay Nietrudno jednak zauważyć, że takie rozwiązanie jest skrajnie niewydajne. Gdyby Pan miał 50 świateł, musiałby Pan przekopiować taki kod 50 razy. Dlatego lepiej jest utworzyć listę lokalizacji sygnalizatorów świetlnych i ją zapętlić. every 5 minutes: loop {trafficLights::locations::*}: set {_block} to block at loop-location if {_block} is red stained hardened clay: set {_block} to lime stained hardened clay else if {_block} is lime stained hardened clay: set {_block} to red stained hardened clay Może Pan tę listę zapełnić właściwie na dwa sposoby. Ręcznie dodać wszystkie lokalizacje po kolei do listy. Dodać jakiś mechanizm dodawania lokalizacji sygnalizatora przy prawym kliknięciu na niego lub wpisaniu odpowiedniej komendy. Szczerze mówiąc, próba oceny tego czy Pan zlecił napisanie skryptu, czy też poprosił o pomoc, przyprawiła mi nieco trudności. Stwierdziłem więc, że wytłumaczę jak ten kod można napisać. Pozdrawiam.
-
Proszę uprzejmie. Skrypt był testowany. Aby otrzymać różdżkę, wystarczy wykonać komendę /getwand. Proszę mieć na względzie, że wymagana jest permisja do jej użycia. W razie potrzeby można spokojnie usunąć konfigurację komendy ('permission' i 'permission message'). options: wandItem: stick wandName: &bRóżdżka teleportacji wandMaxDurability: 2 wandDurabilityLore: &7Pozostało użyć command /getwand: executable by: players permission: server.command.getwand permission message: &cNie posiadasz wystarczających uprawnień do użycia tej komendy. trigger: set {_wand} to {@wandItem} named "{@wandName}" set lore of {_wand} to "{@wandDurabilityLore}: &a{@wandMaxDurability}" give {_wand} to player on right click: targeted block is set type of player's tool is {@wandItem} name of player's tool is "{@wandName}" teleport player above targeted block set {_splitLore::*} to (uncoloured line 1 of lore of player's tool) split at " " set {_usagesLeft} to {_splitLore::3} parsed as number if {_usagesLeft} = 1: remove 1 of player's tool from player's inventory send "&cTwoja różdżka teleportacji uległa zniszczeniu." to player wait 1 tick play sound "ENTITY_ITEM_BREAK" to player stop subtract 1 from {_usagesLeft} set lore of player's tool to "{@wandDurabilityLore}: &6%{_usagesLeft}%" wait 1 tick play sound "ENTITY_ENDERMAN_TELEPORT" to player Pozdrawiam.
-
Proszę uprzejmie. Skrypt był testowany. Należy mieć jedynie na uwadze to, że skrypt rejestruje jedynie stawianie, niszczenie i eksplodowanie TNT. Nie jest on w stanie chociażby wykryć usunięcia TNT za pomocą pluginu. function getChunkID(loc: location) :: text: set {_x} to floor(x-loc of {_loc} / 16) set {_z} to floor(z-loc of {_loc} / 16) set {_world} to world of {_loc} return "%{_x}%,%{_z}%,%{_world}%" on place of tnt: set {_chunkID} to getChunkID(event-location) if {numberOfPlacedTNT::%{_chunkID}%} is set: {numberOfPlacedTNT::%{_chunkID}%} >= 4 cancel event send "&cLimit TNT w jednym chunku wynosi 4." to player stop set {numberOfPlacedTNT::%{_chunkID}%} to 0 if {numberOfPlacedTNT::%{_chunkID}%} is not set add 1 to {numberOfPlacedTNT::%{_chunkID}%} on break of tnt: set {_chunkID} to getChunkID(event-location) {numberOfPlacedTNT::%{_chunkID}%} > 0 subtract 1 from {numberOfPlacedTNT::%{_chunkID}%} on explosion prime: event-entity is tnt set {_chunkID} to getChunkID(event-location) {numberOfPlacedTNT::%{_chunkID}%} > 0 subtract 1 from {numberOfPlacedTNT::%{_chunkID}%} Pozdrawiam.
-
Rozumiem. Nie ma najmniejszego problemu, aby wprowadzić taki mechanizm. Zdecydowałem, że najlepiej będzie sprzedawać kości z ekwipunku gracza przy podnoszeniu ich i zamykaniu ekwipunku. Na samej górze skryptu może Pan modyfikować mnożnik pieniędzy otrzymywanych za sprzedaż kości. options: moneyMultiplier: 10 on inventory close: set {_n} to amount of bone in player's inventory {_n} > 0 add {@moneyMultiplier} * {_n} to player's balance remove all bone from player's inventory send "&aZarobiłeś %{@moneyMultiplier} * {_n}%$." to player on pickup: event-item is bone cancel event set {_n} to item amount of event-item add {@moneyMultiplier} * {_n} to player's balance kill event-entity send "&aZarobiłeś %{@moneyMultiplier} * {_n}%$." to player Pozdrawiam.
-
Proszę uprzejmie. Skrypt nie był testowany. command /zamiana: executable by: players trigger: set {_n} to amount of bone in player's inventory if {_n} is 0: send "&cNie posiadasz kości w ekwipunku." to player stop add 10 * {_n} to player's balance remove all bone from player's inventory send "&aZarobiłeś %10 * {_n}%$." to player W razie ewentualnych problemów ze skryptem proszę dać znać. Pozdrawiam.
-
Można próbować ze sztuczną (nie)inteligencją (GPT, Claude, Gemini, itd.), jednakże trzeba liczyć się z tym, iż kod może zawierać błędy. Jest to konsekwencją tego, że są to dwa odległe od siebie języki (jeśli Skript można w ogóle nazwać językiem). Trzeba mieć również mieć na uwadze następujący fakt - wyżej wymienione boty nie mają dużego doświadczenia ze Skript. Jeśli jednak zależy nam na innym rozwiązaniu, zdaje się, że próżno takiego szukać. Pozdrawiam.
-
Komenda /repair [nick gracza] {naprawia mu przedmiot co trzyma w łapce}
Kormic odpowiedział(a) na asdasdasafasf pytanie w Zlecenia
Mój skrypt nie wykonuje jakichkolwiek złożonych operacji, więc trudno jest mi uwierzyć w to, że mógłby być przyczyną powstałych problemów. Zalecam Panu przetestować skrypt na "czystym" serwerze jeśli to możliwe (minimum to wyłączenie na czas testów wszystkich skryptów, a później w razie dalszych problemów dodatków do Skript). Nie ukrywam jednak, że idealnymi warunkami byłoby przetestowanie skryptu na serwerze ze Skriptem jako jedynym pluginem na serwerze. Jeśli skrypt będzie działał zgodnie z założeniami, oznacza to, że któryś z pluginów (lub skryptów) powoduje problemy. Tutaj już musi Pan na własną rękę doszukać się źródła niepoprawnego działania skryptu. Pozdrawiam. -
Proszę uprzejmie. Skrypt nie był testowany. Na górze skryptu można modyfikować typ, nazwę i lore kilofu. W komendzie można modyfikować wymaganą do niej permisję. options: pickaxeType: diamond pickaxe pickaxeName: "&bKilof &63x3" pickaxeLore: "&7Kilof wykopujący sześcian o boku równym 3" on mine: type of player's tool is {@pickaxeType} name of player's tool is {@pickaxeName} lore of player's tool is {@pickaxeLore} set {_loc1} and {_loc2} to location of event-block remove 1 from x-loc of {_loc1}, y-loc of {_loc1} and z-loc of {_loc1} add 1 to x-loc of {_loc2}, y-loc of {_loc2} and z-loc of {_loc2} loop blocks within {_loc1} and {_loc2}: loop-block is not event-block player's tool is preferred tool for loop-block break loop-block command /cuboidpickaxe: permission: server.command.cuboidpickaxe permission message: &cNie posiadasz uprawnień do użycia tej komendy. trigger: give player {@pickaxeType} named {@pickaxeName} with lore {@pickaxeLore} W razie ewentualnych problemów proszę dać znać. Pozdrawiam.
-
Wedle mojej wiedzy w plikach konfiguracyjnych Spigota i Papera nie istnieje możliwość ustawienia globalnie wartości etykiety "RequiredPlayerRange" (element block data). Jak nazwa wskazuje, odpowiada ona za zasięg, w którym gracz musi się znajdować, aby przywoływacz (spawner) bytów działał. Istnieją dwa rozwiązania tego problemu. Jedno jest szybsze, ale wymaga ustawiania osobno dla każdego spawnera. Drugie natomiast jest wolniejsze, ale gwarantuje, że każdy spawner będzie miał zwiększony zasięg, w jakim gracze muszą się znajdować, aby funkcjonował. Szybszy sposób - wykonanie dla każdego spawnera komendy '/data merge'. # Zwiększenie zasięgu (promienia sfery) działania do 30 kratek /data merge block <x> <y> <z> {RequiredPlayerRange:30} # Wariant ze współzędnymi względnymi - zmiana właściwości spawnera pod sobą przy wykonaniu komendy /data merge block ~ ~-1 ~ {RequiredPlayerRange:30} Wolniejszy sposób - stworzenie (bądź znalezienie) skryptu/pluginu zmieniającego zasięg działania każdego spawnera przy jego stawianiu. Pomocna tutaj będzie ta metoda. Można również rozważyć sprawdzanie bloków przy ładowaniu/generowaniu chunku w poszukiwaniu niezmodyfikowanych spawnerów (w przypadku wygenerowania chunku zawsze mamy do czynienia z niezmodyfikowanymi spawnerami). Pozdrawiam.
-
Z tego co widzę, proces rozwoju skryptu powoli postępuje w dobrym kierunku. Pomimo tego, mam kilka uwag i pytań, którymi chcę się z Panem podzielić. 1. Nie zastosował się Pan do moich uwag w moim pierwszym poście, gdyż nadal dostrzegam te same błędy i niezrozumiałe operacje. 2. Proszę pamiętać o tym, że wszelkie operacje mogące spowodować choćby chwilowe wstrzymanie pracy serwera, powinny być wykonywane poza głównym wątkiem serwera jeśli to tylko możliwe. Mowa oczywiście o pobieraniu tekstu ze strony internetowej, ponieważ Pan wykonuje ów kod synchronicznie. Rozwiązania tego problemu istnieją dwa: zastosowanie instrukcji '$ thread' pochodzącej z SkQuery, utworzenie sekcji i asynchroniczne wykonanie jej przy pomocy dodatku skript-reflect. 3. Zastanawiający jest dla mnie poniższy fragment kodu. on connect: if player is online: kick player due to "&{@Kolor błędu} Ten gracz jest już na tym serwerze!" Czy to działa jak należy? Podejrzewam, że niepoprawnym jest założenie iż dwóch graczy z tą samą nazwą to dokładnie te dwa same obiekty graczy. Na Pana miejscu raczej bym napisał tak jak poniżej. on connect: set {_p} to "%player%" parsed as player {_p} is online kick [...] Pytam, gdyż nigdy nie musiałem rozwiązywać tego typu problemów, ponieważ zdecydowanie lepiej jest mieć serwer działający w trybie online. Zresztą, nie wiadomo czy gracz obecny na serwerze jest wyrzucany już przy wyzwoleniu kodu zdarzenia 'on connect', czy też 'on join'. Jeśli przy tym pierwszym gracz obecny na serwerze jest rozłączany, Pan nie ma na to wpływu. 4. Drobna sugestia z mojej strony - może Pan zastąpić dwa warunki sprawdzające długość hasła jednym warunkiem. length of message is between {@minPassword} and {@maxPassword} # Dalszy kod... 5. Zalecam nie używać polskich znaków w skrypcie poza tekstem i komentarzami. Jest to naruszenie pewnych szeroko pojętych programistycznych konwencji, a poza tym nie wiadomo czy taki kod na pewno zawsze dobrze zadziała. Głównie chodzi o to pierwsze, ściślej mówiąc, schludność kodu. Pozdrawiam.
- 43 odpowiedzi
-
Wedle mojej wiedzy hash cracker polega na przygotowanej wcześniej skończonej bazie danych (tablicy) zawierającej najpopularniejsze hasła wraz z ich hashami. Jako wartość wejściową dla funkcji hash możemy podać dowolnie długi ciąg dowolnych znaków (w przypadku SHA-256 ograniczenie 2^64 - 1 bitów to bardzo, bardzo dużo), a więc praktycznie istnieje niemalże nieskończenie wiele możliwych wartości wejściowych. Unikalnych wartości wyjściowych (hashów) dla algorytmu SHA-256 istnieje natomiast 16^32, czyli 2^256, jednak jest to również wartość, której nie sposób pojąć przeciętnemu człowiekowi. Większość takich baz przechowuje zwykle ponad miliard haseł wraz z ich hashami, a ludzka wyobraźnia jest ograniczona. Niemniej jednak, pesymistyczny wariant 10 miliardów w obliczu 2^256 to właściwie nic.
- 43 odpowiedzi
-
Po primo, powinien Pan podwoić wszelkie cudzysłowy wewnątrz NBT, aby Skript zrozumiał, że są one częścią tego NBT. Zapomniał Pan również usunąć '1' na końcu NBT. Po secundo, może Pan usunąć wszelkie zbędne informacje z NBT, gdyż Pana interesuje tylko etykieta 'profile'. Jeśli ma Pan problem z uporządkowaniem NBT, sugeruję skorzystać z jakiejkolwiek strony "upiększającej" (de facto dodającej spacje i nowe linie) pod względem czytelności. Przykładową stronę znajdzie Pan tutaj. Proszę pamiętać o tym, że zaszły pewne zmiany w zapisie NBT w wersji 1.20.5. Tak więc jeśli Pan korzysta z najnowszej wersji, ten poradnik może się okazać przydatny. Dla starszych wersji może Pan skorzystać z poradnika wspomnianego wyżej. Udostępniam go jeszcze raz tutaj. Pozdrawiam.
-
AntyLogout Problem ActionBar oraz BossBar
Kormic odpowiedział(a) na MajstereQ123 pytanie w Pytania i problemy
Kod jest miejscami niechlujnie napisany, szczególnie fragment z 'loop 1000 times'. Nie rozumiem również dlaczego Pan stworzył komendę /czas zamiast stworzyć kod pętli w listenerze zdarzenia 'on damage'. Co do samego kodu wysyłającego wiadomość na action bar gracza, mam tylko zastrzeżenie w postaci tego, że Pan wysyła ją do 'player', nie do 'arg-1'. Mogłoby to mieć jeszcze sens w przypadku gdy gracz wykonuje komendę, ale w Pana kodzie konsola jako jedyna może wykonać komendę. Zapewne jest to również przyczyna braku wyświetlania wiadomości na action bar. W przypadku wysyłania wiadomości na bossbar, Skript nie wspiera takiej operacji. Musi się Pan którymś z dodatków do Skript, na przykład SkBee. Poradnik dotyczący tworzenia pasków bossów w SkBee może Pan znaleźć tutaj. Pozdrawiam. -
Zapomniałem, że w wersji 1.14+ inwentarze nie posiadają nazw. Prawdopodobnie właśnie to jest przyczyną. Proszę pod linijką 36. dodać poniższy warunek. event-inventory is not player's inventory # Można również spróbować: type of event-inventory is not player inventory Pozdrawiam.
-
Rozumiem, że Pan klika na szybę z diamentami w slocie kursora lewym lub prawym przyciskiem myszy, tak? Dla potwierdzenia może Pan wysłać jakieś nagranie, nawet GIF na stronie imgur się nada. Jeśli Pan rzeczywiście tak robi, przyczyna musi leżeć w samej wersji Pana pluginu Skript, bądź w jakimś pluginie, który nadzoruje wszelkie GUI. Pozdrawiam.
-
Proszę uprzejmie. Skrypt był testowany. Zmienna {diamondGathering::turboDrop} informuje o tym czy TurboDrop jest aktywny. Może Pan więc ją wykorzystać do zwiększenia ilości wyrzucanych przedmiotów, na przykład podczas kopania. Pozdrawiam.
-
Przyczyną błędu jest źle dodane wcięcie w kodzie przed linijką wskazaną przez Skript. Proszę dodać wcięcie (tabulacja, x spacji - zależy od tego jakiej konwencji Pan się trzyma w reszcie skryptu) przed tą linijką. Wtedy skrypt powinien zadziałać (nie sprawdziłem reszty kodu pod kątem chociażby błędów logiki w sensie kolokwialnym, nie matematycznym). Pozdrawiam.
-
Podam przykład dla tej głowy. Może Pan na jej stronie znaleźć komendę /give podpisaną jako "Give Code". /give @p minecraft:player_head{display:{Name:'{"text":"Jack O\' Lantern","color":"gold","underlined":true,"bold":true,"italic":false}',Lore:['{"text":"Custom Head ID: 93775","color":"gray","italic":false}','{"text":"www.minecraft-heads.com","color":"blue","italic":false}']},SkullOwner:{Id:[I;474217116,1064518372,-1342689603,-1465485910],Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNWQ4MWExZjRkOGI4NzJmMGY5MzljNWFmZWUyOWZhOWU2ZDMwMjg0MTM2ZTAwMDIxOWJkNTFlYzg2YWZhNjEyYyJ9fX0="}]}}} 1 W dużym uproszczeniu, NBT to wszystko to, co jest ujęte w nawias klamrowy. {display:{Name:'{"text":"Jack O\' Lantern","color":"gold","underlined":true,"bold":true,"italic":false}',Lore:['{"text":"Custom Head ID: 93775","color":"gray","italic":false}','{"text":"www.minecraft-heads.com","color":"blue","italic":false}']},SkullOwner:{Id:[I;474217116,1064518372,-1342689603,-1465485910],Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNWQ4MWExZjRkOGI4NzJmMGY5MzljNWFmZWUyOWZhOWU2ZDMwMjg0MTM2ZTAwMDIxOWJkNTFlYzg2YWZhNjEyYyJ9fX0="}]}}} Możemy pozbyć się całej części 'display', gdyż odpowiada ona za nazwę i lore przedmiotu. {SkullOwner:{Id:[I;474217116,1064518372,-1342689603,-1465485910],Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNWQ4MWExZjRkOGI4NzJmMGY5MzljNWFmZWUyOWZhOWU2ZDMwMjg0MTM2ZTAwMDIxOWJkNTFlYzg2YWZhNjEyYyJ9fX0="}]}}} Jest to nasze docelowe NBT zawierające jedynie informacje o właścicielu głowy (UUID gracza, którego ona przedstawia) i teksturze, określone poprzez tag "SkullOwner". Zachęcam do lektury artykułu o NBT, który można znaleźć tutaj. Wedle mojej wiedzy sam Skript nie udostępnia możliwości modyfikacji NBT. Może Pan co najwyżej napisać coś na kształt poniższego kodu powiązującego głowę z nazwą dowolnego gracza. set {_skullOwner} to "Kormic" parsed as offline player set {_item} to head of {_skullOwner} give {_item} to player Pozdrawiam.
-
Najprostszym rozwiązaniem będzie skorzystanie z dodatku SkBee, które pozwala na operowanie na NBT przedmiotów. set slot 0 of {_gui} to player head with nbt compound from "NBT" NBT może Pan znaleźć w komendzie /give na wyżej wspomnianej stronie. Pozdrawiam.
-
Jeśli ustawienie flagi regionu w WorldGuard nie przynosi jakiegokolwiek efektu, albo Pan to źle zrobił, albo jakiś listener zdarzenia 'on break' ma wyższy priorytet i odwołuje anulowanie zdarzenia. W tej sytuacji Skript niewiele pomoże, bo co prawda mogę ustawić priorytet listenera, ale takie rozwiązanie jest chwilowe i wprowadza swego rodzaju bałagan w relacjach między listenerami pluginów. Tak więc niech Pan sprawdzi co jest przyczyną i pomyślimy co dalej. Pozdrawiam.
-
Proszę skorzystać z tego poradnika: Jeśli to nie pomoże, istnieje również bardziej "manualna" opcja. Proszę pamiętać, że w przypadku dokonywania zmian w rejestrze należy uprzednio utworzyć kopię zapasową: Pozdrawiam.
-
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.
-
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.
-
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.
