Aller au contenu

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/.


FichierCe qu’il contrîleOuvert ?
config.luaLangue, framework, photos, commande du créateur, grille en direct, qui peut utiliser la tablette et props des camérasOui
bridge/client_bridge.luaDĂ©tection du framework, mĂ©tier du joueur, notifications et message d’aide textuelOui
bridge/server_bridge.luaDĂ©tection du framework, identifiants, mĂ©tiers, items utilisables, ajout et retrait d’items, notifications serveurOui
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/*.luaTous les textes, en jeu et sur la tabletteSous escrow dans cette version
client/, server/Le scriptSous escrow

OptionCe qu’elle faitValeur par dĂ©faut
Config.LocaleLangue utilisée'en'
Config.Frameworkesx, 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.EvidenceEnabledActive ou désactive les photos. Désactivé, Espace dans une caméra et la capture de la grille ne font rientrue
Config.CreatorCommandCommande ouvrant le créateur administrateur'camcreator'
Config.CreatorAcePermission ACE requise pour le créateur'mic_cctvcreator.open'
Config.LiveGridFPSNombre de rafraßchissements par seconde de la grille. De 1 à 15 ; plus élevé est plus fluide mais plus lourd5
Config.BlackScreenBehindUIAffiche un fond noir derriÚre la tablette pour masquer les sauts entre caméras pendant le rafraßchissement de la grilletrue
Config.AllowedJobsMétiers autorisés à ouvrir la tablette. Vide autorise tout le monde. Voir ci-dessous{}
Config.SpawnDistanceDistance d’apparition du prop d’une camĂ©ra60.0
Config.BreakableCameraDĂ©termine si les camĂ©ras peuvent ĂȘtre dĂ©truitestrue
Config.RepairDistancePortée du laser de réparation20.0
Config.RepairTimeDurĂ©e d’une rĂ©paration, en millisecondes5000

C’est la partie Ă  dĂ©finir avant que quiconque ne pose une camĂ©ra.

  • Quiconque possĂšde une cctv_tablet peut 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Ă .

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.

  • 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.

Le propriĂ©taire peut retirer sa camĂ©ra depuis la tablette et rĂ©cupĂšre l’item.


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.


Placer une caméra (depuis un item)

ToucheAction
Regarder autourDĂ©place l’aperçu sur la surface visĂ©e
Molette de la sourisFait pivoter
EPlace la caméra ; un nom vous est demandé
Clic droit / ÉchapAnnule

Regarder à travers une caméra

ToucheAction
W / SIncliner vers le haut et le bas
A / DTourner. Les camĂ©ras murales et sur poteau s’arrĂȘtent Ă  45° ; les modĂšles 360° tournent complĂštement
Molette de la sourisZoomer
EntréeBasculer entre vision normale, nocturne et thermique
EspacePrendre une photo pour la galerie de preuves
Retour arriùre / ÉchapRevenir à 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 :

ToucheAction
← / →Changer de modùle
Molette de la sourisFaire pivoter
EPlacer ; un nom vous est demandé
Clic droit / ÉchapRevenir au menu du crĂ©ateur

CommandeQuiCe qu’elle fait
/camcreatorJoueurs ayant la permission Config.CreatorAceOuvre 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 :

ExportArgumentsValeur retournée
GetCameraStatusid de la camĂ©ra'online', 'broken', ou 'offline' si l’id est inconnu
GetCameraIdFromEntityhandle 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
HideNearbyCameracoordsMasque le prop de caméra le plus proche à moins de 2 m et le renvoie
UnhideCamerapropRé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.


FichierCe qu’il gùre
bridge/client_bridge.luaDétection du framework, Bridge.GetPlayerJob, Bridge.Notify, et Bridge.ShowTextUI / Bridge.HideTextUI pour le message de réparation
bridge/server_bridge.luaDé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).