Config

This document covers all configuration options available in the 5s_skinmenu script.

Server Configuration

config/server/configServer.lua

ConfigServer = {
    TileLoadingThreads = 4, -- Number of threads used to load tiles faster
}

Configuration Options

Option
Type
Default
Description

TileLoadingThreads

number

4

Number of threads for loading tile images

TileLoadingThreads Details:

  • Recommended: Set below your server's CPU thread count

  • Higher values: Faster tile loading, but increased CPU usage

  • Lower values: Slower loading, but less CPU impact

  • Range: 1-8 (practical maximum)

Performance Considerations

For Low-End Servers:

ConfigServer = {
    TileLoadingThreads = 2, -- Reduced for lower CPU usage
}

For High-End Servers:

ConfigServer = {
    TileLoadingThreads = 6, -- Increased for faster loading
}

Data Configuration

data/pedModels.lua

This file defines available character models for selection.

PedModels = {
    [1] = "mp_m_freemode_01",  -- Default male
    [2] = "mp_f_freemode_01",  -- Default female
    [3] = "a_m_m_afriamer_01", -- Custom male model
    -- Add more models here...
}

Adding New Models

  1. Add to PedModels table:

PedModels = {
    -- ... existing models
    [31] = "your_custom_model", -- New model
}
  1. Create corresponding tile:

    • File name: neutral_model_0_31.webp

    • Place in tiles/ folder

    • See tiles documentation for details

Model Requirements

  • Models must be valid GTA V ped models

  • Ensure models are available on client-side

  • Test models in-game before adding to production

Localization

locales/en.json

Default English translations for UI elements.

{
    "errorWhileSaving": "Error while saving skin data",
    "keyhint_rotateCharacter": "Rotate Character",
    "keyhint_changeCameraHeight": "Change Camera Height",
    "keyhint_moveCamera": "Move Camera",
    "keyhint_zoomCamera": "Zoom Camera"
}

locales/pl.json

Polish translations (example of additional language).

Adding New Languages

  1. Create new locale file: locales/yourlang.json

  2. Copy structure from en.json

  3. Translate all strings

  4. Configure ox_lib to use new locale (defaults to en.json, if any key is missing)

Locale Structure

{
    "ui_element_key": "Translated text",
    "another_key": "Another translation",
    "keyhint_action": "Action description"
}

Database Configuration

Required Table Structure

CREATE TABLE IF NOT EXISTS `skin_data` (
    `identifier` VARCHAR(50) NOT NULL,
    `skinData` LONGTEXT NOT NULL,
    PRIMARY KEY (`identifier`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Table Details

  • identifier: Player identifier (steam, license, etc.)

  • skinData: JSON string containing appearance data

Data Format

The skinData column stores JSON with this structure:

{
    "components": {
        "0": {"drawable": 0, "variant": 0},
        "1": {"drawable": 0, "variant": 0}
    },
    "props": {
        "0": {"drawable": -1, "variant": 0},
        "1": {"drawable": -1, "variant": 0}
    },
    "headBlendData": {
        "shapeFirst": 0,
        "shapeSecond": 0,
        "skinFirst": 0,
        "skinSecond": 0,
        "shapeMix": 0.0,
        "skinMix": 0.0
    },
    "faceFeatures": {
        "noseWidth": 0.0,
        "nosePeakHigh": 0.0
    },
    "headOverlays": {
        "blemishes": {"optionType": 0, "visibility": 0.0},
        "beard": {"optionType": 0, "visibility": 0.0, "colorPalette": 0}
    },
    "hairColor": {
        "primary": 0,
        "highlight": 0
    }
}

Last updated