NJob - Gmod Job Creator and Editor - Script
The NJob addon enables server administrators to create, edit and customise jobs directly in Gmod without needing the DarkRP framework. The interface is designed to be intuitive, making it easy to create and manage jobs without modifying lua files. It's a particularly useful tool for those looking to configure game servers with custom roles while keeping management simple, optimised and efficient. NJob is flexible, user-friendly and an excellent alternative to DarkRP. Its aliases allow scripts designed to run on DarkRP to continue to run under NJob.
❮
❯
Description of NJob - Gmod Job Creator and Editor
Table of contents:- βΉοΈ What is NJob - Gmod Job Creator and Job Editor ?
- βοΈ The NJob administration panel
- βοΈ NJob server options adjustable from the NJob management menu
- π Create jobs and define settings for each job in real time
- ποΈ Customise the playermodels for each job in real time by configuring skins, bodygroups and colours
- π¨ Customise the display of the player's job on the HUD in real time
- π Real-time customizable verification system to condition access to a profession
- π₯ Definition of the hierarchical order of Jobs in a job category
- β¬οΈ Job progression system, levels and experience points
- π° Basic currency system included
- πΎ System for saving users' jobs when they log off
- β° Definition of a maximum occupation time for a Job
- π Modular, non-intrusive notification display system
- π DarkRP API and Alias (Addons for DarkRP work in NJob without DarkRP)
- β‘ Optimisation
- 𧩠Gmod addons compatible with Norda - Osgmod
- π·οΈ Managing permissions and management tasks
- π Documentation and tutorials for users
- π Support, technical assistance and updates
βΉοΈ What is NJob - Gmod Job Creator and Job Editor?
NJob - Gmod Job Creator and Editor is a Job System add-on for Gmod, designed to simplify the creation, editing and customisation of jobs on servers without requiring the DarkRP framework. Thanks to its intuitive interface, NJob enables administrators to manage all aspects of jobs in real time, without modifying lua files or restarting the server. Features include full customisation of playermodels, skins, bodygroups and colours, as well as advanced options for defining access conditions, such as player level, reputation or VIP status (no need for a system job whitelist in this case). NJob also offers a job progression system with levels and job experience points once you reach 100% progression the system can automatically promote, an integrated currency system, and saving of users' jobs when they log out. Compatible with DarkRP addons via aliases, NJob provides efficient and optimised role management, offering a flexible, high-performance alternative for administrators looking to set up game servers with personalised jobs (roles) and simplified management.
βοΈ The NJob administration panel
With NJob, everything is managed from a single menu, without requiring a single line of code. Forget about manual file modifications and frequent restarts of your server.
NJob is a complete, stand-alone job management system. It lets you create new jobs, edit existing ones, configure playermodels with their bodygroups, skins and colours when they can be coloured, define the weapons for each job, as well as their descriptions and access conditions, all in real time and without restarting.
Menu-driven configuration avoids syntax errors that can disrupt server operation.
From the same menu, you can also customise the way jobs are displayed on your HUD, as well as managing players' progress and currency.
βοΈ NJob server options adjustable from the NJob management menu
Regulate the behaviour of NJob on the server side by activating options from the interface, which are taken into account in real time. For example, if you want to change the salary distribution interval from 5 to 10 minutes, you can do this directly from the interface.
Here is the list of server options available in NJob :
1. Activation of the passive XP gain system for job progression.
2. Number of job XP points per cycle.
3. Duration of a salary cycle.
4. Notification in chat of XP gain per cycle (ON | OFF).
5. Job XP points reset when player dies (ON | OFF).
6. Job lost on player death, revert to server default job (ON | OFF).
7. Automatic assignment to a job group and to the level 1 job in that group (ON | OFF).
8. Automatic maintenance: deletion of inactive players from the database after a set number of days (0 = OFF).
9. Deletion of a job's default weapons after a job change (ON | OFF).
10. Respawn on job change (ON | OFF).
11. Respawn on job category change (ON | OFF).
12. Kill on job change (ON | OFF).
13. Activate the β/NJobβ chat command to open the NJob management menu (ON | OFF).
14. Activate the command to promote a targeted player, if authorised (ON | OFF).
15. Activate the command to demote a target player, if authorised (ON | OFF).
16. Display notifications in the console (ON | OFF).
17. Transition effect when changing jobs (ON | OFF).
18. Cooldown configuration for job change in seconds.
π Create jobs and define the settings of each job in real time
From the job creation menu, create and delete jobs, edit all the settings of a job in real time. Changes take effect immediately.
No Lua file to modify. No jobrelated.lua to edit. No need to restart.
What you can edit on a job in NJob :
1. The job name.
2. The job category: allows you to move a job easily to another category.
3. Job logo: assign a logo to a job via a simple image link (imgur).
4. Job colour code.
5. Define whether this is the server's default job.
6. Define whether the job should be saved so that the player can find it again when reconnecting.
7. Define the number of workstations available for a job.
8. Take into account occupied jobs saved (includes disconnected players in the calculation or not).
9. The number of Job EXP required to automatically move on to the next job.
10. Allow the job to edit jobs in its category.
11. Allows a member to be promoted.
12. Demote a member.
13. Permit the promotion and demotion of a member of equal level.
14. Manage NJob as a superadmin.
15. ESP jobs: display the position of each member of the same job group.
16. Admin ESP: display the position of everyone with a job on the map.
17. Define the job salary.
18. Define the maximum life of the player who gets the job.
19. Define the job's maximum armour.
20. Set the maximum duration of a job: the player will be removed from the job automatically after the set duration.
ποΈ Customise the playermodels for each job in real time by configuring the skin and bodygroup
NJob lets you choose the bodygroups and skins for each playermodel you assign to a job. When the player gets the job, they receive the playermodel in the form you've predefined, and you can adjust this in real time.
This option, which does not exist natively on DarkRP, is not normally visible in the F4 menu provided for DarkRP. However, I've updated my DarkRP F4 menu to include this new feature.
π¨ Customise the display of the player's job on the HUD in real time
You have the option of displaying the job on the HUD or disabling it if you already have your own HUD. The display can be adjusted from the interface: choose the position and size. The display is responsive.
You can also choose to display the jobs of other players you're targeting, with the option to disable it. Job progress can also be displayed on the HUD.
π Custom Check system that can be customised in real time to restrict access to a job
You have several options for restricting access to a job.
The first are options that can be ticked in a job's Custom Check menu:
Access by player level: Define the player level required to access the job. This requires a leveling system such as Vrondakis or Norda Advanced leveling system - Osgmod.
Access by reputation: Define the reputation / Karma required to access the job. This requires a Reputation and Karma system - Osgmod. If you do not wish to use this option, you can leave it enabled.
VIP Access: Tick the VIP Access box to reserve the job for VIP members of your server only. You'll need a system that allows you to assign the VIP rank to a player, such as Nor Admin Mod - Osgmod.
Staff Only Access: Check the Custom Check Staff Access box to reserve the job in question for staff members only.
Access by job required: Choose the job you need to access this job. Define the name of the required job.
Access by category: Restrict access to the job if the player is not in the job/faction category.
The last option is to write your own Custom Check directly from the panel.
π₯ Defining the hierarchical order of jobs within a job category
Within a job category, you can define which job is superior to another. This feature is useful for organising the order of power, as well as for promotion and demotion systems. It creates a logical order of progression and superiority within the category.
β¬οΈ Job, level and experience point progression system
You can activate the job progression system automatically, which means that the player earns experience points for the job they do. When they reach 100%, they are automatically promoted to the next higher job. You can configure the threshold required for each job. This option is individual for each job and can be configured directly from the interface.
π° Basic currency system included
Although an advanced currency system is available on Osgmod, compatible with DarkRP and NJob, NJob also includes a simple basic currency system. This system allows, initially, to have a currency system working with your shops initially planned for DarkRP. The aliases take into account the basic DarkRP variables to ensure that the currency systems are compatible. You can define player currencies directly from the management panel.
πΎ System for saving users' jobs when they log off
You can choose which jobs are saved and which are not. For example, if you decide that the mayor job is saved, the player can log out and come back with their job. You might be worried that if the player doesn't come back, the job will get stuck, but that's expected too. See 12.β° Set a maximum occupancy time for a Job - NJob - Osgmod.
β° Set a maximum occupancy time for a Job
You can limit the occupancy time of a job, which means that once this time has elapsed, the player is automatically moved to the default job you have defined for the server. If a job has a maximum limit of occupied positions, players will not be able to select it even if the current holder is offline. This system allows jobs to be freed up automatically. This is an option you can choose to enable or disable.
π Modular, sober and non-intrusive notification display system
When you change jobs, the screen goes dark and displays a message in the centre indicating the job change, along with the name of the job, before disappearing smoothly. This feature can be deactivated. You can choose to display it without the fade effect, or only in the system chat or in the client console.
π DarkRP API and Aliases (Addons for DarkRP work in NJob without DarkRP)
The aliases created in NJob make all my GMod addons for DarkRP compatible. For example, my F4 menu will work in the same way as if you had installed DarkRP. The list of aliases created for external DarkRP addons is provided in the wiki section. If you're not sure whether one of your addons is compatible, you can consult this list. See wiki: 66. API - List of DarkRP aliases in NJob
β‘ Optimisation
In terms of size and weight, NJob is designed to take up a minimum of space:
Client : 81 Kb (1 client file)
Server : 46 Ko (1 server file)
Workshop : 13 Kb or 0.001 Mb
On the network side, NJob uses an optimised method for sending and receiving data, guaranteeing that players arrive on the server smoothly and that job changes take place without spikes.
A stress test was carried out with 600 jobs, with no impact on performance: no freezes or loading delays.
You can always check the load on your server when changing jobs on DarkRP using the net_graph 3 console command. No overload was observed under NJob.
𧩠Norda - Osgmod compatible Gmod addons
None of these addons are mandatory, each can work independently of the others. I simply guarantee their compatibility.
1. Norda Advanced leveling system: An excellent alternative to Vrondakis, with support, regular updates, and a database and settings management panel.
2. Karma and Reputation System: Allows you to restrict access to jobs according to the player's reputation level (Good person / Bad person).
3. Nor Admin Mod: Offers an optimised administration system and VIP status system.
4. Gmod Money System + HUD Maker: Provides an advanced money system with customisable HUD and all its options, replacing the included money system.
5. DarkRP F4 Customizable menu: The F4 menus provided for DarkRP should work, but should not display defined bodygroups and skins, as this functionality does not exist in DarkRP. The Norda F4 Menu is adapted to the new features in NJob.
6. Norda Gmod Scoreboard Editor: Allows you to have a fully editable scoreboard and manage jobs from it, whether you are an admin or a job with the power to promote and/or demote.
7. Gmod Job NPC Customizable System: If you don't want to use an F4 menu to acquire a job, players can physically move around the game to get jobs via various NPCs you define.
8. Gmod Advanced Character Creator System: Create multiple characters in various jobs, with guaranteed compatibility between the separate databases of the different characters created.
π·οΈ Managing permissions and management jobs
You can define the hierarchy of jobs in a category, indicating whether one job is superior to another. You can also specify whether a job has the power to promote a user to a higher job in its category or demote a user to a lower job.
In addition, you can define whether a job has superadmin powers in NJob. A job with this level of permission will be able to manage all other jobs.
π Documentation and tutorials for users
Users without a special management rank will only see a list of all the jobs you have created on the server when they open the NJob management menu. There is therefore no need to create a wiki to list this information. The list updates automatically each time a job is added, deleted or modified, including details such as the salary set, job name and category.
π Support, technical assistance and updates
Like the majority of scripts on Osgmod NJob benefits from active and responsive technical support.
Path: garrysmod/addons/norda_njob_creator
- The AddWorkshop function is automatically added to the script server file and can be deactivated from the configuration file. : resource.AddWorkshop( 3285819477 )
- To add gmod workshop resources to your collection : NJob - Gmod Job Creator and Editor [Content Only] | Gmod Workshop
From the console with cmd: norda_njob_system
From Nor Admin Mod in the list of script shortcuts.
Assigned by default to the F3 key (Key modifiable from the config file).
For example, if you want to add teacher=true and IsTeacher=true (see image below).
RPExtraTeam is an alias for NExtraTeam. It is structured in the same way as DarkRP addons which depend on RPExtraTeam to continue to run under NJob and without the DarkRP gamemode installed.
You can also modify the category name, or invent a new one. In the example below. The job name is Citizen and the category is Citizens. All jobs with the same category name will be sorted and classified together, meaning that they belong to the same job group. Useful when you want to make categorizations, factions, armies, guilds, ect...
(1 et 2 on the picture)
-1 = OFF
7 = Allows changing the job display style on the HUD.
8 = Adjusts the horizontal position.
9 = Adjusts the vertical position.
10 = Adjusts the horizontal size.
11 = Adjusts the vertical size.
12 = Allows adjusting the background color of the display area.
13 = Allows adjusting the border color.
14 = Allows adjusting the text color.
Set time cycle in seconds for 10 minutes, e.g. 600 (1 on image),
Set the number of XP points per cycle (3 on image),
If the XP value per cycle is 0 or the cycle time is set to 0, then the automated job progression system will be disabled.
If a job is set to 0 XP required to move on to the next job, the system is disabled for that job only.
In the server settings menu: (4 on the image),
cfg.njob_money_system=1 -- NJob Money System 1=ON, 0=OFF.
DarkRP.getJobByCommand
DarkRP.notify
DarkRP.getCategories
player:getDarkRPVar("money | salary | level")
player:setDarkRPVar("money", value)
player:getMoney()
player:changeTeam(...)
This will clear the job table and generate the default jobs you have on DarkRP, Citizen, Medic, Mayor, ect...
This gives a basic example.
1- Set NJob configuration file cfg.Alias_DarkRP to 0
2- Start your DarkRP server.
Open the NJob menu and click on: Reset: And Extract DarkRP jobs (button 5 on the image).
The menu will close and reopen automatically with the new jobs extracted. You can reset cfg.Alias_DarkRP to 1 and restart without Gamemode or in sandbox mode.