{"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":"permitir-caminhada-algemada","status":"publish","type":"post","link":"https:\/\/fivemx.com\/pt\/enable-handcuffed-walk\/","title":{"rendered":"Guia: Permitindo o movimento enquanto algemado (FiveM) MustHave"},"content":{"rendered":"<p><strong>Guia: Permitindo movimento enquanto algemado (FiveM)<\/strong>  <\/p>\n<p>Em servidores de RPG com FiveM, algemas adicionam um toque de realismo e tens\u00e3o. Muitos jogadores acham que o comportamento padr\u00e3o de congelamento pode ser muito restritivo, tornando a experi\u00eancia artificial. Este guia mostra como permitir que os jogadores se movam algemados em todas as plataformas populares \u2014 QBCore, ESX e vRP \u2014 e ainda impedir as a\u00e7\u00f5es mais \u00f3bvias, como atirar ou dirigir.  <\/p>\n<p>\u2014<\/p>\n<h2>Compreendendo o fluxo de algemas  <\/h2>\n<p>Quando um jogador \u00e9 algemado, o servidor normalmente alterna algumas configura\u00e7\u00f5es do lado do cliente:<br \/>\n<em> A anima\u00e7\u00e3o da algema \u00e9 reproduzida (por exemplo, `&#039;mp_arresting&#039;, &#039;idle&#039;`).<br \/>\n<\/em> Os controles de algemas est\u00e3o habilitados (`SetEnableHandcuffs`).<br \/>\n<em> A entidade geralmente \u00e9 congelada para fixar o jogador no lugar.  <\/p>\n<p>Para permitir o movimento, voc\u00ea precisa descongelar a entidade <strong>antes<\/strong> mantendo todos os outros controles restritivos ativos. O desafio \u00e9 localizar as linhas exatas em cada estrutura e ajust\u00e1-las sem quebrar a l\u00f3gica existente.  <\/p>\n<p>\u2014<\/p>\n<h2>Framework QBCore (e QBOX) \u2013 Passo a passo  <\/h2>\n<h3>1. Encontre o c\u00f3digo da algema  <\/h3>\n<p>Procure nos scripts de emprego ou de utilidade p\u00fablica o gatilho que aciona o algemamento. Normalmente, parece algo assim:<br \/>\n\u201c`lua<br \/>\nTaskPlayAnim(playerPed, &#039;mp_arresting&#039;, &#039;inativo&#039;, 8.0, -8, -1, 49, 0, 0, 0, 0)<br \/>\nDefinirHabilitarAlgemas(playerPed, verdadeiro)<br \/>\nFreezeEntityPosition(jogadorPed, verdadeiro)<br \/>\n\u201c`<\/p>\n<h3>2. Habilitar o movimento  <\/h3>\n<p>Substitua a chamada de congelamento:<br \/>\n\u201c`lua<br \/>\nFreezeEntityPosition(playerPed, false) \u2014 Permite caminhada livre<br \/>\n\u201c`<\/p>\n<p>Seu snippet atualizado se torna:<br \/>\n\u201c`lua<br \/>\nTaskPlayAnim(playerPed, &#039;mp_arresting&#039;, &#039;inativo&#039;, 8.0, -8, -1, 49, 0, 0, 0, 0)<br \/>\nDefinirHabilitarAlgemas(playerPed, verdadeiro)<br \/>\nFreezeEntityPosition(jogadorPed, falso)<br \/>\n\u201c`<\/p>\n<h3>3. Mantenha os controles restritos  <\/h3>\n<p>Crie um thread cont\u00ednuo que desabilite as a\u00e7\u00f5es potencialmente problem\u00e1ticas:<br \/>\n\u201c`lua<br \/>\nCidad\u00e3o.CreateThread(fun\u00e7\u00e3o()<br \/>\n    enquanto verdadeiro fa\u00e7a<br \/>\n        Cidad\u00e3o.Espere(10)<br \/>\n        se IsHandcuffed ent\u00e3o<br \/>\n            DisableControlAction(0, 24, true) \u2014 Ataque<br \/>\n            DisableControlAction(0, 25, true) \u2014 Objetivo<br \/>\n            DisableControlAction(0, 142, true) \u2014 Ataque Corpo a Corpo Alternativo<br \/>\n            DisableControlAction(0, 75, true) \u2014 Sair do ve\u00edculo<br \/>\n            DisableControlAction(0, 92, true) \u2014 Atirar no ve\u00edculo<br \/>\n        fim<br \/>\n    fim<br \/>\nfim)<br \/>\n\u201c`<br \/>\nSubstitua `IsHandcuffed` pela vari\u00e1vel que indica o estado do\u2011handcuff para seu script espec\u00edfico.  <\/p>\n<p>\u2014<\/p>\n<h2>ESX Framework \u2013 Como fazer  <\/h2>\n<h3>1. Localize a se\u00e7\u00e3o principal das algemas  <\/h3>\n<p>Encontre `esx_policejob\/client\/main.lua` e localize o seguinte c\u00f3digo:<br \/>\n\u201c`lua<br \/>\nTaskPlayAnim(playerPed, &#039;mp_arresting&#039;, &#039;inativo&#039;, 8.0, -8, -1, 49, 0, 0, 0, 0)<br \/>\nDefinirHabilitarAlgemas(playerPed, verdadeiro)<br \/>\nDefinirPedCanPlayGestureAnims(jogadorPed, falso)<br \/>\nFreezeEntityPosition(jogadorPed, verdadeiro)<br \/>\n\u201c`<\/p>\n<h3>2. Remova o congelamento  <\/h3>\n<p>Altere `FreezeEntityPosition(playerPed, true)` para `false` para que seja poss\u00edvel caminhar.  <\/p>\n<h3>3. Desabilite os controles de tecla  <\/h3>\n<p>Implemente um t\u00f3pico semelhante para manter os controles de armas e ve\u00edculos sob controle:<br \/>\n\u201c`lua<br \/>\nCidad\u00e3o.CreateThread(fun\u00e7\u00e3o()<br \/>\n    enquanto verdadeiro fa\u00e7a<br \/>\n        Cidad\u00e3o.Espere(10)<br \/>\n        se IsHandcuffed ent\u00e3o<br \/>\n            DisableControlAction(0, 142, true) \u2014 Ataque Corpo a Corpo Alternativo<br \/>\n            DisableControlAction(0, 30, true) \u2014 MoverEsquerdaDireita<br \/>\n            DisableControlAction(0, 31, true) \u2014 Mover para cima e para baixo<br \/>\n            DisableControlAction(0, 24, true) \u2014 Disparar<br \/>\n            DisableControlAction(0, 92, true) \u2014 Atirar no carro<br \/>\n            DisableControlAction(0, 75, true) \u2014 Sair do ve\u00edculo<br \/>\n        fim<br \/>\n    fim<br \/>\nfim)<br \/>\n\u201c`<br \/>\nN\u00e3o se esque\u00e7a de vincular `IsHandcuffed` ao seu sinalizador de algema ESX.<\/p>\n<p>\u2014<\/p>\n<h2>vRP \u2013 Personaliza\u00e7\u00e3o do Movimento  <\/h2>\n<h3>1. Encontre a Declara\u00e7\u00e3o de Algemas  <\/h3>\n<p>A l\u00f3gica central geralmente reside em `vrp\/modules\/police.lua` ou em um recurso personalizado. Procure por:<br \/>\n\u201c`lua<br \/>\nvRPclient.playAnim(jogador, {verdadeiro, {{mp_arresting, inativo}}, verdadeiro})<br \/>\nvRPclient.setHandcuffed(jogador, verdadeiro)<br \/>\nvRPclient.setFreeze(jogador, verdadeiro)<br \/>\n\u201c`<\/p>\n<h3>2. Descongele para se movimentar  <\/h3>\n<p>Troque a linha de congelamento:<br \/>\n\u201c`lua<br \/>\nvRPclient.setFreeze(jogador, falso)<br \/>\n\u201c`<\/p>\n<h3>3. Bloquear a\u00e7\u00f5es espec\u00edficas  <\/h3>\n<p>Insira ou modifique um script de cliente para desabilitar continuamente controles indesejados:<br \/>\n\u201c`lua<br \/>\nCidad\u00e3o.CreateThread(fun\u00e7\u00e3o()<br \/>\n    enquanto verdadeiro fa\u00e7a<br \/>\n        Cidad\u00e3o.Espere(10)<br \/>\n        se IsHandcuffed ent\u00e3o<br \/>\n            DisableControlAction(0, 24, true) \u2014 Ataque<br \/>\n            DisableControlAction(0, 25, true) \u2014 Objetivo<br \/>\n            DisableControlAction(0, 142, true) \u2014 Ataque Corpo a Corpo Alternativo<br \/>\n            DisableControlAction(0, 75, true) \u2014 Sair do ve\u00edculo<br \/>\n            DisableControlAction(0, 92, true) \u2014 Atirar no ve\u00edculo<br \/>\n            DisableControlAction(0, 30, true) \u2014 Mover para a esquerda\/direita<br \/>\n            DisableControlAction(0, 31, true) \u2014 Mover para cima\/baixo<br \/>\n        fim<br \/>\n    fim<br \/>\nfim)<br \/>\n\u201c`<\/p>\n<h3>4. Sincronize a bandeira das algemas  <\/h3>\n<p>Defina uma vari\u00e1vel global e escute um evento do lado do servidor:<br \/>\n\u201c`lua<br \/>\nlocal IsHandcuffed = falso<br \/>\nRegisterNetEvent(&#039;vrp:algema&#039;)<br \/>\nAddEventHandler(&#039;vrp:algema&#039;, fun\u00e7\u00e3o(status)<br \/>\n    IsHandcuffed = status<br \/>\nfim)<br \/>\n\u201c`<br \/>\nAcione este evento sempre que um jogador for algemado ou solto.<\/p>\n<p>\u2014<\/p>\n<h2>Considera\u00e7\u00f5es Finais  <\/h2>\n<p><\/em> <strong>Teste completamente<\/strong> em uma c\u00f3pia do seu servidor antes de colocar as altera\u00e7\u00f5es no ar.<br \/>\n<em> Ajuste a lista `DisableControlAction` para corresponder \u00e0s suas regras de dramatiza\u00e7\u00e3o \u2014 alguns servidores podem querer permitir certos movimentos ou trocas.<br \/>\n<\/em> Mantenha sempre suas vari\u00e1veis claras e consistentes; marcadores de posi\u00e7\u00e3o como `IsHandcuffed` devem ser vinculados a sinalizadores de script reais.  <\/p>\n<p>\u2014<\/p>\n<p><strong>Conclus\u00e3o \u2013 Seu Projeto Definitivo de Mobilidade com Algemas<\/strong>  <\/p>\n<p>Seguindo isto <strong>Guia: Permitindo movimento enquanto algemado (FiveM)<\/strong>, voc\u00ea pode introduzir mec\u00e2nicas realistas de algemas que permitem aos jogadores andarem sem deixar de sentir as restri\u00e7\u00f5es de estarem presos. Essa abordagem mant\u00e9m a jogabilidade imersiva para servidores QBCore, ESX e vRP, tornando os encontros de RPG mais fluidos e envolventes para todos.<\/p>","protected":false},"excerpt":{"rendered":"<p>Quer que jogadores algemados se movam no FiveM sem perder o realismo? Nosso guia pr\u00e1tico mostra ajustes simples de c\u00f3digo para QBCore, ESX e vRP, permitindo a movimenta\u00e7\u00e3o enquanto mant\u00e9m as a\u00e7\u00f5es indesejadas desabilitadas.<\/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\/pt\/wp-json\/wp\/v2\/posts\/6866","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/comments?post=6866"}],"version-history":[{"count":0,"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/posts\/6866\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/media\/174476"}],"wp:attachment":[{"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/media?parent=6866"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/categories?post=6866"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/tags?post=6866"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}