OnClientKey: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Added info about how the event won't trigger when key is released)
Line 16: Line 16:
{{New items|5620|1.4|
{{New items|5620|1.4|
If this event is [[Event system#Canceling|canceled]], then all GTA and MTA binds, bound to the canceled key, won't be triggered.
If this event is [[Event system#Canceling|canceled]], then all GTA and MTA binds, bound to the canceled key, won't be triggered.
'''Note:''' the escape key can only be cancelled once. If a user presses the escape key twice in a row the main menu will still open.
'''Note:''' the escape key can only be cancelled once. If a user presses the escape key twice in a row the main menu will still open.
'''Note:''' The event is only cancellable when the key is being pressed, not when being released.
}}
}}



Revision as of 17:24, 29 November 2018

This event triggers whenever the user presses a button on their keyboard or mouse. This event can also be used to see if the client scrolls their mouse wheel.

Parameters

string button, bool pressOrRelease
  • button: This refers the button pressed. See key names for a list of keys.
  • pressOrRelease: This refers to whether they were pressing or releasing the key, true when pressing, false when releasing.

Source

The source of this event is the client's root element.

Cancel effect

ADDED/UPDATED IN VERSION 1.4 :

If this event is canceled, then all GTA and MTA binds, bound to the canceled key, won't be triggered.

Note: the escape key can only be cancelled once. If a user presses the escape key twice in a row the main menu will still open.

Note: The event is only cancellable when the key is being pressed, not when being released.

Example

This example will say in chatbox every time the user presses down a a key.

function playerPressedKey(button, press)
    if (press) then -- Only output when they press it down
        outputChatBox("You pressed the "..button.." key!")
    end
end
addEventHandler("onClientKey", root, playerPressedKey)

This example outputs if the client moves his mousewheel.

addEventHandler( "onClientKey", root, function(button,press) 
    -- Since mouse_wheel_up and mouse_wheel_down cant return a release, we dont have to check the press.
    if button == "mouse_wheel_up" or button == "mouse_wheel_down" then
        outputDebugString( button .. " moved." )
        return true
    end
    return false
end )

See Also

Input

GUI


Client event functions