Skocz do zawartości
  • 0

Funkcja, dodatkowa do helpop


MaTrIS
 Udostępnij

Pytanie

Tak jak w tytule... 

Otóż napisałem funkcję, która zwraca wartość ( czas )...

ale nie wiem, jak ustawić, żeby w pętli... co 1 sekundę, usuwało 1 sekundę z %{_timehelpop}%

skrypt:

w linijce 42 napisałem coś takiego, ale nie wiem czy coś takiego istnieje+działa...

+jak coś w złym tabie, to poproszę o poprawienie...

z góry dziękuję + daje NAJ 

Edytowane przez MaTrIS
Odnośnik do komentarza
Udostępnij na innych stronach

5 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Kod od variables: jest dobry (szczerze ciężko coś tam zepsuć).

Kod od options: co do niego... Po co ci taka zmienna skoro możesz jej od razu użyć w kodzie i zaoszczędzisz miejsce? Options raczej używa się do configu np. wysyłanych wiadomości.

W komendzie masz błędy z wcięciami, również przy delayach masz dwukropki. Chciałem to poprawić, ale zrobił się dość duży bałagan w kodzie.

Skoro masz on join: set {cooldown::%player%} to false, to po co ci variables: {cooldown::%player%} = false?

W funkcji masz delay, a po tym delayu funkcja ma zwracać wartość, której typu nie podałeś. Gdy funkcja ma coś zwracać, robisz np. "function cosTam(num: number) :: number:". Po tych dwóch dwukropkach podajesz typ zwracanej wartości.

Co do tego delaya w funkcji, on nie może być, gdyż wtedy funkcja nic nie zwróci.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
15 minut temu, MaTrIS napisał:

czy

remove "1" from {_timehelpop}

to poprawna składnia?

1 musi byc bez cudzysłowiu, gdyż ty odejmujesz integera, a nie tekst.

Dobra, mniej więcej poprawiłem, bo było ponad 15 błędów, teraz są 3 przez wyrażenie "arg 1's prefix", podejrzewam, że to z któregoś dodatku. Masz, proszę:

Mówiłem ci wcześniej o tym, ale chyba zapomniałeś. Funkcje zawsze na górze kodu, gdyż muszą być przed wszelkimi triggerami, które ją zawierają.

Edytowane przez Kormic
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Masz błędy w linijkach kolejno 3, 4, 8, 10, 11,16, 20, 21, 23, oraz cała funkcja jest źle skonstruowana.

3. Pusta konfiguracja (nic warunkowi nie jest podporządkowane)

4. Błąd wcięcia

8. Nie ma cudzysłowu na końcu linijki

10. Pusta konfiguracja

11. Błąd wcięcia

16. Delay nie ma dwukropków na końcu

20. Else nie należy do żadnego warunku

21. Wywołujesz funkcję z argumentem "player", tymczasem ta funkcja przyjmuje tylko wartości typu number

23. Błąd wcięcia

Funkcja:

Jak wcześniej wspomniałem, wywołujesz ją z argumentem jako player, w funkcji masz jako argument (num: number), zwracany typ wartości jest zły, 120 jest wartością, nie typem wartości, w tym wypadku powinno być number lub integer i brakuje dwukropka po typie zwracanej wartości. Używasz w funkcji wartości {_timehelpop}, a tymczasem jako argument jest przywoływana wartość {_num}, więc zastąp {_timehelpop} {_num}'em. Jeżeli funkcja coś zwraca, nie może być w niej delay, bo wtedy funkcja nic nie zwróci. Dalej masz else: exit 1 loop, tymczasem to else nie jest częścią jakiegokolwiek if statementu w tej pętli. I na koniec czyścisz zmienną, którą chwilę później chcesz zwrócić.

Jest dużo do poprawy, więc no, postaraj się :D

EDIT:

Przypomniałem sobie, że możesz o wiele prościej zrobić cooldown w komendzie, po prostu nad trigger: daj cooldown: 120 seconds i cooldown message: czyli wiadomość, gdy cooldown nadal trwa.

 

Edytowane przez Kormic
Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...