Skocz do zawartości

Ranking

Popularna zawartość

Treść z najwyższą reputacją w 07/28/24 uwzględniając wszystkie działy

  1. Kormic

    Odliczanie w Skript

    @Fendi Metoda Timespan#getTicks ze Skripta jest przestarzała i została ona przeznaczona do usunięcia w ciągu najbliższych kilku aktualizacji. Zamiast niej należy korzystać z metody Timespan#getAs, która pobiera jako parametr zagnieżdżony w tej klasie enum TimePeriod. Dzięki temu będziesz mógł od razu pobrać ilość sekund bez konieczności dzielenia przez 20. import: ch.njol.skript.util.Timespan$TimePeriod # [...] set {_s} to {_timespan}.getAs(TimePeriod.SECOND) Zastanawiające jest jednak mnożenie w kodzie źródłowym metody Timespan#getAs. Na moje oko tam powinno być dzielenie, bo im większą jednostkę czasu podamy, tym wyższy wynik otrzymamy, co nie ma sensu. To jednak już zostawiam Tobie do przetestowania. Najwyżej użyjesz TimePeriod.MILLISECOND, bo mnożenie przez 1 niczego nie zmieni. Obliczenia czasu można by nieco uprościć gdyby wykorzystywać na bieżąco nowo obliczone wartości, ale tak też może być. Na koniec dodam, że do dopełniania zerami początków jednocyfrowych liczb można wykorzystać metodę String#format lub klasę DecimalFormat. Nie ma potrzeby implementowania tego na piechotę. return String.format("%02d:%02d:%02d", {_hours}, {_minutes}, {_seconds}) # Lub: set {_df} to new DecimalFormat("00") return "%{_df}.format({_hours})%:%{_df}.format({_minutes})%:%{_df}.format({_seconds})%" Jak widać, String#format zapewnia bardziej zwięzły zapis, ale wykorzystanie klasy DecimalFormat też jest jak najbardziej prawidłowe. Pozdrawiam.
    1 punkt
  2. Po tych 3 miesiącach skrypt fajnie się zmienił i jest fajnie napisany 9/10 Oby tak dalej
    1 punkt
  3. DevDavEd_zQ

    CRKod

    Skrypt na /kod SKRYPT NIE BYL TESTOWANY MOGA BYC BLEDY!
    1 punkt
  4. Kormic

    Cooldown na dany przedmiot

    Te funkcję można lepiej napisać. Wiem, jestem czepialski, ale skoro funkcja znajduje się w dziale z poradnikami, powinna ona obsłużyć możliwie dużo przypadków. Brakuje obsługi dni, tygodni i lat. W dodatku zamiana przy spójniku "and" tworzy brzydką przerwę na 3 spacje. Kod sam w sobie można skrócić, ponieważ słowo kluczowe 'else' jest niepotrzebne, co jest związane z tym, iż zwracanie wartości kończy wykonywanie funkcji. Poniżej pokazałem co mam na myśli. function dodajCD(p: player, v: text, t: text, s: timespan) :: boolean: # [...] send "%{_t}% %{_s}%" to {_p} return false set {cooldown::%{_v}%::%{_p}%} to now return true Dziwnie to wytłumaczyłeś i zdaje się, że niepoprawnie. @CoFFeIN04 Owszem, można użyć wbudowanych w Minecraft'cie cooldownów, ale trzeba się liczyć z pewnymi konsekwencjami - podążając za przykładem z początku wątku, cooldown będzie obowiązywał dla wszystkich diamentowych mieczy w ekwipunku gracza, a nie tylko dla tego konkretnego diamentowego miecza. Mówiąc ogólniej, działa ona na dany typ przedmiotu, nie na konkretny przedmiot. Dla potwierdzenia można zajrzeć do kodu źródłowego Skripta (ściślej mówiąc, klasy ExprItemCooldown) i zauważyć, że te wyrażenie przy ustawianiu go wykorzystuje metodę HumanEntity#setCooldown(org.bukkit.Material material, int ticks). Pozdrawiam.
    1 punkt
Ten Ranking jest ustawiony na Warszawa/GMT+02:00
  • Najwięcej postów w tygodniu

    Quexsu
    Quexsu
    6 postów
    Grabsky
    Grabsky
    1 post
    Nicku
    Nicku
    1 post
    mervi_X
    mervi_X
    1 post
    NikoSkript
    NikoSkript
    1 post
    Notro
    Notro
    1 post
  • Najwięcej tematów w tygodniu

    Quexsu
    Quexsu
    1 temat
    mervi_X
    mervi_X
    1 temat
  • Aktywni użytkownicy

    Nikt jeszcze nie otrzymał reputacji w tym tygodniu.

×
×
  • Dodaj nową pozycję...