A FiveM resource for managing head blend palette colors, allowing customization of character appearance through RGB color values across multiple palette indices.
- Manage up to 4 palette color indices (0-3)
- Set individual or multiple palette colors simultaneously
- Default color fallback system
- Automatic color synchronization across all players
- Persistence during player sessions
- Download the
kPaletteEdit
resource - Place it in your server's resources directory
- Add to your
server.cfg
:
ensure kPaletteEdit
Configure default palette color in server.cfg
:
# Default color is mint green (3, 252, 194)
set palette_default_red "3" # Default: 3
set palette_default_green "252" # Default: 252
set palette_default_blue "194" # Default: 194
Set a single palette color:
-- Parameters:
-- paletteIndex: number (0-3)
-- red: number (0-255)
-- green: number (0-255)
-- blue: number (0-255)
exports['kPaletteEdit']:SetHeadBlendPaletteColor(paletteIndex, red, green, blue)
-- Example:
exports['kPaletteEdit']:SetHeadBlendPaletteColor(0, 255, 0, 0) -- Set first palette to red
Set multiple palette colors at once:
-- Parameters:
-- colors: table of arrays, each containing [index, red, green, blue]
exports['kPaletteEdit']:SetHeadBlendPaletteColors(colors)
-- Example:
local colors = {
{0, 255, 0, 0}, -- Red
{1, 0, 255, 0}, -- Green
{2, 0, 0, 255}, -- Blue
{3, 255, 255, 0} -- Yellow
}
exports['kPaletteEdit']:SetHeadBlendPaletteColors(colors)
Force reapplication of current palette colors:
exports['kPaletteEdit']:CheckAndApplyColors()
Request and apply initial palette state:
exports['kPaletteEdit']:InitializePaletteColors()
Set a single palette color for a specific player:
-- Parameters:
-- source: number (player id)
-- paletteIndex: number (0-3)
-- red: number (0-255)
-- green: number (0-255)
-- blue: number (0-255)
exports['kPaletteEdit']:SetHeadBlendPaletteColor(source, paletteIndex, red, green, blue)
Set multiple palette colors for a specific player:
-- Parameters:
-- source: number (player id)
-- colors: table of arrays, each containing [index, red, green, blue]
exports['kPaletteEdit']:SetHeadBlendPaletteColors(source, colors)
For framework integration, it's recommended to call InitializePaletteColors()
after character load or model changes:
-- kCore exmaple
RegisterNetEvent('kCore:loadPlayer', function()
exports['kPaletteEdit']:InitializePaletteColors()
end)
-- QBCore example:
RegisterNetEvent('QBCore:Client:OnPlayerLoaded', function()
exports['kPaletteEdit']:InitializePaletteColors()
end)
RegisterNetEvent('qb-clothing:client:loadPlayerClothing', function()
exports['kPaletteEdit']:CheckAndApplyColors()
end)
-- ESX example:
RegisterNetEvent('esx:playerLoaded', function()
exports['kPaletteEdit']:InitializePaletteColors()
end)
- Uses state bags for network synchronization
- Automatic default color handling
The resource handles these events internally:
playerJoining
: Initialize player palette dataplayerDropped
: Cleanup player dataheadBlend:setPaletteColor
: Handle individual color updatesheadBlend:setPaletteColors
: Handle bulk color updatesheadBlend:requestInitialState
: Request current palette state
- All palette indices must be between 0 and 3
- RGB values must be between 0 and 255
- Default colors are applied automatically when no custom color is set
- Resource automatically handles network state synchronization