bindKey
Compartido
Asocia una tecla a una función o a un comando. La función se ejecuta cuando la tecla se pulsa, se suelta o ambas.
bool bindKey(player thePlayer, string key, string keyState, function|string handler, any ...)
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| thePlayer | player | Solo en el servidor: el jugador al que pertenece el bind. En el cliente, no pases este argumento. |
| key | string | El nombre de la tecla, sin distinguir mayú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 y otras. |
| keyState | string | Cuándo dispararse: "down" al pulsar, "up" al soltar o "both" en ambos casos. |
| handler | function|string | La función que se llama o el nombre del comando que se ejecuta. |
| ... | any | Con una función, argumentos extra que se le pasan. Con un comando, un texto con los argumentos del comando. |
Retorno
true si se creó el bind. false si ya existía o si el comando está vacío.
La función recibe (tecla, estado, ...), con el jugador delante en el servidor, y el estado es "down" o "up". Un comando asociado en el cliente se ejecuta como si se escribiera en la consola; en el servidor, ejecuta los handlers de addCommandHandler con el jugador. Un bind del servidor solo se dispara cuando el cliente avisa de la tecla, cosa que no hace si se canceló onClientKey. Los binds de un recurso desaparecen cuando se detiene, y los de un jugador cuando se va.
Ejemplo
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)