Kartik Scripts

um-ronin-multicharacter Setup

This guide shows how to connect kartik-clothing to um-ronin-multicharacter (by uyuyorumstore).

um-ronin-multicharacter detects the running clothing resource from a list in each of its two bridge files. kartik-clothing is added to the top of both lists, the same way um-ronin-multicharacter already supports its other clothing resources. None of its escrowed files need changing.


🛠️ Official File Edits

1. um-ronin-multicharacter/bridge/appearance.lua

This file dresses the preview ped on the character selection screen. Add kartik-clothing as the first entry in clothingHandlers, so it wins if an old clothing resource is still installed:

local clothingHandlers = {
    {
        name = 'kartik-clothing',
        handler = function(ped, data)
            exports['kartik-clothing']:setPedAppearance(ped, data)
        end
    },
    {
        name = 'bl_appearance',
        handler = function(ped, data)
            exports.bl_appearance:SetPlayerPedAppearance(data)
        end
    },
    -- ... existing entries, unchanged ...
}

2. um-ronin-multicharacter/bridge/getskin.lua

This file loads each character's saved skin for the selection screen. Add kartik-clothing as the first entry in clothingHandlers:

local clothingHandlers = {
    {
        name = 'kartik-clothing',
        handler = function(citizenid)
            local skin = exports['kartik-clothing']:getAppearance(citizenid)

            if not skin then
                return nil, nil
            end

            return skin, skin.model
        end
    },
    {
        name = 'bl_appearance',
        handler = function(citizenid)
            -- ... existing entry, unchanged ...
        end
    },
    -- ... existing entries, unchanged ...
}

The handler returns the skin first and the model second. This is the reverse of um-multicharacter, so don't copy the getSkin code from that guide.

Use the export rather than querying kc_player_skins directly. The export swaps unlisted addon peds (saved as hash:<n>) for the default body, because the selection screen loads models with joaat() and would otherwise hang.

Without this entry, um-ronin-multicharacter falls back to the playerskins table, which kartik-clothing doesn't use. Existing characters would then show up undressed or as a random ped.


New Character Creation

No edit is needed. um-ronin-multicharacter opens the creator for new characters by triggering qb-clothes:client:CreateFirstCharacter (its forNewPlayerNoApartmentStartAppearanceShow option). kartik-clothing listens for that event and opens its own character creator, using the gender picked at registration.


⚙️ Setup Instructions

  1. Start kartik-clothing before um-ronin-multicharacter in your server.cfg. The server checks which clothing resource is running only once, when it starts:

    ensure ox_lib
    ensure qbx_core
    ensure kartik-clothing
    ensure um-ronin-multicharacter
  2. Leave forNewPlayerNoApartmentStartAppearanceShow in um-ronin-multicharacter/config/main.lua set to 'qb-clothes:client:CreateFirstCharacter'.

  3. Remove illenium-appearance / fivem-appearance from your server.cfg, then run the migration so existing characters show up on the selection screen.

On this page