{"id":6866,"date":"2024-02-05T09:20:01","date_gmt":"2024-02-05T08:20:01","guid":{"rendered":"https:\/\/esx-scripts.com\/how-to-make-people-walk-when-they-are-handcuffed-modding-tutorials\/"},"modified":"2025-08-27T08:42:53","modified_gmt":"2025-08-27T06:42:53","slug":"consentire-la-camminata-ammanettata","status":"publish","type":"post","link":"https:\/\/fivemx.com\/it\/enable-handcuffed-walk\/","title":{"rendered":"Guida: consentire il movimento mentre si \u00e8 ammanettati (FiveM) MustHave"},"content":{"rendered":"<p><strong>Guida: Consentire il movimento mentre si \u00e8 ammanettati (FiveM)<\/strong>  <\/p>\n<p>Nei server di gioco di ruolo con FiveM, le manette aggiungono un tocco di realismo e tensione. Molti giocatori scoprono che il comportamento di blocco predefinito pu\u00f2 essere troppo restrittivo, rendendo l&#039;esperienza artificiale. Questa guida mostra come consentire ai giocatori di muoversi ammanettati su tutti i framework pi\u00f9 diffusi (QBCore, ESX e vRP), impedendo comunque le azioni pi\u00f9 ovvie come sparare o guidare.  <\/p>\n<p>&#8212;<\/p>\n<h2>Comprendere il flusso delle manette  <\/h2>\n<p>Quando un giocatore viene ammanettato, il server in genere attiva alcune impostazioni lato client:<br \/>\n<em> Viene riprodotta l&#039;animazione delle manette (ad esempio, `&#039;mp_arresting&#039;, &#039;idle&#039;`).<br \/>\n<\/em> I controlli delle manette sono abilitati (`SetEnableHandcuffs`).<br \/>\n<em> Di solito l&#039;entit\u00e0 viene congelata per bloccare il giocatore nella sua posizione.  <\/p>\n<p>Per consentire il movimento, \u00e8 necessario sbloccare l&#039;entit\u00e0 <strong>Prima<\/strong> mantenendo attivi tutti gli altri controlli restrittivi. La sfida \u00e8 individuare le linee guida esatte in ogni framework e modificarle senza compromettere la logica esistente.  <\/p>\n<p>&#8212;<\/p>\n<h2>QBCore Framework (e QBOX) \u2013 Passo dopo passo  <\/h2>\n<h3>1. Trova il codice delle manette  <\/h3>\n<p>Cerca negli script di lavoro o di utilit\u00e0 della polizia il segnale che attiva l&#039;ammanettamento. Di solito si presenta cos\u00ec:<br \/>\n&quot;`lua<br \/>\nTaskPlayAnim(playerPed, &#039;mp_arresting&#039;, &#039;idle&#039;, 8.0, -8, -1, 49, 0, 0, 0, 0)<br \/>\nSetEnableHandcuffs(playerPed, true)<br \/>\nFreezeEntityPosition(playerPed, true)<br \/>\n\u201c`<\/p>\n<h3>2. Abilita il movimento  <\/h3>\n<p>Sostituisci la chiamata di congelamento:<br \/>\n&quot;`lua<br \/>\nFreezeEntityPosition(playerPed, false) \u2014 Consente la camminata libera<br \/>\n\u201c`<\/p>\n<p>Il frammento aggiornato diventa:<br \/>\n&quot;`lua<br \/>\nTaskPlayAnim(playerPed, &#039;mp_arresting&#039;, &#039;idle&#039;, 8.0, -8, -1, 49, 0, 0, 0, 0)<br \/>\nSetEnableHandcuffs(playerPed, true)<br \/>\nFreezeEntityPosition(playerPed, falso)<br \/>\n\u201c`<\/p>\n<h3>3. Limitare i controlli  <\/h3>\n<p>Crea un thread continuo che disabiliti le azioni potenzialmente problematiche:<br \/>\n&quot;`lua<br \/>\nCittadino.CreateThread(funzione()<br \/>\n    mentre \u00e8 vero<br \/>\n        Cittadino.Aspetta(10)<br \/>\n        se IsHandcuffed allora<br \/>\n            DisableControlAction(0, 24, true) \u2014 Attacco<br \/>\n            DisableControlAction(0, 25, true) \u2014 Obiettivo<br \/>\n            DisableControlAction(0, 142, true) \u2014 MeleeAttackAlternate<br \/>\n            DisableControlAction(0, 75, true) \u2014 Abbandona il veicolo<br \/>\n            DisableControlAction(0, 92, true) \u2014 Spara nel veicolo<br \/>\n        FINE<br \/>\n    FINE<br \/>\nFINE)<br \/>\n\u201c`<br \/>\nSostituisci `IsHandcuffed` con la variabile che indica lo stato do-handcuff per il tuo script specifico.  <\/p>\n<p>&#8212;<\/p>\n<h2>Framework ESX: come farlo  <\/h2>\n<h3>1. Individuare la sezione principale delle manette  <\/h3>\n<p>Trova `esx_policejob\/client\/main.lua` e individua il seguente codice:<br \/>\n&quot;`lua<br \/>\nTaskPlayAnim(playerPed, &#039;mp_arresting&#039;, &#039;idle&#039;, 8.0, -8, -1, 49, 0, 0, 0, 0)<br \/>\nSetEnableHandcuffs(playerPed, true)<br \/>\nSetPedCanPlayGestureAnims(playerPed, falso)<br \/>\nFreezeEntityPosition(playerPed, true)<br \/>\n\u201c`<\/p>\n<h3>2. Rimuovere il blocco  <\/h3>\n<p>Cambia `FreezeEntityPosition(playerPed, true)` in `false` in modo che sia possibile camminare.  <\/p>\n<h3>3. Disabilitare i controlli chiave  <\/h3>\n<p>Implementa un thread simile per tenere a bada armi e controlli dei veicoli:<br \/>\n&quot;`lua<br \/>\nCittadino.CreateThread(funzione()<br \/>\n    mentre \u00e8 vero<br \/>\n        Cittadino.Aspetta(10)<br \/>\n        se IsHandcuffed allora<br \/>\n            DisableControlAction(0, 142, true) \u2014 MeleeAttackAlternate<br \/>\n            DisableControlAction(0, 30, true) \u2014 MoveLeftRight<br \/>\n            DisableControlAction(0, 31, true) \u2014 MoveUpDown<br \/>\n            DisableControlAction(0, 24, true) \u2014 Spara<br \/>\n            DisableControlAction(0, 92, true) \u2014 Spara in macchina<br \/>\n            DisableControlAction(0, 75, true) \u2014 Abbandona il veicolo<br \/>\n        FINE<br \/>\n    FINE<br \/>\nFINE)<br \/>\n\u201c`<br \/>\nAssicurati di collegare `IsHandcuffed` al flag delle manette ESX.<\/p>\n<p>&#8212;<\/p>\n<h2>vRP \u2013 Personalizzazione del movimento  <\/h2>\n<h3>1. Trova la dichiarazione delle manette  <\/h3>\n<p>La logica di base spesso risiede in `vrp\/modules\/police.lua` o in una risorsa personalizzata. Cerca:<br \/>\n&quot;`lua<br \/>\nvRPclient.playAnim(player, {true, {{mp_arresting, idle}}, true})<br \/>\nvRPclient.setHandcuffed(giocatore, vero)<br \/>\nvRPclient.setFreeze(giocatore, vero)<br \/>\n\u201c`<\/p>\n<h3>2. Sbloccare per il movimento  <\/h3>\n<p>Scambia la linea di congelamento:<br \/>\n&quot;`lua<br \/>\nvRPclient.setFreeze(giocatore, falso)<br \/>\n\u201c`<\/p>\n<h3>3. Blocca azioni specifiche  <\/h3>\n<p>Inserire o modificare uno script client per disattivare continuamente i controlli indesiderati:<br \/>\n&quot;`lua<br \/>\nCittadino.CreateThread(funzione()<br \/>\n    mentre \u00e8 vero<br \/>\n        Cittadino.Aspetta(10)<br \/>\n        se IsHandcuffed allora<br \/>\n            DisableControlAction(0, 24, true) \u2014 Attacco<br \/>\n            DisableControlAction(0, 25, true) \u2014 Obiettivo<br \/>\n            DisableControlAction(0, 142, true) \u2014 MeleeAttackAlternate<br \/>\n            DisableControlAction(0, 75, true) \u2014 Abbandona il veicolo<br \/>\n            DisableControlAction(0, 92, true) \u2014 Spara nel veicolo<br \/>\n            DisableControlAction(0, 30, true) \u2014 Sposta a sinistra\/destra<br \/>\n            DisableControlAction(0, 31, true) \u2014 Sposta su\/gi\u00f9<br \/>\n        FINE<br \/>\n    FINE<br \/>\nFINE)<br \/>\n\u201c`<\/p>\n<h3>4. Sincronizza la bandiera delle manette  <\/h3>\n<p>Definisci una variabile globale e ascolta un evento lato server:<br \/>\n&quot;`lua<br \/>\nlocale IsHandcuffed = falso<br \/>\nRegisterNetEvent(&#039;vrp:manetta&#039;)<br \/>\nAddEventHandler(&#039;vrp:manette&#039;, function(stato)<br \/>\n    Ammanettato = stato<br \/>\nFINE)<br \/>\n\u201c`<br \/>\nQuesto evento si attiva ogni volta che un giocatore viene ammanettato o rilasciato.<\/p>\n<p>&#8212;<\/p>\n<h2>Considerazioni finali  <\/h2>\n<p><\/em> <strong>Testare accuratamente<\/strong> su una copia del tuo server prima di rendere attive le modifiche.<br \/>\n<em> Adatta l&#039;elenco `DisableControlAction` in base alle tue regole di gioco di ruolo: alcuni server potrebbero voler consentire determinati movimenti o scambi.<br \/>\n<\/em> Mantieni sempre le tue variabili chiare e coerenti; i segnaposto come `IsHandcuffed` devono essere collegati ai flag di script effettivi.  <\/p>\n<p>&#8212;<\/p>\n<p><strong>Conclusione: il tuo progetto definitivo per la mobilit\u00e0 delle manette<\/strong>  <\/p>\n<p>Seguendo questo <strong>Guida: Consentire il movimento mentre si \u00e8 ammanettati (FiveM)<\/strong>, \u00e8 possibile introdurre meccaniche realistiche per le manette che consentono ai giocatori di muoversi pur avvertendo le restrizioni imposte dalle restrizioni. Questo approccio mantiene un gameplay immersivo sui server QBCore, ESX e vRP, rendendo gli incontri di gioco di ruolo pi\u00f9 fluidi e coinvolgenti per tutti.<\/p>","protected":false},"excerpt":{"rendered":"<p>Vuoi che i giocatori ammanettati si muovano in FiveM senza perdere realismo? La nostra guida intuitiva ti guider\u00e0 attraverso semplici modifiche al codice per QBCore, ESX e vRP, abilitando il movimento e disabilitando le azioni indesiderate.<\/p>","protected":false},"author":1,"featured_media":174476,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2877,1900,1899],"tags":[],"class_list":["post-6866","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-free-fivem-job-scripts","category-troubleshooting","category-tutorials"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/fivemx.com\/it\/wp-json\/wp\/v2\/posts\/6866","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fivemx.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fivemx.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fivemx.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fivemx.com\/it\/wp-json\/wp\/v2\/comments?post=6866"}],"version-history":[{"count":0,"href":"https:\/\/fivemx.com\/it\/wp-json\/wp\/v2\/posts\/6866\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fivemx.com\/it\/wp-json\/wp\/v2\/media\/174476"}],"wp:attachment":[{"href":"https:\/\/fivemx.com\/it\/wp-json\/wp\/v2\/media?parent=6866"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fivemx.com\/it\/wp-json\/wp\/v2\/categories?post=6866"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fivemx.com\/it\/wp-json\/wp\/v2\/tags?post=6866"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}