- Dokumentacja
- Timery
Kategoria
Timery
Wszystkie funkcje i zdarzenia Lua z kategorii Timery, po stronie serwera i klienta.
Funkcje wspólne 16
asyncUruchamia funkcję jako zadanie (korutynę). Kod w zadaniu biegnie od razu, aż do pierwszego czekania (sleep,await,waitForEvent). Wtedy oddaje sterowanie, a serwer i gra działają dalej. Gdy czekanie się skończy, zadanie rusza od miejsca, w którym stanęło. Dzięki temu kroki rozłożone w czasie (odliczanie, zapytanie do bazy, odpowiedź HTTP, czekanie na gracza) piszesz po kolei, bez zagnieżdżonych callbacków i timerów.awaitCzeka w zadaniuasyncna wynik. Przyjmuje dwie formy. Pierwsza to funkcja-starter: dostajeresumei uruchamia coś, co kończy się callbackiem (zapytaniedbQuery,fetchRemote, timer). Gdy callback wywołaresume(...),awaitzwraca te same wartości. Druga forma to inne zadanie zasync:awaitczeka, aż się skończy, i zwraca jego wyniki, a jeśli zadanie skończyło się błędem, rzuca ten błąd dalej (złapiesz go przezpcall).getZwraca stan zadania zTask Status async:"running"(czeka albo działa),"done"(skończone) albo"failed"(błąd). Po stanie zwraca wyniki zwrócone przez funkcję zadania albo, przy"failed", komunikat błędu.getZwraca czas do najbliższego wywołania timera, liczbę pozostałych powtórzeń i interwał.Timer Details getZwraca opis timera jako tablicę:Timer Info remaining,repeats,interval,pausediresource.getZwraca aktywne timery zasobu, który pyta. Z argumentem tylko te, których interwał nie przekracza podanej liczby ms.Timers isSprawdza, czy wartość jest zadaniem zwróconym przezTask async.isSprawdza, czy wartość jest aktywnym timerem. Timer jednorazowy przestaje być aktywny po wywołaniu.Timer isSprawdza, czy timer jest zatrzymany przezTimer Paused setTimerPaused.killZatrzymuje timer na stałe. Funkcja już się nie wywoła.Timer resetOdlicza interwał timera od nowa, od tej chwili.Timer setWywołuje funkcję po podanym czasie, raz, kilka razy albo bez końca.Timer setUstawia czas do najbliższego wywołania timera, nie zmieniając jego interwału.Timer Delay setZatrzymuje albo wznawia timer. Pozostały czas jest zachowany.Timer Paused sleepWstrzymuje zadanieasyncna podany czas. W tym czasie reszta skryptów, serwer i gra działają normalnie.sleep(0)czeka do następnej klatki serwera (tak jaksetTimerz interwałem 0).waitWstrzymuje zadanieFor Event asyncdo chwili, gdy zajdzie zdarzenie. Zwraca elementsourcezdarzenia i jego argumenty. Z limitem czasu zwracafalse, gdy zdarzenie nie zaszło na czas. Uchwyt i timer limitu są usuwane po zakończeniu czekania.