-
Ilość zawartości
11015 -
Rejestracja
-
Ostatnia wizyta
-
Wygrane w rankingu
231
Treść opublikowana przez Kormic
-
Pokażę ci na przykładzie jednej rangi, a resztę sobie dorzucisz. if arg-1 is "kupvip": if player's groups contains "twoja_ranga_VIP": send "&cJuż zakupiłeś rangę VIP!" to player stop if {coins.%player%} is less than 10.00: send "" to player send "&c&lBŁAD: &4Nie posiadasz wystarczajaco pieniedzy !" to player send "" to player else: execute console command "pex user %player% group set Vip" remove 10.00 from {coins.%player%} send "" to player send "&8» &cZakupiles Rangę &8[&6VIP&8] &7!" to player send "&8» &7Z konta odjeto &610.00 &7zł" to player send "" to player Czyli znaczenie ma fragment między linijkami 2. i 4. Mimo wszystko skrypt brzydko wygląda ze względu na: użycie zbugowanego 'format slot', zalecam użyć 'set slot' pochodzący ze Skripta zły sposób nazewnictwa zmiennych, który uniemożliwia łatwe manipulowanie nimi (zalecam zmienić na listy zmiennych): # Zamiast używania zwykłych zmiennych: {coins.%player%} # Zalecam używac list zmiennych: {coins::%player%} Pozwalają na o wiele łatwiejsze zarządzanie wieloma zmiennymi: # Możesz wyczyścić coinsy wszystkim graczom: clear {coins::*} # Możesz sprawdzić ile wszyscy gracze posiadają coinsów (czyli zapętlić i wykonywać na nich złożone operacje): loop {coins::*}: send "%loop-index% posiada %loop-value% coinsów!" # Możesz sprawdzić rozmiar listy (ilu graczy posiada jakiekolwiek coinsy, 0.00 również będzie się zaliczało, liczy się jedynie, że informacja jest zapisana) send "%size of {coins::*}% graczy posiada coinsy!" wielokrotne wysyłanie pustych linijek pod sobą, a można by to zrobić o wiele prościej: send "" and "" and ""
-
W takim razie zrób tak jak Helios powiedział, jedynie niepotrzebne jest parse'owanie listy na tekst. groups of player contains "twoja_ranga_VIP":
-
To nie jest błąd, a warn (ostrzeżenie). Skript informuje cię, że po tym warunku nic nie następuje w kodzie, czyli po prostu jest zbędny. Komendę podajemy w cudzysłowie. execute console command "kick %player% Test"
-
Proszę. on connect: if player has permission "vip": loop all players: loop-player doesn't have permission "vip" kick loop-player due to "&cDołączył VIP na serwer, a że serwer jest pełny i nie posiadasz VIPa, to zostałeś z niego wyrzucony!" exit loop else: number of all players is greater than or equal to 20 kick player due to "&cSerwer jest pełny i nie posiadasz VIPa!"
-
1. To jest zmienna globalna, gdyż przed nazwą nie dałeś podłogi. 2. Wystarczy sprawdzić poprzez 'if [coś] is [czymś]'.
-
Ustawiamy po prostu 'event-slot'. On już przechowuje informację o numerze slotu oraz o konkretnym inventory, więc nie trzeba się tym martwić. set event-slot to diamond
-
W takim razie wykorzystaj event 'on first join' przy dawaniu graczowi tej kartki. Mimo wszystko powinieneś tworzyć nowy temat, aby nie wrzucać wielu problemów do jednego wątku. Doceniam chęć niezaśmiecania nowymi wątkami, ale nie ma tutaj co się o to martwić. Masz nowy problem/pytanie/zlecenie, zakładasz nowy wątek w odpowiednim dziale.
-
Plugin TAB od Neznamy.
-
Da się, da się. Wystarczy użyć eventu 'on death of zombie', sprawdzać nazwę victima, sprawdzać czy attackerem jest gracz i jeżeli dwa poprzednie warunki się zgadzają, zwiększamy zmienną globalną (w której przechowujemy ile gracz zabił zombie) o 1. Przy każdym zwiększaniu sprawdzamy czy zmienna wynosi więcej lub równo 10. W przypadku gdy rzeczywiście wynosi tyle, wykonujemy komendę poprzez 'execute console command "komenda"'. Nie wiem tylko w jakiej formie ty to napisałeś. To jest pytanie czy zlecenie?
-
Pokaż swój obecny kod.
-
Możliwość "klikania" każdego klocka w GUI
Kormic odpowiedział(a) na MineRP pytanie w Pytania i problemy
Kliknięty item przechwycisz poprzez wyrażenie 'event-slot'. if event-slot's type is white wool: chance of 50%: # Dalszy kod W tym kodzie sprawdzamy typ klikniętego slotu (innymi słowy czym jest ten item biorąc pod uwagę jedynie jego typ, np. iron shovel, oak planks, emerald itd.). -
Autor zapewne nadal nie rozumie jak to ma zrobić, dlatego też podsyłam link do forumowej wiki Skripta, a dokładniej fragment z odstępami czasowymi: https://wiki.skript.pl/Odstępy_czasowe Ten kod powinien cię zainteresować i podpowiedzieć jak to poprawnie zrobić: set {_czas} to difference between {tntrzut::%player%} and now if {_czas} isn't less than 10 seconds: #kod set {tntrzut::%player%} to now else: send "Poczekaj 10 sekund" Jeżeli będziesz na dobrym tropie i wykażesz chęć nauczenia się tego, nie widzę najmniejszego problemu, aby pokazać mój sposób na cooldowny, który jest całkiem podobny do tego powyżej.
-
W takim razie te dwie rzeczy ci się przydadzą: Forumowe wiki: https://wiki.skript.pl/Kategoria:Skript Dokumentacja: https://skriptlang.github.io/Skript/expressions.html
-
1. Nigdzie nie ustawiasz zmiennej {opu.%player%}, przez co skrypt nie ma jak tego sprawdzić. 2. Różnica między dwoma datami to timespan (np. '55 minutes' lub '1 minute and 22 seconds'), nie liczba.
-
Ehh... white wool. Skript opiera się na języku angielskim.
-
Jak jest biały po angielsku? Chyba potrafisz sobie odpowiedzieć na te pytanie.
-
Nie rób tego poprzez komendy, tylko poprzez event 'on inventory click'. Dzięki temu nie będziesz musiał zamartwiać się takimi pierdołami.
-
A, dobra... Tutaj Helios ma rację, nie zauważyłem, że użyłeś 'set slot' wraz z formatowaniem GUI pochodzącego z SkQuery. Akcje dla GUI stworzonego w czystym Skript'cie definiujemy w evencie 'on inventory click'. Tutaj podrzucam fragment wiki: https://wiki.skript.pl/GUI
-
Dlatego, że w błędnych linjkach masz podwójne spacje. Widzisz?
-
1. Nie ten dział. 2. Proszę. <html> <head> <title>PLACE</title> </head> <body> <h1>PLACE</h1> </body> </html>
-
Użyj skryptu AxJobs. PS. Zlecenia składamy w dziale "Skript > Zlecenia". Pamiętaj o tym na przyszłość.
-
Zobacz ostatnio stworzone wątki w dziale zleceń oraz pytań i problemów. Jakoś dzisiaj dużo ludzi pyta o muzykę...
-
Przecież tak jest, nie?
-
Co masz na myśli poprzez "wszędzie"?
-
Mógłbyś to zrobić w ten sposób, ale niestety jeżeli muzyka sama się zakończy to skrypt się wykrzaczy. Niestety, ale w Skriptcie nie da się sprawdzić czy dany dźwięk jest odgrywany dla gracza. command /muzyka [<text>]: trigger: if arg-1 parsed as number is integer: if arg-1 is 1: set {music::%player%} to "MUSIC_DISC_BLOCKS" play sound "MUSIC_DISC_BLOCKS" to player else if arg-1 is 2: set {music::%player%} to "MUSIC_DISC_CHIRP" play sound "MUSIC_DISC_CHIRP" to player else if arg-1 is "stop": {music::%player%} is set stop sound "%{music::%player%}%" for player W takim wypadku pomyślałbym nad zapętleniem danej muzyki lub zapętlaniem wszystkich. W ostateczności możesz sprawdzić jak długo gra dana muzyczka i na jej podstawie dać do kodu delay, po którym czyścisz zmienną. Należy tutaj pamiętać o czyszczeniu zmiennej również przy wyjściu gracza z serwera.
