Skocz do zawartości

Kormic

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

    11014
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    231

Treść opublikowana przez Kormic

  1. Pokaż jak to wstawiłeś w twój kod oraz pokaż błąd.
  2. Na początku pętli 'loop blocks under event-block'.
  3. W takim razie pokaż czym tak spami w konsoli. Co do twojego kodu, musisz użyć takiego warunku na początku pętli, aby pozbyć się problemu. y-loc of event-block is not y-loc of loop-block
  4. Ale zaraz, zaraz. Twój obecny kod działa w ten sposób, że pętla działa tak długo aż nie napotka innego bloku niż powietrze. W skrócie, twój "sand farmer" zamienia jedynie powietrze na piasek.
  5. Dlatego, że event-block wchodzi w skład wszystkich bloków pod event-block. Wiem, dziwnie to brzmi, ale musisz sprawdzać czy 'y-loc of loop-block' nie jest równy 'y-loc of event-block'.
  6. Poszukaj sobie porządnego antycheata, a nie korzystasz z czegoś takiego. Przecież ten zombie się pojawia za graczem na całą jedną sekundę. Autor skryptu zdecydowanie nie docenił czasu reakcji przeciętnego człowieka, szczególnie gdy nagle zombie pojawia ci się za plecami. Już nie komentuję tego, że skrypt powstał 4 lata temu, dokładnie tyle samo lat temu była ostatnio na forum osoba, do której skierowałeś pytanie.
  7. Kormic

    Najwiekszy kryt

    Proszę, skrypt nietestowany. on damage: attacker is a player attacker is not on ground attacker is not flying attacker is not sprinting attacker doesn't have blindness type of block at attacker is not water or lava or ladder item or vine or weeping vine or twisting vine attacker is not riding attacker's fall distance > 0 {biggestCriticalDamage::%attacker%} is set: damage <= {biggestCriticalDamage::%attacker%} stop set {biggestCriticalDamage::%attacker%} to damage send "&aTwój nowy rekord największych krytycznych obrażeń to &6%damage%&a!" to attacker command /kryt: trigger: set {biggestCriticalDamage::%player%} to 0 if {biggestCriticalDamage::%player%} is not set send "&aTwój rekord największych krytycznych obrażeń to &6%{biggestCriticalDamage::%player%}%" to player
  8. Kormic

    Skrypt na portal.

    W sensie teleportuje cię do portalu na górze, ale gdy próbujesz wrócić z powrotem to od razu teleportuje cię do góry, tak? Do tego w regionie "nether"? if player is in region "portal2": cancel event set {portal::%player%} to 2 if 2 is 2: teleport player to {bedrock::location} message "You're now in nether above the bedrock!" delete {PaymentReceived::%player%} else: teleport player to {NetherPortal::location} message "You're now in the nether, enjoy!" Jak wynika z kodu, to czy przeteleportuje cię do portalu "bedrock", zależne jest od warunku sprawdzającego czy 2 jest równe 2. Spróbuj wyczyścić wszystkie zmienne dotyczące portali i upewnij się, że wszystko dobrze ustawiłeś. EDIT: Jeszcze pójdę przetestować ten twój skrypt na localhost'cie, zobaczymy co i jak. EDIT2: Tak jeszcze raz spojrzałem na kod i zauważyłem, że używasz warunku 'is in region', którego nie ma w Skript'cie. Posiadasz jakiś dodatek do tego? EDIT3: Przetestowałem twój kod, nieznacznie go przerobiłem i... działa bardzo ładnie. Co do tego, że po powrocie portal od razu cię teleportował z powrotem do tego "bedrocka", możesz zrobić to w następujący sposób (pokażę na przykładzie portalu nr 1). if "%region at player%" contains "portal1": cancel event set {portal::%player%} to 1 send "%{portal::%player%}%" if 1 is 1: teleport player to {bedrock::location} message "You're now in nether above the bedrock!" delete {PaymentReceived::%player%} else: teleport player to {NetherPortal::location} message "You're now in the nether, enjoy!" set {lastPortalTeleportation::%player%} to now # <- Zawierasz w tej zmiennej czas obecny, czyli moment teleportacji gracza A następnie... # W naszym evencie 'on portal' sprawdzamy czy różnica między czasem zapisanym w zmiennej, a czasem obecnym jest mniejsza niż 5 sekund. # Jeżeli tak, nie będziemy teleportować gracza. # Dzięki temu otrzymujemy swego rodzaju cooldown, dzięki któremu gracz # przy przeniesieniu się portalem nie zostanie od razu odesłany z powrotem. on portal: if {lastPortalTeleportation::%player%} is set: difference between {lastPortalTeleportation::%player%} and now is less than 5 seconds stop if "%region at player%" contains "portal1": # Dalszy kod... Mam nadzieję, że dobrze zrozumiałem twój problem i w jakiś sposób pomogłem. Ja testowałem w ten sposób, że te lokalizacje, do których portale miały teleportować, ustawiłem tuż przed portalami.
  9. Kormic

    Aliases

    Zgubiłeś cudzysłów w pierwszej linijce. Czytaj uważnie co napisałem, dzięki temu oszczędzimy sobie niepotrzebnego ciągnięcia tematu.
  10. Kormic

    Aliases

    Przecież w definiowaniu komendy nie ma cancel event... Używasz eventu 'on command "depozyt:"', tak? Następnie od razu używasz w nim cancel event i robisz 'execute player command "schowek"'. Nie wiem jak mam ci to prościej wytłumaczyć.
  11. Właśnie, że to jest to samo. Po prostu drugie od pierwszego różni się tym, że jest załatwiane "za kurtyną" w Skript'cie. W drugim również jest sprawdzanie nazwy regionu, po prostu jest to zaimplementowane w Skript'cie.
  12. Kormic

    Aliases

    Użyj eventu 'on command "depozyt":', w którym anulujesz event i wykonujesz poprzez gracza komendę "schowek". Dzięki temu unikniesz antyspamu.
  13. Zacznijmy od tego, że taki kod w ogóle nie zadziałałby, gdyż event jest wywoływany przed aktualnym wejściem do regionu, a więc i tak fizycznie gracz będzie poza nim. Tutaj należałoby albo użyć 'event-region', albo opóźnić kod o 1 tick. Nie wybrzydzaj w takim rozwiązaniu, jeżeli jednoliniowe podawanie regionu w evencie nie działa, musisz użyć tego (chyba, że wolisz się doszukiwać przyczyny). Przeczytaj również co napisałem wyżej w moim poprzednim poście.
  14. Zaktualizuj WorldGuarda jeżeli to możliwe. Co to za błąd? Pokaż konsolę. EDIT: Upewnij się również, że ten region istnieje. Jeżeli ten region nie istnieje, to jest powodem błędu.
  15. Kormic

    Skrypt na wioski

    Zamiast 'loop-value' i tej pętli po prostu wstaw warunek. if arg-2's groups contains "zuparomana": Co do skryptu, może dzisiaj wieczorem się tym zajmę, aczkolwiek nic nie obiecuję.
  16. Kormic

    Skrypt na wioski

    Ten kod wygląda bardzo dziwnie. Dlaczego zapętlasz wszystkich graczy, którzy kiedykolwiek byli na tym serwerze zamiast po prostu sprawdzać czy 'arg-2' posiada tę grupę? Z powodu tej pętli będziesz próbował usuwać tego gracza tyle razy ilu wszystkich graczy posiada grupę "zuparomana".
  17. Wersja 1.2 dla serwerów 1.9.4 - 1.13.1! Tak więc nadeszła długo wyczekiwana finalna wersja SkArmorEvent dla wyżej podanych wersji! PS. Skrypt powinien działać bezproblemowo również na wersjach 1.8 - 1.8.9 wraz ze Skriptem 2.5+ od Matocolotoe. Wersja 1.2 jest finalną, dlatego też jeżeli w tej wersji nie będzie żadnych błędów, tak długo jak nie będzie wprowadzone do Minecrafta więcej metod zakładania/zdejmowania zbroi, nie będę rozwijał skryptu. Przepraszam również za dość długi czas wykonywania tej wersji, ale było kilka problemów: - warunek 'contains' przy sprawdzaniu lokalizacji nie działał dobrze i musiałem samemu sprawdzać koordynaty, - najwięcej czasu rzecz jasna zajęło tworzenie kodu do zakładania zbroi poprzez dozownik, tutaj wszystko trzeba było ręcznie sprawdzać, - problem był również z utworzeniem funkcji przyjmującej jako argument kilka lokalizacji. Mimo powyższych błędów koniec końców wszystkie zostały rozwiązane, a skrypt powinien działać jak marzenie. Rzecz jasna zachęcam do testowania skryptu oraz poszukiwania błędów. Miłego użytkowania!
  18. Wystarczy, że zamienisz trigger z eventem 'on rightclick with compass'.
  19. Tak, ale musiałbyś zapętlić wszystkie bloki w regionie. Następnie sprawdzasz czy zapętlony blok to jakiekolwiek drzwi, jeżeli tak, zamykasz je z pomocą efektu 'close %blocks%'. close loop-block
  20. Proszę. every 1 minute: now formatted as "HH:mm" is "15:00" execute console command "fly"
  21. Kormic

    Skrypt na wioski

    Dobrze, ja rozumiem. Mówię jedynie, że zleceniobiorca ma teraz pod górkę. Gdyby to zwyczajnie robił, użyłby list zmiennych, a tak to musi się bawić w jakieś rangi, nie rangi, komendy, nie komendy. Nie wiadomo w ogóle jak ty to widzisz i jak ty chcesz to później w skrypcie uzupełnić. Stwórz może jakiś szkic skryptu, aby osoba wykonująca zlecenie wiedziała od czego w ogóle powinna zacząć, bo teraz to stoimy w kropce. Mam nadzieję, że już rozumiesz. Po prostu te rangi i komendy robią zamęt w zleceniu i nie wiadomo jak chcesz, aby to było zrobione.
  22. Masz na myśli rejestrowanie nowej receptury? To jest ID receptury, nie ma to nic wspólnego ze składnikami receptury. Służy ono jedynie do identyfikacji receptur i niczego ponad to.
  23. Kormic

    AutoWiadomosc

    Poszukaj sobie na forum, już pełno było takich zleceń. Zanim złożysz zlecenie na skrypt, upewnij się, że już ktoś nie wykonał wcześniej takiego zlecenia.
  24. Jedyne dodatki jakie znam, które pozwalają na rejestrowanie receptur to SkQuery, SkBee, skript-mirror i skript-reflect. W żadnym z nich nie było możliwym utworzenie receptury z przedmiotem z nazwą, itp. Dlatego też musisz skorzystać z rozwiązania podrzuconego przeze mnie wyżej.
  25. Dlatego, że używasz efektu 'send', który służy do wysyłania do konkretnych odbiorców. Jeżeli odbiorca nie jest podany, Skript wysyła wiadomość jedynie do gracza, który wszedł/wyszedł z serwera (w skrócie event-playera). Jeżeli chcesz, aby wiadomość była wysyłana do wszystkich, użyj albo 'send "" to all players', albo 'broadcast ""'. EDIT: Widzę również, że nie łapiesz podstaw. Poszukaj jakiegoś poradnika w necie dotyczącego Skripta, a pozwoli ci to na dobry start.
×
×
  • Dodaj nową pozycję...