Skript – Skrypt na czas gry

Wiedza o spędzonym na serwerze/w grze czasie jest bardzo przydatna, jednak na niewielu serwerach taka opcja występuje. Skript na szczęście pozwala na implementację tej funkcji. Nie jest to trudne, co pokaże dzisiejszy poradnik. Nauczymy się dzisiaj wykonywania określonej operacji co jakiś czas (np. 10 minut), zaokrąglania, zapętlania wszystkich graczy, a także przypomnimy sobie zmienne.

Zacznijmy od czegoś prostego. Chcemy, żeby co minutę wykonywała się dana operacja. Jak to zrobić? Musimy użyć every x second(s)/tick(s). Powiedzmy, iż tą operacją jest wysłanie wiadomości.

Chcemy jednak, żeby działo się coś jeszcze, np. dodanie 1 do zmiennej {minutes.%player%} każdemu graczowi. Musimy w tym celu zapętlić wszystkich graczy (loop all players) i dodać 1 do {minutes.%loop-player%}, gdzie pod %loop-player% podstawiana jest nazwa gracza.

I w tym momencie skrypt jest prawie gotowy… no właśnie, prawie. Bo co nam z liczenia czasu, skoro nie możemy go sprawdzić? Musimy w tym celu napisać komendę.

command /czasgry:
   trigger:
      send "Grasz już %round({minutes.%executor%}/60)% godzin!" to player

W ten prosty sposób pokażemy graczowi, ile czasu spędził na serwerze. Nasz system dodaje 1 do zmiennej co minutę, co pozwala zachować nienaganną dokładność i niezbyt wygórowane wymagania sprzętowe. W celu obliczenia godzin zmienna jest dzielona 60 razy, a iloraz zaokrąglany. Można też dodawać 1 co godzinę, jednak jest to system bardzo niedokładny.

Z powodu awarii komputera wpis musiałem dokończyć na telefonie, przez co nie miałem możliwości przetestowania kodu z komendą, jednak powinien on działać. W razie błędów proszę o komentowanie i wyrozumiałość, ponieważ winę poniósł po części też mój sprzęt. Miłego skryptowania!