ZPROJECT

Configuration

Par
Sören
v2.0.0Voir la ressource →

Les réglages destinés au client se trouvent principalement dans config.lua. Les webhooks Discord sont définis dans server/config.lua, et les textes dans locales/fr.lua et locales/en.lua.

Framework et langue

CONFIG.getPlayerIdentifier

Retourne l'identifiant persistant utilisé pour associer un joueur à son dormeur.

  • Type : function(source)
  • Côté : serveur
  • Paramètre : source, de type number
  • Retour attendu : identifiant persistant, généralement de type string
  • Valeur par défaut : identifiant ESX du joueur
lua
getPlayerIdentifier = function(source)
    return ESX.GetPlayerFromId(source).identifier
end,

CONFIG.showHelpNotification

Affiche l'aide des contrôles pendant la sélection d'un dormeur.

  • Type : function(msg)
  • Côté : client
  • Paramètre : msg, de type string
  • Valeur retournée : aucune
  • Valeur par défaut : aide native GTA
lua
showHelpNotification = function(msg)
    AddTextEntry("zsleep_help_notif", msg)
    BeginTextCommandDisplayHelp("zsleep_help_notif")
    EndTextCommandDisplayHelp(0, false, true, -1)
end,

Vous pouvez remplacer son contenu par l'appel de votre système d'aide.

CONFIG.sendNotification

Affiche les notifications normales de zSleep.

  • Type : function(msg)
  • Côté : client
  • Paramètre : msg, de type string
  • Valeur retournée : aucune
  • Valeur par défaut : notification ESX
lua
sendNotification = function(msg)
    ESX.ShowNotification(msg)
end,

CONFIG.locale

Sélectionne la langue des messages et des interfaces.

  • Type : string
  • Valeur par défaut : "en"
  • Valeurs incluses : "en" et "fr"
  • Autres valeurs : clé d'une locale ajoutée dans le dossier locales
lua
locale = "en"

CONFIG.spawnedEvent

Définit l'événement client écouté lorsque le joueur apparaît.

  • Type : string
  • Valeur par défaut : "esx:onPlayerSpawn"
  • Valeur possible : nom de l'événement de spawn utilisé par votre framework
lua
spawnedEvent = "esx:onPlayerSpawn"

CONFIG.logoutEvent

Définit l'événement serveur public utilisé par un menu de déconnexion.

  • Type : string
  • Valeur par défaut : "zSleep:toServer:logout"
  • Valeur possible : nom d'événement serveur unique
lua
logoutEvent = "zSleep:toServer:logout"

Si vous modifiez le nom, utilisez la même valeur dans la ressource qui déclenche l'événement.

Portage

CONFIG.carry.enabled

Active la commande et l'intégration de portage.

  • Type : boolean
  • Valeur par défaut : true
  • Valeurs disponibles : true ou false
lua
enabled = true

CONFIG.carry.command

Définit le nom de la commande, sans le caractère /.

  • Type : string
  • Valeur par défaut : "carry"
  • Valeur possible : nom de commande FiveM valide
lua
command = "carry"

CONFIG.carry.event

Définit l'événement serveur public utilisé par un système de cible ou d'interaction.

  • Type : string
  • Valeur par défaut : "zSleep:toServer:carry"
  • Paramètre attendu : Net ID du ped ciblé
lua
event = "zSleep:toServer:carry"

CONFIG.carry.radius

Définit la distance maximale de recherche et de validation d'une cible.

  • Type : number
  • Valeur par défaut : 2.0
  • Valeur possible : distance positive
lua
radius = 2.0

Gestion des dormeurs

CONFIG.handlePed.enabled

Active la commande et l'interface de gestion.

  • Type : boolean
  • Valeur par défaut : true

CONFIG.handlePed.command

Définit le nom de la commande de gestion, sans /.

  • Type : string
  • Valeur par défaut : "handleped"
  • Valeur possible : nom de commande FiveM valide

CONFIG.handlePed.hasPermission

Autorise ou refuse l'ouverture de l'interface et chacune de ses actions.

  • Type : function(source)
  • Côté : serveur
  • Paramètre : source, ID serveur du joueur
  • Retour attendu : boolean
  • Valeur par défaut : retourne toujours true
lua
hasPermission = function(source)
    return true
end,

La section Permissions contient un exemple ACE.

CONFIG.handlePed.radius

Définit le rayon de sélection et d'action autour d'un dormeur.

  • Type : number
  • Valeur par défaut : 10.0
  • Valeur possible : distance positive
lua
radius = 10.0

Interface de réveil

