Personnalisation
Les paramĂštres se trouvent dans config.lua. Les deux fichiers du bridge sont ouverts afin que vous puissiez adapter la partie framework. La tablette elle-mĂȘme est en pur HTML dans html/.
Quel fichier décide de quoi
Section intitulĂ©e « Quel fichier dĂ©cide de quoi »| Fichier | Ce quâil contrĂŽle | Ouvert ? |
|---|---|---|
config.lua | Langue, framework, photos, commande du créateur, grille en direct, qui peut utiliser la tablette et props des caméras | Oui |
bridge/client_bridge.lua | DĂ©tection du framework, mĂ©tier du joueur, notifications et message dâaide textuel | Oui |
bridge/server_bridge.lua | DĂ©tection du framework, identifiants, mĂ©tiers, items utilisables, ajout et retrait dâitems, notifications serveur | Oui |
items/ | Définitions des items pour ox, qb et ESX, et icÎnes dans items/images/ | Oui |
html/ | La tablette : index.html, app.js, app.css, la carte (map.js, map.css) et ses tuiles dans html/tiles/ | Sans escrow |
locales/*.lua | Tous les textes, en jeu et sur la tablette | Sous escrow dans cette version |
client/, server/ | Le script | Sous escrow |
GĂ©nĂ©ral â config.lua
Section intitulĂ©e « GĂ©nĂ©ral â config.lua »| Option | Ce quâelle fait | Valeur par dĂ©faut |
|---|---|---|
Config.Locale | Langue utilisée | 'en' |
Config.Framework | esx, qbcore ou auto pour la détection automatique. Sur QBox, auto le détecte comme qbcore via sa compatibilité QBCore ; pour le forcer, utilisez qbcore | 'auto' |
Config.EvidenceEnabled | Active ou désactive les photos. Désactivé, Espace dans une caméra et la capture de la grille ne font rien | true |
Config.CreatorCommand | Commande ouvrant le créateur administrateur | 'camcreator' |
Config.CreatorAce | Permission ACE requise pour le créateur | 'mic_cctvcreator.open' |
Config.LiveGridFPS | Nombre de rafraßchissements par seconde de la grille. De 1 à 15 ; plus élevé est plus fluide mais plus lourd | 5 |
Config.BlackScreenBehindUI | Affiche un fond noir derriÚre la tablette pour masquer les sauts entre caméras pendant le rafraßchissement de la grille | true |
Config.AllowedJobs | Métiers autorisés à ouvrir la tablette. Vide autorise tout le monde. Voir ci-dessous | {} |
Config.SpawnDistance | Distance dâapparition du prop dâune camĂ©ra | 60.0 |
Config.BreakableCamera | DĂ©termine si les camĂ©ras peuvent ĂȘtre dĂ©truites | true |
Config.RepairDistance | Portée du laser de réparation | 20.0 |
Config.RepairTime | DurĂ©e dâune rĂ©paration, en millisecondes | 5000 |
Qui voit quelle caméra
Section intitulĂ©e « Qui voit quelle camĂ©ra »Câest la partie Ă dĂ©finir avant que quiconque ne pose une camĂ©ra.
Config.AllowedJobs vide (par défaut)
Section intitulée « Config.AllowedJobs vide (par défaut) »- Quiconque possÚde une
cctv_tabletpeut lâouvrir. - Une camĂ©ra placĂ©e par un joueur est privĂ©e : lui seul la voit.
- Le propriĂ©taire peut ensuite la partager avec son mĂ©tier â elle devient une camĂ©ra de mĂ©tier pour tous les membres de ce mĂ©tier â ou lui attribuer un nom dâaccĂšs et un mot de passe. Quiconque saisit ces identifiants sur sa tablette y ajoute la camĂ©ra.
Config.AllowedJobs configuré, par exemple police et sheriff
Section intitulĂ©e « Config.AllowedJobs configurĂ©, par exemple police et sheriff »- Seuls ces mĂ©tiers peuvent ouvrir la tablette ; toute autre personne est informĂ©e quâelle nâest pas autorisĂ©e.
- Une camĂ©ra placĂ©e par un joueur devient une camĂ©ra de mĂ©tier pour le mĂ©tier quâil exerce Ă ce moment-lĂ .
Caméras issues du créateur administrateur
Section intitulée « Caméras issues du créateur administrateur »Toujours des caméras de métier, visibles par tous les métiers cochés dans le créateur. Une caméra créée sans aucun métier coché ne sera visible par personne.
Preuves et journaux
Section intitulĂ©e « Preuves et journaux »- Une photo prise depuis une camĂ©ra privĂ©e reste privĂ©e pour la personne qui lâa prise. Une photo prise depuis une camĂ©ra de mĂ©tier appartient au mĂ©tier. Les deux peuvent ĂȘtre partagĂ©es avec votre mĂ©tier depuis la galerie.
- Les journaux dâintrusion sâaffichent pour chaque camĂ©ra Ă laquelle vous avez accĂšs â les 30 plus rĂ©cents. RĂ©parer une camĂ©ra efface son journal.
Retirer une caméra
Section intitulĂ©e « Retirer une camĂ©ra »Le propriĂ©taire peut retirer sa camĂ©ra depuis la tablette et rĂ©cupĂšre lâitem.
Détruire et réparer
Section intitulĂ©e « DĂ©truire et rĂ©parer »Avec Config.BreakableCamera activĂ©, une camĂ©ra se retrouve hors service lorsquâune balle atterrit Ă moins dâun mĂštre environ, ou lorsquâelle est touchĂ©e par une attaque de mĂȘlĂ©e, une explosion ou un vĂ©hicule. Le crĂ©ateur permet de dĂ©signer des camĂ©ras spĂ©cifiques comme indestructibles.
Le kit de rĂ©paration, cctv_repair, allume un laser. Pointez-le vers une camĂ©ra cassĂ©e Ă portĂ©e de Config.RepairDistance, appuyez sur E, puis patientez Config.RepairTime. Le kit nâest pas consommĂ©. Retour arriĂšre ou Ăchap permet de le ranger.
ContrĂŽles
Section intitulée « ContrÎles »Placer une caméra (depuis un item)
| Touche | Action |
|---|---|
| Regarder autour | DĂ©place lâaperçu sur la surface visĂ©e |
| Molette de la souris | Fait pivoter |
| E | Place la caméra ; un nom vous est demandé |
| Clic droit / Ăchap | Annule |
Regarder à travers une caméra
| Touche | Action |
|---|---|
| W / S | Incliner vers le haut et le bas |
| A / D | Tourner. Les camĂ©ras murales et sur poteau sâarrĂȘtent Ă 45° ; les modĂšles 360° tournent complĂštement |
| Molette de la souris | Zoomer |
| Entrée | Basculer entre vision normale, nocturne et thermique |
| Espace | Prendre une photo pour la galerie de preuves |
| Retour arriĂšre / Ăchap | Revenir Ă la tablette |
Le créateur administrateur (/camcreator)
Choisissez un modĂšle (mur, mur 360, poteau, poteau 360), un nom de base, les mĂ©tiers autorisĂ©s et si la camĂ©ra peut ĂȘtre dĂ©truite, puis passez en mode placement :
| Touche | Action |
|---|---|
| â / â | Changer de modĂšle |
| Molette de la souris | Faire pivoter |
| E | Placer ; un nom vous est demandé |
| Clic droit / Ăchap | Revenir au menu du crĂ©ateur |
Commandes et permissions
Section intitulĂ©e « Commandes et permissions »| Commande | Qui | Ce quâelle fait |
|---|---|---|
/camcreator | Joueurs ayant la permission Config.CreatorAce | Ouvre le créateur administrateur. Modifiez le nom via Config.CreatorCommand |
Accordez la permission dans server.cfg avec une ligne add_ace pour le groupe de votre choix, par exemple en attribuant mic_cctvcreator.open Ă group.admin. Si vous modifiez Config.CreatorAce, accordez le nouveau nom Ă la place.
CĂŽtĂ© client, pour les autres ressources qui ont besoin dâinteragir avec les camĂ©ras :
| Export | Arguments | Valeur retournée |
|---|---|---|
GetCameraStatus | id de la camĂ©ra | 'online', 'broken', ou 'offline' si lâid est inconnu |
GetCameraIdFromEntity | handle de lâentitĂ© | Lâid de camĂ©ra du prop gĂ©nĂ©rĂ©, ou rien |
IsPlacing | â | true tant que le joueur est en train de placer une camĂ©ra |
HideNearbyCamera | coords | Masque le prop de caméra le plus proche à moins de 2 m et le renvoie |
UnhideCamera | prop | Réaffiche un prop masqué avec HideNearbyCamera |
Onze langues sont incluses : en, es, fr, de, it, pt, ar, ja, pl, ru, tr. DĂ©finissez le code dans Config.Locale. La tablette et les textes en jeu utilisent le mĂȘme fichier.
Dans cette version, les fichiers de locales/ font partie du code protĂ©gĂ© et ne peuvent pas ĂȘtre modifiĂ©s directement. Si vous avez besoin dâune autre langue ou dâune formulation diffĂ©rente, demandez sur le Discord.
Le bridge
Section intitulĂ©e « Le bridge »| Fichier | Ce quâil gĂšre |
|---|---|
bridge/client_bridge.lua | Détection du framework, Bridge.GetPlayerJob, Bridge.Notify, et Bridge.ShowTextUI / Bridge.HideTextUI pour le message de réparation |
bridge/server_bridge.lua | Détection du framework, Bridge.GetPlayerIdentifier, Bridge.GetPlayerJob, Bridge.RegisterUsableItem, Bridge.AddItem, Bridge.AddItemWithMetadata, Bridge.RemoveItem, Bridge.Notify |
Autre ressource de notifications : modifiez Bridge.Notify dans les deux fichiers.
Autre interface de texte (ox_lib, okokâŠ) : Bridge.ShowTextUI et Bridge.HideTextUI dans le fichier client. Sur QBCore, ils utilisent le DrawText natif de QBCore ; sinon, le texte dâaide du jeu.
Inventaire : quand ox_inventory est actif, les items sont ajoutés et retirés par son intermédiaire sur les deux frameworks. Sinon, les fonctions propres au framework sont utilisées.
Autre framework : configurez Config.Framework et complĂ©tez le bloc de dĂ©tection ainsi que les fonctions dâidentifiant, de mĂ©tier et dâitems dans les deux fichiers. Sans framework, le script utilise par dĂ©faut lâidentifiant license: et considĂšre tout le monde comme unemployed, mais les items â y compris la tablette â ne sont enregistrĂ©s que sur ESX et QBCore (y compris QBox via sa compatibilitĂ© QBCore).