bindKey
Compartilhado
Liga uma tecla a uma função ou a um comando. A função roda quando a tecla é apertada, solta ou os dois.
bool bindKey(player thePlayer, string key, string keyState, function|string handler, any ...)
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| thePlayer | player | Só no servidor: o jogador dono do bind. No cliente, não passe este argumento. |
| key | string | O nome da tecla, sem diferença entre maiúsculas e minúsculas: a a z, 0 a 9, F1 a F12, mouse1 a mouse5, mouse_wheel_up, mouse_wheel_down, arrow_l, num_0, space, enter, lshift e outras. |
| keyState | string | Quando disparar: "down" ao apertar, "up" ao soltar ou "both" nos dois. |
| handler | function|string | A função chamada ou o nome do comando a rodar. |
| ... | any | Com uma função, argumentos extras passados a ela. Com um comando, um texto com os argumentos do comando. |
Retorno
true se criou o bind. false se ele já existia ou se o comando está vazio.
A função recebe (tecla, estado, ...), com o jogador na frente no servidor, e o estado é "down" ou "up". Um comando ligado no cliente roda como se fosse digitado no console; no servidor, roda os handlers de addCommandHandler com o jogador. Um bind do servidor só dispara quando o cliente avisa da tecla, o que não acontece se onClientKey foi cancelado. Os binds de um recurso somem quando ele para, e os de um jogador quando ele sai.
Exemplo
local function toggleEngine(player, key, state)
local vehicle = getPedOccupiedVehicle(player)
if vehicle then
setVehicleEngineState(vehicle, not getVehicleEngineState(vehicle))
end
end
addEventHandler("onPlayerJoin", root, function()
bindKey(source, "k", "down", toggleEngine)
end)