micmit123 0 Opublikowano 27 kwietnia 2024 Udostępnij Opublikowano 27 kwietnia 2024 Chciałbym żeby skrypt o danych godzinach np. 12, 16, 20, rozdawał klucze z excellent crates i tu jest drugie pytanie. Jak wywołać komendę z innego pluginu, czyli z excellent crates. Chodzi mi o komendę "/crate key give [gracz] epicka" Cytuj Odnośnik do komentarza https://skript.pl/temat/57431-czy-da%C5%82o-by-si%C4%99-zrobi%C4%87-%C5%BCeby-skrypt-odczytywa%C5%82-czas/ Udostępnij na innych stronach Więcej opcji udostępniania...
0 Kormic 1952 Opublikowano 27 kwietnia 2024 Udostępnij Opublikowano 27 kwietnia 2024 (edytowane) 2 godziny temu, micmit123 napisał: Chciałbym żeby skrypt o danych godzinach np. 12, 16, 20 Niestety Skript nie posiada listenera zdarzenia czasu rzeczywistego, tak więc należy posiłkować się tzw. periodicalami, czyli fragmentami kodu wykonywanymi w pewnych chwilach czasu. Dodatkowo należy w owym periodicalu sprawdzać godzinę i minutę z użyciem wyrażenia 'formatted date'. Udostępniam przykład poniżej. every 1 minute: set {_time} to now formatted as "HH:mm" if {_time} is "00:00": # ... else if {_time} is "12:00": # ... # Dalszy kod... Oczywiście może Pan korzystać chociażby z zewnętrznych API w celu sprawdzania czasu rzeczywistego, jednakże w tym przypadku jest to rozwiązanie w zupełności wystarczające. 2 godziny temu, micmit123 napisał: Jak wywołać komendę z innego pluginu, czyli z excellent crates. Chodzi mi o komendę "/crate key give [gracz] epicka" Wystarczy, że Pan użyje instrukcji (efektu) 'command'. Jeśli Pan chce rozdać wszystkim graczom o danej godzinie klucze, musi pan zapętlić listę 'all players'. Tak więc Pan w środku pętli po uprzednim sprawdzeniu godziny może wstawić %loop-player% w miejsce [gracz] w Pana komendzie. EDIT: @micmit123 Dodam, że możliwe jest użycie API pluginu ExcellentCrates. W mojej ocenie jest to lepsze rozwiązanie, gdyż unikamy wywoływania komendy przez konsolę. Wiki: https://nightexpress.gitbook.io/excellentcrates/general/developer-api Github: https://github.com/nulli0n/ExcellentCrates-spigot/blob/master/src/main/java/su/nightexpress/excellentcrates/CratesAPI.java Podam przykład wykorzystania powyższego API. import: su.nightexpress.excellentcrates.CratesAPI on death of ender dragon: attacker is a player set {_keyManager} to cratesAPI.getKeyManager() set {_key} to {_keyManager}.getKeyById("legendary") {_keyManager}.give(attacker, {_key}, 1) send "Otrzymałeś legendarny klucz!" to attacker Edytowane 27 kwietnia 2024 przez Kormic Cytuj Odnośnik do komentarza https://skript.pl/temat/57431-czy-da%C5%82o-by-si%C4%99-zrobi%C4%87-%C5%BCeby-skrypt-odczytywa%C5%82-czas/#findComment-342001 Udostępnij na innych stronach Więcej opcji udostępniania...
0 micmit123 0 Opublikowano 27 kwietnia 2024 Autor Udostępnij Opublikowano 27 kwietnia 2024 bardzo dziekuje Cytuj Odnośnik do komentarza https://skript.pl/temat/57431-czy-da%C5%82o-by-si%C4%99-zrobi%C4%87-%C5%BCeby-skrypt-odczytywa%C5%82-czas/#findComment-342002 Udostępnij na innych stronach Więcej opcji udostępniania...
0 micmit123 0 Opublikowano 27 kwietnia 2024 Autor Udostępnij Opublikowano 27 kwietnia 2024 mam jeszcze jedno pytanie, można by było zrobić tak, że po zabiciu przez gracza enderdragona, skrypt czeka 1 dzień, po czym odradza go na nowo? Cytuj Odnośnik do komentarza https://skript.pl/temat/57431-czy-da%C5%82o-by-si%C4%99-zrobi%C4%87-%C5%BCeby-skrypt-odczytywa%C5%82-czas/#findComment-342003 Udostępnij na innych stronach Więcej opcji udostępniania...
0 micmit123 0 Opublikowano 27 kwietnia 2024 Autor Udostępnij Opublikowano 27 kwietnia 2024 Oczywiście może Pan korzystać chociażby z zewnętrznych API w celu sprawdzania czasu rzeczywistego, jednakże w tym przypadku jest to rozwiązanie w zupełności wystarczające. Mógłbym zapytać jak z tej opcji skorzystać? Ponieważ inaczej jest wielkie opóźnienie, ponieważ sprawdza skrypt co minutę. Musiałbym reloadować skrypt punktualnie o równej minucie, a czasami mogłyby być zaplanowane restarty serwera nocą aby utrzymać jego bilans. Cytuj Odnośnik do komentarza https://skript.pl/temat/57431-czy-da%C5%82o-by-si%C4%99-zrobi%C4%87-%C5%BCeby-skrypt-odczytywa%C5%82-czas/#findComment-342005 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Kormic 1952 Opublikowano 27 kwietnia 2024 Udostępnij Opublikowano 27 kwietnia 2024 1 godzinę temu, micmit123 napisał: mam jeszcze jedno pytanie, można by było zrobić tak, że po zabiciu przez gracza enderdragona, skrypt czeka 1 dzień, po czym odradza go na nowo? Problem prosty w rozwiązaniu, jednak samo rozwiązanie jest względnie niemiłe dla oka. Opiszę jak może Pan napisać taki skrypt. Przy śmierci Ender Dragona należy zapisać do jakiejś zmiennej globalnej obecny czas systemowy serwera z wykorzystaniem wyrażenia 'now'. Następnie, w periodicalu 'every 1 minute:' sprawdza Pan czy 'now' (czas obecny) jest większy od czasu zapisanego we wcześniej wspomnianej zmiennej (można wykorzystać zwykłe porównania takie jak 'is bigger than or equal to' czy też '>=', więcej informacji znajdzie Pan w dokumentacji). Jeśli tak, może Pan zespawnować kolejnego smoka. Może Pana zastanawiać dlaczego nie zaproponowałem użycia opóźnienia 'wait 24 hours'. Odpowiedź jest prosta - jeśli w ciągu tych 24 godzin serwer zostałby wyłączony, opóźnienie zostałoby anulowane, a po ponownym włączeniu serwera dalszy kod (następujący po opóźnieniu) nigdy nie zostałby wykonany. Godzinę temu, micmit123 napisał: Mógłbym zapytać jak z tej opcji skorzystać? Ponieważ inaczej jest wielkie opóźnienie, ponieważ sprawdza skrypt co minutę. Musiałbym reloadować skrypt punktualnie o równej minucie, a czasami mogłyby być zaplanowane restarty serwera nocą aby utrzymać jego bilans. Namyśliłem się i stwierdziłem, że mój pomysł był dość głupi. Jeśli Pan oczekuje pomiaru czasu z dokładnością do sekundy, proszę zmienić periodical na 'every 1 second:'. W przypadku samego pomiaru i sprawdzania czasu nie powinno to obciążać serwera. Cytuj Odnośnik do komentarza https://skript.pl/temat/57431-czy-da%C5%82o-by-si%C4%99-zrobi%C4%87-%C5%BCeby-skrypt-odczytywa%C5%82-czas/#findComment-342007 Udostępnij na innych stronach Więcej opcji udostępniania...
0 micmit123 0 Opublikowano 27 kwietnia 2024 Autor Udostępnij Opublikowano 27 kwietnia 2024 dziekuje:) Cytuj Odnośnik do komentarza https://skript.pl/temat/57431-czy-da%C5%82o-by-si%C4%99-zrobi%C4%87-%C5%BCeby-skrypt-odczytywa%C5%82-czas/#findComment-342008 Udostępnij na innych stronach Więcej opcji udostępniania...
0 micmit123 0 Opublikowano 28 kwietnia 2024 Autor Udostępnij Opublikowano 28 kwietnia 2024 dziendobry, mam sprawe. Rozdaje kluczy z wielkim opoznieniem. Pewnie przez strefy czasowe, lecz czy dalo by sie to rozwiazac? Cytuj Odnośnik do komentarza https://skript.pl/temat/57431-czy-da%C5%82o-by-si%C4%99-zrobi%C4%87-%C5%BCeby-skrypt-odczytywa%C5%82-czas/#findComment-342011 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Kormic 1952 Opublikowano 28 kwietnia 2024 Udostępnij Opublikowano 28 kwietnia 2024 Godzinę temu, micmit123 napisał: dziendobry, mam sprawe. Rozdaje kluczy z wielkim opoznieniem. Pewnie przez strefy czasowe, lecz czy dalo by sie to rozwiazac? Niech Pan pokaże swój kod i powie w jakiej strefie czasowej znajduje się Pana serwer. Sama godzina bez strefy czasowej również wystarczy. Jeśli Pan chce szybko sprawdzić jaki jest obecny czas systemowy serwera, proszę użyć poniższej komendy. command /getrealtime: trigger: send "%now%" to sender Cytuj Odnośnik do komentarza https://skript.pl/temat/57431-czy-da%C5%82o-by-si%C4%99-zrobi%C4%87-%C5%BCeby-skrypt-odczytywa%C5%82-czas/#findComment-342013 Udostępnij na innych stronach Więcej opcji udostępniania...
0 micmit123 0 Opublikowano 28 kwietnia 2024 Autor Udostępnij Opublikowano 28 kwietnia 2024 2 godziny temu, Kormic napisał: Niech Pan pokaże swój kod i powie w jakiej strefie czasowej znajduje się Pana serwer. Sama godzina bez strefy czasowej również wystarczy. Jeśli Pan chce szybko sprawdzić jaki jest obecny czas systemowy serwera, proszę użyć poniższej komendy. command /getrealtime: trigger: send "%now%" to sender juz widze w czym problem, zegar spoznia sie o 2 min. Dlatego czy jest mozliwosc, ze gracz dostanie klucz, kiedy na JEGO komputerze wybije np. 14? Cytuj Odnośnik do komentarza https://skript.pl/temat/57431-czy-da%C5%82o-by-si%C4%99-zrobi%C4%87-%C5%BCeby-skrypt-odczytywa%C5%82-czas/#findComment-342028 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Kormic 1952 Opublikowano 28 kwietnia 2024 Udostępnij Opublikowano 28 kwietnia 2024 Godzinę temu, micmit123 napisał: juz widze w czym problem, zegar spoznia sie o 2 min. Dlatego czy jest mozliwosc, ze gracz dostanie klucz, kiedy na JEGO komputerze wybije np. 14? Ciekawe skąd wynika opóźnienie dwóch minut. Gdy Pan powiedział o wielkim opóźnieniu, założyłem, że Pan mówi o opóźnieniu rzędu godziny. Odpowiadając na Pana pytanie - bez zewnętrznych API nie jest to możliwe. Musiałby Pan do takiego API wysyłać zapytania z IP gracza, aby otrzymać jego strefę czasową. Pytanie brzmi czy gra jest warta świeczki. Musiałbym jednak zobaczyć Pana kod, aby dokonać diagnozy problemu. Cytuj Odnośnik do komentarza https://skript.pl/temat/57431-czy-da%C5%82o-by-si%C4%99-zrobi%C4%87-%C5%BCeby-skrypt-odczytywa%C5%82-czas/#findComment-342030 Udostępnij na innych stronach Więcej opcji udostępniania...
0 micmit123 0 Opublikowano 28 kwietnia 2024 Autor Udostępnij Opublikowano 28 kwietnia 2024 dzien dobry, wydawalo mi sie najpierw, ze jest koszmarne opoznienie. Mozliwe ze zle wpisalem poprostu komende. Cytuj Odnośnik do komentarza https://skript.pl/temat/57431-czy-da%C5%82o-by-si%C4%99-zrobi%C4%87-%C5%BCeby-skrypt-odczytywa%C5%82-czas/#findComment-342034 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Kormic 1952 Opublikowano 28 kwietnia 2024 Udostępnij Opublikowano 28 kwietnia 2024 4 minuty temu, micmit123 napisał: dzien dobry, wydawalo mi sie najpierw, ze jest koszmarne opoznienie. Mozliwe ze zle wpisalem poprostu komende. Kod generalnie wygląda dobrze, ale jest związany z nim jeden krytyczny problem. Gracze mogą otrzymać do 60 kluczy na minutę, gdyż Pan nie sprawdza godziny z dokładnością do sekundy, a jedynie z dokładnością do minuty. Niech Pan dorzuci do formatu 'now' sekundy (a więc ":ss") i powinno być wszystko w porządku. Drugie możliwe rozwiązanie jest takie, że Pan sprawdza co minutę, ale po rozdaniu kluczy ustawia Pan jakąś zmienną globalną. Jeśli ta zmienna jest ustawiona, rozdanie kluczy nie następuję. Dopiero gdy będzie następna minuta, owa zmienna zostanie wyczyszczona. Cytuj Odnośnik do komentarza https://skript.pl/temat/57431-czy-da%C5%82o-by-si%C4%99-zrobi%C4%87-%C5%BCeby-skrypt-odczytywa%C5%82-czas/#findComment-342035 Udostępnij na innych stronach Więcej opcji udostępniania...
0 micmit123 0 Opublikowano 29 kwietnia 2024 Autor Udostępnij Opublikowano 29 kwietnia 2024 dzien dobry, dziekuje za odpowiedz. Niestety rozwiazanie jest nadal wadliwe. Zamiast 1, rozdaje po 2-3 klucze. Cytuj Odnośnik do komentarza https://skript.pl/temat/57431-czy-da%C5%82o-by-si%C4%99-zrobi%C4%87-%C5%BCeby-skrypt-odczytywa%C5%82-czas/#findComment-342073 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Kormic 1952 Opublikowano 29 kwietnia 2024 Udostępnij Opublikowano 29 kwietnia 2024 36 minut temu, micmit123 napisał: dzien dobry, dziekuje za odpowiedz. Niestety rozwiazanie jest nadal wadliwe. Zamiast 1, rozdaje po 2-3 klucze. Pan sprawdza czy godzina to na przykład "12:00:00", tak? Dziwnym zjawiskiem jest w takim razie to, że gracze dostają 2-3 klucze. Gdyby Pan mógł pokazać kod, byłbym w stanie więcej wywnioskować. Cytuj Odnośnik do komentarza https://skript.pl/temat/57431-czy-da%C5%82o-by-si%C4%99-zrobi%C4%87-%C5%BCeby-skrypt-odczytywa%C5%82-czas/#findComment-342074 Udostępnij na innych stronach Więcej opcji udostępniania...
0 micmit123 0 Opublikowano 30 kwietnia 2024 Autor Udostępnij Opublikowano 30 kwietnia 2024 jeszcze jedno pytanie. Jak wywolac komende title dla wszystkich? probowalem przez execute console command, execute player command. Szukalem na forum i nic. Chodzi o to, ze chcialbym zeby w if sie to pojawilo. Cytuj Odnośnik do komentarza https://skript.pl/temat/57431-czy-da%C5%82o-by-si%C4%99-zrobi%C4%87-%C5%BCeby-skrypt-odczytywa%C5%82-czas/#findComment-342080 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Hiri12 42 Opublikowano 30 kwietnia 2024 Udostępnij Opublikowano 30 kwietnia 2024 2 minuty temu, micmit123 napisał: jeszcze jedno pytanie. Jak wywolac komende title dla wszystkich? probowalem przez execute console command, execute player command. Szukalem na forum i nic. Chodzi o to, ze chcialbym zeby w if sie to pojawilo. Możesz to zrobić za pomocą send title "Twoj title" to all players Cytuj Odnośnik do komentarza https://skript.pl/temat/57431-czy-da%C5%82o-by-si%C4%99-zrobi%C4%87-%C5%BCeby-skrypt-odczytywa%C5%82-czas/#findComment-342081 Udostępnij na innych stronach Więcej opcji udostępniania...
0 micmit123 0 Opublikowano 30 kwietnia 2024 Autor Udostępnij Opublikowano 30 kwietnia 2024 (edytowane) niestety nie działa @Hiri12 Edytowane 30 kwietnia 2024 przez micmit123 Cytuj Odnośnik do komentarza https://skript.pl/temat/57431-czy-da%C5%82o-by-si%C4%99-zrobi%C4%87-%C5%BCeby-skrypt-odczytywa%C5%82-czas/#findComment-342085 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Hiri12 42 Opublikowano 30 kwietnia 2024 Udostępnij Opublikowano 30 kwietnia 2024 (edytowane) 30 minut temu, micmit123 napisał: niestety nie działa @Hiri12 Co konkretnie nie działa? Jest to przykład wyjęty żywcem z SkriptHub'a ze zmienioną trescią title... Może sprobój tak: send title "Twoj title" with subtitle "Podtytul" to all players Edytowane 30 kwietnia 2024 przez Hiri12 Cytuj Odnośnik do komentarza https://skript.pl/temat/57431-czy-da%C5%82o-by-si%C4%99-zrobi%C4%87-%C5%BCeby-skrypt-odczytywa%C5%82-czas/#findComment-342086 Udostępnij na innych stronach Więcej opcji udostępniania...
0 micmit123 0 Opublikowano 30 kwietnia 2024 Autor Udostępnij Opublikowano 30 kwietnia 2024 @Hiri12 Wypisuje błąd Nieprawidłowe użycie cudzysłowu Cytuj Odnośnik do komentarza https://skript.pl/temat/57431-czy-da%C5%82o-by-si%C4%99-zrobi%C4%87-%C5%BCeby-skrypt-odczytywa%C5%82-czas/#findComment-342087 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Hiri12 42 Opublikowano 30 kwietnia 2024 Udostępnij Opublikowano 30 kwietnia 2024 8 minut temu, micmit123 napisał: @Hiri12 Wypisuje błąd Nieprawidłowe użycie cudzysłowu Może Pan podać cały kod wraz z linijką w której występuje błąd? Nie koniecznie wiem co może być źle w tym skrypcie... Cytuj Odnośnik do komentarza https://skript.pl/temat/57431-czy-da%C5%82o-by-si%C4%99-zrobi%C4%87-%C5%BCeby-skrypt-odczytywa%C5%82-czas/#findComment-342088 Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
micmit123 0
Chciałbym żeby skrypt o danych godzinach np. 12, 16, 20, rozdawał klucze z excellent crates i tu jest drugie pytanie. Jak wywołać komendę z innego pluginu, czyli z excellent crates. Chodzi mi o komendę "/crate key give [gracz] epicka"
Odnośnik do komentarza
https://skript.pl/temat/57431-czy-da%C5%82o-by-si%C4%99-zrobi%C4%87-%C5%BCeby-skrypt-odczytywa%C5%82-czas/Udostępnij na innych stronach
33 odpowiedzi na to pytanie
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.