> For the complete documentation index, see [llms.txt](https://fetchq-store.gitbook.io/fetchq-store-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://fetchq-store.gitbook.io/fetchq-store-docs/ped-and-props-scale-script-ped-scale-script-fivem-script-esx-qb-qbox.md).

# Ped \&Props Scale Script Ped Scale Script – FiveM Script ESX, QB, QBOX

## Ped & Prop Scaling System – Interactive 3D Studio & Admin Panel | QBCore, Qbox, ESX & Standalone

### 📦 FetchQ Ped & Prop Scaler

A complete character sizing, world prop scaling, and sizing administration system for FiveM servers. Players can customize their character height and body girth inside a modern cinematic 3D studio, complete with automated walking stride synchronization, foot depth corrections, presets, and custom saved slots. Admins have access to a full management console to inspect players, enforce restricted zones, place custom-scaled world props, and customize the studio theme in real time. Everything is managed through an ultra-sleek NUI interface with zero database setup required.

***

### 🌟 Overview

FetchQ PedScale turns character sizing into an immersive, realistic fitting room experience. Forget ugly chat commands that break animations or make characters sink into the floor: our custom studio features interactive camera controls, accurate metric/imperial measurements (height, weight, BMI), synchronized stride speed, and combat-safe aim mechanics. Server owners can monetize sizing through in-game currency, cooldowns, or usable inventory items, while staff can inspect online players, revert sizes, and place custom-scaled persistent props across Los Santos.

***

### ✨ Features

#### 🧍‍♂️ Ped Fitting Studio (`/resize`)

* **Dual-Axis Scaling:** Independent control over total height/scale (`0.20x` – `2.00x`) and body girth (`0.70x` – `1.45x`).
* **Cinematic 3D Camera:** Rotate, zoom, pan, and inspect your ped from any angle with smooth studio lighting.
* **Live Biometrics:** Real-time height (cm / ft), calculated weight (kg / lbs), and BMI readouts that dynamically adapt to the player's ped model.
* **Instant Presets:** Quick one-click setups: Default, Pocket, Towering, Brawler, and Titan.
* **Saved Outfits / Profiles:** Players can store up to 4 custom size setups and switch between them instantly.
* **Smart Physics & Stride Sync:** Running and walking stride speed dynamically scales with ped size so small peds don't slide and tall peds don't run like robots.
* **Zero Floor Sinking:** Automated foot-depth adjustments ensure shoes always stay grounded on terrain.
* **Aim Safety:** Ped automatically relaxes scale during combat/aiming to keep weapon crosshairs and hitboxes accurate and fair.

***

#### 🪑 Persistent World Prop Studio (`/propscale`)

* **Scale Any Prop:** Scale props from miniature (`0.10x`) to massive (`10.0x`).
* **Precision Placement Pad:** Fine-tune X/Y/Z positions and 3-axis rotation with high precision.
* **World Object Hider:** Replace or hide default world map objects and place custom-scaled props in their place.
* **Collision Toggle:** Enable or disable physical collisions per prop.
* **Performance Culling:** Smart distance rendering ensures zero FPS drops even in dense areas.
* **Persistent Storage:** Placed props automatically save to clean server-side JSON and persist across server restarts.

***

#### 🛡️ Staff Desk & Admin Console (`/resizeadmin`)

* **Live Player Monitor:** View every online player's current scale, girth, server ID, and name. Revert any player to stock size with a single click.
* **Temporary Pass System:** Grant players temporary access to the fitting room (`/allowresize [id]`) with configurable duration.
* **Restricted Safe Zones:** Define up to 32 safe zones (with customizable radius up to 2000m) or lock scaling server-wide.
* **Live Theme Editor:** Change studio branding colors (accent and background) on the fly without restarting the script.
* **Discord Webhook Logging:** Complete audit trail for size changes, pass grants, admin resets, and configuration updates.

***

### 🛠️ Commands & Keys

| Command             | Default                     | Description                                      | Permission                      |
| ------------------- | --------------------------- | ------------------------------------------------ | ------------------------------- |
| `/resize`           | `Settings.Commands.studio`  | Opens the Ped Fitting Room Studio                | Players (or Staff/Pass holders) |
| `/resizeadmin`      | `Settings.Commands.console` | Opens the Staff Desk & Admin Console             | Admin / Staff                   |
| `/propscale`        | `Settings.Commands.props`   | Opens the Prop Placement & Scaling Studio        | Admin / Staff                   |
| `/allowresize [id]` | `Settings.Commands.give`    | Grants a temporary fitting room pass to a player | Admin / Staff                   |

> Key mappings can be enabled in `settings.lua` via `Settings.KeyMapping.enabled`.

***

### ⚙️ Technical Specifications

* **Zero Database Dependencies:** Player profiles, active zones, and placed props are saved into lightweight JSON files (`storage/`) on the server.
* **Framework Auto-Detection:** Seamlessly integrates with **QBCore**, **Qbox**, **ESX**, or runs completely **Standalone**.
* **txAdmin & ACE Integration:** Automatic permission checks via txAdmin admin authentication, ACE permissions (`scaleworks.admin`), or framework ranks (`god`, `admin`, `superadmin`).
* **Optimized Performance:** 0.00ms idle resmon; smooth, frame-budgeted draw loops for props and peds.

***

### 📦 Requirements

* One of the following frameworks (or standalone):
  * `qb-core`
  * `qbx_core`
  * `es_extended`
* `ox_inventory` *(Optional, supported for usable items)*

***

### 🚀 Installation & Setup

#### 1. Resource Setup

1. Extract `fetchq-pedscale` into your server's `resources/[qb]/` directory (or standard `resources` folder).
2. Add the ensure command to your `server.cfg` after your framework:

```cfg
ensure qb-core # (or qbx_core / es_extended)
ensure fetchq-pedscale
```

#### 2. Configuration (`settings.lua`)

Open `settings.lua` to customize your server preferences:

```lua
Settings.Commands = {
    studio = 'resize',
    console = 'resizeadmin',
    give = 'allowresize',
    props = 'propscale',
}

Settings.Fees = {
    amount = 500,        -- Set to 0 for free resizing
    account = 'bank',    -- 'bank' or 'cash'
    staffFree = true,    -- Staff bypass fees
}

Settings.Cooldown = {
    seconds = 300,       -- Cooldown in seconds between resizes
    staffBypass = true,
}

Settings.Item = {
    enabled = false,     -- Set to true to require a usable item
    name = 'size_kit',
    consume = true,
}

Settings.Webhook = 'https://discord.com/api/webhooks/...'
```

***

### 🔌 Developer Exports

#### Server-Side Exports

```lua
-- Open the fitting room for a target player
exports['fetchq-pedscale']:OpenFittingRoom(source, isFree)

-- Get a player's current scale and girth
local scaleData = exports['fetchq-pedscale']:GetPedScale(source)
-- Returns: { s = 1.0, g = 1.0 }

-- Set a player's scale programmatically
exports['fetchq-pedscale']:SetPedScale(source, scale, girth)

-- Reset a player's scale to default stock
exports['fetchq-pedscale']:ResetPedScale(source)
```

***

### ❓ Troubleshooting

* **Commands not opening the menu:** Ensure you have the appropriate permissions configured in `Settings.Access` or have granted yourself the `scaleworks.admin` ACE permission.
* **Fee not deducting:** Ensure your framework is running and started **before** `fetchq-pedscale` in your `server.cfg`.
* **Changes not saving:** Verify that your server process has read and write permissions to the `storage/` folder inside the resource.

***

### 📄 License

This script is proprietary. Do not redistribute, resell, or leak without explicit authorization from the author.
