Comment créer un emploi (QBCore Framework)

QBCore Jobs

Bienvenue dans ce tutoriel détaillé sur la création d'un travail personnalisé dans QBCorele cadre largement utilisé pour les serveurs FiveM roleplay. Ce guide vous guidera à travers le processus d'ajout d'un nouveau job via shared.luaL'utilisateur doit être en mesure d'identifier et d'évaluer l'efficacité de son travail, de fixer les salaires et de configurer les permissions et les tâches spécifiques à son poste de travail.



Introduction

La création d'emplois personnalisés améliore l'expérience du jeu de rôle en offrant aux joueurs des rôles et des responsabilités uniques. Que vous introduisiez un nouveau service, une division d'application de la loi ou toute autre profession, ce guide vous aidera à l'intégrer de manière transparente dans votre serveur QBCore.

Comprendre les emplois dans QBCore

Dans QBCore, les tâches sont définies dans un fichier de configuration partagé, accessible à la fois par le serveur et le client. Chaque tâche possède des attributs tels que le nom, l'étiquette, l'état de service par défaut, les grades (rangs), etc. Il est essentiel de comprendre ces attributs pour créer des tâches fonctionnelles et équilibrées.

Création d'un nouvel emploi dans shared.lua

Localisation de la shared.lua Fichier

Les shared.lua contient les définitions de tous les travaux. Il se trouve dans le répertoire suivant :

[qb] > qb-core > shared > jobs.lua

Remarque : Dans certaines configurations, le fichier peut être nommé shared.lua au sein de la qb-core dossier.

Structure de définition des emplois

Un travail dans QBCore est défini en utilisant une table Lua avec des clés spécifiques. Voici la structure générale :

["jobname"] = {
label = "Job Label",
defaultDuty = false,
rémunération en dehors des heures de travail = faux,
grades = {
[0] = {
nom = "stagiaire",
paiement = 50
},
[1] = {
nom = "Employé",
paiement = 100
},
-- Notes supplémentaires...
}
},
  • nom du poste: Identifiant utilisé dans les scripts (utiliser des minuscules sans espaces).
  • étiquette: Nom d'affichage du travail.
  • service par défaut: vrai si le joueur est en service par défaut.
  • rémunération en dehors des heures de travail: vrai si le joueur reçoit un paiement lorsqu'il n'est pas en service.
  • grades: Tableau définissant les différents grades au sein de l'emploi.

Ajout d'un emploi personnalisé

1. Ouvrir jobs.lua ou shared.lua

Utilisez un éditeur de texte comme Visual Studio Code ou Notepad++ pour ouvrir le fichier.

2. Ajoutez votre définition de poste

Insérez votre définition d'emploi dans les emplois existants. Par exemple, pour créer un emploi "Chauffeur-livreur" :

["livraison"] = {
label = "Chauffeur-livreur",
defaultDuty = false,
rémunération en dehors des heures de travail = faux,
grades = {
[0] = {
nom = "stagiaire",
paiement = 50
},
[1] = {
nom = "Chauffeur",
paiement = 100
},
[2] = {
nom = "Chauffeur principal",
paiement = 150
},
[3] = {
nom = "Gestionnaire",
paiement = 200,
isBoss = true
}
}
},
  • nom du poste: "livraison" (utilisé dans les scripts et la base de données).
  • étiquette: "Chauffeur-livreur" (affiché aux joueurs).
  • service par défaut: Régler sur faux Les joueurs doivent donc pointer.
  • rémunération en dehors des heures de travail: Régler sur faux de désactiver la rémunération lorsqu'il n'est pas en service.
  • grades: Définir les rangs à partir de 0.

3. Enregistrer le fichier

Après avoir ajouté votre travail, enregistrez le fichier jobs.lua ou shared.lua fichier.

Fixation du salaire

Les salaires sont fixés dans le cadre de la grades pour chaque rang. Le tableau paiement détermine le montant qu'un joueur gagne par cycle de rémunération lorsqu'il est en service.

Exemple

grades = {
[0] = {
nom = "stagiaire",
paiement = 50
},
[1] = {
nom = "Chauffeur",
paiement = 100
},
-- Notes supplémentaires...
}
  • paiement: Le montant payé aux joueurs de ce grade.

Adaptation des cycles de rémunération

Les cycles de rémunération sont généralement gérés par le qb-paycheck ou une ressource similaire. Assurez-vous que la ressource est correctement configurée pour gérer les intervalles de paiement.

Configuration des autorisations et des tâches des emplois

