Skocz do zawartości

Kormic

Zasłużony
  • Ilość zawartości

    11014
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    231

Treść opublikowana przez Kormic

  1. Else if ma dwa znaczenia: znaczenie wydajnościowe (przy 3 warunkach nic się nie wysypie). ma również drugie znaczenie, opisałem je wyżej. W twoim przypadku nie ma wpływu ani pierwsze, ani drugie.
  2. Kormic

    Topka punktow

    Dwa sposoby: 1. Używasz skryptu pyraTop REBORN Pana Marudy. 2. Daję przykładowy kod: set {topka::*} to sorted {topka::*} loop {topka::*}: add 1 to {_n} send "%{_n}%. %loop-index% - %loop-value%" {_n} is 10 exit loop
  3. 'else if' różni się od zwykłego 'if' tym, że jeżeli pierwszy warunek się nie zgadza, to dopiero przechodzi do tego drugiego. W zwykłym 'if' bez względu na to czy pierwszy warunek jest zgodny, czy też nie, i tak każdy kolejny warunek się wykona. Natomiast tak jak wcześniej napisałem, else if jest warunkiem wykonującym się, jeżeli poprzedni warunek nie przeszedł. Jeżeli 'else if' się nie zgadza, to idzie do następnego i tak aż do końca.
  4. Nie wiem dlaczego sobie to pozmieniałeś, było wszystko dobrze, a tak to się spaprało. Warunek sprawdzający ilość jabłek i złotych bloków powinien być przed linijką wywołującą funkcję.
  5. Pamiętaj, 1 zlecenie = 1 wątek. Chciałeś wymianę koxów, masz wymianę koxów. Działa? Działa. Tak więc myślę, że wątek do zamknięcia. Jeżeli chcesz wymianę refilli w skrypcie, załóż w tym celu nowy wątek.
  6. W mojej ocenie modyfikowanie GUI w grze jest do dupy, no ale mimo wszystko jest to moja subiektywna opinia. Co do samego skryptu, czy testowałeś go? Mam wrażenie, że podczas działania może wystąpić kilka błędów.
  7. U mnie to działa, no ale skoro u ciebie nie działa... No widzisz, gdybyś podał wersję, teraz nie musiałbym poprawiać skryptu. Zamień funkcję exchangeToKox() na to: function exchangeToKox(p: player): set {_n} to amount of apples in {_p}'s inventory set {_n1} to amount of gold blocks in {_p}'s inventory while {_n} >= 1: if {_n1} < 8: stop remove 1 from {_n} remove 8 from {_n1} remove 1 apple from {_p}'s inventory remove 8 gold blocks from {_p}'s inventory if {_p} has enough space for 1 enchanted golden apple: give {_p} 1 enchanted golden apple else: drop 1 enchanted golden apple at {_p}
  8. Nie bawiłbym się w wyrzucanie graczy, bo zrazisz ich tym do siebie i swojego serwera. Mimo wszystko dobrze byłoby, abyś zrobił to sprawdzanie czy grał na przełomie niedzieli i poniedziałku. Dałem ci mniej więcej instrukcję tego jak mógłbyś to zrobić (tak, wiem, że to jest dział "Zlecenia").
  9. Jeżeli już to nie używałbym periodicalu 'every 7 days', gdyż ta pętla będzie rozpoczynała się po każdym starcie serwera. Innymi słowy, aby jakikolwiek kod się wykonał w takim periodicalu, serwer musi działać nieprzerwanie minimum przez 7 dni. Wszelkie wyłączenia serwera (planowane i nieplanowane (np. gdy serwer się wysypie)) oraz przeładowania skryptu zresetują odliczanie do zera. Zrobiłbym to następująco: # Kod wykonujący się każdorazowo co minutę every 1 minute: # Sprawdzanie czy obecnie jest godzina 00:00 now formatted as "HH:mm" is "00:00" # Sprawdzanie czy dzisiaj jest poniedziałek getDayOfTheWeek() is "Monday" # Twój dalszy kod operujący na zmiennych graczy (sumowanie czasu online itp.) # Tutaj również zmienna zawierająca czas online w tym tygodniu stawałaby się zmienną czasu online w zeszłym tygodniu Natomiast jak liczyłbym czas online? Sprawdzał różnicę czasu między ostatnim wejściem na serwer, a wyjściem. # Przykładowo: on quit: add (difference between player's last login and now) to {czasOnline::obecnyTydzien::%player%} Oczywiście należałoby sprawdzać czy gracz aby przypadkiem nie grał na przełomie niedzieli i poniedziałku. Jeżeli grałby, no to należałoby dodać różnicę między wejściem gracza na serwer, a godziną 00:00 do zmiennej z zeszłego tygodnia, a czas online od godziny 00:00 aż do czasu wyjścia do zmiennej z obecnego tygodnia. Co do twojego pytania, kod powyżej to jedynie funkcja zwracająca obecny dzień tygodnia. # Przykład użycia: command /dzien: trigger: send "&fToday is &6%getDayOfTheWeek()%&f!" to sender
  10. No, powiem tak. Prosisz o coś cholernie trudnego, co trzeba właściwie robić na piechotę. Mimo wszystko chętnie dorzucę jedną cegiełkę od siebie do powstawania skryptu. Przesyłam funkcję na sprawdzanie obecnego dnia tygodnia. import: java.time.format.TextStyle java.time.LocalDate java.util.Locale function getDayOfTheWeek() :: text: return "%LocalDate.of((now formatted as ""yyyy"" parsed as integer) , (now formatted as ""MM"" parsed as integer) and (now formatted as ""dd"" parsed as integer)).getDayOfWeek().getDisplayName(TextStyle.FULL, new Locale(""en"", ""US""))%" Wymagany dodatek skript-reflect.
  11. Dlaczego dwukrotnie sprawdzasz czy przedmiot jest złotym hełmem z nazwą, a następnie złotym hełmem? Po prostu sprawdzaj czy jest złotym hełmem i tyle.
  12. No cóż, linijka 23. jest zgodna z syntaxem, więc nie wiem szczerze o co biega. Co prawda jest tam wywoływanie funkcji, ale ona zwraca stringa, więc podejrzewałbym, że albo jakiś dodatek powoduje problemy, albo sam Skript nie jest w stanie tego "przemielić". Jedno jest pewne, powodem błędu jest ten skrypt.
  13. Napisałeś, że nic nie robisz... Pokaż skrypt "uReport.sk".
  14. Podałeś zdecydowanie zbyt mało informacji. Podaj wersję Skripta, silnik serwera oraz listę dodatków do Skripta.
  15. Nie jest upośledzonym eventem, prawe kliknięcie przycisku myszy na powietrze (bez namierzonego bloku) bez jakiegokolwiek przedmiotu w ręce nie jest wysyłane do serwera. Ehh... starożytne wersje. 2.1.2 rzecz jasna jest starą wersją, spróbuj się przesiąść na którąś z tych wersji: Skript 2.5 od Matocolotoe na 1.8 - https://github.com/Matocolotoe/Skript-1.8/releases/tag/2.5 Skript 2.2 - https://skripttools.net/skript Skript 2.2-dev36 - https://skripttools.net/skript Skript 2.2 Fixes V10 - tutaj nie mogłem znaleźć linku, możesz spróbować poszukać na własną rękę Skript 2.2 Fixes V8b - https://skripttools.net/skript Najlepiej byłoby, gdybyś użył pierwszego linku, ale jeżeli nie zadziała, no to wtedy spróbuj z resztą.
  16. W skrypcie nie widzę błędów, mam nadzieję, że nie pomyliłeś kompasu albo nie zrobiłeś jakiejś innej wpadki. Nie ma żadnych błędów w konsoli? Sprawdź czy przy klikaniu z kompasem w ręce wykonuje się komenda. Sprawdź również jak sprawa wygląda ze zwykłym kompasem. Podaj również wersję Skripta, wersję serwera oraz silnik serwera. No dobrze, i jak ma to mu pomóc w rozwiązaniu problemu?
  17. Proszę, skrypt nietestowany. Poprawiłem również parę błędów w skrypcie i usunąłem niektóre dziwactwa jak chociażby niepotrzebne parse'owanie tekstu na item.
  18. W event'cie 'on click' możesz jedynie użyć typu itemu (compass, torch, any pickaxe itd.), nie możesz podać nazwy i/lub lore. Jeżeli chcesz sprawdzić nazwę itemu trzymanego przez gracza, zrób to w następnym warunku poprzez sprawdzanie 'player's tool'. EDIT: Dodam, że zapomniałeś dodać przed 'compass' słowo 'with' lub 'using' czy też 'holding'.
  19. Spróbuj jeszcze: set {_ironpickaxe} to iron pickaxe with lore "&cObrazenia: &7+5" with nbt "{HideFlags:3}" Wtedy możesz wyrzucić tę drugą linijkę.
  20. Title (Skript 2.3+): # Składnia: send title %text% [with subtitle %text%] [to %players%] [for %time span%] [with fade[(-| )]in %time span%] [(and|with) fade[(-| )]out %time span%] send subtitle %text% [to %players%] [for %time span%] [with fade[(-| )]in %time span%] [(and|with) fade[(-| )]out %time span%] # Przykłady: send title "tekst" with subtitle "tekst2" to all players send subtitle "tekst" to player for 10 seconds with fade in 3 seconds and fade out 3 seconds Action bar (Skript 2.3+): # Składnia: send [the] action bar [with text] %text% to %players% # Przykład: send action bar "tekst" to all players Pamiętaj, że w dokumentacji znajdziesz niemalże wszystko, toteż zalecam korzystać z niej, dzięki temu nie będziesz musiał czekać kilka godzin na odpowiedź.
  21. Jak najbardziej się da. Próbuj również sam, nie pytaj nas o każdą drobnostkę. Co do samego wątku, myślę, że otrzymałeś odpowiedź na swoje pytanie.
  22. Gdy klikniesz na entity, powietrze, jakiś blok itp. Jedynie kliknięcie PPM na powietrze nie jest wysyłane do serwera.
  23. Skrypt Pana Marudy ma banalnie proste działanie. Jeżeli klikniesz w innym świecie niż "world1", event zostanie anulowany.
  24. 1. Jeżeli kogoś cytujesz, to nie pinguj go dodatkowo, bo zamiast jednego powiadomienia otrzymuje dwa. Samo zacytowanie powiadamia osobę, do której cytat nawiązuje. 2. Chciałeś przykładowy skrypt, nie jakiś na /kit. Sam tak napisałeś, tak więc taką odpowiedź otrzymałeś.
  25. Wydaje mi się, że to jest cały jego skrypt. Podaj wersję Skripta, wersję serwera oraz silnik serwera. Tak jak napisałem wyżej, wydaje mi się jedynie, że wstawiłeś całość kodu. Natomiast jeżeli tak nie jest, to wstaw cały skrypt.
×
×
  • Dodaj nową pozycję...