FunkcjeWłasny serwerDla twórcówTrilogy Hub vs MTAFAQDocs Lua Pobierz launcher
  1. Dokumentacja
  2. Funkcje wspólne
  3. setTimer

Funkcja

setTimer

Serwer i klientTimeryJak w MTA:SA

Wywołuje funkcję po podanym czasie, raz, kilka razy albo bez końca.

Składnia

timer setTimer(function fn, int czas, int powtorzenia [, ...])

Argumenty

fnfunction
Funkcja do wywołania.
czasint
Odstęp w milisekundach. Najmniej 50, krótszy czas jest podnoszony do 50.
powtorzeniaint
Ile razy wywołać funkcję. 0 oznacza bez końca.
...dowolne, opcjonalny
Argumenty przekazywane do funkcji przy każdym wywołaniu.

Zwraca

Uchwyt timera. Zatrzymasz go przez killTimer(timer).

Przykład

Ogłoszenie na czacie co 10 minut i odliczanie przed startem wyścigu.

-- bez końca, co 10 minut
setTimer(function()
    outputChatBox("Dołącz do naszego Discorda!", root, 255, 122, 34)
end, 10 * 60 * 1000, 0)

-- 3 razy co sekundę, z argumentem
local zostalo = 3
setTimer(function(nazwa)
    outputChatBox(nazwa .. ": start za " .. zostalo .. "...")
    zostalo = zostalo - 1
end, 1000, 3, "Wyścig")

Uwagi

Timer należy do zasobu. Po zatrzymaniu zasobu wszystkie jego timery są usuwane, nie trzeba ich sprzątać ręcznie.

Nie rysuj na timerze. Do rysowania na ekranie używaj onClientRender, a nie timera co 50 ms. Timer nie jest zsynchronizowany z klatkami gry.

Zobacz też