M MY Multiplayer: Wiki
Lado
Tipo

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

NombreTipoDescripción
thePlayerplayerSolo en el servidor: el jugador al que pertenece el bind. En el cliente, no pases este argumento.
keystringEl 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.
keyStatestringCuándo dispararse: "down" al pulsar, "up" al soltar o "both" en ambos casos.
handlerfunction|stringLa función que se llama o el nombre del comando que se ejecuta.
...anyCon 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)

Ver también