Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- TO "TRANSFER" THE OLD DATA USE:
- jobranks_jobs in your ingame console,
- It will print all jobnames and IDs, simply use the ID as the jobranks ID Identifier and it will use the old data
- For example:
- Jobname: Citizen, ID: 1
- Jobname: Civil Protection, ID: 2
- Jobname: Gangster, ID: 3
- Jobname: Mob boss, ID: 4
- Jobname: Gun Dealer, ID: 5
- Jobname: Medic, ID: 6
- Jobname: Civil Protection Chief, ID: 7
- Jobname: Mayor, ID: 8
- Jobname: Hobo, ID: 9
- If you want to use old CP data for the new structure simply put:
- Old:
- JBR_SetupRankTable(TEAM_POLICE, 8, 15, ".", 5, 5, false)
- New:
- JBR_SetupRankTable(2, 8, 15, ".", 5, 5, false)
- And then you also have to add:
- JBR_AddJobToRankTable(TEAM_POLICE, 2)
- This way you can make multiply jobs use same jobrank table and progression
- Multiply jobs can now use the same jobrank table
- No longer depends on TEAM IDs, hence adding new jobs will not make it load incorrect data (Data "loss" fix)
- Now automaticly adjusts reqranks if setup improperly
- Config changes:
- Added JBR_AddJobToRankTable(JOB, JOBRANKTABLE_ID)
- Added .JobsRankTables
- ]]
- JobRanksConfig = JobRanksConfig or {}
- //Use MySQL or not, edit database in sv_mysql.lua
- JobRanksConfig.MYSQLOO = false
- //Who can access admin commands etc
- JobRanksConfig.AdminAccessCustomCheck = function(Player)
- if Player:IsAdmin() then
- return true
- else
- return false
- end
- end
- //How often should it update and save?
- JobRanksConfig.UpdateTimer = 30
- //Players Required to be able to earns playtime through timer
- JobRanksConfig.PlayersRequired = 0
- //Should it give SALARY*Bonus instead of SALARY+Bonus?
- //NOTE: This calculates BaseSalary + (BaseSalary/100*Bonus)
- //So if you set BonusSalary to 15 it will be 15% of the original salary
- JobRanksConfig.BonusSalaryPercent = true
- //Disables progression if player is AFK
- JobRanksConfig.DisableAFKProgress = true
- //NOTE: These uses DarkRPs chatcommand system, which means it will always use / before the command so by default it would be -> /rpromote NICK REASON
- //Chatcommand to promote
- JobRanksConfig.PromotionChatCommands = {"rpromote"}
- //Chatcommand to demote
- JobRanksConfig.DemotionChatCommands = {"rdemote"}
- //Should ranks reset when you die?
- JobRanksConfig.ResetRanksOnDeath = false
- //HUD Jobranks
- JobRanksConfig.HUD = true
- //Defined 0-100, 0 is as much left as it can and 100 is as much right as it can
- JobRanksConfig.UIW = 100
- //Defined 0-100, 0 is as much up as it can and 100 is as much down as it can
- JobRanksConfig.UIH = 0
- --[[
- bar = a bar for progress
- time = text for time left
- number = numbers only
- ]]
- JobRanksConfig.HUDType = "bar"
- --[[
- 1 = Displays: Job
- 2 = Displays: Jobrank
- 3 = Displays: Job (JobRank)
- ]]
- JobRanksConfig.ShowJobType = 2
- JobRanksConfig.UIBoxColor = Color(100,100,100,200)
- JobRanksConfig.UIOutlineColor = Color(200, 200, 200, 200)
- JobRanksConfig.UITextColor = Color(255,255,255,200)
- JobRanksConfig.BarBackground = Color(0,0,0,255)
- JobRanksConfig.Bar = Color(0,200,0,255)
- JobRanks = JobRanks or {}
- JobRanksConfig.JobJoinRestrictments = JobRanksConfig.JobJoinRestrictments or {}
- JobRanksConfig.JobPermissionList = JobRanksConfig.JobPermissionList or {}
- JobRanksConfig.JobsRankTables = JobRanksConfig.JobsRankTables or {}
- local function JBR_InitRanks()
- timer.Simple(3, function()
- ------------------------------------------
- ----------------Premissions----------------
- -------------------------------------------
- --[[
- JBR_SetupRestrictedJob(Job, RequiredJobs)
- Job - The job to be restricted
- RequiredJobs - Table of the ranks you must reach in that specific job {[Job] = RequiredRank, [Job2] = RequiredRank} etc
- ]]
- ---
- ---Ограничения, какая работа должна выходить из какой.
- ---
- -- Кадет может стать рекрутом только когда получит ранг 2
- JBR_SetupRestrictedJob(TEAM_RECURIT, {[4] = 2}) -- Стать шефом можно только после уровня полиции 8
- -- Рекрут может стать ПОЛИЦЕЙСКИМ только когда получит ранг 3
- JBR_SetupRestrictedJob(TEAM_POLICE, {[5] = 3}) -- Стать шефом можно только после уровня полиции 3
- JBR_SetupRestrictedJob(TEAM_RPOLICE, {[5] = 3}) -- Стать шефом можно только после уровня полиции 3
- JBR_SetupRestrictedJob(TEAM_POLICESCIENTIFIC, {[1] = 3}) -- Стать шефом можно только после уровня полиции 3
- --
- JBR_SetupRestrictedJob(TEAM_USSS, {[1] = 11}) -- Стать шефом можно только после уровня полиции 3
- JBR_SetupRestrictedJob(TEAM_FBI, {[1] = 3}) -- Стать шефом можно только после уровня полиции 3
- JBR_SetupRestrictedJob(TEAM_CIA, {[1] = 3}) -- Стать шефом можно только после уровня полиции 3
- JBR_SetupRestrictedJob(TEAM_FBI_SWAT, {[1] = 3}) -- Стать шефом можно только после уровня полиции 3
- JBR_SetupRestrictedJob(TEAM_SWAT, {[1] = 2}) -- Стать шефом можно только после уровня полиции 3
- JBR_SetupRestrictedJob(TEAM_DETECTIVE, {[1] = 3}) -- Стать шефом можно только после уровня полиции 3
- JBR_SetupRestrictedJob(TEAM_MARSHAL, {[1] = 3}) -- Стать шефом можно только после уровня полиции 3
- -- Полицейский может стать ШЕФОМ ПОЛИЦИИ только когда получит ранг 8
- JBR_SetupRestrictedJob(TEAM_CHIEF, {[1] = 11}) -- Стать шефом можно только после уровня полиции 8
- JBR_SetupRestrictedJob(TEAM_MAIN_FBI, {[1] = 11}) -- Стать шефом можно только после уровня полиции 8
- JBR_SetupRestrictedJob(TEAM_MAIN_CIA, {[1] = 11}) -- Стать шефом можно только после уровня полиции 8
- --[[
- JBR_SetupJobPermissionList(Job, AllowedJobs)
- Job - Job that is allowed to promote/demote
- AllowedJobs - The jobs the job is allowed to promote/demote {[Job] = true, [Job2] = true} etc
- ]]
- ---
- ---Повышения.
- ---Кто может повышать и кого
- ---
- JBR_SetupJobPermissionList(TEAM_POLICE, { -- Полицейский повышает тех кто идет ниже в списке (Коп повышает с определенного уровня)
- [TEAM_POLICE] = true, -- Может повысить другого копа ниже по званию
- [TEAM_RPOLICE] = true, -- Дорожная полция, рекрут (Пока не решено)
- [TEAM_RECURIT] = true, -- Рекрут (Пока не решено)
- [TEAM_KADET] = true, -- Кадет (Пока не решено)
- })
- JBR_SetupJobPermissionList(TEAM_CHIEF, { -- Глава полиции может повышать всех кто ниже в списке.
- [TEAM_POLICE] = true,
- [TEAM_RPOLICE] = true,
- [TEAM_SWAT] = true,
- --[TEAM_FBI] = true,
- [TEAM_POLICESCIENTIFIC] = true,
- [TEAM_KADET] = true,
- [TEAM_RECURIT] = true
- })
- JBR_SetupJobPermissionList(TEAM_MAIN_FBI, { -- Глава полиции может повышать всех кто ниже в списке.
- [TEAM_FBI] = true
- })
- JBR_SetupJobPermissionList(TEAM_MAIN_CIA, { -- Глава полиции может повышать всех кто ниже в списке.
- [TEAM_CIA] = true
- })
- -------------------------------------------
- --
- --
- --
- --
- -------------------------------------------
- ----------------TEAM_POLICE----------------
- -------------------------------------------
- --JBR_SetupRankTable( "1" Job, "9" MaxRank, "15" BonusSalary, "." PrefixSeparator, "5" Warrant, "5" Wanted, "false" DisableProgression)
- JBR_SetupRankTable(1, 9, 15, ".", 3, 3, false)-- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
- ---Rank Police---
- --JBR_SetupRank(1, 0, "Cadet", "Ct", {Promote = false, Demote = false}, {Health = 2, Armor = 0}, {}, Material("jobranks/police/rank1.png"))
- --JBR_SetupRank(2, 0, "RECURIT Officer", "Rct", {Promote = false, Demote = false}, {Health =3 , Armor = 3}, {}, Material("jobranks/police/rank1.png"))
- JBR_SetupRank(1, 0, "Probationary Police Officer", "PpO", {Promote = false, Demote = false}, {Health = 5, Armor = 5}, {}, Material("jobranks/police/rank1.png"))
- JBR_SetupRank(2, 2500, "Police Officer", "PoFF", {Promote = false, Demote = false}, {Health = 7, Armor = 7}, {}, Material("jobranks/police/rank1.png"))
- JBR_SetupRank(3, 5000, "Detective", "Det", {Promote = false, Demote = false}, {Health = 10, Armor = 10}, {}, Material("jobranks/police/rank2.png"))
- JBR_SetupRank(4, 7000, "Detective 1St", "Det. I", {Promote = false, Demote = false}, {Health = 15, Armor = 15}, {}, Material("jobranks/police/rank4.png"))
- JBR_SetupRank(5, 14000, "Detective 2nd", "Det. II", {Promote = false, Demote = false}, {Health = 15, Armor = 15}, {}, Material("jobranks/police/rank4.png"))
- JBR_SetupRank(6, 28000, "Detective 3rd", "Det. III", {Promote = false, Demote = false}, {Health = 15, Armor = 15}, {}, Material("jobranks/police/rank4.png"))
- JBR_SetupRank(7, 56000, "Sergeant", "Sgt", {Promote = false, Demote = false}, {Health = 20, Armor = 20}, {}, Material("jobranks/police/rank4.png"))
- JBR_SetupRank(8, 112000, "Lieutenant", "Lt", {Promote = false, Demote = true, MaxDemotion = 4}, {Health = 25, Armor = 25}, {"weapon_pumpshotgun2"}, Material("jobranks/police/rank5.png"))
- JBR_SetupRank(9, 224000, "Captain", "Cpt", {Promote = true, Demote = true, MaxPromotion = 5}, {Health = 30, Armor = 30}, {}, Material("jobranks/police/rank6.png"))
- JBR_SetupRank(10, 448000, "Deputy Inspector", "DI", {Promote = true, Demote = true, MaxPromotion = 5, MaxDemotion = 3}, {Health = 35, Armor = 35}, {"weapon_mp52"}, Material("jobranks/police/rank7.png"))
- JBR_SetupRank(11, 896000, "Inspector", "Insp", {Promote = true, Demote = true}, {Health = 40, Armor = 40}, {}, Material("jobranks/police/rank8.png"))
- JBR_AddJobToRankTable(TEAM_POLICE, 1)
- --[[ МЫ КОПИРУЕМ РАНГИ КОПА РАНГАМ ДОРОЖНОЙ ПОЛИЦИИ ]]
- JBR_CopyRankTable(1, 2)
- JBR_AddJobToRankTable(TEAM_RPOLICE, 2)
- JBR_CopyRankTable(1, 13)
- JBR_AddJobToRankTable(TEAM_SWAT, 13)
- --[[ МЫ КОПИРУЕМ РАНГИ КОПА РАНГАМ ДОРОЖНОЙ ПОЛИЦИИ ]]
- JBR_CopyRankTable(1, 6)
- JBR_AddJobToRankTable(TEAM_POLICESCIENTIFIC, 6)
- --[[ МЫ КОПИРУЕМ РАНГИ КОПА РАНГАМ ДОРОЖНОЙ ПОЛИЦИИ ]]
- JBR_CopyRankTable(1, 9)
- JBR_AddJobToRankTable(TEAM_CIA, 9)
- JBR_CopyRankTable(1, 10)
- JBR_AddJobToRankTable(TEAM_CIA, 10)
- JBR_CopyRankTable(1, 11)
- JBR_AddJobToRankTable(TEAM_FBI_SWAT, 11)
- --JBR_SetupRankModel(1, {{Model = "models/player/police.mdl", Bodygroups = {{0,0},{2,1}}, Skin = 1}})--Sets model, two custom bodygroups and skin to 1
- --Skipped rank 2, it will now set default model on rank 2
- --JBR_SetupRankModel(3, {{Model = "models/player/police.mdl", Bodygroups = {{0,0},{2,1}}, Skin = 1},{Model = "models/player/police_fem.mdl", Bodygroups = nil, Skin = 3}}) -- EXAMPLE OF MULTIPLY MODELS FOR ONE RANK
- --JBR_SetupRankModel(4, {{Model = "models/player/police_fem.mdl", Bodygroups = nil, Skin = 3}})--Sets model, no bodygroups, sets skin to 3
- --JBR_SetupRankModel(5, {{Model = nil, Bodygroups = nil, Skin = 2}})--Sets default model, no bodygroups, sets skin to 2
- ---Loadout---
- --JBR_AddLoadout(5, {"weapon_pumpshotgun2"})
- --JBR_AddLoadout(7, {"weapon_mp52"})
- ---Entity---
- --//JBR_AddEntity(5, {"money_printer"})
- ---Shipments---
- --//JBR_AddShipment(5, {"weapon_pumpshotgun2"})
- --------------------------------------------
- -----------------TEAM_POLICE----------------
- --------------------END---------------------
- -- --
- -------------------------------------------
- ----------------TEAM_RPOLICE----------------
- -------------------------------------------
- --[[JBR_AddJobToRankTable(TEAM_RPOLICE, 2)
- --JBR_SetupRankTable( "1" Job, "8" MaxRank, "15" BonusSalary, "." PrefixSeparator, "5" Warrant, "5" Wanted, "false" DisableProgression)
- JBR_SetupRankTable(2, 8, 15, ".", 5, 5, false)-- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
- ---Rank Police---
- --JBR_SetupRank(1, 0, "Cadet", "Ct", {Promote = false, Demote = false}, {Health = 2, Armor = 0}, {}, Material("jobranks/police/rank1.png"))
- --JBR_SetupRank(2, 0, "RECURIT Officer", "Rct", {Promote = false, Demote = false}, {Health =3 , Armor = 3}, {}, Material("jobranks/police/rank1.png"))
- --JBR_SetupRank(3, 0, "Probationary Police Officer", "PpO", {Promote = false, Demote = false}, {Health = 5, Armor = 5}, {}, Material("jobranks/police/rank1.png"))
- --JBR_SetupRank(4, 0, "Police Officer", "PoFF", {Promote = false, Demote = false}, {Health = 7, Armor = 7}, {}, Material("jobranks/police/rank1.png"))
- JBR_SetupRank(1, 1500, "Detective", "Det", {Promote = false, Demote = false}, {Health = 10, Armor = 10}, {}, Material("jobranks/police/rank2.png"))
- JBR_SetupRank(2, 3000, "Detective II", "Det. II", {Promote = false, Demote = false}, {Health = 15, Armor = 15}, {}, Material("jobranks/police/rank4.png")
- JBR_SetupRank(3, 6000, "Sergeant", "Sgt", {Promote = false, Demote = false}, {Health = 20, Armor = 20}, {}, Material("jobranks/police/rank4.png"))
- JBR_SetupRank(4, 12000, "Lieutenant", "Lt", {Promote = false, Demote = true, MaxDemotion = 4}, {Health = 25, Armor = 25}, {"weapon_pumpshotgun2"}, Material("jobranks/police/rank5.png"))
- JBR_SetupRank(5, 20000, "Captain", "Cpt", {Promote = true, Demote = false, MaxPromotion = 5}, {Health = 30, Armor = 30}, {}, Material("jobranks/police/rank6.png"))
- JBR_SetupRank(6, 30000, "Deputy Inspector", "DI", {Promote = true, Demote = true, MaxPromotion = 5, MaxDemotion = 3}, {Health = 35, Armor = 35}, {"weapon_mp52"}, Material("jobranks/police/rank7.png"))
- JBR_SetupRank(7, 45000, "Inspector", "Insp", {Promote = true, Demote = true}, {Health = 40, Armor = 40}, {}, Material("jobranks/police/rank8.png"))
- JBR_SetupRankSpawnFunc(false, function(Player) print(Player, "all ranks") end) -- This custom lua function will run for ALL ranks upon SPAWN
- JBR_SetupRankSpawnFunc(1, function(Player) print(Player, "rank 1") end) -- This custom lua function will run for ONLY RANK 1 upon SPAWN
- ---PM---
- --JBR_SetupRankModel(1, {{Model = "models/player/police.mdl", Bodygroups = {{0,0},{2,1}}, Skin = 1}})--Sets model, two custom bodygroups and skin to 1
- --Skipped rank 2, it will now set default model on rank 2
- --JBR_SetupRankModel(3, {{Model = "models/player/police.mdl", Bodygroups = {{0,0},{2,1}}, Skin = 1},{Model = "models/player/police_fem.mdl", Bodygroups = nil, Skin = 3}}) -- EXAMPLE OF MULTIPLY MODELS FOR ONE RANK
- --JBR_SetupRankModel(4, {{Model = "models/player/police_fem.mdl", Bodygroups = nil, Skin = 3}})--Sets model, no bodygroups, sets skin to 3
- --JBR_SetupRankModel(5, {{Model = nil, Bodygroups = nil, Skin = 2}})--Sets default model, no bodygroups, sets skin to 2
- ---Loadout---
- --JBR_AddLoadout(5, {"weapon_pumpshotgun2"})
- --JBR_AddLoadout(7, {"weapon_mp52"})
- ---Entity---
- --//JBR_AddEntity(5, {"money_printer"})
- ---Shipments---
- --//JBR_AddShipment(5, {"weapon_pumpshotgun2"})]]
- --------------------------------------------
- -----------------TEAM_POLICE----------------
- --------------------END---------------------
- --
- --------------------------------------------
- -----------------TEAM_CHIEF-----------------
- --------------------------------------------
- --JBR_SetupRankTable( "2" Job, "4" MaxRank, "30" BonusSalary, "." PrefixSeparator, "1" Warrant, "1" Wanted, "false" DisableProgression)
- --JBR_SetupRankTable( "2" ИД Работы, "4" Макс ранг, "30" Бонус к зарплате, "." Разделитель префиксов, "1" Ордера, "1" Розыск, "false" Отключить прогресс)
- ---Rank Chief of police---
- JBR_SetupRankTable(3, 4, 30, ".", 1, 1, false) -- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
- --JBR_SetupRank( уровень , XP, "Звание", "Соркащенное звание", {Promote = false, Demote = false}, {Health = 5, Armor = 5}, {}, nil)
- JBR_SetupRank(1, 0, "Deputy Chief", "Dh", {Promote = true, Demote = true}, {Health = 5, Armor = 5}, {}, nil)
- JBR_SetupRank(2, 5000, "Assistant Chief", "Asst", {Promote = true, Demote = true}, {Health = 25, Armor = 25}, {}, nil)
- JBR_SetupRank(3, 20000, "Bureau Chief", "Bc", {Promote = true, Demote = true}, {Health = 50, Armor = 50}, {}, nil)
- JBR_SetupRank(4, 40000, "Chief of Department", "Chief", {Promote = true, Demote = true}, {Health = 100, Armor = 100}, {}, nil)
- JBR_AddJobToRankTable(TEAM_CHIEF, 3)
- JBR_CopyRankTable(3, 7)
- JBR_AddJobToRankTable(TEAM_MAIN_CIA, 7)
- JBR_CopyRankTable(3, 8)
- JBR_AddJobToRankTable(TEAM_MAIN_FBI, 8)
- --------------------------------------------
- -----------------TEAM_CHIEF-----------------
- --------------------END---------------------
- --
- -------------------------------------------
- ----------------TEAM_KADET-----------------
- -------------------------------------------
- --JBR_SetupRankTable( "1" Job, "9" MaxRank, "15" BonusSalary, "." PrefixSeparator, "5" Warrant, "5" Wanted, "false" DisableProgression)
- JBR_SetupRankTable(4, 2, 0, ".", nil, nil, true)-- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
- ---Rank Police---
- JBR_SetupRank(1, 0, "Cadet", "Ct", {Promote = false, Demote = false}, {Health = 2, Armor = 0}, {}, Material("jobranks/police/rank1.png"))
- JBR_SetupRank(2, 1, "Recurit Officer I", "Rct", {Promote = false, Demote = false}, {Health =3 , Armor = 3}, {}, Material("jobranks/police/rank1.png"))
- JBR_AddJobToRankTable(TEAM_KADET, 4)
- --------------------------------------------
- -----------------TEAM_KADET-----------------
- --------------------END---------------------
- -- --
- --
- -------------------------------------------
- ----------------TEAM_RECURIT-----------------
- -------------------------------------------
- JBR_SetupRankTable(5, 3, 1, ".", nil, nil, false)-- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
- ---Rank Police---
- JBR_SetupRank(1, 0, "Recurit Officer I", "Rct", {Promote = false, Demote = false}, {Health = 2, Armor = 0}, {}, Material("jobranks/police/rank1.png"))
- JBR_SetupRank(2, 1500, "Recurit Officer II", "Rct. II", {Promote = false, Demote = false}, {Health =3 , Armor = 3}, {}, Material("jobranks/police/rank1.png"))
- JBR_SetupRank(3, 2500, "Probationary Police Officer", "PpO", {Promote = false, Demote = false}, {Health =3 , Armor = 3}, {}, Material("jobranks/police/rank1.png"))
- JBR_AddJobToRankTable(TEAM_RECURIT, 5)
- -------------------------------------------
- ----------------TEAM_RECURIT-----------------
- -------------------END---------------------
- --
- -------------------------------------------
- ----------------TEAM_USSS-----------------
- -------------------------------------------
- JBR_SetupRankTable(12, 3, 30, ".", 1, 1, false)-- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
- ---Rank Police---
- JBR_SetupRank(1, 0, "RANK I", "R I", {Promote = true, Demote = true}, {Health = 200, Armor = 200}, {}, Material("jobranks/police/rank1.png"))
- JBR_SetupRank(2, 1500, "RANK II", "R II", {Promote = true, Demote = true}, {Health =300, Armor = 300}, {}, Material("jobranks/police/rank1.png"))
- JBR_SetupRank(3, 2500, "RANK III", "R III", {Promote = true, Demote = true}, {Health =400, Armor = 400}, {}, Material("jobranks/police/rank1.png"))
- JBR_AddJobToRankTable(TEAM_USSS, 12)
- -------------------------------------------
- ----------------TEAM_USSS-----------------
- -------------------END---------------------
- end)
- end
- hook.Add("DarkRPFinishedLoading", "JBR_InitRanks", function()
- if DCONFIG then
- hook.Add("DConfigDataLoaded", "JBR_InitRanks", JBR_InitRanks)
- elseif ezJobs then
- hook.Add("ezJobsLoaded", "JBR_InitRanks", JBR_InitRanks)
- else
- hook.Add("loadCustomDarkRPItems", "JBR_InitRanks", JBR_InitRanks)
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement