DisableControls
Désactivation des controls en ref-counting — un control reste off tant qu'un appelant le veut off.
Désactivation des controls en ref-counting — un control reste off tant qu'un appelant le veut off.
lib.disableControls désactive les controls FiveM avec un compteur de références. Plusieurs systèmes
peuvent demander le même control, et il reste désactivé tant qu'au moins une référence est active — donc
fermer ton menu ne réactive jamais un control qu'un autre script utilise encore.
lib.disableControls.add(24, 25, 257) -- attaque, visée, maintien visée
-- ... plus tard ...
lib.disableControls.remove(24, 25, 257)| Fonction | Description |
|---|---|
add(...) | Incrémente le compteur de chaque control ID et le désactive à chaque frame. |
remove(...) | Décrémente le compteur. Le control se réactive quand il atteint 0. |
clear(...) | Retire de force les controls peu importe leur compteur — pour un reset global uniquement. |
add(...)remove(...)0.clear(...)Les control IDs viennent de la référence controls FiveM ;
lib.keys mappe les touches nommées vers ces IDs.
local function openMenu()
lib.disableControls.add(24, 25, 47, 58)
end
local function closeMenu()
lib.disableControls.remove(24, 25, 47, 58)
endAppaire toujours un add avec un remove correspondant — un add sans remove laisse le control
désactivé pour toute la session. Appeler remove plus souvent que add est sans danger (le compteur
ne descend pas sous zéro), mais ça trahit généralement un bug de logique en amont. clear ignore le
compteur et retire de force le control : si un autre système l'avait aussi add, il est réactivé par
erreur — préfère remove avec les mêmes controls que ceux passés à add.