Skocz do zawartości

Kormic

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

    11012
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    230

Treść opublikowana przez Kormic

  1. Kormic

    Skrypt na Warp

    Ten temat został przeniesiony.
  2. Zlecenie zostało wykonane.
  3. @duszek34 Jeśli dobrze zrozumiałem - po jednoczesnym kliknięciu i lewego, i prawego przycisku myszy, z tym kompasem w ręce, gracz ma wykonać komendę /dm open advanced_menu, tak? Pozdrawiam.
  4. Ten temat został przeniesiony.
  5. Kormic

    Zapłacę za skrypt

    Ten temat został przeniesiony.
  6. Kormic

    .

    Ten temat został przeniesiony.
  7. Kormic

    end crystale

    @WnuczekYT W takim razie należy usuwać pluginy z folderu /plugins jeden po drugim. Każdorazowo po usunięciu należy uruchomić ponownie serwer i sprawdzić czy problem ustąpił. Jeśli tak, wiadomo co było przyczyną. Jeśli nie, należy szukać dalej. Warto również przeanalizować skrypty na serwerze w pluginie Skript, bo któryś z nich może dodawać ten mechanizm na serwerze. Pozdrawiam.
  8. Kormic

    end crystale

    @WnuczekYT Opiszę jak można to zaimplementować w Skript. Wystarczy użyć wymienione niżej elementy składni: zdarzenie on damage of player, warunek sprawdzający czy narzędzie atakującego (przedmiot trzymany w ręce) to any sword (dowolny miecz), efekt usuwający wszystkie efekty mikstur z ofiary (uderzonego gracza). Sam skrypt będzie miał jedynie trzy linijki, więc nie jest to nic trudnego. Dla ułatwienia, podałem do każdego elementu składni załącznik do jego opisu w dokumentacji Skript. Pozdrawiam.
  9. Kormic

    lowienie

    @rip_syn0nim Proszę. Wymagany Skript 2.10 lub nowszy. on fish caught: set item of event-entity to diamond Pozdrawiam.
  10. Kormic

    lowienie

    @rip_syn0nim Co masz na myśli poprzez "tę rybę"? Pozdrawiam.
  11. Kormic

    end crystale

    Ten temat został przeniesiony.
  12. Kormic

    end crystale

    @WnuczekYT To mi wygląda na niepoprawnie ustawione flagi regionu (lub regionów) w WorldGuard, które blokują stawianie kryształów. Należy pamiętać o tym, że kryształy Kresu są bytami, nie blokami. Zalecam przeczytanie tej części dokumentacji ze szczególnym zwróceniem na fragment Protection-Related. Jeśli nie ma w miejscu bloku na zrzucie ekranu żadnego regionu, należy sprawdzić globalny region. Pozdrawiam.
  13. @ItzeK Po pierwsze, skąd ten przymus z zapisaniem całości w jednej linijce? Intuicja podpowiada mi, że może być tu mowa o jakiejś instrukcji pochodzącej z SkQuery. Oby nie. Po drugie, w wersji 2.10 dodano do Skript flagi przedmiotów i możliwość modyfikowania ich. Służą do tego te dwa wyrażenia: [the] item flags of %item types%, [the] item flags of %item types%. Tutaj można znaleźć pełną listę flag przedmiotów, które można ustawiać. Pozdrawiam.
  14. @Freesh Pierwszy raz widzę tę składnię na oczy. Nie rozumiem dlaczego nie używasz samego blockdata wspieranego przez Skript. Po kilku drobnych zmianach twój kod działa. Pokażę co zrobiłem. command /test [<text>]: trigger: set {_loc} to location under player set {_oldData} to blockdata of block at {_loc} wait 5 seconds set block at {_loc} to cobblestone stairs wait 1 tick set blockdata of block at {_loc} to {_oldData} Pozdrawiam.
  15. @RESTTTT Proszę. options: modelData: 65535 poisonEffect: percentageChance: 15 tier: 1 duration: 4 seconds command /getsword [<text>]: executable by: players trigger: set {_item} to iron sword named "&aZatruty miecz" set {_item}'s model data to {@modelData} give {_item} to player send "&7Otrzymałeś %{_item}'s name%&7!" to player on damage: projectile is not set model data of attacker's tool is {@modelData} chance of {@poisonEffect.percentageChance}% apply poison {@poisonEffect.tier} to victim for {@poisonEffect.duration} replacing existing effect Pozdrawiam.
  16. @weston25 Zakładam, że skorzystałaś z tej strony w celu otrzymania pomocy. Jeśli w niczym to nie pomogło, możesz spróbować podjąć kroki opisane w tym wątku na forum Microsoftu. Rzecz jasna, musisz opisać możliwie dużo detali. Myślę, że okazanie jakiegoś dowodu zakupu kopii Minecrafta byłoby dobrą podstawą do ubiegania się o odzyskanie konta. Życzę powodzenia i pozdrawiam.
  17. Ten temat został przeniesiony.
  18. Ten temat został przeniesiony.
  19. @Flookszat Zacznijmy od tego, że bez elementarnej znajomości języka angielskiego daleko nie zajdziesz. Taka jest rzeczywistość. Powinieneś jednak sobie poradzić, bo Skript nie wymaga dyplomu z filologii angielskiej, a jedynie zrozumienia podstawowych rzeczy po angielsku. Zawsze można się posiłkować tłumaczem w chwilach słabości, to nic złego. Procesy nauki pisania skryptów i pluginów mają ze sobą niewiele wspólnego poza sprawdzaniem dokumentacji i patrzeniem na dzieła innych programistów. Warto najpierw nauczyć się pracować w Skript, ponieważ jest to dobry punkt wyjścia do rozpoczęcia pracy w Javie. Chodzi o zapoznanie się z pewną logiką, techniką analizy i rozwiązywania problemów. Jeśli chodzi o polskojęzyczne źródła wiedzy o Skript, wedle mojej wiedzy nie istnieją żadne aktualne. Jedne z takich polskich kompendiów wiedzy można znaleźć tutaj. Mimo tego, że jest to już nieaktualizowane źródło, warto na nie rzucić okiem, bo podstawy nie uległy zmianom. Co do anglojęzycznych poradników, jednym z najlepszych jest to kompendium autorstwa Sovde, jednego z członków SkriptLang, czyli zespołu pracującego nad rozwojem Skript. Podejrzewam, że o nim mówił kolega @CoFFeIN04. Kolega już wspomniał o dokumentacji pluginu Skript, więc linku nie będę podawał. Warto zawsze do niej zaglądać, bo po zrozumieniu jej wszystko staje się jasne i klarowne, a też tłumaczy ona poniekąd co jak działa w skryptach. Przechodząc do tworzenia pluginów, zwykle warto zacząć naukę od samego kursu Javy. Polecam ten od JavaStart. Po uzyskaniu zadowalającego poziomu wiedzy można wreszcie się skupić na pluginach. O ich tworzeniu zwykle ludzie uczą się z poradników na YouTube takich jak chociażby ten od Kody Simpsons czy ten od CodedRed. W razie dalszych pytań służę pomocą. Pozdrawiam.
  20. Ten temat został przeniesiony.
  21. @mcking12 Gdyby chodziło o cały świat, najlepiej byłoby wykorzystać mechanizm czarnych list w WorldGuard. Ponieważ jednak pytanie dotyczy konkretnego regionu, najprościej będzie dopisać taką logikę we własnym pluginie korzystającym z WorldGuard API lub w Skript. Pokażę niżej przykład w Skript zezwalający tylko na niszczenie pajęczyn w regionie o nazwie "nazwa_regionu" w świecie "nazwa_świata". on break: event-block is not a cobweb "%regions at event-block%" contains "nazwa_regionu in world nazwa_świata" cancel event send "&cNie możesz niszczyć innych bloków niż pajęczyny w tym regionie." to player Pozdrawiam.
  22. @Nusv Nie. Zastosowałem every 1 minute, ponieważ skrypt sprawdza co minutę czy minuta w czasie rzeczywistym to "00". Dzięki temu, o każdej pełnej godzinie kod zostanie wykonany. Nie będzie to na przykład o 16:00:00, bo nie sprawdzam sekundy (co wymagałoby też zastosowania every 1 second), więc opóźnienie zawsze będzie wynosiło mniej niż 60 sekund. Czas opóźnienia jest zależny od tego, w której sekundzie Skript załaduje ten skrypt. Przykładowo: jeśli skrypt zostanie załadowany o godzinie 12:31:51, powyższy kod będzie się wykonywał o godzinach 12:31:51, 12:32:51, 12:33:51, i tak dalej. Jeśli jest potrzebna dokładność co do sekundy, po zmianie okresu na 1 second, można użyć poniższego warunku: now formatted as "mm:ss" is "00:00" Należy również pamiętać o wcięciach w kodzie, są one kluczowe dla poprawnego działania skryptów. Wstawiłem je w Twoim kodzie. Co do samej komendy rozdawania kluczy, zakładam, że powinno być coś tam wstawione zamiast "<klucze>". Poza wspomnianymi wyżej błędami, wygląda to w porządku. Pozdrawiam.
  23. @Felif_PL Najprostszym rozwiązaniem byłoby utworzenie jakiejś listy (na przykład HashSet), która przechowywałaby UUID graczy będących w trakcie sprawdzania. Dalej, należałoby utworzyć listener zdarzenia PlayerCommandPreprocessEvent, w którym sprawdzalibyśmy czy UUID wykonującego komendę jest obecne w tej liście. Jeśli tak, anulujemy wykonanie komendy, co zablokuje mu możliwość ucieczki z miejsca, w którym jest przetrzymywany. Oczywiście, po zakończeniu sprawdzania należy usunąć UUID sprawdzanego z listy. W przypadku gdy proces sprawdzania nie jest przerywany wyłączeniem lub restartem serwera, czyli informacja o sprawdzaniu jest gdzieś zapisywana na dysku (chociażby w bazie danych pluginu), należy również zapisać gdzieś zawartość tej listy, aby nie doszło do utraty informacji o tym kto jest sprawdzany. Alternatywnie, jeśli plugin posiada jakąś metodę lub chociaż pole pozwalające na zweryfikowanie czy ktoś jest sprawdzany, wystarczy sam wyżej wspomniany listener. Pozdrawiam.
×
×
  • Dodaj nową pozycję...