SerweryWłasny serwerDla twórcówForumFAQDokumentacjaBezpieczeństwo
Pobierz launcher
  1. Dokumentacja
  2. Zdarzenia klienta
  3. onClientKey

Zdarzenie

onClientKey

KlientWejście i sterowanieIdentyczne z MTA:SA

Gracz wcisnął albo puścił klawisz. Zdarzenie widzi każdy klawisz, także te, których gra używa.

Obsługa

addEventHandler("onClientKey", root, function(key, pressed) ... end)

Parametry

keystring
Nazwa klawisza, np. a, enter, mouse1, F2.
pressedbool
true przy wciśnięciu, false przy puszczeniu.

Źródło

source to root.

Klawisz dociera do skryptu, gdy gra już go dostała, więc cancelEvent() nie zatrzymuje akcji gry (strzału, zmiany broni Q / E / kółkiem, skoku). Do tego służy toggleControl (np. fire, next_weapon, previous_weapon) albo toggleAllControls. cancelEvent() zatrzymuje tylko wsiadanie jako pasażer pod g. Gdy gracz pisze w polu tekstowym (edit lub memo GUI przy kursorze albo przeglądarka z klawiaturą), escape trafia tylko do skryptu i strony, a menu ESC się nie otwiera; drugi ESC w ciągu 0,6 s otwiera menu.

Przykład

Gdy menu jest otwarte, lewy przycisk myszy nie strzela.

local menuOtwarte = false

bindKey("F3", "down", function()
    menuOtwarte = not menuOtwarte
    showCursor(menuOtwarte)
    toggleControl("fire", not menuOtwarte)
end)

addEventHandler("onClientKey", root, function(klawisz, wcisniety)
    if menuOtwarte and wcisniety then
        outputConsole("Klawisz w menu: " .. klawisz)
    end
end)

Uwagi

Jeden klawisz, jedna akcja? Gdy chcesz tylko wywołać funkcję pod klawiszem, prościej użyć bindKey. onClientKey przydaje się, gdy chcesz widzieć wszystkie klawisze.

Zobacz też