/jobscreator, va dans les paramètres, et sélectionne-le. Aussi simple que ça.
Modules Disponibles
| Catégorie | Options Disponibles |
|---|---|
| Banking | default, example, okok |
| Boss | default, example |
| Logs | custom, jaksam |
| Notify | default, example, origen, ox_lib |
| Outfits | default, illenium-appearance, rcore_clothing |
| Progress Bar | jaksam, ox_lib, qb-core |
| Search Player | jaksam, jaksam_inventory, ox_inventory |
| Skillcheck | jaksam, ox_lib |
| Stash | default, hc_inventory, jaksam_inventory, ox-inventory, qb-inventory |
| Text UI | esx, jg-text, none, ox_lib |
Créer un Module Personnalisé
Choisis la catégorie pour laquelle tu veux créer un module. Chaque onglet te guide pas à pas selon les étapes exactes pour cette catégorie et te donne un modèle prêt à éditer.- Banking
- Boss
- Logs
- Notify
- Outfits
- Progress Bar
- Search Player
- Skillcheck
- Stash
- Text UI
Va dans le dossier des modules
jobs_creator/_modules/banking.Duplique un module existant
example) et colle-le dans le même dossier comme modèle.Renomme la copie
Implémente les fonctions requises
local moduleType = "banking"
local moduleName = "yourModuleName"
Integrations.modules = Integrations.modules or {}
Integrations.modules[moduleType] = Integrations.modules[moduleType] or {}
Integrations[moduleType] = Integrations[moduleType] or {}
Integrations[moduleType][moduleName] = {}
table.insert(Integrations.modules[moduleType], moduleName)
-- Retourne le solde actuel du compte de la société/entreprise donnée
Integrations[moduleType][moduleName].getSocietyMoney = function(societyName)
-- Ajoute ton code ici
end
-- Ajoute de l'argent au compte de la société/entreprise donnée
Integrations[moduleType][moduleName].giveMoneyToSociety = function(societyName, amount)
-- Ajoute ton code ici
end
-- Retire de l'argent du compte de la société/entreprise donnée
Integrations[moduleType][moduleName].removeMoneyFromSociety = function(societyName, amount)
-- Ajoute ton code ici
end
Va dans le dossier des modules
jobs_creator/_modules/boss.Duplique un module existant
example) et colle-le dans le même dossier comme modèle.Renomme la copie
Implémente les fonctions requises
nil laisse intact le comportement par défaut de Jobs Creator.local moduleType = "boss"
local moduleName = "yourModuleName"
Integrations.modules = Integrations.modules or {}
Integrations.modules[moduleType] = Integrations.modules[moduleType] or {}
Integrations[moduleType] = Integrations[moduleType] or {}
Integrations[moduleType][moduleName] = {}
table.insert(Integrations.modules[moduleType], moduleName)
-- Appelée avant de retourner la liste des employés au client, retourne la liste (éventuellement modifiée)
Integrations[moduleType][moduleName].modifyEmployeesList = function(employeesArray, jobName)
-- Ajoute ton code ici
return employeesArray
end
-- Appelée quand un employé est licencié. Retourne true si tu l'as géré toi-même, nil pour garder le comportement par défaut
Integrations[moduleType][moduleName].fireEmployee = function(playerId, employeeIdentifier, jobName)
-- Ajoute ton code ici
return nil
end
-- Appelée avant de recruter un joueur. Retourne true si tu l'as géré toi-même, nil pour garder le comportement par défaut
Integrations[moduleType][moduleName].recruitPlayer = function(playerId, targetId, jobName)
-- Ajoute ton code ici
return nil
end
-- Appelée avant de changer le grade d'un employé. Retourne true si tu l'as géré toi-même, nil pour garder le comportement par défaut
Integrations[moduleType][moduleName].changeGradeToEmployee = function(playerId, employeeIdentifier, newGrade, jobName)
-- Ajoute ton code ici
return nil
end
Va dans le dossier des modules
jobs_creator/_modules/logs.Duplique un module existant
jaksam) et colle-le dans le même dossier comme modèle.Renomme la copie
Implémente les fonctions requises
local moduleType = "logs"
local moduleName = "yourModuleName"
Integrations.modules = Integrations.modules or {}
Integrations.modules[moduleType] = Integrations.modules[moduleType] or {}
Integrations[moduleType] = Integrations[moduleType] or {}
Integrations[moduleType][moduleName] = {}
table.insert(Integrations.modules[moduleType], moduleName)
-- Envoie une entrée de log (par exemple, vers un webhook Discord ou un script de logs personnalisé)
Integrations[moduleType][moduleName].log = function(playerId, title, description, type, logType)
-- Ajoute ton code ici
end
Va dans le dossier des modules
jobs_creator/_modules/notify.Duplique un module existant
example) et colle-le dans le même dossier comme modèle.Renomme la copie
Implémente les fonctions requises
local moduleType = "notify"
local moduleName = "yourModuleName"
Integrations.modules = Integrations.modules or {}
Integrations.modules[moduleType] = Integrations.modules[moduleType] or {}
Integrations[moduleType] = Integrations[moduleType] or {}
Integrations[moduleType][moduleName] = {}
table.insert(Integrations.modules[moduleType], moduleName)
-- Affiche une notification avec un message brut et une version (éventuellement) colorée de celui-ci
Integrations[moduleType][moduleName].showNotification = function(message, coloredMessage)
-- Ajoute ton code ici
end
Va dans le dossier des modules
jobs_creator/_modules/outfits.Duplique un module existant
rcore_clothing) et colle-le dans le même dossier comme modèle.Renomme la copie
Implémente les fonctions requises
openExternalMenu contrôle les autres : retourne true pour remplacer entièrement l’UI des tenues par ton propre script (seules openWardrobe/openJobOutfits sont utilisées), ou false pour continuer à utiliser le menu de Jobs Creator (getPlayerClothes/setPlayerClothes sont utilisées à la place).local moduleType = "outfits"
local moduleName = "yourModuleName"
Integrations.modules = Integrations.modules or {}
Integrations.modules[moduleType] = Integrations.modules[moduleType] or {}
Integrations[moduleType] = Integrations[moduleType] or {}
Integrations[moduleType][moduleName] = {}
table.insert(Integrations.modules[moduleType], moduleName)
-- Retourne true pour remplacer entièrement l'UI des tenues par ton propre script, false pour continuer à utiliser le menu de Jobs Creator
Integrations[moduleType][moduleName].openExternalMenu = function()
return false
end
-- Ouvre le menu des tenues sauvegardées du joueur de ton script (utilisé seulement si openExternalMenu retourne true)
Integrations[moduleType][moduleName].openWardrobe = function()
-- Ajoute ton code ici
end
-- Ouvre le menu des tenues de job sauvegardées de ton script, remplaçant entièrement la fonctionnalité de tenues de job de Jobs Creator (utilisé seulement si openExternalMenu retourne true)
Integrations[moduleType][moduleName].openJobOutfits = function()
-- Ajoute ton code ici
end
-- Retourne la table de la tenue/vêtements actuelle du joueur (utilisé seulement si openExternalMenu retourne false)
Integrations[moduleType][moduleName].getPlayerClothes = function()
-- Ajoute ton code ici
end
-- Applique la table de tenue/vêtements donnée au joueur (utilisé seulement si openExternalMenu retourne false)
Integrations[moduleType][moduleName].setPlayerClothes = function(outfit, saveAfterRestart)
-- Ajoute ton code ici
end
Va dans le dossier des modules
jobs_creator/_modules/progressbar.Duplique un module existant
jaksam) et colle-le dans le même dossier comme modèle.Renomme la copie
Implémente les fonctions requises
local moduleType = "progressbar"
local moduleName = "yourModuleName"
Integrations.modules = Integrations.modules or {}
Integrations.modules[moduleType] = Integrations.modules[moduleType] or {}
Integrations[moduleType] = Integrations[moduleType] or {}
Integrations[moduleType][moduleName] = {}
table.insert(Integrations.modules[moduleType], moduleName)
-- Démarre une barre de progression pour le temps donné (ms), avec le texte et la couleur donnés
Integrations[moduleType][moduleName].start = function(time, text, hexColor)
-- Ajoute ton code ici
end
Va dans le dossier des modules
jobs_creator/_modules/search_player.Duplique un module existant
ox_inventory) et colle-le dans le même dossier comme modèle.Renomme la copie
Implémente les fonctions requises
local moduleType = "search_player"
local moduleName = "yourModuleName"
Integrations.modules = Integrations.modules or {}
Integrations.modules[moduleType] = Integrations.modules[moduleType] or {}
Integrations[moduleType] = Integrations[moduleType] or {}
Integrations[moduleType][moduleName] = {}
table.insert(Integrations.modules[moduleType], moduleName)
-- Ouvre l'UI de fouille/inventaire du joueur ciblé (par exemple, après avoir vérifié qu'il est menotté)
Integrations[moduleType][moduleName].search = function(targetServerId)
-- Ajoute ton code ici
end
Va dans le dossier des modules
jobs_creator/_modules/skillcheck.Duplique un module existant
ox_lib) et colle-le dans le même dossier comme modèle.Renomme la copie
Implémente les fonctions requises
local moduleType = "skillcheck"
local moduleName = "yourModuleName"
Integrations.modules = Integrations.modules or {}
Integrations.modules[moduleType] = Integrations.modules[moduleType] or {}
Integrations[moduleType] = Integrations[moduleType] or {}
Integrations[moduleType][moduleName] = {}
table.insert(Integrations.modules[moduleType], moduleName)
-- Démarre un minijeu de skillcheck avec la difficulté et la vitesse données
Integrations[moduleType][moduleName].start = function(difficulty, speed)
-- Ajoute ton code ici
end
-- Annule le minijeu de skillcheck en cours
Integrations[moduleType][moduleName].cancel = function()
-- Ajoute ton code ici
end
Va dans le dossier des modules
jobs_creator/_modules/stash.Duplique un module existant
jaksam_inventory) et colle-le dans le même dossier comme modèle.Renomme la copie
Implémente les fonctions requises
local moduleType = "stash"
local moduleName = "yourModuleName"
Integrations.modules = Integrations.modules or {}
Integrations.modules[moduleType] = Integrations.modules[moduleType] or {}
Integrations[moduleType] = Integrations[moduleType] or {}
Integrations[moduleType][moduleName] = {}
table.insert(Integrations.modules[moduleType], moduleName)
-- Ouvre l'UI du stash pour le marqueur donné
Integrations[moduleType][moduleName].open = function(type, markerId)
-- Ajoute ton code ici
end
Va dans le dossier des modules
jobs_creator/_modules/textui.Duplique un module existant
ox_lib) et colle-le dans le même dossier comme modèle.Renomme la copie
Implémente les fonctions requises
local moduleType = "textui"
local moduleName = "yourModuleName"
Integrations.modules = Integrations.modules or {}
Integrations.modules[moduleType] = Integrations.modules[moduleType] or {}
Integrations[moduleType] = Integrations[moduleType] or {}
Integrations[moduleType][moduleName] = {}
table.insert(Integrations.modules[moduleType], moduleName)
-- Affiche un prompt de text UI avec le message donné
Integrations[moduleType][moduleName].show = function(message)
-- Ajoute ton code ici
end
-- Cache le prompt de text UI
Integrations[moduleType][moduleName].hide = function()
-- Ajoute ton code ici
end
