- Dokumentacja
- Funkcje wspólne
- addEventHandler
Funkcja
addEventHandler
Podpina funkcję pod zdarzenie. Tak reagujesz na wejście gracza, śmierć, klawisz, każdą klatkę i własne zdarzenia.
Składnia
bool addEventHandler(string name, element attachedTo, function fn [, bool propagate = true, string priority = "normal"])Argumenty
namestring- Nazwa zdarzenia, np.
onPlayerJoinalbo własnego zaddEvent. attachedToelement- Element, którego zdarzenia łapiesz.
rootłapie wszystkie,resourceRoottylko elementy tego zasobu. fnfunction- Funkcja obsługi. W środku dostępne są
sourceieventName. propagatebool, opcjonalny = true- Czy łapać też zdarzenia elementów niżej w drzewie.
prioritystring, opcjonalny = normalhigh,normalalbolow. Decyduje o kolejności, gdy kilka funkcji obsługuje to samo zdarzenie.
Zwraca
true, gdy funkcja została podpięta, albo false, gdy ta sama funkcja jest już podpięta pod to zdarzenie i element.
Przykład
local function powitanie()
outputChatBox("Cześć, " .. getPlayerName(source) .. "!", source)
end
addEventHandler("onPlayerJoin", root, powitanie)
-- ta sama funkcja drugi raz: zwraca false
addEventHandler("onPlayerJoin", root, powitanie)
Uwagi
Warto wiedzieć. Funkcję odepniesz przez removeEventHandler z tymi samymi argumentami. Zdarzenie możesz zatrzymać przez cancelEvent(), jeśli opis zdarzenia na to pozwala.
Zobacz też
onPlayerJoinGracz wszedł na serwer. Dobre miejsce na powitanie, logowanie i pierwsze odrodzenie.onClientRenderWywoływane w każdej klatce gry. Tu rysujesz wszystko, co ma być stale na ekranie: HUD, liczniki, napisy.triggerServerEventWysyła zdarzenie od gracza do serwera, np. kliknięcie przycisku albo wybór w menu.triggerClientEventWysyła zdarzenie z serwera do jednego gracza, kilku graczy albo wszystkich naraz.removeEventHandlerOdpina funkcję od zdarzenia. Trzeba podać tę samą nazwę, element i tę samą funkcję (tę samą zmienną), co przyaddEventHandler- funkcja anonimowa wpisana ponownie to inna funkcja.