{"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":"2026-07-22T20:59:33","modified_gmt":"2026-07-22T18:59:33","slug":"enable-handcuffed-walk","status":"publish","type":"post","link":"https:\/\/fivemx.com\/pl\/enable-handcuffed-walk\/","title":{"rendered":"Zezwalaj na ruch podczas zakucia w kajdanki w FiveM"},"content":{"rendered":"<strong>Przewodnik: Pozwalanie na ruch w kajdankach (FiveM)<\/strong> \n\nNa serwerach role-play z FiveM kajdanki dodaj\u0105 realizmu i napi\u0119cia. Wielu graczy odkrywa, \u017ce domy\u015blne zamra\u017canie mo\u017ce by\u0107 zbyt restrykcyjne, przez co do\u015bwiadczenie wydaje si\u0119 sztuczne. Ten przewodnik pokazuje, jak pozwoli\u0107 graczom porusza\u0107 si\u0119 w kajdankach we wszystkich popularnych frameworkach \u2013 QBCore, ESX i vRP \u2013 jednocze\u015bnie blokuj\u0105c najbardziej oczywiste akcje, takie jak strzelanie czy prowadzenie pojazdu.\n\n\u2014\n\n<h2>Zrozumienie procesu zakuwania w kajdanki <\/h2>\n\nGdy gracz jest zakuty w kajdanki, serwer zazwyczaj prze\u0142\u0105cza kilka ustawie\u0144 po stronie klienta: \n<em> Odtwarzana jest animacja zakuwania (np. `\u2019mp_arresting\u2019, \u2018idle\u2019`). \n<\/em> W\u0142\u0105czane s\u0105 sterowanie kajdankami (`SetEnableHandcuffs`). \n<em> Encja jest zazwyczaj zamra\u017cana, aby unieruchomi\u0107 gracza.\n\nAby umo\u017cliwi\u0107 ruch, musisz odmrozi\u0107 encj\u0119 <strong>przed<\/strong> utrzymaniem wszystkich innych restrykcyjnych kontroli. Wyzwaniem jest zlokalizowanie dok\u0142adnych linii w ka\u017cdym frameworku i dostosowanie ich bez psucia istniej\u0105cej logiki.\n\n\u2014\n\n<h3>1. Znajd\u017a kod zakuwania <\/h3>\n\nPrzeszukaj skrypt pracy policji lub narz\u0119dziowy w poszukiwaniu sygna\u0142u wyzwalaj\u0105cego zakuwanie. Zazwyczaj wygl\u0105da to tak:\n\u201c`lua\nTaskPlayAnim(playerPed, \u2018mp_arresting\u2019, \u2018idle\u2019, 8.0, -8, -1, 49, 0, 0, 0, 0)\nSetEnableHandcuffs(playerPed, true)\nFreezeEntityPosition(playerPed, true)\n\u201c`\n\n<h3>2. W\u0142\u0105cz ruch <\/h3>\nZast\u0105p wywo\u0142anie zamra\u017cania:\n\u201c`lua\nFreezeEntityPosition(playerPed, false) \u2014 Pozwala na swobodne chodzenie\n\u201c`\n\nTw\u00f3j zaktualizowany fragment b\u0119dzie wygl\u0105da\u0142 tak:\n\u201c`lua\nTaskPlayAnim(playerPed, \u2018mp_arresting\u2019, \u2018idle\u2019, 8.0, -8, -1, 49, 0, 0, 0, 0)\nSetEnableHandcuffs(playerPed, true)\nFreezeEntityPosition(playerPed, false)\n\u201c`\n\n<h3>3. Utrzymaj ograniczone sterowanie <\/h3>\nUtw\u00f3rz ci\u0105g\u0142y w\u0105tek, kt\u00f3ry wy\u0142\u0105cza potencjalnie problematyczne akcje:\n\u201c`lua\nCitizen.CreateThread(function()\n while true do\n Citizen.Wait(10)\n if IsHandcuffed then\n DisableControlAction(0, 24, true) \u2014 Atak\n DisableControlAction(0, 25, true) \u2014 Celowanie\n DisableControlAction(0, 142, true) \u2014 Alternatywny atak wr\u0119cz\n DisableControlAction(0, 75, true) \u2014 Opuszczenie pojazdu\n DisableControlAction(0, 92, true) \u2014 Strzelanie w poje\u017adzie\n end\n end\nend)\n\u201c`\nZast\u0105p `IsHandcuffed` zmienn\u0105 wskazuj\u0105c\u0105 stan zakucia w twoim konkretnym skrypcie.\n\n\u2014\n\n<h3>1. Zlokalizuj g\u0142\u00f3wn\u0105 sekcj\u0119 zakuwania <\/h3>\nZnajd\u017a `esx_policejob\/client\/main.lua` i zlokalizuj nast\u0119puj\u0105cy kod:\n\u201c`lua\nTaskPlayAnim(playerPed, \u2018mp_arresting\u2019, \u2018idle\u2019, 8.0, -8, -1, 49, 0, 0, 0, 0)\nSetEnableHandcuffs(playerPed, true)\nSetPedCanPlayGestureAnims(playerPed, false)\nFreezeEntityPosition(playerPed, true)\n\u201c`\n\n<h3>2. Usu\u0144 zamro\u017cenie <\/h3>\nZmie\u0144 `FreezeEntityPosition(playerPed, true)` na `false`, aby umo\u017cliwi\u0107 chodzenie. \n\n<h3>3. Wy\u0142\u0105cz sterowanie klawiszami <\/h3>\nZaimplementuj podobny w\u0105tek, aby zablokowa\u0107 bro\u0144 i sterowanie pojazdem:\n\u201c`lua\nCitizen.CreateThread(function()\n while true do\n Citizen.Wait(10)\n if IsHandcuffed then\n DisableControlAction(0, 142, true) \u2014 Alternatywny atak wr\u0119cz\n DisableControlAction(0, 30, true) \u2014 Ruch w lewo\/prawo\n DisableControlAction(0, 31, true) \u2014 Ruch w g\u00f3r\u0119\/d\u00f3\u0142\n DisableControlAction(0, 24, true) \u2014 Strzelanie\n DisableControlAction(0, 92, true) \u2014 Strzelanie w samochodzie\n DisableControlAction(0, 75, true) \u2014 Opuszczenie pojazdu\n end\n end\nend)\n\u201c`\nUpewnij si\u0119, \u017ce `IsHandcuffed` jest powi\u0105zane z twoj\u0105 flag\u0105 zakucia w ESX.\n\n\u2014\n\n<h3>1. Znajd\u017a deklaracj\u0119 zakuwania <\/h3>\nG\u0142\u00f3wna logika cz\u0119sto znajduje si\u0119 w `vrp\\\/modules\\\/police.lua` lub niestandardowym zasobie. Szukaj: \nlua\nvRPclient.playAnim(player, {true, {{mp_arresting, idle}}, true})\nvRPclient.setHandcuffed(player, true)\nvRPclient.setFreeze(player, true)\n\n<h3>2. Odblokowanie ruchu <\/h3>\nZamie\u0144 lini\u0119 zamro\u017cenia: \nlua\nvRPclient.setFreeze(player, false)\n\n<h3>3. Zablokowanie konkretnych akcji <\/h3>\nWstaw lub zmodyfikuj skrypt klienta, aby stale wy\u0142\u0105cza\u0107 niepo\u017c\u0105dane sterowanie: \nlua\nCitizen.CreateThread(function()\n while true do\n Citizen.Wait(10)\n if IsHandcuffed then\n DisableControlAction(0, 24, true) \u2014 Atak\n DisableControlAction(0, 25, true) \u2014 Celowanie\n DisableControlAction(0, 142, true) \u2014 Alternatywny atak wr\u0119cz\n DisableControlAction(0, 75, true) \u2014 Opuszczenie pojazdu\n DisableControlAction(0, 92, true) \u2014 Strzelanie w poje\u017adzie\n DisableControlAction(0, 30, true) \u2014 Ruch w lewo\\\/prawo\n DisableControlAction(0, 31, true) \u2014 Ruch w g\u00f3r\u0119\\\/w d\u00f3\u0142\n end\n end\nend)\n\n<h3>4. Synchronizacja flagi kajdanek <\/h3>\nZdefiniuj zmienn\u0105 globaln\u0105 i nas\u0142uchuj zdarzenia po stronie serwera: \nlua\nlocal IsHandcuffed = false\nRegisterNetEvent(\u201cvrp:handcuff\u2018)\nAddEventHandler(\u2019vrp:handcuff\u2018, function(status)\n IsHandcuffed = status\nend)\n\nWywo\u0142aj to zdarzenie za ka\u017cdym razem, gdy gracz zostanie skutej lub zwolniony.\n\n\u2014\n\n<h2>Ostateczne uwagi <\/h2>\n\n<\/em> <strong>Przetestuj dok\u0142adnie<\/strong> na kopii swojego serwera przed wdro\u017ceniem zmian na \u017cywo. \n<em> Dostosuj list\u0119 `DisableControlAction` do swoich zasad odgrywania r\u00f3l \u2013 niekt\u00f3re serwery mog\u0105 chcie\u0107 zezwoli\u0107 na okre\u015blone ruchy lub zmiany. \n<\/em> Zawsze utrzymuj zmienne jasne i sp\u00f3jne; symbole zast\u0119pcze, takie jak `IsHandcuffed`, musz\u0105 by\u0107 powi\u0105zane z rzeczywistymi flagami skrypt\u00f3w. \n\n\u2014\n\n<strong>Podsumowanie \u2013 Tw\u00f3j ostateczny plan mobilno\u015bci w kajdankach<\/strong> \n\nPost\u0119puj\u0105c zgodnie z tym <strong>Przewodnik: Pozwalanie na ruch w kajdankach (FiveM)<\/strong>, mo\u017cesz wprowadzi\u0107 realistyczne mechaniki kajdanek, kt\u00f3re pozwol\u0105 graczom chodzi\u0107, jednocze\u015bnie odczuwaj\u0105c ograniczenia zwi\u0105zane z byciem skr\u0119powanym. To podej\u015bcie zachowuje szczeg\u00f3\u0142ow\u0105 rozgrywk\u0119 dla serwer\u00f3w QBCore, ESX i vRP, czyni\u0105c interakcje w odgrywaniu r\u00f3l p\u0142ynniejszymi i bardziej anga\u017cuj\u0105cymi dla wszystkich.\n\n<!-- fivemx-blog-quality-wave13 -->\n\n<h2 class=\"wp-block-heading\">Powi\u0105zane \u015bcie\u017cki FiveMX<\/h2>\n\n\n<!-- \/wp:post-content -->\n\n<!-- wp:list -->\n<ul>\n<li><a href=\"https:\/\/fivemx.com\/pl\/skrypty-policyjne\/\">FiveM skrypty policyjne<\/a><\/li>\n<li><a href=\"https:\/\/fivemx.com\/pl\/fivem-inventory-scripts\/\">Skrypty ekwipunku FiveM<\/a><\/li>\n<li><a href=\"https:\/\/fivemx.com\/pl\/\">Skrypty FiveM<\/a><\/li>\n<\/ul>\n<!-- \/wp:list -->\n<!-- \/fivemx-blog-quality-wave13 -->","protected":false},"excerpt":{"rendered":"<p>Chcesz, aby zakuci w kajdanki gracze mogli si\u0119 porusza\u0107 w FiveM bez utraty realizmu? Nasz przyjazny przewodnik przeprowadzi ci\u0119 przez proste modyfikacje kodu dla QBCore, ESX i vRP, umo\u017cliwiaj\u0105c ruch przy jednoczesnym wy\u0142\u0105czeniu niechcianych akcji.<\/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"],"_links":{"self":[{"href":"https:\/\/fivemx.com\/pl\/wp-json\/wp\/v2\/posts\/6866","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fivemx.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fivemx.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fivemx.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fivemx.com\/pl\/wp-json\/wp\/v2\/comments?post=6866"}],"version-history":[{"count":3,"href":"https:\/\/fivemx.com\/pl\/wp-json\/wp\/v2\/posts\/6866\/revisions"}],"predecessor-version":[{"id":213973,"href":"https:\/\/fivemx.com\/pl\/wp-json\/wp\/v2\/posts\/6866\/revisions\/213973"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fivemx.com\/pl\/wp-json\/wp\/v2\/media\/174476"}],"wp:attachment":[{"href":"https:\/\/fivemx.com\/pl\/wp-json\/wp\/v2\/media?parent=6866"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fivemx.com\/pl\/wp-json\/wp\/v2\/categories?post=6866"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fivemx.com\/pl\/wp-json\/wp\/v2\/tags?post=6866"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}