Skocz do zawartości
  • 0

cooldown


DariuszGki

Pytanie

3 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
Teraz, DariuszGki napisał:

witam, czy da się dodać cooldown na 3 sekund?
on jump:

    # tu byłby cooldown
    wait 0.15 second
    player's gamemode is not creative:

dalszy kod...

Jak najbardziej. Podpowiem Panu jak można to zrobić za pomocą pseudokodu, aby nie podawać odpowiedzi na srebrnej tacy.

# [...]
jeśli {zmienna::cooldown::%gracz%} jest ustawiona:
	jeśli różnica między {zmienna::cooldown::%gracz%} a teraz jest mniejsza niż <cooldown>:
		wyślij wiadomość "&cOdczekaj chwilę." do gracza
		stop
ustaw wartość {zmienna::cooldown::%gracz%} na teraz
# [...] (dalszy kod)

A teraz opiszę po kolei co powyższy fragment kodu robi. Przy okazji będę dodawał załączniki, aby Pan mógł na bieżąco przechodzić do dokumentacji i widzieć o czym tak właściwie mówię.

  1. 'jeśli {zmienna::cooldown::%gracz%} jest ustawiona' - na początek sprawdzamy czy zmienna z ostatnim czasem wykonania danej czynności przez gracza posiada jakąkolwiek wartość. Dzięki temu obsługujemy przypadek gdy gracz po raz pierwszy na serwerze wykonuje ów czynność, ponieważ warunek nie jest spełniony, a więc nie ma sensu sprawdzać czy cooldown tego gracza się zakończył.
  2. 'jeśli różnica między {zmienna::cooldown::%gracz%} a teraz jest mniejsza niż <cooldown>' - myślę, że linijka jest na tyle szczegółowo opisana, że nie muszę tu zbyt wiele Panu tłumaczyć. Jest to po prostu sprawdzanie różnicy czasu między dwiema datami (czasem zapisanym w zmiennej i czasem obecnym). W miejsce cooldownu może Pan wstawić wartość (zmienna, literał) typu 'timespan', na przykład '10 seconds'. Te przykładowe 10 sekund to jest czas cooldownu.
  3. Pomijając linijkę z wysyłaniem wiadomości, gdyż jej sposób działania jest trywialny, dochodzimy do instrukcji 'stop'. Taka też instrukcja istnieje w Skript, więc nie musi Pan szukać jej odpowiednika. Jej rolą jest zakończenie wykonywania skryptu (ściślej mówiąc, triggera (wyzwalacza), w którym ta instrukcja się znajduje), aby kod następujący po niej nie został wykonany.
  4. 'ustaw wartość {zmienna::cooldown::%gracz%} na teraz' - ta linijka i cały kod następujący po niej (pod nią) wykonają się jedynie gdy albo gracz nigdy nie wykonał danej czynności, albo też cooldown dobiegł końca. W tej linijce zapisujemy do zmiennej gracza czas obecny, aby można było przy kolejnych wykonaniach czynności przez gracza weryfikować czy cooldown jest aktywny, czy też nie.

Gdyby miał Pan jakieś pytania, śmiało.

Pozdrawiam.

Odnośnik do komentarza
https://skript.pl/temat/57709-cooldown/#findComment-343176
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

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