DISABLE_CONTROL_ACTION
Disables a control for the current frame; call it every frame to keep it disabled.
0xFE99B66D079CF6BCDisableControlAction0xFE99B66D079CF6BCSignature
void DISABLE_CONTROL_ACTION(int control, Hash action, BOOL disableRelatedActions);Parameters
| Name | Type | Description |
|---|---|---|
control | int | Control group, usually 0. |
action | Hash | Input hash, e.g. 0xCEFD9220 for INPUT_ENTER. |
disableRelatedActions | BOOL | — |
Returns void
Verified notes
Reviewed in this portal's repository · by borderline-rp
Any resource that disables a control in a per-frame loop disables it for the player everywhere, and the effect survives stopping the other resources you suspect. Check hashes before disabling them.
0xCEFD9220 is INPUT_ENTER (E) — mounting a horse, getting on a wagon and many contextual interactions. It is easy to mislabel; a library that disabled it every frame left mounting broken for every player on the server.
To find who is blocking an input, print IS_CONTROL_ENABLED from a debug command:
RegisterCommand('inputcheck', function()
print('INPUT_ENTER enabled:', IsControlEnabled(0, 0xCEFD9220))
end)Verified in game on the Borderline RP server, September 2026.
Usage
DisableControlAction(control, action, disableRelatedActions)
-- always works, by hash
Citizen.InvokeNative(0xFE99B66D079CF6BC, control, action, disableRelatedActions)JavaScript and C#
DisableControlAction(control, action, disableRelatedActions);
// by hash
Citizen.invokeNative('0xFE99B66D079CF6BC', control, action, disableRelatedActions);Function.Call((Hash)0xFE99B66D079CF6BC, control, action, disableRelatedActions);- Hash parameters: the named function also accepts a string and hashes it for you;
Citizen.InvokeNativeneeds the number — passjoaat("name")or a backtick literal like`name`.
See also
Sources
alloc8or RDR3 NativeDB · RedM Natives (verified notes)
Something wrong or missing? Contribute a verified note — corrections ship through pull requests.