Rangs et permissions

Chaque grade de travail peut avoir des permissions spécifiques. Les estBoss les capacités de gestion des subventions des paramètres, telles que l'embauche et la promotion.

Exemple

[3] = {
nom = "Gestionnaire",
paiement = 200,
isBoss = true
}
  • estBoss: Régler sur vrai pour le grade le plus élevé de gérer les grades inférieurs.

Ajout de fonctions spécifiques à l'emploi

Pour ajouter des fonctionnalités spécifiques à votre nouvel emploi (par exemple, l'accès aux véhicules, aux uniformes ou aux outils), vous devrez configurer des scripts supplémentaires.

1. Créer un script de travail

Dans votre dossier de ressources, créez un nouveau script pour votre travail :

[jobs] > qb-delivery

2. Définir les actions professionnelles

Dans votre script de travail, vous pouvez définir des actions telles que le lancement d'une mission de livraison, l'accès à un véhicule, etc.

-- Exemple : delivery_job.lua

RegisterNetEvent('qb-delivery:startJob')
AddEventHandler('qb-delivery:startJob', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
if Player.PlayerData.job.name == 'delivery' and Player.PlayerData.job.onduty then
-- Démarrer la mission de livraison
autre
TriggerClientEvent('QBCore:Notify', src, 'You are not a delivery driver or not on duty', 'error')
fin
fin)

3. Ajouter des points d'interaction

Utilisez des ressources telles que qb-target pour créer des points d'interaction pour votre travail, tels qu'un poste d'enregistrement ou un garage de véhicules.

4. Attribution des uniformes et des véhicules

Configurer les uniformes et les véhicules de travail dans qb-vêtements et qb-garagesrespectivement.

Testez votre nouvel emploi

1. Démarrer le serveur

Assurez-vous que votre serveur fonctionne sans erreur.

2. Ajouter le travail à la base de données

Vous devrez assigner la tâche à un joueur pour la tester.

  • Utilisation des commandes dans le jeu:bashCode kopieren/setjob [playerID] livraison 0
  • Entrée directe dans la base de données:Mettre à jour l'emploi du joueur dans la base de données si nécessaire.

3. Vérifier la fonctionnalité de l'emploi

  • Vérifier l'affectation des tâches:
    • Ouvrez le menu de votre lecteur pour vous assurer que la tâche est correctement attribuée.
  • Test de l'état de service:
    • Horloge si service par défaut est faux.
  • Vérifier les paiements de salaires:
    • Attendre un cycle de paie pour confirmer le paiement des salaires.
  • Tester les actions spécifiques à l'emploi:
    • Tenter d'accéder aux véhicules de travail ou de commencer des missions.

Problèmes courants et dépannage

Emploi non apparaissant ou non assignable

  • Vérifier le nom de l'emploi:Assurez-vous que le nom de l'emploi dans jobs.lua correspond exactement lors de l'attribution.
  • Synchronisation de la base de données:Si vous modifiez manuellement la base de données, veillez à redémarrer le serveur ou la ressource.

Salaires non payés

  • Statut de serviceConfirmer que le joueur est en service si rémunération en dehors des heures de travail est faux.
  • Ressource sur les chèques de paie:Assurez-vous que le script de paiement est en cours d'exécution et qu'il est correctement configuré.

Les autorisations ne fonctionnent pas

  • Paramètre isBoss:Vérifier que estBoss est réglé sur la bonne note.
  • Conflits de ressources:Vérifier s'il y a des conflits avec d'autres scripts qui gèrent les autorisations.

Erreurs au démarrage du serveur

  • Erreurs de syntaxe:Vérifier s'il manque des virgules, des parenthèses ou si la syntaxe est incorrecte dans la rubrique jobs.lua.
  • Dépendances des ressourcesVeiller à ce que toutes les ressources nécessaires soient lancées dans le bon ordre.

Conclusion

La création de jobs personnalisés dans QBCore vous permet d'élargir considérablement les possibilités de roleplay de votre serveur. En suivant ce guide, vous devriez maintenant être en mesure d'ajouter de nouveaux emplois, de fixer des salaires, de configurer les permissions et de résoudre les problèmes courants. Vos joueurs apprécieront les nouveaux rôles et la profondeur qu'ils ajoutent à l'expérience de jeu.


Pour plus de tutoriels et de ressources, visitez qbcore.net et rejoignez les forums de notre communauté pour obtenir de l'aide et collaborer.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bénéficiez d'une remise de 20% sur tous les serveurs QBCore complets
fr_FRFrançais