Praryo Innovation
  • Praryo Innovation
  • Store
  • Discord
  • 🐌CFX Keymaster
    • Asset Escrow
  • PAID RESOURCES
    • 👕cfx-praryo-clperms
      • 📝Configuration
      • ⚒️Clothing Framework
    • 🎗️cfx-praryo-subscriptions
      • 📝Configuration
      • 👾Usage
    • ☠️cfx-praryo-deathcam
      • 📝Configuration
    • 💻cfx-praryo-deathscreen
      • 📝Configuration
      • 👾Events / Exports
Powered by GitBook
On this page
  • qb-clothing
  • illenium-appearance
  1. PAID RESOURCES
  2. cfx-praryo-clperms

Clothing Framework

This page contains tutorials on how to implement script APIs in your clothing frameworks.

qb-clothing

If you're using qb-clothing, I suggest using Config.EnableThreadCheck in the configuration file since qb-clothing doesn't export the skinData array where significant changes are needed. The blacklisted checker of this script might fail if you don't use Config.EnableThreadCheck.

Save Skin Exports

Step 1: Navigate to qb-clothing/client/main.lua

Step 2: Find local function SaveSkin()

Step 3: Replace the whole function. (Exports will be added)

local function SaveSkin()
    local model = GetEntityModel(PlayerPedId())
    local clothing = json.encode(skinData)
    TriggerServerEvent("qb-clothing:saveSkin", model, clothing)
end
exports('SaveSkin', SaveSkin)

illenium-appearance

Skin Checks Exports

Step 1: Navigate to illenium-appearance/client/framework/(your_framework)/main.lua

Step 2: Find Framework.CachePed()

Step 3: Replace the whole function. (Check skin exports added)

// ESX
function Framework.CachePed()
    ESX.SetPlayerData("ped", cache.ped)
    exports['cfx-praryo-clperms']:verifyPlayerSkin(true)
end

// QBCore
function Framework.CachePed()
    exports['cfx-praryo-clperms']:verifyPlayerSkin(true)
    return nil
end

Enabling Illenium Blacklist Function

Step 1: Navigate to illenium-appearance/game/customization.lua

Step 2: Find getComponentSettings function

Step 3: Replace the following code from the function.

// Old code
blacklistSettings = filterBlacklistSettings(componentBlacklistMap(gender, componentId), drawableId)

// New code
blacklistSettings = exports["cfx-praryo-clperms"]:filterBlacklistSettings(exports["cfx-praryo-clperms"]:componentBlacklistMap(gender, componentId), drawableId)

Step 4: Find getPropSettings function

Step 5: Replace the following code from the function.

// Old  code
blacklistSettings = filterBlacklistSettings(propBlacklistMap(gender, propId), drawableId)

// New code
blacklistSettings = exports["cfx-praryo-clperms"]:filterBlacklistSettings(exports["cfx-praryo-clperms"]:propBlacklistMap(gender, propId), drawableId)

Step 6: Find getHairSettings function

Step 7: Replace the following code from the function

// Old code
blacklistSettings = filterBlacklistSettings(Config.Blacklist[gender].hair, GetPedDrawableVariation(ped, 2))

// New code
blacklistSettings = exports["cfx-praryo-clperms"]:getHairBlacklist(ped, gender)

Last updated 1 year ago

👕
⚒️