Ped Catalog & Unlocks
Allow players to wear non-freemode ped models (e.g. goon, hipster, zombie, custom add-on peds) and sell ped changes through your Tebex webstore.
[!TIP] Want players to pay with in-game money instead? See Ped Surgery.
🏬 How Tebex Purchased Peds & Ped Changer Work
[Tebex Webstore Purchase]
│
▼
[Console Exec: kc_ped_grant] ──► [kc_ped_unlocks DB Entry]
│
▼
[Player Approaches Ped Changer] ──► [Server Validates Unlock]
│
▼
[Player Selects Ped & Confirms] ──► [Ped Applied & Unlock Consumed]1. Declaring Peds (shared/config.lua)
All wearable ped models are declared in Config.Peds. Unlocked/free peds are available to all players; locked peds require a Tebex purchase or an admin grant.
Config.Peds = {
{ model = 'mp_m_freemode_01', label = 'Male', gender = 'male', freemode = true },
{ model = 'mp_f_freemode_01', label = 'Female', gender = 'female', freemode = true },
{ model = 'g_m_m_armgoon_01', label = 'Goon', gender = 'male' },
{ model = 'u_m_y_zombie_01', label = 'Zombie', gender = 'male' },
{ model = 'a_m_y_hipster_01', label = 'Hipster', gender = 'male' },
}2. Locking Peds & Tebex Package Mapping
- Open
/shopmanageras an admin in-game. - Pick Peds & Locking in the sidebar and stay on the Ped Locking sub-tab.
- On the ped's card, enter its Tebex package id, optionally a store hint shown on the locked tile (e.g.
Available on our store), and press Save (saved inkc_ped_packages). Once mapped, the ped model becomes locked for everyone on the server. Leave the package empty to keep a ped free.
The Customers sub-tab looks up a Citizen ID and shows the peds they own, how many changes they have left and their change history, with Grant / Revoke buttons per ped.
3. Webstore Purchase & Delivery
When a customer purchases the ped package on Tebex, Tebex executes the console command:
kc_ped_grant <packageId> {citizenid} {transaction}The server creates a record in kc_ped_unlocks linked to that player's citizenid. Duplicate webhook executions are prevented via transaction recording.
4. Opening the Ped Changer Door
- Servers can create dedicated Ped Changer locations in
/shopmanager(Shop Type:ped). - Owners-Only Access (
Config.PedShopOwnersOnly = true): Only players with an unspent ped unlock inkc_ped_unlockscan open the Ped Changer UI. If an unentitled player tries to open it, the server notifies them that they have no ped changes available. - Open Wardrobe (
Config.PedsOpenToAll = true): Lifts the owners-only gate entirely. Anyone may open the Ped Changer and switch to any ped that carries no Tebex package, as often asConfig.PedChangeCooldownandConfig.PedChangeFeeallow. Sold peds still need their unlock and still spend it.
5. Selecting & Applying the Ped
- Inside the Ped Changer UI, the player previews their unlocked ped models.
- Selecting a model and clicking Apply triggers
kartik-clothing:commitPed. - Single-Use Consumption (
Config.PedUnlocksAreSingleUse = true): As the change is applied, the unlock is marked asconsumed_atinkc_ped_unlocks, preventing reuse unless the player purchases another ped change package on Tebex or receives a new grant from an admin. - An audit log is automatically saved in
kc_ped_changes.
6. Editing The Rest Of The Character
The Ped Changer is a full appearance session, not just a model picker. Config.PedShopTabs decides what else it opens alongside the ped list:
Config.PedShopTabs = { 'ped', 'heritage', 'face', 'hair', 'beard', 'makeup', 'skin' }So a player picks a body, then sets its face, hair, and skin in the same visit. Tab names match Ped Surgery; add 'clothing' or 'tattoos' to widen it further.
[!TIP] Tabs that need a freemode body,
heritage,face,beard,makeup,skin, are dropped automatically while a story ped is selected, since head blend and overlays do nothing on one.
Like surgery, the Ped Changer always commits its result, even on a server running inventory clothing items: a new body and face is not a garment to carry.
⚖️ Ped Change Rules (Anti-Powergaming)
These rules apply when players change peds after initial character creation:
| Setting | Default | Description |
|---|---|---|
Config.PedChangeCooldown | 86400 | Cooldown period in seconds between ped changes per player (24 hours default; 0 disables). |
Config.PedsAllowGenderSwap | false | Prevents changing across genders to preserve character identity. |
Config.PedChangeFee | 0 | Bank account charge per ped change (0 disables). |
Config.PedUnlocksAreSingleUse | true | Unlocks are consumed upon applying the ped change. |
Config.PedShopOwnersOnly | true | Restricts Ped Changer door access to players holding unspent ped unlocks. |
Config.PedsOpenToAll | false | Open wardrobe mode, any ped without a Tebex package is free to switch to, for anyone. Overrides the owners-only gate. |
Config.PedShopTabs | ped, heritage, face, hair, beard, makeup, skin | Which tabs the Ped Changer opens besides the ped list. |
Config.PedsShowLocked | true | Displays locked peds greyed-out in the picker UI instead of hiding them. |
Config.PedAdminBypass | false | Determines if staff bypass unlocks, cooldowns, and fees (false ensures staff experience matches players). |
Config.PedChangeLogToConsole | true | Logs ped changes to server console. |
🛠️ Admin Commands
/pedunlock a_m_y_hipster_01 -- Grant ped unlock to yourself
/pedunlock a_m_y_hipster_01 ABC12345 -- Grant ped unlock to a specific player
/pedlock a_m_y_hipster_01 ABC12345 -- Revoke a ped unlock from a player
/pedlist -- List all peds and lock state in console
/pedstatus ABC12345 -- Inspect ped changer door access for a citizen
/givesurgery 12 0 ped -- Open a body change on player 12, waiving every rule[!TIP]
/pedstatus [citizenid]prints a citizen's active model, single-use status, owners-only door status, admin bypass, and all active/consumed unlock rows, returning an explicit verdict of OPENS or REFUSED.
🗄️ Database Schemas
| Database Table | Description |
|---|---|
kc_ped_packages | Maps ped models to Tebex Package IDs. Any ped in this table is locked. |
kc_ped_unlocks | Player entitlements (citizenid, model, source, consumable, consumed_at, revoked_at). |
kc_ped_changes | Complete audit log of every ped change executed by players. |