[{"data":1,"prerenderedAt":904},["ShallowReactive",2],{"site":3,"docs-slug-site":15,"docs-product-en-x3d-slots":21,"docs-products-en":99,"docs-html-en-x3d-slots":876},{"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":34,"latest_version":49,"latest_released_at":50,"published_at":51,"has_docs":52,"config":53,"rent_price_satang":54,"description_md":55,"docs_md":56,"seo_title":57,"seo_description":58,"media":59,"versions":78},"47a33337-7dcf-4a78-b056-4b3e324a648d","x3d-slots","X3D Slots 1024 Ways","1,024-way cascading slot, Mahjong style, 97.5% RTP. Server-authoritative spins, anti-exploit, with free spins, multipliers and big-win scenes.",250000,"shop_license","public\u002Fproducts\u002Fx3d-slots\u002Fcover\u002Fd09c2066a6ea2968.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-slots\u002Fcover\u002Fd09c2066a6ea2968.jpg",[31,32,33],"casino","economy","entertainment",[35,36,37,38,31,39,40,41,42,43,44,45,46,47,48],"esx","standalone","คาสิโน","สล็อต","slot","มินิเกม","minigame","RTP 97.5%","มาห์จอง","คาสเคด","ฟรีสปิน","ตู้สล็อต","ซื้อฟีเจอร์","ปรับ RTP","1.1.4","2026-10-12T17:13:01.863556Z","2026-09-14T15:28:02.281478Z",true,"owners",50000,"# 1,024-Way Cascading Mahjong Slot for FiveM ESX\r\n\r\nA Mahjong-themed slot machine you place in the city; players walk up, press **[E]** and play. 1,024-way Cascade\u002FTumble spins with free spins, multipliers, buy-feature and BIG \u002F MEGA \u002F SUPER WIN celebration scenes. Every spin is **resolved on the server**; the client only renders the result, so outcomes cannot be tampered with from the client side.\r\n\r\n---\r\n\r\n## Features\r\n\r\n- [+] Easy setup: tune everything in config, or set it from the web builder\r\n- [+] Every spin is resolved on the server; the client only shows the result\r\n- [+] One value, `PayScale`, moves the RTP without touching the paytable\r\n- [+] Set your own bet steps; bets outside the list are rejected\r\n- [+] Per-spin win cap and a daily house-loss limit that closes the machines\r\n- [+] Free spins: 3 scatters = 10 spins, with a retrigger cap you set\r\n- [+] Buy feature can be turned on or off and priced as a multiple of the bet\r\n- [+] Set your own BIG \u002F MEGA \u002F SUPER WIN thresholds\r\n- [+] Any number of machines, with your own positions, prop, blip and sounds\r\n- [+] Recolour the Mahjong UI from a single theme file\r\n- [+] Event logs to a Discord webhook, split by event\r\n- [+] Hook it into other scripts in addons\u002F\r\n\r\n---\r\n\r\n## Gameplay\r\n\r\n- **1,024 ways** — winning symbols burst and new ones tumble in (Cascade), so a single spin can chain several wins\r\n- **97.5% RTP** tuned out of the box; adjust it with one value, `Config.PayScale`, instead of guessing at a paytable\r\n- **Free spins** — 3 scatters = 10 spins, retriggerable with a configurable cap · **Buy feature** can be toggled and priced as a multiple of the bet\r\n- **Multipliers** accumulate through cascades and during free spins\r\n- **Celebration scenes** with your own big\u002Fmega\u002Fsuper thresholds (defaults 10×\u002F25×\u002F50×), count-up and coin timing\r\n- **Mahjong-style UI** — wood frame, felt table; every colour is editable from a single theme file\r\n\r\n## Anti-exploit and economy controls\r\n\r\n- **All spin results are computed server-side**; the client sends only \"spin\" and the bet amount\r\n- **Bets outside the allowed list are rejected** (`Config.BetSteps`), with a rate limit against spin spam\r\n- **Per-spin win cap** (`Config.MaxWinX`) and **automatic machine suspension when the house loses more than a daily limit** (`Config.DailyMaxLoss`)\r\n- **Event logging** for spin \u002F bigwin \u002F buyfeature \u002F suspend \u002F settle to a Discord webhook, azael, or your own adapter\r\n- Core game code in `core\u002F` is encrypted; everything in `config\u002F` and `addons\u002F` is yours to edit\r\n\r\n## Wire it into your server\r\n\r\n- **Server hooks** — `canPlay` (e.g. VIP only), `getMachines` (place machines from your zone system), `onSpinResolved`, `onBigWin`, `onSettle`\r\n- **Client hooks** — `onOpenUI` \u002F `onCloseUI` (hide HUD, blur, freeze the player), `drawPrompt` (switch to ox_target \u002F textUI), `onSessionSummary`\r\n- **Any number of machines**, each with its own position; prop, blip and audio are set in config\r\n- Thai \u002F English switchable in config\r\n\r\n## Requirements\r\n\r\nESX Legacy (`es_extended`) · `oxmysql` · MySQL · run `install.sql` once · put the key from your account page in `config\u002Fconfig.license.lua`, then `ensure x3d_slots`\r\n\r\nOne-time purchase with free version updates from your account page. Try it free for 7 days from the button on this page before you decide.\r\n","## Installation\n\n**Requires:** ESX Legacy (`es_extended`) · `oxmysql` · MySQL\n\n1. Run `install.sql` on your database (creates stats \u002F pending-round tables)\n2. Put the `x3d_slots` folder in `resources\u002F`\n3. Paste your key from your account page ([fivem.x3d-developer.com](https:\u002F\u002Ffivem.x3d-developer.com)) into `config\u002Fconfig.license.lua`\n   → `X3D_LICENSE_KEY = 'X3D-XXXXX-XXXXX-XXXXX-XXXXX'`\n   (or use a convar `set x3d_license_x3d_slots \"...\"` in `server.cfg`)\n4. `ensure x3d_slots` in `server.cfg`, then restart the server\n5. Walk to a machine, press **[E]** to play\n\n> Everything in `config\u002F` and `addons\u002F` is freely editable (warranty intact) · `core\u002F` is encrypted and not editable\n\n---\n\n## Game settings — `config\u002Fconfig.slots.lua`\n\n| Field | What it does |\n|-------|--------------|\n| `Config.PayScale` | **Main RTP knob** (default RTP 97.5%) · higher = players win more · change only this one |\n| `Config.BetSteps` | Selectable bet amounts (server rejects values off the list) |\n| `Config.MaxWinX` | Max win per spin (× bet) |\n| `Config.DailyMaxLoss` | House loss\u002Fday over this = machines auto-close (0 = unlimited) |\n| `Config.BigWinX` | Win multiple that triggers `onBigWin` hook + bigwin log |\n| `Config.Machines` | Machine positions (add as many as you like, unique `id`) |\n\n**Free spins \u002F Buy feature**\n- `Config.FreeSpinBase` (3 scatter = 10 spins) · `Config.FreeSpinCap` (retrigger cap)\n- `Config.BuyFeature.enabled` toggle buy button · `Config.BuyFeature.costMul` = price (floor(bet × costMul))\n\n> ⚠ `Paytable`, `Weights*`, `MultBase\u002FFree`, `GoldChance` are tuned for RTP 97.5% — changing them shifts RTP. Don't guess; use `PayScale` instead.\n\n**Celebrations** `Config.Celebration.tiers` — big\u002Fmega\u002Fsuper thresholds (× bet, default 10\u002F25\u002F50) + count-up\u002Fcoin timing\n\n**Game feel** `Config.Timing` — spin\u002Ftease\u002Fcascade speed (no RTP impact) · set `Config.Debug = true` and press `` ` `` in-game for a live tuning panel\n\n---\n\n## General — `config\u002Fconfig.general.lua`\n\n| Field | What it does |\n|-------|--------------|\n| `Config.Locale` | Language `'th'` \u002F `'en'` |\n| `Config.Debug` | `true` = live tuning panel (must be `false` in production) |\n| `Config.StreamDistance` | Machine prop spawn\u002Fdespawn range |\n| `Config.InteractDistance` | [E] prompt range |\n| `Config.RateWindow` \u002F `Config.RateMax` | Spin spam guard |\n| `Config.TimezoneOffset` | Timezone for daily reset (Thailand = 7) |\n\n---\n\n## Machine \u002F prop \u002F blip \u002F audio — `config\u002Fconfig.models.lua`\n\n- `Config.MachineProp` — toggle + change the machine prop `model`\n- `Config.Blip` — map blip (sprite\u002Fcolor\u002Fscale\u002Fname · `perMachine` = every machine or grouped)\n- `Config.Audio` — in-world sounds (open \u002F bigwin)\n\n---\n\n## Colors \u002F Theme — `config\u002Fconfig.theme.lua`\nAll colors are `#RRGGBB` codes — edit any single one. Applies to both the **slot window (NUI)** and the **in-game [E] prompt** · `restart x3d_slots` after editing.\n\n[E] prompt — `Config.Theme.prompt`\n\n| Field | Controls |\n|-------|----------|\n| `key` | [E] color when in press range |\n| `keyIdle` | [E] color when out of range |\n| `label` | label text color (e.g. \"Play Slots\") |\n| `outline` | `true`\u002F`false` black outline + shadow |\n\nSlot window — `Config.Theme.ui`\n\n| Field | Controls |\n|-------|----------|\n| `accent` | main color: buttons\u002Factive border\u002Fhighlight |\n| `accentDark` | darker tone of the primary button |\n| `gold` | money\u002Ftotal\u002Fwin labels |\n| `goldBright` | bright gold: active multiplier \u002F BIG-MEGA WIN banner |\n| `surface1` `surface2` `surface3` | panel surfaces (dark→light) |\n| `woodHi` `woodMid` `woodLo` `woodEdge` | machine wood frame |\n| `cellTop` `cellBot` `cellEdge` | info cells (balance\u002Fwin\u002Fbet) |\n| `felt1` `felt2` `felt3` | reel field (behind the reels) |\n\nExample jade theme: `accent = '#35D4AC'`, `accentDark = '#157F66'`,\n`woodHi\u002FMid\u002FLo\u002FEdge = '#1C6B57'\u002F'#124036'\u002F'#0E332B'\u002F'#0A251F'`,\n`surface1\u002F2\u002F3 = '#0B1513'\u002F'#101D1A'\u002F'#1A2B27'` (felt can stay green).\n\n---\n\n## Logging — `config\u002Fconfig.log.lua`\n\n`Config.Log.adapter` picks the sink: `none` \u002F `print` \u002F `discord` (direct webhook) \u002F `azael` \u002F `custom`\n- `Config.Log.events` — which events to log (`spin`\u002F`bigwin`\u002F`buyfeature`\u002F`suspend`\u002F`settle`)\n- ⚠ `spin = true` logs every spin — floods Discord with many players; enable only for debugging\n- discord: set `webhooks` (per-event) + username\u002Favatar\u002Fcolors\n\n---\n\n## Hooks — `config\u002Ffunctions\u002F` (wire in your own Lua)\n\n**Server** `config.functions.server.lua`\n\n| Hook | When |\n|------|------|\n| `canPlay(e)` | Gate before opening (`return false` = block), e.g. VIP only |\n| `getMachines()` | Provide machine positions from your zone system (nil = use `Config.Machines`) |\n| `onSpinResolved(e)` | After a spin resolves (logs\u002Fstats) |\n| `onBigWin(e)` | Win over `Config.BigWinX` (announce\u002Fwebhook) |\n| `onSettle(e)` | After money actually moves |\n\n**Client** `config.functions.client.lua`\n\n| Hook | When |\n|------|------|\n| `onOpenUI(e)` | Panel opened (hide HUD \u002F blur \u002F freeze \u002F sound) |\n| `onCloseUI(e)` | Panel closed (restore) |\n| `drawPrompt(e)` | Draw the [E] prompt yourself (swap to ox_target \u002F textUI · `return true`) |\n| `onMachineEnter\u002FExit(e)` | Enter\u002Fleave machine range |\n| `onSessionSummary(e)` | Summary on close (notify yourself · `return true`) |\n\n> Each file ships with ready copy-paste examples in the comments\n\n---\n\n## Troubleshooting\n- **No machines** = license not activated (check server console) or `install.sql` not run\n- **Console shows LICENSE CHECK FAILED** = wrong\u002Fexpired key or bound to another IP — check your account page\n- **RTP off** = you changed something other than `PayScale` — restore defaults and tune only `PayScale`\n- **Config change not applying** = you didn't `restart x3d_slots` (theme\u002F`web\u002F` changes need a restart)\n","FiveM ESX 1024-Way Slot Script","1,024-way cascading slot for FiveM ESX. 97.5% RTP, server-authoritative spins, free spins, multipliers, big-win scenes. Configurable, easy setup.",[60,63,65,67,69,71,73,75],{"kind":61,"url":62},"image","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-slots\u002Fmedia\u002F59d8fc97da242d20.png",{"kind":61,"url":64},"\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-slots\u002Fmedia\u002Fe7d043a4109039fa.png",{"kind":61,"url":66},"\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-slots\u002Fmedia\u002F6468365dc72e8053.png",{"kind":61,"url":68},"\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-slots\u002Fmedia\u002F4852cd593b2cf3b8.png",{"kind":61,"url":70},"\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-slots\u002Fmedia\u002F87024bdcda932663.png",{"kind":61,"url":72},"\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-slots\u002Fmedia\u002F1a4c3f07344b28dc.png",{"kind":61,"url":74},"\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-slots\u002Fmedia\u002Fa425cb91c7eabeb9.png",{"kind":76,"url":77},"video_url","https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=MHdyZx90CQY",[79,81,85,89,92,95],{"version":49,"released_at":50,"changelog_md":80},"### Changed\n\n- Store images now carry English captions for the English store page",{"version":82,"released_at":83,"changelog_md":84},"1.1.2","2026-10-12T03:22:09.295203Z","### 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)\n- New store images",{"version":86,"released_at":87,"changelog_md":88},"1.1.1","2026-10-11T09:23:42.275749Z","### Changed\n\n- Machine `[E]` label uses the X3D 3D-text standard (outlined Thai text); `Config.Theme.prompt.key` \u002F `keyIdle` still colour it",{"version":90,"released_at":91,"changelog_md":12},"1.0.2","2026-09-15T12:04:46.451723Z",{"version":93,"released_at":94,"changelog_md":12},"1.0.1","2026-09-14T19:16:35.948232Z",{"version":96,"released_at":97,"changelog_md":98},"1.0.0","2026-09-14T15:27:47.553683Z","### Added\n- 1,024-way cascading slot, server-authoritative, 97.5% RTP\n- Free spins, buy-feature, multiplier ladder\n- Escalating Big \u002F Mega \u002F Super Mega win scenes\n- Online license (activate\u002Fheartbeat, IP-bound, revocable)",{"items":100,"page":874,"size":875,"total":875},[101,134,155,158,187,215,248,273,300,330,355,381,409,436,464,492,516,535,558,585,615,640,664,688,709,737,762,783,807,832,853],{"id":102,"slug":103,"name":104,"summary":105,"price_thb":106,"license_mode":27,"cover_key":107,"cover_url":108,"category_slugs":109,"tags":112,"latest_version":90,"latest_released_at":131,"published_at":132,"has_docs":52,"config":53,"rent_price_satang":133},"6bdadea7-4316-4a4a-a38e-87c5e841077d","x3d-replay","X3D Replay","BETA pricing. Records every player, every session. Watch it back in game: 4 cameras, kill\u002Fdeath timeline, pressed keys, script usage, macro flags.",59900,"public\u002Fproducts\u002Fx3d-replay\u002Fcover.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-replay\u002Fcover.jpg",[110,111],"anticheat","admin",[35,113,114,115,116,117,118,119,120,121,122,123,124,125,110,126,127,128,129,130],"ESX Legacy","replay","fivem replay script","replay system","รีเพลย์","ดูย้อนหลัง","ย้อนดูผู้เล่น","บันทึกผู้เล่น","เคสรีพอร์ต","จับโกง","จับมาโคร","macro detection","กันโปร","แอดมิน","admin tool","demo recorder","spectate","BETA","2026-10-14T06:14:23.677549Z","2026-10-14T06:14:23.700289Z",12000,{"id":135,"slug":136,"name":137,"summary":138,"price_thb":106,"license_mode":27,"cover_key":139,"cover_url":140,"category_slugs":141,"tags":142,"latest_version":96,"latest_released_at":153,"published_at":154,"has_docs":52,"config":53,"rent_price_satang":133},"ff948fa9-6fc5-410e-b952-ee88b15f0c9d","x3d-anticheat","X3D Anti-Cheat","BETA pricing, join the testing. Evidence-first anti-cheat: Discord embeds with screenshots, HWID bans, Steam\u002FDiscord account lock, two-line event guard.","public\u002Fproducts\u002Fx3d-anticheat\u002Fcover\u002Fd90612eed4448164.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-anticheat\u002Fcover\u002Fd90612eed4448164.jpg",[110],[35,36,143,110,144,145,146,125,147,148,149,150,151,152],"แอนตี้โกง","ป้องกันแฮก","กันโกง","HWID ban","ภาพหลักฐาน","ล็อกบัญชี Steam Discord","แบนเครื่อง","คิวยศ Discord","กัน event สแปม","แอนตี้โกง ESX","2026-09-16T09:45:51.78533Z","2026-09-16T09:46:00.05928Z",{"id":22,"slug":23,"name":24,"summary":25,"price_thb":26,"license_mode":27,"cover_key":28,"cover_url":29,"category_slugs":156,"tags":157,"latest_version":49,"latest_released_at":50,"published_at":51,"has_docs":52,"config":53,"rent_price_satang":54},[31,32,33],[35,36,37,38,31,39,40,41,42,43,44,45,46,47,48],{"id":159,"slug":160,"name":161,"summary":162,"price_thb":163,"license_mode":164,"cover_key":165,"cover_url":166,"category_slugs":167,"tags":170,"latest_version":182,"latest_released_at":183,"published_at":184,"has_docs":52,"config":185,"rent_price_satang":186},"1fb91794-3e8b-4955-bc54-dc6b1491912e","x3d-mapevents","X3D Map Events","Free event panel on the pause-menu map: name + countdown, click to set a waypoint. Other scripts push events like notifications; admins can create their own.",0,"none","public\u002Fproducts\u002Fx3d-mapevents\u002Fcover\u002F8e738f2dfcf0ea2f.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-mapevents\u002Fcover\u002F8e738f2dfcf0ea2f.jpg",[168,169],"hud","gameplay",[171,172,173,174,175,176,177,178,179,180,181],"อีเวนต์","อีเวนต์บนแผนที่","แผนที่","จุดนำทาง","นับถอยหลัง","pause menu","map events","event","waypoint","ฟรี","free","1.0.3","2026-10-12T17:13:20.327337Z","2026-10-12T04:21:56.480796Z","public",null,{"id":188,"slug":189,"name":190,"summary":191,"price_thb":163,"license_mode":164,"cover_key":192,"cover_url":193,"category_slugs":194,"tags":196,"latest_version":82,"latest_released_at":213,"published_at":214,"has_docs":52,"config":185,"rent_price_satang":186},"58697b89-cbe5-4b1f-8a29-c5289727202e","x3d-weaponskins","X3D Weapon Skins","Free collectible ESX weapon skins: each skin is an add-on weapon tied to its base gun. Unlock with an item, same damage, tradable, held-weapon effects.","public\u002Fproducts\u002Fx3d-weaponskins\u002Fcover\u002F25e3c37b23545ec8.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-weaponskins\u002Fcover\u002F25e3c37b23545ec8.jpg",[169,195],"inventory",[197,198,199,200,201,202,203,204,205,206,35,180,181,207,208,209,210,211,212],"weapon skins","สกินอาวุธ","สกินอาวุธ fivem","สกินปืน","gun skin","weapon skin fivem","คลังสกิน","เทรดสกิน","skin collection","x3d_inventory","ปลดล็อกสกิน","สกินสะสม","เอฟเฟกต์อาวุธ","ความหายากสกิน","สกิน add-on","แปลงสกินเป็นไอเทม","2026-10-12T17:13:35.599698Z","2026-10-10T11:46:16.716284Z",{"id":216,"slug":217,"name":218,"summary":219,"price_thb":163,"license_mode":164,"cover_key":220,"cover_url":221,"category_slugs":222,"tags":224,"latest_version":90,"latest_released_at":246,"published_at":247,"has_docs":52,"config":185,"rent_price_satang":186},"d82d8eb1-ed6a-43e3-86ef-24e45ae2b39d","x3d-damage","X3D Damage","Set every weapon's damage yourself, with bleed, slow, stun, knockdown and lifesteal effects. Weapon skins supported. ESX or standalone.","public\u002Fproducts\u002Fx3d-damage\u002Fcover\u002F8ce8864c16843fe6.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-damage\u002Fcover\u002F8ce8864c16843fe6.jpg",[169,223],"gangs",[225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,35,36,180,181,240,241,242,243,244,245],"weapon damage","ดาเมจอาวุธ","ดาเมจปืน","fivem weapon damage","damage script","headshot","headshot kill","เลือดออก","bleed","สตัน","stun","lifesteal","ดูดเลือด","เมืองปืน","pvp","ทะลุเกราะ","ดาเมจเสริม","ปิดท่าต่อยหนัก","ปรับดาเมจ","ทำให้ช้า","กันกระโดดหลบ","2026-10-12T17:14:19.289254Z","2026-10-10T11:45:52.279629Z",{"id":249,"slug":250,"name":251,"summary":252,"price_thb":163,"license_mode":164,"cover_key":253,"cover_url":254,"category_slugs":255,"tags":257,"latest_version":90,"latest_released_at":271,"published_at":272,"has_docs":52,"config":185,"rent_price_satang":186},"93def22a-9501-4b66-bdf0-158cc6a0093c","x3d-vehiclestorage","X3D Vehicle Storage","Free ESX trunk storage on the x3d_inventory screen: capacity by vehicle class and model, owner-only access, job cars and an admin view.","public\u002Fproducts\u002Fx3d-vehiclestorage\u002Fcover\u002F2c2d97cb47678e1b.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-vehiclestorage\u002Fcover\u002F2c2d97cb47678e1b.jpg",[195,256],"garage",[258,259,260,261,262,263,264,206,35,180,181,265,266,267,268,269,270],"trunk","ท้ายรถ","ท้ายรถ fivem","vehicle storage","trunk inventory","esx trunk","เก็บของในรถ","ตู้ท้ายรถ","รถงาน","กล่องเก็บของหน้ารถ","น้ำหนักท้ายรถ","ล็อกรถ","เปิดท้ายรถ","2026-10-12T17:14:46.845123Z","2026-10-05T04:28:52.749188Z",{"id":274,"slug":275,"name":276,"summary":277,"price_thb":163,"license_mode":164,"cover_key":278,"cover_url":279,"category_slugs":280,"tags":282,"latest_version":90,"latest_released_at":298,"published_at":299,"has_docs":52,"config":185,"rent_price_satang":186},"b642bb91-9f6d-4c3c-8830-e594c2a92fcb","x3d-vault","X3D Vault","Free ESX vaults on the x3d_inventory screen: player vaults with levels and sharing, job vaults per society, Thai and English.","public\u002Fproducts\u002Fx3d-vault\u002Fcover\u002F72ea3a88a64e0034.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-vault\u002Fcover\u002F72ea3a88a64e0034.jpg",[195,281],"jobs",[283,284,285,286,287,288,289,290,206,35,180,181,291,292,293,294,295,296,297],"vault","stash","ตู้เซฟ","ตู้เก็บของ","ตู้เซฟ fivem","esx stash","job vault","ตู้หน่วยงาน","ตู้เซฟแก๊ง","ตู้ส่วนตัว","แชร์ตู้","อัปเกรดตู้","ตู้เซฟตำรวจ","ตู้เซฟอาชีพ","ลิมิตตู้","2026-10-12T17:15:03.928293Z","2026-10-05T04:28:43.828514Z",{"id":301,"slug":302,"name":303,"summary":304,"price_thb":163,"license_mode":164,"cover_key":305,"cover_url":306,"category_slugs":307,"tags":308,"latest_version":327,"latest_released_at":328,"published_at":329,"has_docs":52,"config":185,"rent_price_satang":186},"70fa1474-294a-49ad-91cb-1de0ab4dc8d8","x3d-adminpanel","X3D Admin Panel","A free all-in-one FiveM admin panel: players, bans and warnings, alt detection, bags, items, vehicles, weather, player logs and menus for X3D scripts.","public\u002Fproducts\u002Fx3d-adminpanel\u002Fcover\u002F5cb8420f481eee28.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-adminpanel\u002Fcover\u002F5cb8420f481eee28.jpg",[111],[309,310,311,312,313,314,149,315,316,317,318,319,129,320,35,36,180,181,321,322,323,324,325,326],"admin panel","admin menu","แผงแอดมิน","เมนูแอดมิน","เมนูแอดมิน fivem","fivem admin menu","token ban","จับบัญชีสำรอง","alt detection","txadmin","noclip","log","แอดมินไทย","ยึดไอเทม","ประวัติแบน","โน้ตแอดมิน","นำเข้า txAdmin","บทบาทแอดมิน","1.0.5","2026-10-12T17:15:53.66615Z","2026-10-05T04:11:47.352812Z",{"id":331,"slug":332,"name":333,"summary":334,"price_thb":163,"license_mode":164,"cover_key":335,"cover_url":336,"category_slugs":337,"tags":338,"latest_version":49,"latest_released_at":353,"published_at":354,"has_docs":52,"config":185,"rent_price_satang":186},"d76ff7ae-ded6-4f39-b63f-734181952698","x3d-inventory","X3D Inventory","Free ESX inventory with big readable text, hotkeys 1–9 saved per character, coupon-based capacity and a storage panel for any vault or trunk script.","public\u002Fproducts\u002Fx3d-inventory\u002Fcover\u002Ffc3857e556cf31f3.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-inventory\u002Fcover\u002Ffc3857e556cf31f3.jpg",[195,168],[195,339,340,341,342,343,344,345,346,347,35,180,181,348,349,350,351,352],"กระเป๋า","กระเป๋า fivem","ui กระเป๋า","esx inventory","inventory fivem","ช่องลัด","hotbar","ไอเทม","nui","คูปองขยายช่อง","คูปองน้ำหนัก","ความหายากไอเทม","ค้นกระเป๋า","จำกัดน้ำหนัก","2026-10-12T17:16:22.733967Z","2026-10-05T04:10:14.693356Z",{"id":356,"slug":357,"name":358,"summary":359,"price_thb":163,"license_mode":164,"cover_key":360,"cover_url":361,"category_slugs":362,"tags":363,"latest_version":49,"latest_released_at":379,"published_at":380,"has_docs":52,"config":185,"rent_price_satang":186},"f782bbab-0321-4d3f-832f-797a2aa198f5","x3d-fortune","X3D Fortune","Free ESX fortune teller: daily horoscope, zodiac from your birthday, 28 siamsi sticks, 22-card tarot on 9 topics and a 10-card monthly spread.","public\u002Fproducts\u002Fx3d-fortune\u002Fcover\u002Fab130eeac9fbc029.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-fortune\u002Fcover\u002Fab130eeac9fbc029.jpg",[33],[364,365,366,367,368,369,370,371,372,35,180,181,373,374,375,376,377,378],"หมอดู","ดูดวง","เซียมซี","ไพ่ยิปซี","tarot","ราศี","ดวงรายวัน","fortune teller","npc","ดวงรายเดือน","ไพ่ทาโร่","เลขมงคล","สีมงคล","ไพ่กลับหัว","จุดหมอดู","2026-10-12T17:16:40.12128Z","2026-09-26T14:59:27.315955Z",{"id":382,"slug":383,"name":384,"summary":385,"price_thb":163,"license_mode":164,"cover_key":386,"cover_url":387,"category_slugs":388,"tags":389,"latest_version":406,"latest_released_at":407,"published_at":408,"has_docs":52,"config":185,"rent_price_satang":186},"9cb293aa-8b2c-447d-b810-3a7e385f6e81","x3d-banking","X3D Banking","Free ESX bank and ATM: deposit, withdraw, transfer by player ID, transaction history, every ATM on the map, every action checked on the server.","public\u002Fproducts\u002Fx3d-banking\u002Fcover\u002Fe7e66ab29819a980.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-banking\u002Fcover\u002Fe7e66ab29819a980.jpg",[32],[390,391,392,393,394,395,396,397,398,399,35,180,181,400,401,402,403,404,405],"banking","ธนาคาร","ระบบธนาคาร","atm","ตู้ atm","โอนเงิน","โอนด้วยเบอร์โทร","esx banking","bank script","ประวัติรายการ","ถอนด่วน","วงเงินโอน","สาขาธนาคาร","ฝากเงิน","ถอนเงิน","เพิ่มตู้ ATM","1.1.8","2026-10-12T17:16:55.98941Z","2026-09-26T14:59:08.07128Z",{"id":410,"slug":411,"name":412,"summary":413,"price_thb":163,"license_mode":164,"cover_key":414,"cover_url":415,"category_slugs":416,"tags":417,"latest_version":49,"latest_released_at":434,"published_at":435,"has_docs":52,"config":185,"rent_price_satang":186},"c72d91e0-6bcd-4fae-bde9-0e140e02b0cb","x3d-music","X3D Music","Free ESX boombox: place it on the ground or mount it on a car, play YouTube with a shared queue and distance falloff; speakers survive restarts.","public\u002Fproducts\u002Fx3d-music\u002Fcover\u002Fce445e0d251f7540.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-music\u002Fcover\u002Fce445e0d251f7540.jpg",[33],[418,419,420,421,422,423,424,425,426,427,35,180,181,428,429,430,431,432,433],"boombox","ลำโพง","ลำโพงเปิดเพลง","เปิดเพลง youtube","music script","fivem music","xsound","youtube","คิวเพลง","ติดบนรถ","ลำโพงติดรถ","เปิดเพลงในรถ","ฟังเพลงด้วยกัน","เพลงร่วมกัน","ลำโพงวางพื้น","จำกัดลำโพง","2026-10-12T17:17:14.482272Z","2026-09-26T14:56:09.091062Z",{"id":437,"slug":438,"name":439,"summary":440,"price_thb":163,"license_mode":164,"cover_key":441,"cover_url":442,"category_slugs":443,"tags":444,"latest_version":461,"latest_released_at":462,"published_at":463,"has_docs":52,"config":185,"rent_price_satang":186},"6125d85f-eaff-45cb-90cd-9db4d66e7954","x3d-respawn","X3D Respawn","Free death screen: Call EMS button, wait for medics when they are online, respawn points, self-revive, a death summary and death kept across relogs.","public\u002Fproducts\u002Fx3d-respawn\u002Fcover\u002F1af99658aa5089b2.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-respawn\u002Fcover\u002F1af99658aa5089b2.jpg",[168],[445,446,447,448,449,450,451,452,453,454,455,35,180,181,456,457,458,459,460],"respawn","หน้าจอตาย","death screen","เรียกหมอ","call ems","ambulance","esx_ambulancejob","ชุบตัวเอง","จุดเกิดใหม่","dispatch","สรุปการตาย","รอหมอ","กันหนีตาย","ปุ่มเรียกหมอ","เกิดใหม่เมือง","ชุดปฐมพยาบาล","1.1.3","2026-10-12T17:17:26.33517Z","2026-09-25T16:14:21.42282Z",{"id":465,"slug":466,"name":467,"summary":468,"price_thb":163,"license_mode":164,"cover_key":469,"cover_url":470,"category_slugs":471,"tags":472,"latest_version":461,"latest_released_at":490,"published_at":491,"has_docs":52,"config":185,"rent_price_satang":186},"879a5a5d-5b22-4fb5-9274-6ac3ee631904","x3d-phone","X3D Phone","Free ESX smartphone: pma-voice calls, SMS with location sharing, mobile banking, a camera with self-hosted photos, Buzz and anonymous Dark Chat.","public\u002Fproducts\u002Fx3d-phone\u002Fcover\u002F9e0b9e2f9bc7352d.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-phone\u002Fcover\u002F9e0b9e2f9bc7352d.jpg",[168],[473,474,475,476,477,478,479,454,480,481,482,483,484,35,180,181,485,486,487,448,488,489],"phone","โทรศัพท์","โทรศัพท์ fivem","esx phone","phone script","sms","pma-voice","แจ้งเหตุ","ธนาคารมือถือ","buzz","dark chat","กล้อง","เบอร์หน่วยงาน","ออกบิล","แชร์ตำแหน่ง","กล้องโทรศัพท์","ไอเทมโทรศัพท์","2026-10-12T17:18:13.372348Z","2026-09-25T15:32:10.424119Z",{"id":493,"slug":494,"name":495,"summary":496,"price_thb":163,"license_mode":164,"cover_key":497,"cover_url":498,"category_slugs":499,"tags":500,"latest_version":461,"latest_released_at":513,"published_at":514,"has_docs":515,"config":164,"rent_price_satang":186},"6705aca9-39b7-48ad-a39b-0dc4a906dd70","x3d-safe","X3D Safe Cracking","A dial-cracking minigame: turn with A and D, press E on the notch. One export, no dependencies.","public\u002Fproducts\u002Fx3d-safe\u002Fcover\u002F410a110f32490438.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-safe\u002Fcover\u002F410a110f32490438.jpg",[223,169],[501,502,285,503,40,41,504,505,36,506,180,181,507,508,509,510,511,512],"safe cracking","เจาะตู้เซฟ","หมุนตู้เซฟ","มินิเกม fivem","export","crime","หมุนหน้าปัด","ตู้เซฟธนาคาร","ตู้เซฟร้าน","ตู้เซฟบ้าน","ไม่ต้องใช้ ESX","มินิเกม A\u002FD","2026-10-12T17:18:34.435941Z","2026-09-24T03:53:28.3285Z",false,{"id":517,"slug":518,"name":519,"summary":520,"price_thb":163,"license_mode":164,"cover_key":521,"cover_url":522,"category_slugs":523,"tags":524,"latest_version":86,"latest_released_at":533,"published_at":534,"has_docs":515,"config":164,"rent_price_satang":186},"d5bcab3a-9189-4813-9b17-6b34f3a16584","x3d-lockpick","X3D Lockpick","A lockpick minigame felt out with WASD, called with one export and usable from any script.","public\u002Fproducts\u002Fx3d-lockpick\u002Fcover\u002Fc36242cb20a32b3b.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-lockpick\u002Fcover\u002Fc36242cb20a32b3b.jpg",[223,169],[525,526,527,40,41,504,505,36,506,180,181,528,529,530,531,532],"lockpick","งัดล็อก","สะเดาะกุญแจ","งัดประตูบ้าน","งัดรถ","หมุดล็อก","มินิเกม WASD","ปรับความยาก","2026-10-12T17:18:46.115275Z","2026-09-24T03:53:14.231073Z",{"id":536,"slug":537,"name":538,"summary":539,"price_thb":163,"license_mode":164,"cover_key":540,"cover_url":541,"category_slugs":542,"tags":544,"latest_version":555,"latest_released_at":556,"published_at":557,"has_docs":52,"config":185,"rent_price_satang":186},"65d3b2da-6dba-4cd0-9907-06b8e6e54994","x3d-houserobbery","X3D House Robbery","Pick the door, search the floor, crack the safe, with a cooldown per house and both minigames in the same zip.","public\u002Fproducts\u002Fx3d-houserobbery\u002Fcover\u002F73f596dab6db196a.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-houserobbery\u002Fcover\u002F73f596dab6db196a.jpg",[543,223],"housing",[545,546,547,548,549,285,525,40,223,550,543,506,35,180,181,551,502,552,553,554],"งัดบ้าน","ปล้นบ้าน","house robbery","robbery","ปล้น","แก๊ง","คีย์การ์ด","เงินแดง","จุดค้นของ","ปล้นบ้านคูลดาวน์","1.2.4","2026-10-12T17:19:03.056031Z","2026-09-24T03:48:06.633278Z",{"id":559,"slug":560,"name":561,"summary":562,"price_thb":163,"license_mode":164,"cover_key":563,"cover_url":564,"category_slugs":565,"tags":566,"latest_version":582,"latest_released_at":583,"published_at":584,"has_docs":52,"config":185,"rent_price_satang":186},"5532c49c-d819-4dda-b8a0-71514a14df31","x3d-selldrug","X3D Sell Drug","Shady buyers appear around the map on a timer and pay in black money. Runs on ESX or standalone.","public\u002Fproducts\u002Fx3d-selldrug\u002Fcover\u002F38844a64037d78d6.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-selldrug\u002Fcover\u002F38844a64037d78d6.jpg",[223,32],[567,568,569,570,571,572,573,574,223,550,506,35,180,181,575,576,577,578,579,580,552,581],"ขายยา","งานขายยา","sell drug","drug selling","ของผิดกฎหมาย","เงินดำ","black money","ผู้รับซื้อ","จุด10","จุดสิบ","จุดขายยา","ขายของจุด10","ขายของลับ","ฟอกเงิน","ผู้รับซื้อรายใหญ่","1.2.6","2026-10-12T17:19:19.018788Z","2026-09-24T03:39:03.703963Z",{"id":586,"slug":587,"name":588,"summary":589,"price_thb":163,"license_mode":164,"cover_key":590,"cover_url":591,"category_slugs":592,"tags":593,"latest_version":82,"latest_released_at":613,"published_at":614,"has_docs":515,"config":185,"rent_price_satang":186},"8e4dcdf4-7c70-4185-a3c9-15bb5328c457","x3d-useitem","X3D Use Item","Painkillers, bandages, AED, armor, helmet, repair kits, ammo, loot boxes and buff food in one system that needs only ESX.","public\u002Fproducts\u002Fx3d-useitem\u002Fcover\u002Fe007251b171e6791.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-useitem\u002Fcover\u002Fe007251b171e6791.jpg",[195,169],[594,595,596,597,598,599,600,601,602,603,604,605,606,35,180,181,607,608,609,610,611,612],"use item","ไอเทมใช้ได้","usable items","ยา","ผ้าพันแผล","aed","ชุบคนล้ม","ซ่อมรถ","กระสุน","กล่องสุ่ม","อาหาร","เสื้อเกราะ","หมวกกันน็อค","บัฟอาหาร","ชุดซ่อมรถ","เติมกระสุน","ยืมเสื้อเกราะ","ใช้ไอเทม","ไอเทมเติมเลือด","2026-10-12T17:19:33.653792Z","2026-09-24T02:05:34.038449Z",{"id":616,"slug":617,"name":618,"summary":619,"price_thb":163,"license_mode":164,"cover_key":620,"cover_url":621,"category_slugs":622,"tags":623,"latest_version":461,"latest_released_at":638,"published_at":639,"has_docs":515,"config":164,"rent_price_satang":186},"8c823bc1-1de6-41b6-bf82-146d5a55eeb5","x3d-progressbar","X3D Progress Bar","A peach-themed progress bar with ESC to cancel, a countdown, an automatic hotkey lock, and a bundled Thai font.","public\u002Fproducts\u002Fx3d-progressbar\u002Fcover\u002Ff6830df60f656452.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-progressbar\u002Fcover\u002Ff6830df60f656452.jpg",[168],[624,625,626,627,628,629,630,168,631,35,180,181,632,633,634,635,636,637],"progressbar","progress bar","แถบโหลด","แถบความคืบหน้า","esx_progressbar","esx progressbar","ui","ยกเลิก esc","หลอดโหลด","ฟอนต์ไทย","นับเวลาถอยหลัง","ล็อกปุ่มลัด","โปรเกรสบาร์","แทน esx_progressbar","2026-10-12T17:19:45.934106Z","2026-09-24T01:22:17.768991Z",{"id":641,"slug":642,"name":643,"summary":644,"price_thb":163,"license_mode":164,"cover_key":645,"cover_url":646,"category_slugs":647,"tags":648,"latest_version":82,"latest_released_at":662,"published_at":663,"has_docs":52,"config":185,"rent_price_satang":186},"63ce5efe-2f18-499e-a52b-8155a6cebb84","x3d-slide","X3D Slide","A shooter-style forward slide on Shift plus one key, with a cooldown to stop spam. Fully configurable, nothing else needed.","public\u002Fproducts\u002Fx3d-slide\u002Fcover\u002F8c8383608791f58a.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-slide\u002Fcover\u002F8c8383608791f58a.jpg",[169],[649,650,651,652,653,654,655,656,36,35,180,181,657,658,659,660,661],"slide","สไลด์","slide fivem","ท่าสไลด์","หลบ","dodge","ท่าทาง","คูลดาวน์","สไลด์แบบเกมยิง","Shift สไลด์","ท่าหลบเกมยิง","ปุ่มสไลด์","ปรับแรงสไลด์","2026-10-12T17:20:03.227099Z","2026-09-24T01:21:56.84494Z",{"id":665,"slug":666,"name":667,"summary":668,"price_thb":163,"license_mode":164,"cover_key":669,"cover_url":670,"category_slugs":671,"tags":672,"latest_version":49,"latest_released_at":686,"published_at":687,"has_docs":52,"config":185,"rent_price_satang":186},"9b62b8ed-5911-47a8-b695-3320a6183758","x3d-notify","X3D Notify","Notification cards in nine positions, with item icons and rarity frames, and full Thai support.","public\u002Fproducts\u002Fx3d-notify\u002Fcover\u002F4a9cbdcedd86a149.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-notify\u002Fcover\u002F4a9cbdcedd86a149.jpg",[168],[673,674,675,676,677,678,630,168,633,679,35,180,181,680,681,682,683,684,685],"notify","notification","แจ้งเตือน","แจ้งเตือน fivem","esx_notify","esx notify","ไอคอนไอเทม","การ์ดแจ้งเตือน","กรอบความหายาก","แจ้งเตือน 9 ตำแหน่ง","สีในข้อความ","แทน esx_notify","แจ้งเตือนไอเทม","2026-10-12T17:20:21.047259Z","2026-09-24T01:21:40.547491Z",{"id":689,"slug":690,"name":691,"summary":692,"price_thb":163,"license_mode":164,"cover_key":693,"cover_url":694,"category_slugs":695,"tags":696,"latest_version":327,"latest_released_at":707,"published_at":708,"has_docs":52,"config":164,"rent_price_satang":186},"e6dc80f3-4f29-4d01-bffa-eba6829c6497","x3d-loadingscreen","X3D Loading Screen","A terminal-style loading screen with an ENTER WORLD button the player presses before spawning. One HTML file, no build step.","public\u002Fproducts\u002Fx3d-loadingscreen\u002Fcover\u002F32f1538b8e18f4db.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-loadingscreen\u002Fcover\u002F32f1538b8e18f4db.jpg",[168],[697,698,699,700,701,702,630,36,35,180,181,703,704,632,705,706],"loading screen","หน้าโหลด","หน้าโหลด fivem","loadingscreen","esx_loadingscreen","enter world","ปุ่มเข้าเมือง","หน้าโหลดเทอร์มินัล","พื้นหลังวิดีโอ","เพลงหน้าโหลด","2026-10-12T17:20:39.269405Z","2026-09-24T00:50:19.336351Z",{"id":710,"slug":711,"name":712,"summary":713,"price_thb":163,"license_mode":164,"cover_key":714,"cover_url":715,"category_slugs":716,"tags":718,"latest_version":734,"latest_released_at":735,"published_at":736,"has_docs":52,"config":164,"rent_price_satang":186},"37f7d9db-f90d-4eed-861b-922da1072932","es-extended","ESX Legacy Core — X3D Build","A faster es_extended that stops player saves going corrupt, autosaves every 10 minutes and freezes the economy before a restart. Drop-in, same resource name.","public\u002Fproducts\u002Fes-extended\u002Fcover\u002Fa0b783dc4bf383e9.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fes-extended\u002Fcover\u002Fa0b783dc4bf383e9.jpg",[717],"optimization",[35,719,720,721,722,723,724,725,726,727,180,181,728,729,730,731,732,733],"es_extended","esx legacy","esx core","esx_core","framework","core","esx ฟรี","ดาวน์โหลด esx","esx legacy 1.13","กันข้อมูลหาย","กันดูป","audit log","เซฟผู้เล่น","esx fork","กันตกทะลุแมพ","1.13.6","2026-10-12T17:20:52.726747Z","2026-09-23T13:28:50.819982Z",{"id":738,"slug":739,"name":740,"summary":741,"price_thb":163,"license_mode":164,"cover_key":742,"cover_url":743,"category_slugs":744,"tags":745,"latest_version":759,"latest_released_at":760,"published_at":761,"has_docs":52,"config":185,"rent_price_satang":186},"7c86bf83-0df0-4e59-ab59-461ac4a2bff8","x3d-skin","X3D Character Skin","A 77-slot character editor with an orbiting camera, poses and lighting. No skinchanger, no database, any framework.","public\u002Fproducts\u002Fx3d-skin\u002Fcover\u002Fdb520ac6e2e3d502.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-skin\u002Fcover\u002Fdb520ac6e2e3d502.jpg",[168],[35,36,746,747,748,749,750,751,752,180,181,753,754,755,756,757,758],"ตกแต่งตัวละคร","skin","character customization","skin creator","แต่งตัวละคร","ร้านเสื้อผ้า","ร้านตัดผม","ตู้เสื้อผ้า","ร้านเสริมสวย","ร้านหน้ากาก","ท่าโพส","แต่งหน้า","ไม่ต้องใช้ skinchanger","1.5.4","2026-10-12T17:21:14.159219Z","2026-09-22T04:02:41.988907Z",{"id":763,"slug":764,"name":765,"summary":766,"price_thb":163,"license_mode":164,"cover_key":767,"cover_url":768,"category_slugs":769,"tags":770,"latest_version":49,"latest_released_at":781,"published_at":782,"has_docs":52,"config":185,"rent_price_satang":186},"7337afbc-ca0d-4071-9de4-2cc04bd1b4e6","x3d-menu","X3D Main Menu","A server main menu: system cards, announcements, timed events, an in-game guidebook and per-player settings. No database, any framework.","public\u002Fproducts\u002Fx3d-menu\u002Fcover\u002F8a1dbb30861b0387.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-menu\u002Fcover\u002F8a1dbb30861b0387.jpg",[168],[35,36,771,772,773,774,171,775,180,181,776,777,778,779,780],"เมนูหลัก","main menu","menu","ประกาศ","คู่มือเมือง","เมนูเมือง","กฎเมือง","เมนู F4","ตั้งค่าผู้เล่น","แบนเนอร์อีเวนต์","2026-10-12T17:21:29.681926Z","2026-09-21T04:20:29.437521Z",{"id":784,"slug":785,"name":786,"summary":787,"price_thb":163,"license_mode":164,"cover_key":788,"cover_url":789,"category_slugs":790,"tags":791,"latest_version":804,"latest_released_at":805,"published_at":806,"has_docs":52,"config":185,"rent_price_satang":186},"7a9dd386-11c0-4f21-8c2e-cfa7dc24d15d","x3d-dailylogin","X3D Daily Login","Free daily check-in with streaks and a fully editable reward table, no database required, a full bag never costs the reward, works with any framework.","public\u002Fproducts\u002Fx3d-dailylogin\u002Fcover\u002Fffcad7901926aa67.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-dailylogin\u002Fcover\u002Fffcad7901926aa67.jpg",[169],[35,36,792,793,794,795,796,180,181,797,798,799,800,801,802,803],"เช็คอินรายวัน","daily login","daily reward","สตรีค","รางวัลรายวัน","ล็อคอินรายวัน","รางวัลค้างรับ","รับย้อนหลัง","โบนัสเวลาเล่น","รางวัลเข้าเกม","เช็คชื่อรายวัน","ไม่ต้องใช้ฐานข้อมูล","1.4.3","2026-10-12T17:21:47.885233Z","2026-09-20T10:37:48.155794Z",{"id":808,"slug":809,"name":810,"summary":811,"price_thb":163,"license_mode":164,"cover_key":812,"cover_url":813,"category_slugs":814,"tags":815,"latest_version":829,"latest_released_at":830,"published_at":831,"has_docs":52,"config":185,"rent_price_satang":186},"83c7d7cb-bde4-45e3-a552-d7e377e4dc5d","x3d-mailbox","X3D Mailbox","Free offline mailbox with item and money attachments plus \u002Fredeem codes, no database required — Mail and Safe tabs, any framework through adapter files.","public\u002Fproducts\u002Fx3d-mailbox\u002Fcover\u002F743a9e72c1ae8d6d.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-mailbox\u002Fcover\u002F743a9e72c1ae8d6d.jpg",[169],[35,181,816,817,36,818,819,180,820,821,822,823,824,825,826,827,828,803],"mailbox","redeem code","กล่องจดหมาย","ของแนบ","รีดีมโค้ด","ส่งของออฟไลน์","โค้ดรับของ","กรอกโค้ดรับของ","จดหมายออฟไลน์","ส่งของให้คนออฟไลน์","โค้ดแจกของ","แจกของกิจกรรม","ของชดเชย","1.7.2","2026-10-12T17:22:30.892527Z","2026-09-19T19:05:39.140076Z",{"id":833,"slug":834,"name":835,"summary":836,"price_thb":163,"license_mode":164,"cover_key":837,"cover_url":838,"category_slugs":839,"tags":840,"latest_version":461,"latest_released_at":851,"published_at":852,"has_docs":52,"config":185,"rent_price_satang":186},"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.","public\u002Fproducts\u002Fx3d-carry\u002Fcover\u002F133f7c2c2d80c8a5.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-carry\u002Fcover\u002F133f7c2c2d80c8a5.jpg",[169],[35,36,841,842,843,180,181,844,845,846,847,848,849,850],"อุ้มศพ","carry","อุ้มผู้เล่น","แย่งศพ","แบกผู้เล่น","ขี่หลัง","อุ้มพาดบ่า","ลากศพ","เมืองแก๊ง","อุ้มเพื่อน","2026-10-12T17:22:50.777785Z","2026-09-16T13:52:19.956202Z",{"id":854,"slug":855,"name":856,"summary":857,"price_thb":163,"license_mode":164,"cover_key":858,"cover_url":859,"category_slugs":860,"tags":861,"latest_version":90,"latest_released_at":872,"published_at":873,"has_docs":52,"config":185,"rent_price_satang":186},"12cb8b4e-b8db-4ad1-a8a2-bd0679aabec5","x3d-environment","X3D Environment","Free one-file map cleaner: no NPCs, no AI traffic, no scenarios, no idle cam, and blood, tire marks and wounds wiped away.","public\u002Fproducts\u002Fx3d-environment\u002Fcover\u002F7aa9b73e2efb1416.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fx3d-environment\u002Fcover\u002F7aa9b73e2efb1416.jpg",[717],[35,36,862,717,863,864,865,180,181,866,867,868,869,870,871],"ล้างแมพ","ลดแลค","เพิ่ม FPS","ปิด NPC","ปิดรถ AI","ล้างคราบเลือด","ลบลอยยาง","ปิดกล้อง idle","ลบ NPC","แมพโล่ง","2026-10-12T17:23:03.418375Z","2026-09-16T09:49:13.991696Z",1,31,{"html":877,"headings":878},"\u003Ch2 id=\"installation\">Installation\u003C\u002Fh2>\n\u003Cp>\u003Cstrong>Requires:\u003C\u002Fstrong> ESX Legacy (\u003Ccode>es_extended\u003C\u002Fcode>) · \u003Ccode>oxmysql\u003C\u002Fcode> · MySQL\u003C\u002Fp>\n\u003Col>\n\u003Cli>Run \u003Ccode>install.sql\u003C\u002Fcode> on your database (creates stats \u002F pending-round tables)\u003C\u002Fli>\n\u003Cli>Put the \u003Ccode>x3d_slots\u003C\u002Fcode> folder in \u003Ccode>resources\u002F\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Paste your key from your account page (\u003Ca href=\"https:\u002F\u002Ffivem.x3d-developer.com\" rel=\"nofollow noopener\" target=\"_blank\">fivem.x3d-developer.com\u003C\u002Fa>) into \u003Ccode>config\u002Fconfig.license.lua\u003C\u002Fcode>\n→ \u003Ccode>X3D_LICENSE_KEY = 'X3D-XXXXX-XXXXX-XXXXX-XXXXX'\u003C\u002Fcode>\n(or use a convar \u003Ccode>set x3d_license_x3d_slots &quot;...&quot;\u003C\u002Fcode> in \u003Ccode>server.cfg\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>\u003Ccode>ensure x3d_slots\u003C\u002Fcode> in \u003Ccode>server.cfg\u003C\u002Fcode>, then restart the server\u003C\u002Fli>\n\u003Cli>Walk to a machine, press \u003Cstrong>[E]\u003C\u002Fstrong> to play\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cblockquote>\n\u003Cp>Everything in \u003Ccode>config\u002F\u003C\u002Fcode> and \u003Ccode>addons\u002F\u003C\u002Fcode> is freely editable (warranty intact) · \u003Ccode>core\u002F\u003C\u002Fcode> is encrypted and not editable\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Chr>\n\u003Ch2 id=\"game-settings-config-config-slots-lua\">Game settings — \u003Ccode>config\u002Fconfig.slots.lua\u003C\u002Fcode>\u003C\u002Fh2>\n\u003Cdiv class=\"table-scroll\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Field\u003C\u002Fth>\n\u003Cth>What it does\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Ccode>Config.PayScale\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>\u003Cstrong>Main RTP knob\u003C\u002Fstrong> (default RTP 97.5%) · higher = players win more · change only this one\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>Config.BetSteps\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Selectable bet amounts (server rejects values off the list)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>Config.MaxWinX\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Max win per spin (× bet)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>Config.DailyMaxLoss\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>House loss\u002Fday over this = machines auto-close (0 = unlimited)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>Config.BigWinX\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Win multiple that triggers \u003Ccode>onBigWin\u003C\u002Fcode> hook + bigwin log\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>Config.Machines\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Machine positions (add as many as you like, unique \u003Ccode>id\u003C\u002Fcode>)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\u003Cp>\u003Cstrong>Free spins \u002F Buy feature\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>Config.FreeSpinBase\u003C\u002Fcode> (3 scatter = 10 spins) · \u003Ccode>Config.FreeSpinCap\u003C\u002Fcode> (retrigger cap)\u003C\u002Fli>\n\u003Cli>\u003Ccode>Config.BuyFeature.enabled\u003C\u002Fcode> toggle buy button · \u003Ccode>Config.BuyFeature.costMul\u003C\u002Fcode> = price (floor(bet × costMul))\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cblockquote>\n\u003Cp>⚠ \u003Ccode>Paytable\u003C\u002Fcode>, \u003Ccode>Weights*\u003C\u002Fcode>, \u003Ccode>MultBase\u002FFree\u003C\u002Fcode>, \u003Ccode>GoldChance\u003C\u002Fcode> are tuned for RTP 97.5% — changing them shifts RTP. Don't guess; use \u003Ccode>PayScale\u003C\u002Fcode> instead.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Cstrong>Celebrations\u003C\u002Fstrong> \u003Ccode>Config.Celebration.tiers\u003C\u002Fcode> — big\u002Fmega\u002Fsuper thresholds (× bet, default 10\u002F25\u002F50) + count-up\u002Fcoin timing\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Game feel\u003C\u002Fstrong> \u003Ccode>Config.Timing\u003C\u002Fcode> — spin\u002Ftease\u002Fcascade speed (no RTP impact) · set \u003Ccode>Config.Debug = true\u003C\u002Fcode> and press \u003Ccode>`\u003C\u002Fcode> in-game for a live tuning panel\u003C\u002Fp>\n\u003Chr>\n\u003Ch2 id=\"general-config-config-general-lua\">General — \u003Ccode>config\u002Fconfig.general.lua\u003C\u002Fcode>\u003C\u002Fh2>\n\u003Cdiv class=\"table-scroll\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Field\u003C\u002Fth>\n\u003Cth>What it does\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Ccode>Config.Locale\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Language \u003Ccode>'th'\u003C\u002Fcode> \u002F \u003Ccode>'en'\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>Config.Debug\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>true\u003C\u002Fcode> = live tuning panel (must be \u003Ccode>false\u003C\u002Fcode> in production)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>Config.StreamDistance\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Machine prop spawn\u002Fdespawn range\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>Config.InteractDistance\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>[E] prompt range\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>Config.RateWindow\u003C\u002Fcode> \u002F \u003Ccode>Config.RateMax\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Spin spam guard\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>Config.TimezoneOffset\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Timezone for daily reset (Thailand = 7)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\u003Chr>\n\u003Ch2 id=\"machine-prop-blip-audio-config-config-models-lua\">Machine \u002F prop \u002F blip \u002F audio — \u003Ccode>config\u002Fconfig.models.lua\u003C\u002Fcode>\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Ccode>Config.MachineProp\u003C\u002Fcode> — toggle + change the machine prop \u003Ccode>model\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>Config.Blip\u003C\u002Fcode> — map blip (sprite\u002Fcolor\u002Fscale\u002Fname · \u003Ccode>perMachine\u003C\u002Fcode> = every machine or grouped)\u003C\u002Fli>\n\u003Cli>\u003Ccode>Config.Audio\u003C\u002Fcode> — in-world sounds (open \u002F bigwin)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Chr>\n\u003Ch2 id=\"colors-theme-config-config-theme-lua\">Colors \u002F Theme — \u003Ccode>config\u002Fconfig.theme.lua\u003C\u002Fcode>\u003C\u002Fh2>\n\u003Cp>All colors are \u003Ccode>#RRGGBB\u003C\u002Fcode> codes — edit any single one. Applies to both the \u003Cstrong>slot window (NUI)\u003C\u002Fstrong> and the \u003Cstrong>in-game [E] prompt\u003C\u002Fstrong> · \u003Ccode>restart x3d_slots\u003C\u002Fcode> after editing.\u003C\u002Fp>\n\u003Cp>[E] prompt — \u003Ccode>Config.Theme.prompt\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cdiv class=\"table-scroll\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Field\u003C\u002Fth>\n\u003Cth>Controls\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Ccode>key\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>[E] color when in press range\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>keyIdle\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>[E] color when out of range\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>label\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>label text color (e.g. &quot;Play Slots&quot;)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>outline\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>true\u003C\u002Fcode>\u002F\u003Ccode>false\u003C\u002Fcode> black outline + shadow\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\u003Cp>Slot window — \u003Ccode>Config.Theme.ui\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cdiv class=\"table-scroll\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Field\u003C\u002Fth>\n\u003Cth>Controls\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Ccode>accent\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>main color: buttons\u002Factive border\u002Fhighlight\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>accentDark\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>darker tone of the primary button\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>gold\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>money\u002Ftotal\u002Fwin labels\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>goldBright\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>bright gold: active multiplier \u002F BIG-MEGA WIN banner\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>surface1\u003C\u002Fcode> \u003Ccode>surface2\u003C\u002Fcode> \u003Ccode>surface3\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>panel surfaces (dark→light)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>woodHi\u003C\u002Fcode> \u003Ccode>woodMid\u003C\u002Fcode> \u003Ccode>woodLo\u003C\u002Fcode> \u003Ccode>woodEdge\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>machine wood frame\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>cellTop\u003C\u002Fcode> \u003Ccode>cellBot\u003C\u002Fcode> \u003Ccode>cellEdge\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>info cells (balance\u002Fwin\u002Fbet)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>felt1\u003C\u002Fcode> \u003Ccode>felt2\u003C\u002Fcode> \u003Ccode>felt3\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>reel field (behind the reels)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\u003Cp>Example jade theme: \u003Ccode>accent = '#35D4AC'\u003C\u002Fcode>, \u003Ccode>accentDark = '#157F66'\u003C\u002Fcode>,\n\u003Ccode>woodHi\u002FMid\u002FLo\u002FEdge = '#1C6B57'\u002F'#124036'\u002F'#0E332B'\u002F'#0A251F'\u003C\u002Fcode>,\n\u003Ccode>surface1\u002F2\u002F3 = '#0B1513'\u002F'#101D1A'\u002F'#1A2B27'\u003C\u002Fcode> (felt can stay green).\u003C\u002Fp>\n\u003Chr>\n\u003Ch2 id=\"logging-config-config-log-lua\">Logging — \u003Ccode>config\u002Fconfig.log.lua\u003C\u002Fcode>\u003C\u002Fh2>\n\u003Cp>\u003Ccode>Config.Log.adapter\u003C\u002Fcode> picks the sink: \u003Ccode>none\u003C\u002Fcode> \u002F \u003Ccode>print\u003C\u002Fcode> \u002F \u003Ccode>discord\u003C\u002Fcode> (direct webhook) \u002F \u003Ccode>azael\u003C\u002Fcode> \u002F \u003Ccode>custom\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>Config.Log.events\u003C\u002Fcode> — which events to log (\u003Ccode>spin\u003C\u002Fcode>\u002F\u003Ccode>bigwin\u003C\u002Fcode>\u002F\u003Ccode>buyfeature\u003C\u002Fcode>\u002F\u003Ccode>suspend\u003C\u002Fcode>\u002F\u003Ccode>settle\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>⚠ \u003Ccode>spin = true\u003C\u002Fcode> logs every spin — floods Discord with many players; enable only for debugging\u003C\u002Fli>\n\u003Cli>discord: set \u003Ccode>webhooks\u003C\u002Fcode> (per-event) + username\u002Favatar\u002Fcolors\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Chr>\n\u003Ch2 id=\"hooks-config-functions-wire-in-your-own-lua\">Hooks — \u003Ccode>config\u002Ffunctions\u002F\u003C\u002Fcode> (wire in your own Lua)\u003C\u002Fh2>\n\u003Cp>\u003Cstrong>Server\u003C\u002Fstrong> \u003Ccode>config.functions.server.lua\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cdiv class=\"table-scroll\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Hook\u003C\u002Fth>\n\u003Cth>When\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Ccode>canPlay(e)\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Gate before opening (\u003Ccode>return false\u003C\u002Fcode> = block), e.g. VIP only\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>getMachines()\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Provide machine positions from your zone system (nil = use \u003Ccode>Config.Machines\u003C\u002Fcode>)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>onSpinResolved(e)\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>After a spin resolves (logs\u002Fstats)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>onBigWin(e)\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Win over \u003Ccode>Config.BigWinX\u003C\u002Fcode> (announce\u002Fwebhook)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>onSettle(e)\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>After money actually moves\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\u003Cp>\u003Cstrong>Client\u003C\u002Fstrong> \u003Ccode>config.functions.client.lua\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cdiv class=\"table-scroll\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Hook\u003C\u002Fth>\n\u003Cth>When\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Ccode>onOpenUI(e)\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Panel opened (hide HUD \u002F blur \u002F freeze \u002F sound)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>onCloseUI(e)\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Panel closed (restore)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>drawPrompt(e)\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Draw the [E] prompt yourself (swap to ox_target \u002F textUI · \u003Ccode>return true\u003C\u002Fcode>)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>onMachineEnter\u002FExit(e)\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Enter\u002Fleave machine range\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>onSessionSummary(e)\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Summary on close (notify yourself · \u003Ccode>return true\u003C\u002Fcode>)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\u003Cblockquote>\n\u003Cp>Each file ships with ready copy-paste examples in the comments\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Chr>\n\u003Ch2 id=\"troubleshooting\">Troubleshooting\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>No machines\u003C\u002Fstrong> = license not activated (check server console) or \u003Ccode>install.sql\u003C\u002Fcode> not run\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Console shows LICENSE CHECK FAILED\u003C\u002Fstrong> = wrong\u002Fexpired key or bound to another IP — check your account page\u003C\u002Fli>\n\u003Cli>\u003Cstrong>RTP off\u003C\u002Fstrong> = you changed something other than \u003Ccode>PayScale\u003C\u002Fcode> — restore defaults and tune only \u003Ccode>PayScale\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Config change not applying\u003C\u002Fstrong> = you didn't \u003Ccode>restart x3d_slots\u003C\u002Fcode> (theme\u002F\u003Ccode>web\u002F\u003C\u002Fcode> changes need a restart)\u003C\u002Fli>\n\u003C\u002Ful>\n",[879,883,886,889,892,895,898,901],{"id":880,"text":881,"level":882},"installation","Installation",2,{"id":884,"text":885,"level":882},"game-settings-config-config-slots-lua","Game settings — config\u002Fconfig.slots.lua",{"id":887,"text":888,"level":882},"general-config-config-general-lua","General — config\u002Fconfig.general.lua",{"id":890,"text":891,"level":882},"machine-prop-blip-audio-config-config-models-lua","Machine \u002F prop \u002F blip \u002F audio — config\u002Fconfig.models.lua",{"id":893,"text":894,"level":882},"colors-theme-config-config-theme-lua","Colors \u002F Theme — config\u002Fconfig.theme.lua",{"id":896,"text":897,"level":882},"logging-config-config-log-lua","Logging — config\u002Fconfig.log.lua",{"id":899,"text":900,"level":882},"hooks-config-functions-wire-in-your-own-lua","Hooks — config\u002Ffunctions\u002F (wire in your own Lua)",{"id":902,"text":903,"level":882},"troubleshooting","Troubleshooting",1792316313795]