NRank - Gmod's Advanced Customisable Ranking System - Script
Discover NRank, the advanced ranking system for your Garry's Mod server. Customize every aspect, from emblems to playermodels, skins, and bodygroups, hierarchical levels, and display them as you prefer, whether on the HUD customisable or in 3D above users' heads. Ensure an immersive and smooth gaming experience for your players and streamline community management with intuitive and comprehensive tools, along with seamless integration with other third-party scripts.
❮
❯
Description of NRank - Gmod's Advanced Customisable Ranking System
Summary:- βΉοΈ Script Description: NRank - Gmod's Advanced Ranking System
- π§° Real-time creation and configuration of ranks and their insignias
- π§π» Automated assignment of playermodels/skins/bodygroups/colors when a user obtains a rank
- π¨ Customization of rank display and progression on 2D and/or 3D HUD
- π¬ Different methods to obtain/give a rank, promote, or demote a user
- πΎ NRank's MySQL database management panel
- π Rank expiration and self-maintenance system
- π Comprehensive, fluid, and intuitive administration panel
- βοΈ Module management panel for enabling or disabling additional options
- π Grades wiki menu for players (Information system for existing grades on your server)
- ποΈ ESP Admin / Team system for viewing badges on the map
- 𧩠Already compatible scripts utilizing NRank's APIs automatically
- π» NRank's APIs for developers and its integration into third-party scripts
- β‘ Full optimization of the ranking system
- β 5-star alternative rank and progression system at NRank
- π‘ Universes to feed and ideas for grades on NRank, with or without DarkRP
βΉοΈ 1. Script Description: NRank - Gmod's Advanced Ranking System
NRank provides a comprehensive solution for advanced rank management on your Garry's Mod server. Through real-time creation and configuration of ranks and their insignias, administrators can customize every aspect, from rank acquisition conditions to unique playermodels, skins, and colors associated with each rank. The playermodel and skin binding system allows extensive customization of player appearance based on their rank, enhancing their immersion in the game. Additionally, automatic promotion through rank experience and efficient member management facilitate community management. Finally, NRank offers seamless integration with other third-party addons and compatible scripts, ensuring a smooth and consistent gaming experience for players.
Although it is possible to associate a DarkRP job or job category with self-assignment of a rank, the addon can also function without DarkRP. NRank is not dependent on DarkRP for its operation; here DarkRP is simply an option. If you ever choose to leave DarkRP, NRank will continue to function properly, even without this game mode.
π§° 2. Real-time creation and configuration of ranks and their insignias
NRank allows administrators or the hierarchy leader (optional) to create and configure ranks in real-time, including insignia customization, rank acquisition conditions (player level, reputation, number of rank experience points required to move to the next rank), permissions, access, playermodel associated with a rank, skins, bodygroups, and unique colors. See the product wiki for more details.
π§π» 3. Automated assignment of playermodels/skins/bodygroups/colors when a user obtains a rank
Playermodel, Bodygroup, and Skin Binding System: With NRank, administrators can bind playermodels, skins, and bodygroups to specific ranks, offering even more customization of player appearance based on their rank. This feature enhances player immersion by providing unique visual identities based on their progression in the game and rank.
π¨ 4. Customization of rank display and progression on 2D and/or 3D HUD
Customizable 2D and 3D HUD: With NRank, administrators can customize the HUD in real-time to display rank insignias in both 2D and 3D, or completely disable display if necessary. Customization options include size, position, insignia style, as well as displaying the rank name, offering a unique and adaptable visual experience according to the server owner's preferences. This extensive customization creates immersion for players and reinforces the server's visual identity while reducing costs and risks (Discord scam, unsatisfactory job) associated with hiring third-party/unknown developers for modifications.
1. Customization of 2D HUD display:
- Display rank progression in % or indicating the progression of rank EXP compared to the required rank experience points to be automatically promoted to the next rank. If you opt for a less automated system like promotion only by DarkRP job or manual, you have the freedom to disable the progression display (ON|OFF).
- Display player name on 2D HUD (ON|OFF).
- Display rank title on 2D HUD (ON|OFF).
- Disable 2D HUD when the player has no rank (ON|OFF).
- Aim at the player to display their rank on 2D HUD (ON|OFF).
- Modify the background color of the rank display area and its insignia.
- Modify the text color of the display on the 2D HUD.
- Completely disable the 2D HUD. (Progression also displays in my inventory system and my Character System)
2. Customization of 3D HUD display: Similarly, rank display on the 3D HUD can be customized according to administrators' preferences, offering increased visual freedom for players:
- You will have the option to disable the 3D HUD according to your own choice (ON|OFF).
- Display everyone's insignias (ON|OFF).
- Display only insignias on players (ON|OFF).
- Display the targeted player's rank name only. After a while when everyone knows the insignias, it is useless to saturate the display, especially since the script includes a knowledge base of existing insignias on the server (ON|OFF).
- Display player name on 3D HUD (ON|OFF).
- Disable 2D HUD when the player has no rank (ON|OFF).
- Size of the insignia above the heads.
So, there are several ways to display and know a player's rank in front of you, it's up to you to choose.
π¬ 5. Different methods to obtain/give a rank, promote, or demote a user
Automatic promotion through the rank experience system includes:
Through the passive experience gain system by playtime, a player holding a rank will passively earn experience points. When the maximum experience threshold is reached, the player automatically advances to the next rank. You can manually disable passive experience from the management panel without needing Lua or GLua programming knowledge.
You can also manually promote a player, either as an administrator or as a member with permissions defined by the administrator in NRank's management and rank creation menu.
Additionally, time and experience gain are configurable from the management menu.
Once you have the necessary permissions, you have several ways to upgrade a member of your group:
- Through the chat command /promote and /demote on a player you are watching.
- If you use my scripts, such as the chat system, the rank will be displayed next to users' messages. By clicking on it, you will have the option to promote/demote them without searching.
- Through my administration system from player management, the option will appear by clicking on the online player's line.
Similarly, through my customizable scoreboard system, the rank will be displayed next to players' names automatically, and by clicking on the rank insignia in any of my other scripts, the promotion or demotion option will be offered to you.
- If you use DarkRP (or NJob), you can associate a rank with a job or job category from the Rank configuration. You just have to put the name of the job or category. Once the player gets the job, they will then get the rank. This is only an optional feature.
The idea is to leverage my APIs that I have created in NRank in my other scripts to simplify usage and provide a demonstration of possible associations with other scripts that already work right out of the box.
πΎ 6. NRank's MySQL database management panel
Efficient Member Management: With NRank, member management is simplified. Administrators can easily promote, demote, or exclude players based on various criteria specific to your project, such as their behavior or contribution to the server or group, ensuring a highly sought-after hierarchical gaming environment in RP. The optional leveling and reputation (Karma) system allows for access restrictions based on player level and reputation, reinforcing community management. Additionally, NRank offers the ability to configure these settings flexibly via an intuitive management panel, ensuring optimal adaptation to the specific needs of your community.
π 7. Rank expiration and self-maintenance system
NRank offers a rank expiration and self-maintenance system, automatically removing ranks from inactive players after a period defined by administrators. It also allows assigning a rank for a specified duration; by default, the duration is indefinite. In the management menu, you will be able to see the list of all players with a rank and their expiration time, if applicable.
π 8. Comprehensive, fluid, and intuitive administration panel
With a fluid and intuitive administration panel, administrators or ranked members can perform all necessary actions to manage ranks, users, and NRank settings with ease. This panel offers an optimal user experience, allowing easy navigation and quick mastery of management features.
Users who are neither administrators nor ranked members accessing the panel will only see the list of existing ranks on your server. It then becomes an information panel displaying all existing ranks on your server, listed with their associated insignias, name, and hierarchical level.
βοΈ 9. Module management panel for enabling or disabling additional options
NRank offers a module management panel in its menu, allowing administrators to customize system features and extensions according to their specific needs. With intuitive buttons, you can easily enable or disable necessary options, and each variable is clearly described from the panel.
Here is an overview of the available options:
mod_xptime: Activates the passive XP system to automate rank progression. (Loop duration in seconds. 0 = OFF).
mod_activity_xp: EXP gain per loop (quantity).
mod_deathreset: Rank progression drops to zero if the player dies (ON|OFF).
mod_deathrklost: If the player dies, they will be demoted (ON|OFF).
mod_chatcmd: Chat command: /NRank to open the NRank menu (ON|OFF).
mod_chatpromot: Chat command: /NPromote to promote a targeted player (if the user has the power to promote) (ON|OFF).
mod_chatdemot: Chat command: /NDemote to demote a targeted player (if the user has the power to demote) (ON|OFF).
auto_assign: New users arriving without a rank are automatically assigned to the first grade of a category at random (ON|OFF).
mod_getxp_notif: Notify in chat when gaining rank progression EXP (ON|OFF).
mod_db_clean1: Automatic maintenance: Automatically remove expired ranks (ON|OFF).
mod_db_clean2: Automatically remove inactive players from the database (number of days of inactivity).
mod_rem_rank: Remove rank and progression when the player changes jobs to another job category (DarkRP or NJob System) (ON|OFF).
π 10. Grades wiki menu for players (Information system for existing grades on your server)
Clear and Understandable Hierarchy: With NRank, players have access to a clear knowledge base listing all ranks and their respective permissions. This allows them to easily understand the server's hierarchical structure, promoting information, communication, and collaboration within the community. Additionally, a panel displaying all ranks in hierarchical order is available, providing players with the opportunity to self-inform.
The user will therefore be able to view this table of grades, and the administrator will also be able to open this table for the user who requests it.
ποΈ 11. ESP Admin / Team system for viewing badges on the map
The Admin ESP (Extra Sensory Perception) system allows administrators to activate an overview of each location of ranked and unranked players across the map. This feature provides administrators with an overview of each player's position, making it easier to monitor and manage player activity on the server.
𧩠12. Already compatible scripts utilizing NRank's APIs automatically
None of these scripts is mandatory; they work independently from each other. They are optional and adaptable to your needs.
-Gmod Scoreboard /Tabmenu Editable: In the scoreboard, players' ranks are displayed, showcasing their skills and determination. Explore the diversity of ranks as they elegantly appear alongside players' names, providing an instant insight into their status and experience.
- Gmod Advanced Chat Multi-channel: In the chat, players' ranks add an extra dimension to interaction. Discover the diversity of ranks as they proudly display next to players' names. Click on a player's rank in your category if you have the power to promote or demote them.
- Gmod Advanced Character Creator System: Each character has its distinct rank with my Character System, bringing its own color and perspective to the story. Explore the various facets of these characters, each proudly carrying its own emblem, essence, and together, weaving a fascinating tapestry of diversity and complexity. Each character will have its own progression, encouraging you to explore other factions, guilds, or professions.
- Gmod Advanced Inventory System: If you prefer not to display ranks on the HUD, you can still check this information in the inventory interface. Some may prefer to lighten the HUD; it's an alternative option. The player can open their inventory to see their rank in the information panel.
- Nor Admin Mod for GMod: Centralize all your rank management operations in one place, eliminating the hassle of navigating between multiple interfaces from the admin panel. With Nor Admin Mod, you can navigate through all the interfaces of my different products from a single menu.
- Gmod Leveling System: Set conditions for obtaining a rank based on the user's level in the rank design.
- Gmod Karma and Reputation System: Set conditions for obtaining a rank based on the player's reputation and karma in the rank configuration.
π» 13. NRank's APIs for developers and its integration into third-party scripts
Compatibility with Third-party Addons: NRank is designed to be compatible with popular third-party addons, offering maximum flexibility to server administrators to integrate additional features.
The provided APIs allow for seamless integration with other extensions, ensuring a smooth and consistent gaming experience for players. Its APIs are already exploited in all my compatible scripts:
CLIENT and SERVER SIDE:
player:GetUserNRank() -- Returns the name of a rank. Used for indexing.
player:GetUserNRankName() -- Returns the friendly name of a rank.
player:GetNRankGroup() -- Returns the group name of a rank.
player:GetEXPNRank(xp) -- Returns the experience points needed to occupy a rank.
player:GetMaxEXPNRank() -- Returns the maximum experience threshold to reach for promotion to the next rank.
player:GetNRankLvL() -- Returns the hierarchical level of a rank.
SERVER SIDE:
player:SetUserNRank(rank, save, by) -- Allows assigning a rank without condition. rank = Rank name, save = Boolean to force save, by = String to save the source (e.g., if the function is triggered by the system, the gamemode, another addon, or the name of a user via the admin panel).
player:SetEXPNRank(xp, bool) -- Sets the experience points of the occupied rank.
player:addRKXP(xp) -- Adds experience points for rank progression.
player:PromotUserNRank() -- Allows promoting the user's rank.
player:DemotUserNRank() -- Allows demoting the user's rank.
player:NRankAutoAssign() -- Allows assigning a rank randomly to a player.
player:NRankIsAbove(rank) -- Checks if the rank is above.
player:UserPromotUserNRank(target) -- Allows promoting a target (works if the required conditions are met).
player:UserDemotUserNRank(target) -- Allows demoting a target (works if the required conditions are met).
β‘ 14. Comprehensive optimization of the rank system
The script has been designed for minimal weight, the addon fits into 3 files:
A configuration file of 12kb,
A client-side lua file of 63 kb,
A server-side lua file of 32 kb.
The material resources sent to the steam workshop are 20.3 KB.
NRank will not be one of the scripts that add loading time to your server.
β 15. 5-star alternative rank and progression system at NRank
1- MRS - Advanced Rank System (Gmodstore)
π‘ 16. Universes to feed and ideas for grades on NRank, with or without DarkRP
The script is fully customizable, so you can explore a multitude of universes on your server, or let your imagination run wild!
Here are a few examples of the grades you can achieve with NRank:
Naruto - Hokage, Jounin, Chunin, Genin
Medieval - King, Knight, Squire, Peasant
Star Wars - Jedi Master, Sith Lord, Bounty Hunter, Stormtrooper
Clone Wars RP - Jedi Council, Clone Commander, Clone Trooper, Separatist Leader
Anim RP - Alpha, Beta, Gamma, Omega
Harry Potter - Headmaster, Professor, Prefect, Student
Zombie Apocalypse - Survivor, Scavenger, Leader, Zombie
Cyberpunk - Corporate Executive, Hacker, Street Samurai, Netrunner
Wild West - Sheriff, Outlaw, Gunslinger, Prospector
Superhero - Superhero, Sidekick, Villain, Civilian
Pirates - Captain, First Mate, Swashbuckler, Deckhand
Ancient Egypt - Pharaoh, High Priest, Soldier, Peasant
Fantasy - Wizard, Warrior, Ranger, Rogue
Post-Apocalyptic - Warlord, Survivor, Raider, Mutant
Fairy Tale - Prince/Princess, Witch, Knight, Peasant
Mythological - God/Goddess, Hero, Monster, Mortal
Samurai - Daimyo, Ronin, Samurai, Peasant
Space Exploration - Captain, Engineer, Scientist, Alien
Spy - Agent, Handler, Double Agent, Analyst
Western - Marshal, Gunslinger, Gambler, Saloon Owner
Martial Arts - Sensei, Disciple, Fighter, Monk
Victorian Era - Aristocrat, Servant, Detective, Inventor
Futuristic City - Megacorp CEO, Cyborg, Hacker, Citizen
Dystopian Society - Elite, Rebel, Worker, Outcast
Jurassic Park - Park Warden, Paleontologist, Visitor, Dinosaur
Game of Thrones - King/Queen, Lord/Lady, Knight, Peasant
Mythical Creatures - Dragon, Phoenix, Unicorn, Werewolf
Survival Island - Castaway, Tribal Chief, Explorer, Cannibal
Ancient Rome - Emperor, Senator, Gladiator, Slave
High School - Principal, Teacher, Student Council, Student.
Path: garrysmod/addons/norda_nrank_system
- The AddWorkshop function is automatically added to the script server file and can be deactivated from the configuration file. : resource.AddWorkshop( 3225710557 )
- To add gmod workshop resources to your collection : NRank - Gmod's Advanced Customisable Ranking System [Content Only] | Gmod Workshop
By console command: norda_nrank_system
Chat: /nrank
Through my admin system interface: Nor Admin Mod for GMod
By configuring the F3 bind in the configuration file
However, NRank is compatible with many of my scripts.
For example, with my Chat System: Players' rank is displayed next to their name in the chat, those with the power to do so can promote a user from the badge displayed in the chat by clicking on it, same thing for demoting, it saves searching, this same action is possible via my Scoreboard System (Tab Menu), and my Nor Admin Mod System.
The badge is displayed on my character creation and selection system (Character System), each character can have its own rank.
If you want to restrict a rank to a reputation then my Karma and Reputation System will do that easily.
If you want to restrict access to a rank according to the user's level then my Leveling System will do the job very well.
If you don't want to display the rank on the HUD via NRank you can lighten it up by disabling it because you like a minimalist display, in which case you'll have the option of displaying it in the inventory system information menu.
All you have to do is enter the name of the job or job category in the space provided in the grade setting.
If this option does not appear on an older configuration, you'll need to reset the grades.
All you have to do is write the job name in the place provided in the grade setting.
If the option does not appear on an older configuration, you will need to reset the grades.