Configuration
Les réglages sont dans config.lua, où chaque option est expliquée. Les textes sont dans locales/fr.lua et locales/en.lua. Un restart kp_earthquake applique les changements.
Les réglages utiles
| Réglage | Pour |
|---|---|
Config.Locale |
Langue des textes : 'fr' ou 'en' |
Config.Framework |
'auto', 'esx', 'qbcore', 'custom' ou 'none' |
Config.Debug |
Lignes de diagnostic dans la console, désactivé par défaut |
Config.VersionCheck |
Message en console quand une nouvelle version sort |
Config.Commands |
Renommer /earthquake et /earthquakestop |
Config.Permission |
Qui peut déclencher : permission ACE, groupes staff, identifiants |
Config.Defaults |
Magnitude, durée et rayon quand la commande ne les donne pas |
Config.Limits |
Durée max, rayon max, attente entre deux séismes |
Config.Magnitudes |
Force de la caméra et volume pour chaque magnitude |
Config.Shake |
Effet de caméra GTA, montée, retombée, perte de force vers le bord |
Config.Sound, Config.PadShake |
Grondement et vibration des manettes |
Config.Effects |
Ambiance : voitures, alarmes, passants, lumières |
Config.Bikes |
Pilotes de deux-roues éjectés |
Config.Ragdoll |
Chutes des joueurs à pied |
Config.Alert |
Carte d'alerte aux joueurs touchés (désactivée par défaut) |
Config.Notify |
Type, position, taille, style, thème, durée, son |
Config.Discord |
Webhook et embed des logs |
Le framework
Config.Framework ne sert qu'aux groupes staff et au nom RP dans les logs Discord :
'auto': ESX s'il est démarré, sinon QBCore, sinon permission ACE seule ;'esx': groupe du joueur (xPlayer.getGroup()) comparé àConfig.Permission.Groups;'qbcore': chaque groupe est testé comme principal ACE (qbcore.god,qbcore.admin...), comme QBCore le fait lui-même ;'custom': ton framework, à brancher dansbridge/framework/custom.lua(voir Développeurs) ;'none': aucun framework, la permission ACE etConfig.Permission.Identifierssuffisent.
Si le framework choisi n'est pas démarré, la console l'indique et le script passe sur la permission ACE.
L'ambiance
Chaque effet se règle dans Config.Effects, ne tourne que pendant un séisme et seulement autour des joueurs touchés. MinMagnitude fixe la magnitude à partir de laquelle il s'active.
| Effet | Par défaut | Ce qu'il fait |
|---|---|---|
VehicleSway |
dès la magnitude 2 | Poussées de côté sur la voiture que conduit un joueur, Force règle leur puissance |
CarAlarms |
dès la magnitude 3 | Les alarmes des voitures vides autour se déclenchent (Radius 40 m, Max 6) |
PanicPeds |
dès la magnitude 3 | Les passants fuient ou se protègent (Radius 60 m, Max 20) |
Blackout |
dès la magnitude 4 | Lampadaires et néons clignotent au pic du séisme |
Blackout ne touche à rien si GlobalState.blackout est déjà actif (qb-weathersync, Renewed-Weathersync...) : une vraie coupure de courant ne se rallume jamais.
Les chutes
Config.Bikes est activé : à partir de la magnitude 3, un pilote de moto, de scooter ou de vélo a 12 % de chances par seconde d'être éjecté à pleine force.
Config.Ragdoll est désactivé. Avec Enabled = true, un joueur à pied peut perdre l'équilibre à partir de la magnitude 4 : 6 % de chances par seconde à pleine force. Jamais en voiture.
Les notifications
Par défaut, le séisme n'affiche rien : seuls les refus de commande (permission, séisme déjà en cours, délai) s'affichent au staff, et la carte d'alerte si tu l'actives. Config.Notify.Type choisit l'affichage :
'medallion': l'interface KAAPSULE, compacte, en haut à droite par défaut. Tout se règle :Position(six coins et bords),Offset,Scale,Style(carte ou pilule),Theme('dark'ou'light'),Max,Sound;'ox_lib': les notifications d'ox_lib (ox_lib doit être démarré) ;'esx': les notifications d'ESX ;'qbcore': les notifications de QBCore ;'native': les notifications de GTA.
Pour le médaillon, dépose le logo de ton serveur en PNG sous html/img/logo.png : prends une image carrée. Sans logo, le médaillon affiche l'icône du séisme.
Les textes
Tous les textes sont dans locales/fr.lua et locales/en.lua. Change la phrase, garde les parties entre accolades ({magnitude}, {seconds}...) : le script les remplit. Une clé absente de ta langue reprend le texte anglais.
Tes logs Discord
Colle ton webhook dans Config.Discord.Webhook : chaque séisme déclenché, et chaque arrêt, envoie un message (magnitude, durée, zone, joueurs touchés, qui l'a déclenché). L'embed se modifie en entier dans Config.Discord.Embed.
Variables utiles : {action}, {magnitude}, {duration}, {area}, {players}, {staff_rp}, {staff_name}, {staff_id}, {staff_mention}, {staff_license}, {date}. Ajoute :upper pour écrire en majuscules, comme {staff_rp:upper}. Un log ne mentionne jamais personne.
Les images doivent être des liens publics (https://...) : Discord ne peut pas lire les fichiers de ton serveur.
La vérification au démarrage
Au démarrage, le script relit ta config. Une valeur fausse est signalée une fois en console et remplacée par sa valeur par défaut, sans rien bloquer :
[kp_earthquake] config: Config.Limits.Cooldown = -5 is not valid, 10 used instead