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.
Quel fichier décide de quoi
Section intitulĂ©e « Quel fichier dĂ©cide de quoi »| Fichier | Ce quâil dĂ©cide | Ouvert ? |
|---|---|---|
config.lua | Framework, langue, interaction avec les PNJ, couleur des dialogues, /cancelquest, captures dâĂ©cran | Oui |
bridge/bridge_server.lua | Argent, items, données de joueur, callbacks et vérification des permissions | Oui |
bridge/bridge_client.lua | Notifications, textes dâaide, donnĂ©es de joueur et rĂ©animation du joueur | Oui |
locales/*.lua | Lâensemble des textes : Ă©diteur, fenĂȘtre de dialogue, notifications, logs webhook | Oui |
install.sql | Les huit tables, importées une seule fois | Oui |
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ĂȘtes | Sous escrow |
client/game_data/*.lua | Les listes alimentant les sĂ©lecteurs de lâĂ©diteur : peds, vĂ©hicules, bones, animations, particules, sons, effets dâĂ©cran | Sous escrow |
config.lua
Section intitulée « config.lua »Général
Section intitulĂ©e « GĂ©nĂ©ral »| Option | Ce quâelle fait | Par dĂ©faut |
|---|---|---|
Config.Framework | Quel 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.Locale | La langue de lâĂ©diteur, de la fenĂȘtre de dialogue et des notifications. Voir Langues | 'en' |
Config.Debug | PrĂ©sent dans le fichier ; cette version nâaffiche rien de plus avec | true |
Parler aux donneurs de quĂȘtes
Section intitulĂ©e « Parler aux donneurs de quĂȘtes »| Option | Ce quâelle fait | Par dĂ©faut |
|---|---|---|
Config.InteractionType | 'ox_target', 'qb-target' ou 'drawtext' (texte 3D et une touche) | 'ox_target' |
Config.InteractionDistance | Distance en mĂštres Ă laquelle un joueur doit se trouver pour parler Ă un PNJ | 2.5 |
Config.InteractionKey | La touche de contrĂŽle utilisĂ©e avec 'drawtext', et par le nĆud Interact in Area. 38 correspond Ă E | 38 |
Config.ThemeColor | Couleur dâaccentuation de la fenĂȘtre de dialogue : blue, pink, yellow, red, green, purple, orange, cyan, white ou black | "purple" |
Annuler une quĂȘte
Section intitulĂ©e « Annuler une quĂȘte »| Option | Ce quâelle fait | Par dĂ©faut |
|---|---|---|
Config.EnableCancelQuest | Enregistre une commande permettant au joueur dâabandonner sa quĂȘte active | true |
Config.CancelQuestCommand | Nom 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.
Captures dâĂ©cran
Section intitulĂ©e « Captures dâĂ©cran »| Option | Ce quâelle fait | Par dĂ©faut |
|---|---|---|
Config.ScreenshotBasic | Permet au nĆud Send Webhook de joindre une capture dâĂ©cran lorsque sa case est cochĂ©e. Requiert screenshot-basic en fonction | true |
Commandes et permissions
Section intitulĂ©e « Commandes et permissions »| Commande | Qui peut lâutiliser | Ce quâelle fait |
|---|---|---|
/questcreator | Quiconque possĂšde lâACE mic_questcreator.open | Ouvre le Quest & Event Creator |
/cancelquest | Tout joueur, tant que Config.EnableCancelQuest est actif | Abandonne 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 :
- Copiez
locales/en.luaet nommez la copie selon votre code langue, par exemplelocales/pl.lua. - Ă 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. - Ajoutez votre fichier Ă
shared_scriptsdansfxmanifest.lua, avec les autres fichiers de langue et au-dessus deconfig.lua. - Définissez
Config.Localesur votre code, puis faitesrefreshet 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.
Le bridge
Section intitulĂ©e « Le bridge »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.Initialize | RĂ©cupĂšre fmLib et lâobjet ESX ou QBCore au dĂ©marrage de la ressource |
Bridge.Server.RegisterServerCallback | Enregistre les callbacks via ESX ou QBCore |
Bridge.Server.GetPlayer, GetPlayerParams | Un joueur via fmLib, ainsi que son identifiant, son nom et son job |
Bridge.Server.GetMoney, AddMoney, RemoveMoney | Lâargent, via fmLib |
Bridge.Server.GetItem, AddItem, RemoveItem | Les items, via fmLib, quel que soit lâinventaire avec lequel fmLib dialogue |
Bridge.Server.IsPlayerAllowed | Qui peut ouvrir et utiliser lâĂ©diteur. VĂ©rifie lâACE mic_questcreator.open |
bridge/bridge_client.lua
| Fonction | Ă quoi elle sert |
|---|---|
Bridge.Client.ShowNotification | Chaque notification. Remplacez le corps pour utiliser votre propre ressource de notification |
Bridge.Client.ShowHelpNotification | Le texte dâaide en haut Ă gauche |
Bridge.Client.GetPlayerData, IsPlayerLoaded | Données du joueur, utilisées par les vérifications Has Job et Is Night/Day |
Bridge.Client.TriggerServerCallback | Callbacks via ESX ou QBCore |
Bridge.Client.RevivePlayer | Utilisé 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.
| Export | Arguments | Ce quâil fait |
|---|---|---|
StartMinigame | difficulty (1â5), speed (1â5), rounds, callback | Ouvre le mini-jeu façon crochetage. Le callback reçoit true ou false |
StartProgressBar | duration en millisecondes, label | Affiche la barre de progression intégrée |
Appelez-les sur mic_questcreator depuis un script client.
ĂvĂ©nements communautaires et exportation
Section intitulĂ©e « ĂvĂ©nements communautaires et exportation »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.