Gids: Beweging toestaan terwijl geboeid (FiveM)
In role-play servers met FiveM voegen handboeien een vleugje realisme en spanning toe. Veel spelers ontdekken dat het standaard bevriezingsgedrag te beperkend kan zijn, waardoor de ervaring kunstmatig aanvoelt. Deze handleiding laat je zien hoe je spelers kunt laten bewegen terwijl ze geboeid zijn in alle populaire frameworks—QBCore, ESX en vRP—terwijl je nog steeds de meest voor de hand liggende acties zoals schieten of rijden voorkomt.
—
Het begrijpen van de handboeistroom
Wanneer een speler geboeid is, schakelt de server doorgaans een paar client-side instellingen in of uit:
De handboeianimatie wordt afgespeeld (bijv. `’mp_arresting’, ‘idle’`).
Handboeibediening wordt ingeschakeld (`SetEnableHandcuffs`).
De entiteit wordt meestal bevroren om de speler op zijn plaats te vergrendelen.
Om beweging mogelijk te maken, moet je de entiteit ontdooien voordat terwijl alle andere beperkende besturingselementen actief blijven. De uitdaging is om de exacte regels in elk framework te vinden en aan te passen zonder je bestaande logica te beschadigen.
—
1. Vind de handboeicode
Zoek in het politiejob- of hulpprogramma-script naar de cue die het boeien activeert. Het ziet er normaal gesproken zo uit:
“`lua
TaskPlayAnim(playerPed, ‘mp_arresting’, ‘idle’, 8.0, -8, -1, 49, 0, 0, 0, 0)
SetEnableHandcuffs(playerPed, true)
FreezeEntityPosition(playerPed, true)
“`
2. Beweging inschakelen
Vervang de freeze-aanroep:
“`lua
FreezeEntityPosition(playerPed, false) — Maakt vrij lopen mogelijk
“`
Je bijgewerkte snippet wordt:
“`lua
TaskPlayAnim(playerPed, ‘mp_arresting’, ‘idle’, 8.0, -8, -1, 49, 0, 0, 0, 0)
SetEnableHandcuffs(playerPed, true)
FreezeEntityPosition(playerPed, false)
“`
3. Houd bedieningselementen beperkt
Maak een continue thread die de potentieel problematische acties uitschakelt:
“`lua
Citizen.CreateThread(function()
while true do
Citizen.Wait(10)
if IsHandcuffed then
DisableControlAction(0, 24, true) — Aanvallen
DisableControlAction(0, 25, true) — Mikken
DisableControlAction(0, 142, true) — MeleeAttackAlternate
DisableControlAction(0, 75, true) — Voertuig verlaten
DisableControlAction(0, 92, true) — Schieten in voertuig
end
end
end)
“`
Vervang `IsHandcuffed` door de variabele die de handboei-status voor jouw specifieke script aangeeft.
—
1. Zoek de Hoofdhandboeiensectie
Zoek `esx_policejob/client/main.lua` en lokaliseer de volgende code:
“`lua
TaskPlayAnim(playerPed, ‘mp_arresting’, ‘idle’, 8.0, -8, -1, 49, 0, 0, 0, 0)
SetEnableHandcuffs(playerPed, true)
SetPedCanPlayGestureAnims(playerPed, false)
FreezeEntityPosition(playerPed, true)
“`
2. Verwijder de Bevriezing
Verander `FreezeEntityPosition(playerPed, true)` naar `false` zodat lopen mogelijk is.
3. Schakel Toetsbediening uit
Implementeer een vergelijkbare thread om wapens en voertuigbesturing op afstand te houden:
“`lua
Citizen.CreateThread(function()
while true do
Citizen.Wait(10)
if IsHandcuffed then
DisableControlAction(0, 142, true) — MeleeAttackAlternate
DisableControlAction(0, 30, true) — LinksRechtsBewegen
DisableControlAction(0, 31, true) — OmhoogOmlaagBewegen
DisableControlAction(0, 24, true) — Schieten
DisableControlAction(0, 92, true) — Schieten in auto
DisableControlAction(0, 75, true) — Voertuig verlaten
end
end
end)
“`
Zorg ervoor dat `IsHandcuffed` is gekoppeld aan jouw ESX-handboei-vlag.
—
1. Zoek de Handboeiendeclaratie
De kernlogica bevindt zich vaak in `vrp/modules/police.lua` of een aangepaste resource. Zoek naar:
“`lua
vRPclient.playAnim(player, {true, {{mp_arresting, idle}}, true})
vRPclient.setHandcuffed(player, true)
vRPclient.setFreeze(player, true)
“`
2. Ontdooien voor beweging
Vervang de freeze-regel:
“`lua
vRPclient.setFreeze(player, false)
“`
3. Specifieke acties blokkeren
Voeg een clientscript in of wijzig het om ongewenste besturing continu uit te schakelen:
“`lua
Citizen.CreateThread(function()
while true do
Citizen.Wait(10)
if IsHandcuffed then
DisableControlAction(0, 24, true) — Aanvallen
DisableControlAction(0, 25, true) — Mikken
DisableControlAction(0, 142, true) — MeleeAttackAlternate
DisableControlAction(0, 75, true) — Voertuig verlaten
DisableControlAction(0, 92, true) — Schieten in voertuig
DisableControlAction(0, 30, true) — Links/Rechts bewegen
DisableControlAction(0, 31, true) — Omhoog/Omlaag bewegen
end
end
end)
“`
4. Synchroniseer de handboei-vlag
Definieer een globale variabele en luister naar een server-side event:
“`lua
local IsHandcuffed = false
RegisterNetEvent(‘vrp:handcuff’)
AddEventHandler(‘vrp:handcuff’, function(status)
IsHandcuffed = status
end)
“`
Activeer dit event wanneer een speler wordt geboeid of vrijgelaten.
—
Laatste overwegingen
Test grondig op een kopie van je server voordat je wijzigingen live zet.
Pas de `DisableControlAction`-lijst aan op basis van je role-play-regels—sommige servers willen bepaalde bewegingen of wisselingen toestaan.
Houd je variabelen altijd duidelijk en consistent; placeholders zoals `IsHandcuffed` moeten worden gekoppeld aan daadwerkelijke scriptvlaggen.
—
Conclusie – Jouw ultieme blauwdruk voor handboeimobiliteit
Door deze handleiding te volgen
Gids: Beweging toestaan terwijl geboeid (FiveM), kun je realistische handboeimechanieken introduceren waarmee spelers kunnen rondlopen terwijl ze nog steeds de beperkingen van vastzitten ervaren. Deze aanpak behoudt gedetailleerde gameplay voor QBCore-, ESX- en vRP-servers, waardoor role-play-ontmoetingen soepeler en boeiender verlopen voor iedereen.
Gerelateerde FiveMX-paden