Odstępy czasowe
Tworzenie cooldownów polegających na użyciu periodicalu nie są opłacalne, wręcz są one zagrażające dla wydajności serwera i bardzo go obciążają zakładając dużą liczbę graczy na serwerze, dlatego aby zapobiec temu i dodatkowo napisać działający cooldown dla komend, wydarzeń i efektów należy wykorzystać zmienne i ekspresje.
Cooldown
Na początku należy napisać, co ma wywoływać kod. Przykład rzucanego TNT z cooldownem:
on rightclick on tnt:
if player's tool is tnt of unbreaking 10 named "&cRzucane TNT":
Zdarzenie on rightclick: wywołuje się wtedy, kiedy gracz naciśnie prawy przycisk myszy. Skript sprawdza, czy gracz trzyma TNT o nazwie &cRzucane TNT. Teraz należy użyć dwóch zmiennych:
- zmiennej tymczasowej
- zmiennej przypisanej do gracza
Zmienna tymczasowa pozwoli nam na określenie ile upłynęło czasu od ostatniego rzutu TNT i czasu obecnego określanego wyrażeniem %now%. Zmienne tymczasowe nie obciążają serwera, ponieważ zostają one automatycznie usuwane po zakończeniu sekcji kodu.
set {_czas} to difference between {tntrzut::%player%} and now
if {_czas} isn't less than 10 seconds:
#kod
set {tntrzut::%player%} to now
else:
send "Poczekaj 10 sekund"
Jeżeli zmienna tymczasowa nie jest mniejsza niż <timespan>, w tym przypadku 10 sekund to kod powinien się wykonać. W innym przypadku gracz otrzyma wiadomość "Poczekaj 10 sekund". Po wykonaniu części kodu ustawiamy zmienną {tntrzut::%player%} na %now% czyli teraz.