- Dokumentacja
- Funkcje wspólne
- bindKey
Funkcja
bindKey
Podpina funkcję albo komendę pod klawisz gracza. Funkcja dostaje (na serwerze także gracza) nazwę klawisza, stan i dodatkowe argumenty z bindKey. Zamiast funkcji możesz podać nazwę komendy: klawisz wykona ją jak /komenda. Na serwerze klawisz obserwuje gra gracza i zgłasza wciśnięcie serwerowi.
Składnia
Serwer
bool bindKey(player thePlayer, string key, string keyState, function|string handler, ...)Klient
bool bindKey(string key, string keyState, function|string handler, ...)Argumenty
thePlayerplayer- Gracz (tylko serwer).
keystring- Klawisz:
"a","F2","enter","mouse1","num_5"... keyStatestring"down"(wciśnięcie),"up"(puszczenie) albo"both".handlerfunction|string- Funkcja albo nazwa komendy.
...any, opcjonalny- Argumenty przekazywane do funkcji.
Zwraca
true, gdy klawisz został podpięty (ta sama funkcja drugi raz zwraca false).
Przykład
F2 otwiera i zamyka menu z kursorem.
local open = false
bindKey("F2", "down", function()
open = not open
showCursor(open)
end)
Zobacz też
unbindKeyOdpina funkcję albo komendę od klawisza. Bez funkcji zdejmuje wszystko z klawisza w danym stanie, a bez stanu w obu stanach.isKeyBoundSprawdza, czy pod klawiszem jest podpięta funkcja (konkretna albo jakakolwiek).getKeyStateSprawdza, czy klawisz jest teraz wciśnięty. Działa także bezbindKey, np. wonClientRender.addCommandHandlerRejestruje komendę czatu i konsoli (np./auto). Gdy gracz ją wpisze, wywoływana jest funkcja. Na serwerze funkcja dostaje gracza, nazwę komendy i kolejne słowa jako osobne argumenty; u klienta nazwę komendy i słowa. Ta sama komenda może mieć kilka funkcji, także z różnych zasobów. Komenda znika razem z zasobem, który ją dodał.