[{"data":1,"prerenderedAt":83},["ShallowReactive",2],{"site":3,"config-slug-site":15,"config-product-en-x3d-carry":21,"config-public-x3d-carry":78},{"site":4,"contact":10,"seo":13,"payment":14},{"name":5,"host":6,"default_locale":7,"locales":8},"X3D Developer","fivem.x3d-developer.com","th",[7,9],"en",{"discord_invite":11,"email":12,"line":12},"https:\u002F\u002Fdiscord.gg\u002FNA5kPVynFv","",{"google_site_verification":12,"bing_site_verification":12},{"bank_name":12,"account_name":12,"account_no":12,"promptpay_id":12},{"site":16,"contact":18,"seo":19,"payment":20},{"name":5,"host":6,"default_locale":7,"locales":17},[7,9],{"discord_invite":11,"email":12,"line":12},{"google_site_verification":12,"bing_site_verification":12},{"bank_name":12,"account_name":12,"account_no":12,"promptpay_id":12},{"id":22,"slug":23,"name":24,"summary":25,"price_thb":26,"license_mode":27,"cover_key":28,"cover_url":29,"category_slugs":30,"tags":32,"latest_version":47,"latest_released_at":48,"published_at":49,"has_docs":50,"config":51,"rent_price_satang":52,"description_md":53,"docs_md":54,"seo_title":55,"seo_description":56,"media":57,"versions":67},"fd28d581-12ee-43b8-9dfb-aa18defe53be","x3d-carry","X3D Carry","Free player carry script: carry and steal bodies, fireman carry and piggyback, consent before carrying the living, fully server authoritative, no dependencies.",0,"none","public\u002Fproducts\u002Fx3d-carry\u002Fcover\u002F133f7c2c2d80c8a5.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-carry\u002Fcover\u002F133f7c2c2d80c8a5.jpg",[31],"gameplay",[33,34,35,36,37,38,39,40,41,42,43,44,45,46],"esx","standalone","อุ้มศพ","carry","อุ้มผู้เล่น","ฟรี","free","แย่งศพ","แบกผู้เล่น","ขี่หลัง","อุ้มพาดบ่า","ลากศพ","เมืองแก๊ง","อุ้มเพื่อน","1.1.3","2026-10-12T17:22:50.777785Z","2026-09-16T13:52:19.956202Z",true,"public",null,"A player carry script that gets corpse carrying right: the body actually drops to the ground when you put it down, and your hunger or bleed-out system will not kill it a second time while it is being carried.\n\nThe server decides everything. Players cannot carry someone across the map or pull a body out of the hands of a carrier who is still standing. Free, nothing else to install.\n\n---\n\n## Features\n\n- [+] Easy to set up: tune everything in the config, or change it from the web\n- [+] Carry bodies instantly, no consent: drag a teammate out of the line of fire\n- [+] Steal bodies: shoot the carrier down and the body drops from their hands\n- [+] Fireman carry and piggyback, with consent required first\n- [+] Police, EMS and admins carry without asking; set jobs and groups yourself\n- [+] Bodies never die twice, and fall to the ground properly when put down\n- [+] No driving off with a body: getting into a vehicle drops it\n- [+] Set carry range, max distance and an anti-spam cooldown\n- [+] Add your own carry styles in the config; menu and key binds are generated\n- [+] Thai-first menu with a bundled Thai font, scales with screen resolution\n- [+] Runs on ESX and standalone, no ox_lib needed\n- [+] Hook your own scripts in at addons\u002F\n\n---\n\n## Carry bodies, steal bodies — built for gang cities\n\n- **Bodies can be picked up without asking.** Anyone can lift a downed player: drag a teammate out of the line of fire, or take the other side's body before their medic or friends get there\n- **Win the body back in a fight.** Shoot the carrier down and the server drops the body within 2 seconds, ready for your side to pick up\n- **No shortcuts.** Nobody can pull a body out of the hands of a carrier who is still standing, and nobody can drive off with one: getting into a vehicle drops the body\n- However many times a body changes hands, it never dies a second time and still falls to the ground properly when put down\n\n## Three carry styles\n\n| Style | Works on | Consent required |\n|---|---|---|\n| Carry Corpse | Unconscious players only | No |\n| Fireman Carry | Living players only | Yes |\n| Piggyback | Living players only | Yes |\n\nThe menu picks the nearest player **the chosen style can actually be used on** — pick Carry Corpse and it finds a body, pick Piggyback and it finds someone alive.\n\nPolice, EMS and admins carry without asking, and the carried player cannot struggle free. Anyone who consented can break free whenever they want.\n\nAdd your own styles in `config.lua` — the menu entry and the key binding are generated for you.\n\n## Corpse carry — where other scripts get it wrong\n\nGTA cannot play animations on a dead ped, so every corpse carry script has to fake-revive the body first and then play a corpse animation over it. That window, where the body is not really dead yet, is exactly where other systems tend to kill it again.\n\nx3d_carry guards it in two layers, plus a hook for other systems:\n\n1. **Damage immunity** while carried — bullet, fire and explosion proof\n2. **Health restored on a timer** — layer one cannot stop another script setting health directly to zero, so this checks and restores it immediately (interval in `Config.Corpse.guardInterval`)\n3. **Hook for hunger\u002Fthirst systems** — `Framework.OnCorpseCarried()` in `addons\u002Fframework\u002Fextra_client.lua` is left empty for you; put your server's hunger and thirst top-up there\n\nOn release everything is restored, ragdoll is re-enabled **before** health is set to zero. That order is the reason the body falls instead of standing stiff.\n\n## Checked on the server\n\nDistance, vehicles, health, permissions and consent are all re-validated on the server. The client can only ask.\n\nA server watchdog runs every 2 seconds and releases the pair automatically when they drift out of range, enter a vehicle, die or drop from the server.\n\n## Thai-first UI that scales with resolution\n\nThe menu is Vue 3 + Nuxt 4 with the Thai font bundled, so Thai text renders properly instead of the boxes you get from GTA's native text.\n\nThe menu scales with screen resolution, so there is no manual tuning.\n\nThe menu never takes the mouse. It is driven by the arrow keys, Enter and Backspace, so play continues while it is open.\n\n## Nothing else to install\n\nNo ox_lib, no database. Drop it in, `ensure` it, and it runs on ESX and standalone.\n\nIf your server already has esx_notify or ox_lib, notifications route through them automatically. If not, the script uses its own card.\n\nEverything that touches a framework lives in `addons\u002F`, one concern per file, so editing one file connects it to your own systems.\n\n## Hooks for other scripts\n\n`IsCarried`, `IsCarrying`, `StopCarry` and `IsFakeAlive`. The last one exists so hunger, thirst and bleed-out systems can skip a body that is currently being carried.\n\n## Genuinely free, source included\n\nThe game-side source is fully readable and editable, with no licence and no expiry. Just do not resell it or re-upload it under your own name.\n","## Installation\n\n1. Drop the `x3d_carry` folder into `resources\u002F`\n2. Add to `server.cfg`\n\n```\nensure x3d_carry\n\n# let admins carry without asking (works on any framework)\nadd_ace group.admin x3d_carry.force allow\n```\n\nThat is all. No SQL, no other resources. The UI ships pre-built in `web\u002Fbuild`, so Node.js is not required.\n\nRequires FXServer artifacts 4752 or newer (the script uses state bags).\n\n## Controls\n\n| Key \u002F command | What it does |\n|---|---|\n| `F9` or `\u002Fx3dcarry` | Open the carry menu |\n| `↑` `↓` | Move the selection |\n| `Enter` | Confirm |\n| `Backspace` | Close the menu |\n| `\u002Fx3dcarry dragdeath` | Carry a corpse (skips the menu) |\n| `\u002Fx3dcarry carrypeople` | Fireman carry (skips the menu) |\n| `\u002Fx3dcarry piggyback` | Piggyback (skips the menu) |\n\nWhile a carry is active the menu shows only that style — selecting it again puts the player down.\n\nA carried player cannot move, enter a vehicle or use weapons until released.\n\n**Carrying and stealing bodies**: a body can always be picked up, with no consent and no permission. If the carrier dies, moves past `Config.MaxDist` or gets into a vehicle, the server drops the body within 2 seconds and anyone can pick it up. A body that is being carried cannot be taken.\n\nPer-style key bindings can be set under Settings > Key Bindings > FiveM.\n\n## Configuration\n\nEverything lives in `config.lua`.\n\n| Setting | Default | Meaning |\n|---|---|---|\n| `Config.Locale` | `'th'` | In-game language, `'th'` or `'en'`. Edit the strings in `locales.lua` |\n| `Config.Command` | `'x3dcarry'` | Command name. Do not use a short name another script may already own |\n| `Config.MenuKey` | `'F9'` | Menu key, `''` leaves it unbound |\n| `Config.Range` | `3.0` | Range you can start a carry from |\n| `Config.MaxDist` | `4.5` | Drift further than this while carrying and the server releases the pair |\n| `Config.RequestTTL` | `15000` | How long a carry request stays open, in ms |\n| `Config.Cooldown` | `2000` | Minimum ms between requests from one player |\n| `Config.CarrierDelay` | `500` | Delay before the carrier starts its animation. Lower values desync the paired animation |\n| `Config.ForceAce` | `'x3d_carry.force'` | ACE permission that carries without asking, `false` disables it |\n| `Config.ForceGroups` | admin, superadmin, mod | Admin groups that carry without asking (ESX) |\n| `Config.ForceJobs` | police, ambulance | Jobs that carry without asking (ESX) |\n| `Config.Corpse` | — | Double-death protection and ragdoll-on-drop values |\n\n## Adding a carry style\n\nAdd an entry to `Config.Styles` and restart the resource. The menu entry and key binding are generated for you.\n\n```lua\nConfig.Styles.bridal = {\n    order   = 4,\n    key     = '',              -- '' leaves it unbound for the player to set\n    th      = 'อุ้มเจ้าสาว',\n    en      = 'Bridal Carry',\n    target  = 'alive',         -- 'dead' | 'alive' | 'any'\n    offset  = vector3(0.0, 0.42, 0.05),\n    heading = 0.0,\n    carrier = { dict = 'anim@dict', anim = 'carrier_anim', flag = 49 },\n    victim  = { dict = 'anim@dict', anim = 'victim_anim',  flag = 33 },\n}\n```\n\n`flag = 49` (carrier) and `flag = 33` (carried) work for most paired animations. A style with `target = 'dead'` gets the fake-revive handling automatically.\n\n## Other frameworks\n\n| File | Edit it when |\n|---|---|\n| `addons\u002Fframework\u002Fclient.lua` | How death is detected (ESX \u002F standalone) |\n| `addons\u002Fframework\u002Fextra_client.lua` | `Framework.OnCorpseCarried()` \u002F `OnCorpseDropped()`: put your hunger\u002Fthirst double-death guard here |\n| `addons\u002Fframework\u002Fserver.lua` and `extra_server.lua` | How the carry-without-asking permission is resolved (`Framework.CanForce`) |\n| `addons\u002Fnotify\u002Fclient.lua` | Using okokNotify, mythic or your own notification system |\n\n## Exports\n\n```lua\n-- client\nexports['x3d_carry']:IsCarried()              --> true while being carried\nexports['x3d_carry']:IsCarrying()             --> true while carrying someone\nexports['x3d_carry']:IsFakeAlive()            --> true while the body is fake-revived\n\n-- server\nexports['x3d_carry']:IsCarried(src)\nexports['x3d_carry']:IsCarrying(src)\nexports['x3d_carry']:StopCarry(src)           --> release immediately\n```\n\n## Rebuilding the UI\n\nThe UI is a Nuxt 4 app in `web\u002F`. If you are not changing it, there is nothing to do.\n\n```bash\ncd web\nnpm install\nnpm run build\n```\n\nAlways rebuild after editing — the NUI only loads from `web\u002Fbuild`.\n\n## Troubleshooting\n\n| Symptom | Cause |\n|---|---|\n| F9 does nothing | Another resource owns F9. Rebind under Settings > Key Bindings > FiveM |\n| `\u002Fx3dcarry` reports an unknown command | The resource is not running. Check `ensure x3d_carry` in `server.cfg` |\n| The body stands stiff on release | Another script left `SetPedCanRagdoll(false)` set, or `Config.Corpse.ragdollOnDrop` is off |\n| The body dies again or the death screen returns | Your hunger or bleed-out system is still killing it. Add its top-up calls to `Framework.OnCorpseCarried()` |\n| Piggyback floats or the fireman carry slips | `Config.CarrierDelay` is too low. Try 700 to 1000 |\n| Admins are still asked for consent | `add_ace group.admin x3d_carry.force allow` is missing |\n","Free FiveM Carry Script: Carry and Steal Bodies","Free FiveM carry script: carry and steal bodies, no consent for corpses, down the carrier to take a body back, no double death. ESX and standalone.",[58,61,63,65],{"kind":59,"url":60},"image","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-carry\u002Fmedia\u002Fb6be46446edebdaf.png",{"kind":59,"url":62},"\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-carry\u002Fmedia\u002Fc3a47b79d5b60edd.png",{"kind":59,"url":64},"\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-carry\u002Fmedia\u002F49c7690b0071bb6b.png",{"kind":59,"url":66},"\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-carry\u002Fmedia\u002Ff77da6b9eaa6f133.png",[68,70,74],{"version":47,"released_at":48,"changelog_md":69},"### Changed\n\n- Store images now carry English captions for the English store page",{"version":71,"released_at":72,"changelog_md":73},"1.1.1","2026-10-12T03:24:42.519271Z","### Changed\n\n- UI font is now Kanit (one family for Thai and English), bundled inside the script; the Thai font now really loads in game (FiveM's browser dropped the old font declaration and fell back to a system font)",{"version":75,"released_at":76,"changelog_md":77},"1.0.0","2026-09-16T13:51:03.300066Z","### Added\n- Three carry styles driven from one config table: corpse carry (unconscious only), fireman carry and piggyback (living only), each with its own paired animation, attach offset and target rule\n- Keyboard-driven Nuxt 4 menu that never takes the mouse: arrow keys to move, Enter to confirm, Backspace to close, with the active style collapsing to a single put-down entry\n- Consent flow for living targets — a countdown menu on the target's screen, a decline notice back to the carrier, and a server-side request TTL\n- Real corpse carry: fake-revive via `NetworkResurrectLocalPlayer`, corpse animation played over it, and ragdoll re-enabled before health is zeroed so the body falls to the ground instead of standing stiff\n- Double-death protection in three layers: damage immunity and proofs while carried, a 200ms health guard that restores health if any script drains it, and a framework hook that tops up hunger and thirst\n- Server-authoritative pairing published through the carried ped's state bag, with distance, vehicle, health and permission re-validated on every request and answer\n- Server watchdog every 2 seconds that releases the pair on drift, vehicle entry, death or disconnect\n- Carry-without-asking resolved through an ACE permission by default, with ESX group and job fallbacks and QBCore and standalone examples in the framework bridge\n- Framework and notify bridges isolated under `addons\u002F`, one concern per file, so moving to another framework is a single-function edit\n- Exports `IsCarried`, `IsCarrying` and `StopCarry` on both sides, plus `IsFakeAlive` so status systems can skip a body that is currently being carried\n- Thai and English locale tables with Thai as the default, and a bundled Thai font so in-game text never renders as boxes\n- Resolution-relative sizing tokens so the menu keeps the same proportions from 1280×720 to 4K\n- Server-side test suite covering 31 anti-exploit cases: forged target ids, out-of-range pairs, replayed and expired consent, request spam, prompt spam, stolen carries, style and target mismatches, and disconnect cleanup",{"slug":23,"version":47,"latest_version":47,"files":79,"options":52},[80],{"path":81,"content":82},"config.lua","-- ═══════════════════════════════════════════════════════════════\r\n--  x3d_carry — ตั้งค่า\r\n--  X3D-Developer · https:\u002F\u002Fx3d-developer.com\r\n-- ═══════════════════════════════════════════════════════════════\r\n\r\nConfig = {}\r\n\r\n-- ===== ทั่วไป \u002F General =====\r\n\r\n-- เฟรมเวิร์กที่ใช้: 'auto' (ESX ถ้ามี ไม่มีก็ standalone) | 'esx' | 'standalone'\r\n-- Framework: 'auto' (ESX when present, otherwise standalone) | 'esx' | 'standalone'\r\nConfig.Framework = 'auto'\r\n\r\n-- ภาษาของข้อความในเกม: 'th' หรือ 'en' (แก้ข้อความเองได้ที่ locales.lua)\r\n-- In-game language: 'th' or 'en' (edit the texts in locales.lua)\r\nConfig.Locale = 'th'\r\n\r\n-- ชื่อคำสั่งของ resource นี้ — มีคำสั่งเดียว\r\n--   \u002Fx3dcarry              เปิดเมนู\r\n--   \u002Fx3dcarry piggyback    เรียกท่านั้นตรง ๆ (ชื่อท่าดูที่ Config.Styles)\r\n--\r\n-- ⚠ อย่าตั้งเป็นชื่อสั้น ๆ อย่าง 'carry' — ถ้าเซิร์ฟมีสคริปต์อื่นจองชื่อนั้นอยู่\r\n-- FiveM จะทิ้งคำสั่งของเราเงียบ ๆ ปุ่มลัดจะไม่ทำงาน และไม่มี error ให้เห็น\r\n--\r\n-- Command name of this resource (one command): \u002Fx3dcarry opens the menu, \u002Fx3dcarry piggyback calls a style directly\r\n-- Do not use a short name like 'carry': if another script owns it FiveM silently drops ours, key binds stop working and no error shows\r\nConfig.Command = 'x3dcarry'\r\n\r\n-- ===== ปุ่มและระยะ \u002F Keys and distances =====\r\n\r\n-- ปุ่มเปิดเมนูอุ้ม ('' = ไม่ผูกปุ่ม ใช้ \u002Fx3dcarry แทน)\r\n-- Key that opens the carry menu ('' = no key, use \u002Fx3dcarry instead)\r\nConfig.MenuKey = 'F9'\r\n\r\n-- ระยะที่กดอุ้มได้ (เมตร)\r\n-- How close you must be to start a carry (metres)\r\nConfig.Range = 3.0\r\n\r\n-- ระยะที่ห่างกันได้ขณะอุ้มอยู่ เกินกว่านี้เซิร์ฟเวอร์ปล่อยให้เอง\r\n-- Max distance between the pair while carrying; beyond it the server releases them\r\nConfig.MaxDist = 4.5\r\n\r\n-- คำขออุ้มค้างอยู่ได้กี่มิลลิวินาทีก่อนหมดอายุ\r\n-- How many ms a carry request stays open before it expires\r\nConfig.RequestTTL = 15000\r\n\r\n-- กันกดรัว: ผู้เล่นหนึ่งคนขออุ้มได้ทุกกี่มิลลิวินาที\r\n-- Anti-spam: one player may request a carry once every this many ms\r\nConfig.Cooldown = 2000\r\n\r\n-- ===== สิทธิ์อุ้มโดยไม่ต้องขอ \u002F Carry without asking =====\r\n-- ผู้ถูกอุ้มดิ้นหลุดไม่ได้ · ศพถูกอุ้มได้เสมอ ไม่ต้องมีสิทธิ์\r\n-- The carried player cannot struggle free · corpses can always be carried, no permission needed\r\n\r\n-- ACE permission — ใช้ได้ทุกเฟรมเวิร์ก ใส่ใน server.cfg:\r\n--   add_ace group.admin x3d_carry.force allow\r\n-- ตั้งเป็น false ถ้าไม่ใช้\r\n-- ACE permission, works on every framework; put it in server.cfg: add_ace group.admin x3d_carry.force allow\r\n-- Set to false to disable\r\nConfig.ForceAce = 'x3d_carry.force'\r\n\r\n-- กลุ่มแอดมิน (ESX เท่านั้น — standalone ดู Framework.IsAdmin ใน addons\u002Fframework\u002Fextra_server.lua)\r\n-- Admin groups (ESX only; on standalone see Framework.IsAdmin in addons\u002Fframework\u002Fextra_server.lua)\r\n-- เช่น \u002F e.g. { admin = true }\r\nConfig.ForceGroups = {\r\n    admin      = true,\r\n    superadmin = true,\r\n    mod        = true,\r\n}\r\n\r\n-- อาชีพที่อุ้มได้โดยไม่ต้องขอ (ESX เท่านั้น — standalone ไม่มีระบบอาชีพมาตรฐาน)\r\n-- Jobs that carry without asking (ESX only; standalone has no standard job system)\r\n-- เช่น \u002F e.g. { police = true }\r\nConfig.ForceJobs = {\r\n    police    = true,\r\n    ambulance = true,\r\n}\r\n\r\n-- ===== อุ้มศพ กันตายซ้ำ \u002F Corpse carry, double-death guard =====\r\n-- เกมเล่นอนิเมชันกับศพไม่ได้ ต้อง \"ปลุกปลอม\" ด้วย NetworkResurrectLocalPlayer ก่อน แล้วค่อยเล่นท่าศพทับ\r\n-- ช่วงที่ร่างยังไม่ตายจริงนี่แหละที่ระบบอื่นอาจฆ่าซ้ำได้\r\n-- The game cannot animate a dead ped, so the body is fake-revived with NetworkResurrectLocalPlayer first\r\n-- and a corpse animation is played over it; that window is where other systems may kill it again\r\nConfig.Corpse = {\r\n    -- เลือดที่ตั้งให้ร่างระหว่างถูกอุ้ม (ต้อง > 0 ไม่งั้นเกมถือว่าตาย)\r\n    -- Health given to the body while carried (must be > 0 or the game counts it as dead)\r\n    fakeHealth = 120,\r\n\r\n    -- ⚠ กันตายซ้ำ — อย่าปิด ถ้าเซิร์ฟมีระบบหิว\u002Fกระหาย\u002Fเลือดไหล\r\n    --\r\n    -- invincible\u002Fproofs กันความเสียหายได้ แต่กัน SetEntityHealth(ped, 0)\r\n    -- ที่สคริปต์อื่นสั่งตรง ๆ ไม่ได้ ตัวนี้เลยคอยเติมเลือดคืนทุก ๆ กี่ ms\r\n    -- ถ้ามีอะไรมาลดเลือดร่างระหว่างถูกอุ้ม\r\n    -- Guards against other scripts setting health to 0 directly: it restores health every guardInterval ms while carried\r\n    healthGuard    = true,   -- เปิดตัวเติมเลือดคืน \u002F enable the health restore\r\n    guardInterval  = 200,    -- รอบเช็ก (ms) \u002F check interval (ms)\r\n\r\n    -- ยกร่างขึ้นกี่เมตรก่อนปลุกปลอม (กันร่างจมพื้น)\r\n    -- Metres to lift the body before the fake revive (keeps it from sinking into the floor)\r\n    liftOnPickup = 0.4,\r\n\r\n    -- ยกร่างขึ้นกี่เมตรตอนวางลง ให้มีที่ว่างให้ล้มลงพื้น\r\n    -- Metres to lift the body on drop, so it has room to fall\r\n    liftOnDrop = 0.7,\r\n\r\n    -- บังคับให้ร่างล้มลงพื้นตอนวาง (ไม่งั้นศพยืนแข็งทื่อ) \u002F ragdollMs = ล้มนานกี่ ms\r\n    -- Force the body to ragdoll onto the ground on drop (otherwise it stands stiff) \u002F ragdollMs = how long, in ms\r\n    ragdollOnDrop = true,\r\n    ragdollMs     = 5000,\r\n}\r\n\r\n-- ===== ท่าอุ้ม \u002F Carry styles =====\r\n-- ═══════════════════════════════════════════════════════════════\r\n--  ท่าอุ้ม — เพิ่มท่าใหม่ได้ ระบบสร้างเมนู + คำสั่งให้เองทุกท่า\r\n--  Carry styles: add your own, the menu and command are generated for every style\r\n--\r\n--    order    ลำดับในเมนู\r\n--    key      ปุ่มเริ่มต้นของท่านั้น ('' = ไม่ผูก ผู้เล่นตั้งเองได้\r\n--             ใน ตั้งค่า FiveM > Key Bindings > FiveM)\r\n--             ชื่อคีย์ของท่า = ชื่อ key ในตารางนี้ เช่น \u002Fx3dcarry piggyback\r\n--    target   ใช้กับใครได้ — 'dead' ศพเท่านั้น · 'alive' คนเป็นเท่านั้น · 'any' ได้หมด\r\n--    offset   ตำแหน่งคนถูกอุ้มเทียบกับคนอุ้ม\r\n--    carrier  อนิเมชันของคนอุ้ม\r\n--    victim   อนิเมชันของคนถูกอุ้ม\r\n--\r\n--    order = menu order · key = default key ('' = unbound, players can set their own in FiveM Key Bindings)\r\n--    target = who it works on: 'dead' corpses only · 'alive' living only · 'any' both\r\n--    offset = carried player's position relative to the carrier · carrier \u002F victim = animation of each side\r\n--    ตัวอย่างอยู่ด้านล่าง ลอกบล็อกใดบล็อกหนึ่งแล้วเปลี่ยนชื่อคีย์ \u002F Examples below: copy any block and rename its key\r\n-- ═══════════════════════════════════════════════════════════════\r\nConfig.Styles = {\r\n    dragdeath = {\r\n        order   = 1,\r\n        key     = '',\r\n        th      = 'อุ้มศพ',\r\n        en      = 'Carry Corpse',\r\n        target  = 'dead',\r\n        offset  = vector3(0.27, 0.15, 0.63),\r\n        heading = 0.0,\r\n        carrier = { dict = 'missfinale_c2mcs_1', anim = 'fin_c2_mcs_1_camman',   flag = 49 },\r\n        victim  = { dict = 'missarmenian2',      anim = 'corpse_search_exit_ped', flag = 47 },\r\n    },\r\n    carrypeople = {\r\n        order   = 2,\r\n        key     = '',\r\n        th      = 'อุ้มพาดบ่า',\r\n        en      = 'Carry People',\r\n        target  = 'alive',\r\n        offset  = vector3(0.27, 0.15, 0.63),\r\n        heading = 0.0,\r\n        carrier = { dict = 'missfinale_c2mcs_1', anim = 'fin_c2_mcs_1_camman', flag = 49 },\r\n        victim  = { dict = 'nm',                 anim = 'firemans_carry',      flag = 33 },\r\n    },\r\n    piggyback = {\r\n        order   = 3,\r\n        key     = '',\r\n        th      = 'ขี่หลัง',\r\n        en      = 'Piggy Back',\r\n        target  = 'alive',\r\n        offset  = vector3(0.0, -0.07, 0.45),\r\n        heading = 0.0,\r\n        carrier = { dict = 'anim@arena@celeb@flat@paired@no_props@', anim = 'piggyback_c_player_a', flag = 49 },\r\n        victim  = { dict = 'anim@arena@celeb@flat@paired@no_props@', anim = 'piggyback_c_player_b', flag = 33 },\r\n    },\r\n}\r\n\r\n-- คนอุ้มหน่วงกี่ ms ก่อนเริ่มท่า ให้ร่างคนถูกอุ้มติดเข้าที่ก่อน\r\n-- ต่ำกว่านี้ท่าคู่จะเหลื่อมกัน (ขี่หลังลอย \u002F พาดบ่าหลุด)\r\n-- Delay in ms before the carrier starts the animation so the carried body can attach first\r\n-- Lower than this and the paired animation drifts (floating piggyback \u002F dropped fireman carry)\r\nConfig.CarrierDelay = 500\r\n\r\n-- ===== ปุ่มในเมนู \u002F Menu keys =====\r\n-- control id ของ FiveM ชุดเดียวกับ esx_menu_default: ลูกศรขึ้น\u002Fลง, Enter, Backspace\r\n-- FiveM control ids, same set as esx_menu_default: up\u002Fdown arrows, Enter, Backspace\r\nConfig.Keys = {\r\n    up     = 172,\r\n    down   = 173,\r\n    select = 176,\r\n    back   = 177,\r\n}\r\n",1792316316475]