Aller au contenu

Personnalisation

Presque tout ce qui concerne une quĂȘte — qui la donne, ce qu’il dit, ce qui se passe ensuite — se configure dans l’éditeur et s’enregistre dans votre base de donnĂ©es. Les fichiers servent pour la poignĂ©e de paramĂštres identiques pour chaque quĂȘte.


FichierCe qu’il dĂ©cideOuvert ?
config.luaFramework, langue, interaction avec les PNJ, couleur des dialogues, /cancelquest, captures d’écranOui
bridge/bridge_server.luaArgent, items, données de joueur, callbacks et vérification des permissionsOui
bridge/bridge_client.luaNotifications, textes d’aide, donnĂ©es de joueur et rĂ©animation du joueurOui
locales/*.luaL’ensemble des textes : Ă©diteur, fenĂȘtre de dialogue, notifications, logs webhookOui
install.sqlLes huit tables, importées une seule foisOui
web/L’éditeur, la fenĂȘtre de dialogue, le mini-jeu et la barre de progression (HTML, CSS, JS)Lisible
client/, server/Le moteur de quĂȘtesSous escrow
client/game_data/*.luaLes listes alimentant les sĂ©lecteurs de l’éditeur : peds, vĂ©hicules, bones, animations, particules, sons, effets d’écranSous escrow

OptionCe qu’elle faitPar dĂ©faut
Config.FrameworkQuel framework cibler : 'esx' ou 'qbcore'. Non dĂ©tectĂ© automatiquement. Sur QBox, utilisez 'qbcore' — QBox fait tourner les ressources QBCore via sa couche de compatibilitĂ©'esx'
Config.LocaleLa langue de l’éditeur, de la fenĂȘtre de dialogue et des notifications. Voir Langues'en'
Config.DebugPrĂ©sent dans le fichier ; cette version n’affiche rien de plus avectrue
OptionCe qu’elle faitPar dĂ©faut
Config.InteractionType'ox_target', 'qb-target' ou 'drawtext' (texte 3D et une touche)'ox_target'
Config.InteractionDistanceDistance en mĂštres Ă  laquelle un joueur doit se trouver pour parler Ă  un PNJ2.5
Config.InteractionKeyLa touche de contrĂŽle utilisĂ©e avec 'drawtext', et par le nƓud Interact in Area. 38 correspond Ă  E38
Config.ThemeColorCouleur d’accentuation de la fenĂȘtre de dialogue : blue, pink, yellow, red, green, purple, orange, cyan, white ou black"purple"
OptionCe qu’elle faitPar dĂ©faut
Config.EnableCancelQuestEnregistre une commande permettant au joueur d’abandonner sa quĂȘte activetrue
Config.CancelQuestCommandNom de la commande, sans le slash"cancelquest"

L’annulation efface la progression enregistrĂ©e du joueur pour cette quĂȘte et supprime ce qu’elle avait fait apparaĂźtre.

OptionCe qu’elle faitPar dĂ©faut
Config.ScreenshotBasicPermet au nƓud Send Webhook de joindre une capture d’écran lorsque sa case est cochĂ©e. Requiert screenshot-basic en fonctiontrue

CommandeQui peut l’utiliserCe qu’elle fait
/questcreatorQuiconque possùde l’ACE mic_questcreator.openOuvre le Quest & Event Creator
/cancelquestTout joueur, tant que Config.EnableCancelQuest est actifAbandonne la quĂȘte active. Renommable via Config.CancelQuestCommand

La mĂȘme permission protĂšge tout ce que l’éditeur sauvegarde, supprime, importe et exporte — la vĂ©rification se fait cĂŽtĂ© serveur, et pas seulement Ă  l’ouverture du menu. Accordez-la avec une ligne add_ace Ă  un identifiant ou un groupe ; la vĂ©rification elle-mĂȘme rĂ©side dans Bridge.Server.IsPlayerAllowed dans bridge/bridge_server.lua si vous prĂ©fĂ©rez la relier Ă  votre propre systĂšme d’administration.


Treize fichiers sont fournis dans locales/ : en, es, fr, de, it, pt, ru, ja, ko, zh-CN, ar, nl et cs. Définissez Config.Locale sur le nom du fichier sans .lua.

Ajouter une langue :

  1. Copiez locales/en.lua et nommez la copie selon votre code langue, par exemple locales/pl.lua.
  2. À l’intĂ©rieur, changez le nom de table 'en' pour votre code, et traduisez le texte sur la droite de chaque ligne. Ne modifiez pas les clĂ©s Ă  gauche ni les %s.
  3. Ajoutez votre fichier Ă  shared_scripts dans fxmanifest.lua, avec les autres fichiers de langue et au-dessus de config.lua.
  4. Définissez Config.Locale sur votre code, puis faites refresh et redémarrez.

Une clĂ© manquante dans votre fichier s’affichera en jeu sous la forme Translation [xx][key] does not exist, vous indiquant exactement quelle ligne ajouter.

Ce que disent les PNJ, les titres de quĂȘtes et les messages de notification ne se trouvent pas dans les fichiers de langue — vous les saisissez directement dans l’éditeur, dans la langue de votre choix.


Deux fichiers ouverts se situent entre le moteur de quĂȘtes et le reste de votre serveur.

bridge/bridge_server.lua

FonctionÀ quoi elle sert
Bridge.Server.InitializeRĂ©cupĂšre fmLib et l’objet ESX ou QBCore au dĂ©marrage de la ressource
Bridge.Server.RegisterServerCallbackEnregistre les callbacks via ESX ou QBCore
Bridge.Server.GetPlayer, GetPlayerParamsUn joueur via fmLib, ainsi que son identifiant, son nom et son job
Bridge.Server.GetMoney, AddMoney, RemoveMoneyL’argent, via fmLib
Bridge.Server.GetItem, AddItem, RemoveItemLes items, via fmLib, quel que soit l’inventaire avec lequel fmLib dialogue
Bridge.Server.IsPlayerAllowedQui peut ouvrir et utiliser l’éditeur. VĂ©rifie l’ACE mic_questcreator.open

bridge/bridge_client.lua

FonctionÀ quoi elle sert
Bridge.Client.ShowNotificationChaque notification. Remplacez le corps pour utiliser votre propre ressource de notification
Bridge.Client.ShowHelpNotificationLe texte d’aide en haut à gauche
Bridge.Client.GetPlayerData, IsPlayerLoadedDonnées du joueur, utilisées par les vérifications Has Job et Is Night/Day
Bridge.Client.TriggerServerCallbackCallbacks via ESX ou QBCore
Bridge.Client.RevivePlayerUtilisé par le gestionnaire de mort. Déclenche esx_ambulancejob:revive sur ESX ou hospital:client:Revive sur QBCore, puis réanime nativement si toujours mort

Vous utilisez un autre script d’ambulance ? Modifiez l’évĂ©nement dans Bridge.Client.RevivePlayer pour celui Ă©coutĂ© par votre script. Une autre ressource de notifications ? Modifiez Bridge.Client.ShowNotification. Conservez les noms de fonctions — le moteur les appelle par leur nom.


Deux exports client permettent à une autre ressource d’emprunter le mini-jeu et la barre de progression du quest creator.

ExportArgumentsCe qu’il fait
StartMinigamedifficulty (1–5), speed (1–5), rounds, callbackOuvre le mini-jeu façon crochetage. Le callback reçoit true ou false
StartProgressBarduration en millisecondes, labelAffiche la barre de progression intégrée

Appelez-les sur mic_questcreator depuis un script client.


Community Events dans l’éditeur liste les Ă©vĂ©nements partagĂ©s par d’autres serveurs ; importez-en un et il sera ajoutĂ© Ă  vos Ă©vĂ©nements comme n’importe quel autre. La liste est tĂ©lĂ©chargĂ©e depuis GitHub ; votre serveur a donc besoin d’un accĂšs internet sortant pour l’alimenter.

Export Event demande un nom, une description et un auteur, puis Ă©crit l’évĂ©nement dans un fichier JSON Ă  l’intĂ©rieur du dossier de la ressource, dans exports/. Ce dossier n’est pas fourni avec la ressource — crĂ©ez au prĂ©alable un dossier vide nommĂ© exports dans mic_questcreator, sinon le fichier atterrira Ă  la racine de la ressource sous le nom export_<name>.json.