Les options proches sont regroupées dans CONFIG.ui :

  • CONFIG.ui.soundsboolean, true par défaut. Active le paramètre sonore transmis à l'interface.
  • CONFIG.ui.wakeUpDurationnumber, 4500 par défaut. Définit la durée en millisecondes.
  • CONFIG.ui.wakeUpSkippableboolean, true par défaut. Autorise le joueur à passer l'introduction.
lua
ui = {
    sounds = true,
    wakeUpDuration = 4500,
    wakeUpSkippable = true
}

Propriétés des dormeurs

Apparence et collision

  • CONFIG.sleepers.alphanumber, 255 par défaut. Accepte une valeur de 0 à 255.
  • CONFIG.sleepers.collisionboolean, false par défaut. Définit la collision du dormeur dans un véhicule.

Au sol, les dormeurs restent sans collision.

Blips

  • CONFIG.sleepers.blip.enabledboolean, true par défaut.
  • CONFIG.sleepers.blip.spritenumber, 304 par défaut.
  • CONFIG.sleepers.blip.colornumber, 1 par défaut.
  • CONFIG.sleepers.blip.scalenumber, 0.5 par défaut.
  • CONFIG.sleepers.blip.namestring, "Sleeper" par défaut.
lua
sleepers = {
    alpha = 255,
    collision = false,
    blip = {
        enabled = true,
        sprite = 304,
        color = 1,
        scale = 0.5,
        name = "Sleeper"
    }
}

Les identifiants de sprite et de couleur correspondent aux valeurs GTA/FiveM.

Animations

CONFIG.animations["facial"]

Liste des animations faciales sélectionnées aléatoirement.

  • Type : table<string>
  • Valeur par défaut :
lua
["facial"] = {
    "dead_1",
    "dead_2",
    "mood_sleeping_1"
}

CONFIG.animations["sleeping"]

Liste des animations de sommeil au sol. Chaque entrée utilise un dictionnaire dict et une animation anim.

  • Type : table<table>
  • Valeur par défaut :
lua
["sleeping"] = {
    { dict = "amb@world_human_sunbathe@male@back@base", anim = "base" },
    { dict = "amb@world_human_sunbathe@female@back@base", anim = "base" },
    { dict = "random@mugging4", anim = "flee_forward_loop_shopkeeper" },
    { dict = "amb@world_human_bum_slumped@male@laying_on_left_side@base", anim = "base" },
    { dict = "anim@heists@ornate_bank@hostages@hit", anim = "hit_react_die_loop_ped_a" },
    { dict = "amb@lo_res_idles@", anim = "world_human_sit_ups_lo_res_base" },
    { dict = "missfinale_c1@", anim = "lying_dead_player0" },
    { dict = "anim@heists@ornate_bank@hostages@hit", anim = "hit_react_die_loop_ped_b" },
    { dict = "amb@lo_res_idles@", anim = "world_human_bum_slumped_right_lo_res_base" }
}

CONFIG.animations["gettingUp"]

Liste des animations de réveil sélectionnées lorsque le joueur n'est ni dans un véhicule ni porté.

  • Type : table<table>
  • Valeur par défaut :
lua
["gettingUp"] = {
    { dict = "get_up@sat_on_floor@to_stand", anim = "getup_0" },
    { dict = "get_up@directional@movement@from_knees@injured", anim = "getup_l_0" },
    { dict = "missheist_agency3astumble_getup", anim = "stumble_getup" },
    { dict = "get_up@directional@movement@from_seated@injured", anim = "getup_l_-90" },
    { dict = "get_up@directional@movement@from_seated@drunk", anim = "getup_l_-180" }
}

Sommeil dans un véhicule

  • CONFIG.animations["sleepingInCar"].dictstring, "random@car_sleeping" par défaut.
  • CONFIG.animations["sleepingInCar"].animstring, "sleeping_idle" par défaut.
lua
["sleepingInCar"] = {
    dict = "random@car_sleeping",
    anim = "sleeping_idle"
}

Utilisez uniquement des dictionnaires et des noms d'animations GTA V valides.

Journaux Discord

Les destinations se configurent dans server/config.lua.

Destination générale

CONFIG.webhooks.default est une chaîne vide par défaut. Elle représente la destination générale.

Catégories disponibles

Les catégories suivantes contiennent une URL Discord dans le projet analysé :

  • CONFIG.webhooks.disconnecting — Création d'un dormeur.
  • CONFIG.webhooks.spawning — Réveil et reconnexion.
  • CONFIG.webhooks.carry — Début et fin du portage.
  • CONFIG.webhooks.vehicle — Placement ou retrait d'un véhicule.
  • CONFIG.webhooks.admin — Actions de gestion.
  • CONFIG.webhooks.restart — Rechargement au démarrage.

Remplacez les valeurs renseignées par les webhooks de votre serveur. Utilisez une chaîne vide pour une catégorie que vous ne souhaitez pas journaliser.