iCreator est un script permettant aux joueurs de personnaliser leurs personnages avec un créateur d'apparences intégré. Il supporte les frameworks ESX et QB-Core, et est conçu pour assurer une compatibilité flexible entre différents gestionnaires de skins (comme esx_skin
, fivem-appearance
, etc.).
Vous pouvez utiliser l’événement suivant pour ouvrir le créateur de personnage :
TriggerClientEvent('iCreator:openCreator', <playerId>, <additionalData>, true)
- playerId : L'ID du joueur cible.
- additionalData : (Optionnel) Données supplémentaires (le sexe du joueur par défaut 0 / 1).
- true : Cet argument définit si le créateur doit s'ouvrir.
TriggerClientEvent('iCreator:openCreator', 1, 0, true)
Ce déclenchement peut être utilisé à partir du serveur pour n'importe quel joueur.
Le script permet aussi d'utiliser une commande admin configurable pour ouvrir le créateur. Voici les détails pour chaque framework :
- Commande :
/creator <playerId>
- Exemple d'utilisation dans le chat :
/creator 1
- Commande :
/creator <playerId>
- Exemple d'utilisation dans le chat :
/creator 1
Voici un exemple pour ouvrir le créateur de personnage lorsqu'un joueur spawn depuis le serveur :
AddEventHandler('esx:playerLoaded', function(playerId, xPlayer, isNew)
if isNew then
-- Si le joueur n'a pas de skin, ouvrir le créateur
TriggerClientEvent('iCreator:openCreator', playerId, 0, false)
end
end)
Pour QB-Core, vous pouvez utiliser l'événement QBCore:Server:PlayerLoaded
:
AddEventHandler('QBCore:Server:PlayerLoaded', function(player)
local Player = QBCore.Functions.GetPlayer(player)
local result = MySQL.query.await('SELECT * FROM playerskins WHERE citizenid = ? AND active = ?', {Player.PlayerData.citizenid, 1})
if not result[1] then
-- Si aucun skin actif n'est trouvé, ouvrir le créateur
TriggerClientEvent('iCreator:openCreator', player, 0, false)
end
end)
Depuis le côté client, vous pouvez ouvrir directement le créateur avec cette logique :
RegisterNetEvent('esx:playerLoaded', function(xPlayer, isNew, skin)
if skin == nil or isNew then
TriggerEvent('iCreator:openCreator', 0, false)
Wait(100)
end
end)
Développé par xProject / @__ismael