Advertisement
Guest User

Untitled

a guest
Apr 25th, 2019
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 35.58 KB | None | 0 0
  1.  
  2. --[[
  3. Added a function to config to copy existing jobrank tables for other jobs:
  4. JBR_CopyRankTable(JobToCopy, Job)
  5. JobToCopy - This is the jobs ranktable it will copy and use
  6. Job - The job that should use the ranktable
  7.  
  8. Example: JBR_CopyRankTable(TEAM_CHIEF, TEAM_POLICE)
  9. This would give TEAM_POLICE the same ranks as TEAM_CHIEF
  10. However this only COPY the table, the progression is still unique for each job
  11. NOTE: THIS FUNCTION HAS TO BE CALLED AT THE END OF THE CONFIG
  12.  
  13. Added command to convert all data from SQLite to MySQL (This overwrites MySQL data, use player command if you wish to convert a specific player)
  14. Restart server once this command has been used as it doesn't update current players
  15. "jobranks_convertsql_all"
  16.  
  17. Config changes:
  18. ]]
  19. JobRanksConfig = JobRanksConfig or {}
  20.  
  21. //Use MySQL or not, edit database in sv_mysql.lua
  22. JobRanksConfig.MYSQLOO = false
  23.  
  24. //Who can access admin commands,menus etc
  25. JobRanksConfig.AdminAccessCustomCheck = function(Player)
  26. if Player:IsAdmin() or Player:IsSuperAdmin() then
  27. return true
  28. else
  29. return false
  30. end
  31. end
  32. //How often should it update and save?
  33. JobRanksConfig.UpdateTimer = 30
  34. //Players Required to be able to earns playtime through timer
  35. JobRanksConfig.PlayersRequired = 0
  36. //Should it give SALARY*Bonus instead of SALARY+Bonus?
  37. //NOTE: This calculates BaseSalary + (BaseSalary/100*Bonus)
  38. //So if you set BonusSalary to 15 it will be 15% of the original salary
  39. JobRanksConfig.BonusSalaryPercent = false
  40. //Disables progression if player is AFK
  41. JobRanksConfig.DisableAFKProgress = true
  42. //NOTE: These uses DarkRPs chatcommand system, which means it will always use / before the command so by default it would be -> /rpromote NICK REASON
  43. //Chatcommand to promote
  44. JobRanksConfig.PromotionChatCommands = {"rpromote"}
  45. //Chatcommand to demote
  46. JobRanksConfig.DemotionChatCommands = {"rdemote"}
  47. //Should ranks reset when you die?
  48. JobRanksConfig.ResetRanksOnDeath = false
  49.  
  50. //HUD Jobranks
  51. JobRanksConfig.HUD = true
  52. //Defined 0-100, 0 is as much left as it can and 100 is as much right as it can
  53. JobRanksConfig.UIW = 100
  54. //Defined 0-100, 0 is as much up as it can and 100 is as much down as it can
  55. JobRanksConfig.UIH = 0
  56. --[[
  57. bar = a bar for progress
  58. time = text for time left
  59. number = numbers only
  60. ]]
  61. JobRanksConfig.HUDType = "number"
  62.  
  63. --[[
  64. 1 = Displays: Job
  65. 2 = Displays: Jobrank
  66. 3 = Displays: Job (JobRank)
  67. ]]
  68. JobRanksConfig.ShowJobType = 3
  69.  
  70. JobRanksConfig.UIBoxColor = Color(100,100,100,200)
  71. JobRanksConfig.UIOutlineColor = Color(200, 200, 200, 200)
  72. JobRanksConfig.UITextColor = Color(255,255,255,200)
  73. JobRanksConfig.BarBackground = Color(0,0,0,255)
  74. JobRanksConfig.Bar = Color(0,200,0,255)
  75.  
  76. JobRanks = JobRanks or {}
  77. JobRanksConfig.JobJoinRestrictments = JobRanksConfig.JobJoinRestrictments or {}
  78. JobRanksConfig.JobPermissionList = JobRanksConfig.JobPermissionList or {}
  79.  
  80. local function JBR_InitRanks()
  81. timer.Simple(3, function()
  82. --[[
  83. JBR_SetupRestrictedJob(Job, RequiredJobs)
  84. Job - The job to be restricted
  85. RequiredJobs - Table of the ranks you must reach in that specific job {[Job] = RequiredRank, [Job2] = RequiredRank} etc
  86. ]]
  87. JBR_SetupRestrictedJob(TEAM_CHIEF, {[TEAM_POLICE] = 8})
  88.  
  89. --[[
  90. JBR_SetupJobPermissionList(Job, AllowedJobs)
  91. Job - Job that is allowed to promote/demote
  92. AllowedJobs - The jobs the job is allowed to promote/demote {[Job] = true, [Job2] = true} etc
  93. ]]
  94. JBR_SetupJobPermissionList(TEAM_POLICE, {[TEAM_POLICE] = true})
  95.  
  96. --[[
  97. JBR_SetupRankTable(Job, MaxRank, BonusSalary, PrefixSeparator, Warrant, Wanted, DisableProgression)
  98. Job - Variable for job for example TEAM_POLICE
  99. MaxRank - Maximum rank achieveable
  100. BonusSalary - Bonus salary for each rank, so Amount*Rank, if bonus is set to 15 and you are rank 3 you would recieve 45$ extra
  101. PrefixSeparator - What should be between Prefix and Name, for example . would be Pvt.ToBadForYou or _ would be Pvt_ToBadForYou
  102. Warrant - Rank required to warrant, set to nil to disable
  103. Wanted - Rank required to Wanted, set to nil to disable
  104. DisableProgression - true or false, true will not allow the player to progress through playtime only through manual promotions
  105. ]]
  106. JBR_SetupRankTable(TEAM_POLICE, 8, 15, ".", 5, 5, false)-- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
  107.  
  108. --[[
  109. JBR_SetupRank(RankID, TimeRequired, Name, Prefix, Permissions, ExtraStats, Loadout, Icon)
  110. RankID - RankID should start from 1
  111. TimeRequired - First rank MUST always have 0, other ranks must be above the previous one. It counts the difference between OLD and NEW rank
  112. Name - Rank name
  113. Prefix - Prefix before players name
  114.  
  115. Permissions
  116. ----------------------------------------------------
  117. Promote = true/false -> Can this rank promote?
  118. MaxPromotion = Number -> Max rank this rank can promote to
  119. Demote = true/false -> Can this rank demote?
  120. MaxDemotion = Number -> Max rank this rank can demote to
  121.  
  122. Leaving MaxPromotion empty will allow to set to highest rank
  123. Leaving MaxDemotion empty will allow to set to lowest rank
  124.  
  125. NOTE: Only add ranks that you want to grant permissions to, if the rank isn't in this config it can't promote or demote
  126. ----------------------------------------------------
  127.  
  128. ExtraStats - Extra stats (speaks for itself)
  129. Loadout - Extraloadout for this SPECIFIC rank
  130. Icon - Icon path for this ranks icon
  131. ]]
  132. //THE ICONS ARE JUST TEMPLATES, download icons online and insert their path here (Also upload it on workshop or to your FastDL and add it to force download)
  133. JBR_SetupRank(1, 0, "Recruit", "Rct", {Promote = false, Demote = false}, {Health = 5, Armor = 5}, {}, Material("jobranks/police/rank1.png"))
  134. JBR_SetupRank(2, 1500, "Deputy", "Dpt", {Promote = false, Demote = false}, {Health = 10, Armor = 10}, {}, Material("jobranks/police/rank2.png"))
  135. JBR_SetupRank(3, 3000, "Detective", "Det", {Promote = false, Demote = false}, {Health = 15, Armor = 15}, {}, Material("jobranks/police/rank3.png"))
  136. JBR_SetupRank(4, 6000, "Sergeant", "Sgt", {Promote = false, Demote = false}, {Health = 20, Armor = 20}, {}, Material("jobranks/police/rank4.png"))
  137. JBR_SetupRank(5, 12000, "Lieutenant", "Lt", {Promote = false, Demote = true, MaxDemotion = 4}, {Health = 25, Armor = 25}, {"weapon_pumpshotgun2"}, Material("jobranks/police/rank5.png"))
  138. JBR_SetupRank(6, 20000, "Captain", "Cpt", {Promote = true, Demote = false, MaxPromotion = 5}, {Health = 30, Armor = 30}, {}, Material("jobranks/police/rank6.png"))
  139. JBR_SetupRank(7, 30000, "Major", "Maj", {Promote = true, Demote = true, MaxPromotion = 5, MaxDemotion = 3}, {Health = 35, Armor = 35}, {"weapon_mp52"}, Material("jobranks/police/rank7.png"))
  140. JBR_SetupRank(8, 45000, "Inspector", "Insp", {Promote = true, Demote = true}, {Health = 40, Armor = 40}, {}, Material("jobranks/police/rank8.png"))
  141.  
  142. --[[
  143. RankID - Rank to setup for, set to false if for all ranks
  144. Function - Custom lua function
  145.  
  146. NOTE: ONLY SETUP CUSTOM LUA FUNCTION IF YOU KNOW WHAT YOU ARE DOING
  147. ]]
  148. JBR_SetupRankSpawnFunc(false, function(Player) print(Player, "all ranks") end) -- This custom lua function will run for ALL ranks upon SPAWN
  149. JBR_SetupRankSpawnFunc(1, function(Player) print(Player, "rank 1") end) -- This custom lua function will run for ONLY RANK 1 upon SPAWN
  150.  
  151. --[[
  152. JBR_SetupRankModel(RankID, ModelTbl)
  153. RankID - Rank to setup for
  154. ModelTbl - Model information, {{Model = "MODELPATH", Bodygroups{{BodygroupID, Amount}}, Skin = SKINID}}
  155. ]]
  156. JBR_SetupRankModel(1, {{Model = "models/player/police.mdl", Bodygroups = {{0,0},{2,1}}, Skin = 1}})--Sets model, two custom bodygroups and skin to 1
  157. --Skipped rank 2, it will now set default model on rank 2
  158. 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
  159. JBR_SetupRankModel(4, {{Model = "models/player/police_fem.mdl", Bodygroups = nil, Skin = 3}})--Sets model, no bodygroups, sets skin to 3
  160. JBR_SetupRankModel(5, {{Model = nil, Bodygroups = nil, Skin = 2}})--Sets default model, no bodygroups, sets skin to 2
  161.  
  162. --[[
  163. JBR_AddLoadout(RankID, Weapons)
  164. RankID - RankID
  165. Weapons - List of weapons
  166. This adds the loadout to this rank AND all ranks ABOVE this rank
  167. ]]
  168. JBR_AddLoadout(5, {"weapon_pumpshotgun2"})
  169. JBR_AddLoadout(7, {"weapon_mp52"})
  170.  
  171. --[[
  172. JBR_AddEntity(RankID, Entities)
  173. RankID - RankID required to buy the entities
  174. Entities - List of entities
  175. This will allow the input rank and all ABOVE this rank to purchase these entities
  176. ]]
  177. JBR_AddEntity(5, {"money_printer"})
  178.  
  179. --[[
  180. JBR_AddShipment(RankID, Shipments)
  181. RankID - RankID required to buy the shipments
  182. Shipments - List of shipments
  183. This will allow the input rank and all ABOVE this rank to purchase these shipments
  184. ]]
  185. JBR_AddShipment(5, {"weapon_pumpshotgun2"})
  186.  
  187. JBR_SetupRankTable(TEAM_CHIEF, 4, 30, ".", 1, 1, false) -- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
  188. JBR_SetupRank(1, 0, "Chief Recruit", "Rct", {Promote = false, Demote = false}, {Health = 5, Armor = 5}, {}, nil)
  189. JBR_SetupRank(2, 5000, "Deputy Chief", "Dpt", {Promote = false, Demote = false}, {Health = 25, Armor = 25}, {}, nil)
  190. JBR_SetupRank(3, 10000, "Assistant Chief", "Asst", {Promote = false, Demote = false}, {Health = 50, Armor = 50}, {}, nil)
  191. JBR_SetupRank(4, 20000, "Chief of Police", "Chief", {Promote = true, Demote = true}, {Health = 100, Armor = 100}, {}, nil)
  192.  
  193. JBR_SetupRankTable(TEAM_MEDIC, 9, 15, ".", nil, nil, false) -- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
  194. JBR_SetupRank(1, 0, "Medic Trainee", nil, {Promote = false, Demote = false}, nil, {}, nil)
  195. JBR_SetupRank(2, 1500, "Medic", nil, {Promote = false, Demote = false}, nil, {}, nil)
  196. JBR_SetupRank(3, 3000, "Medical Scientist", nil, {Promote = false, Demote = false}, nil, {}, nil)
  197. JBR_SetupRank(4, 6000, "Junior Doctor", nil, {Promote = false, Demote = false}, nil, {}, nil)
  198. JBR_SetupRank(5, 12000, "Doctor", nil, {Promote = false, Demote = false}, nil, {}, nil)
  199. JBR_SetupRank(6, 20000, "Plastic Surgeon", nil, {Promote = false, Demote = false}, nil, {}, nil)
  200. JBR_SetupRank(7, 30000, "Brain Surgeon", nil, {Promote = false, Demote = false}, nil, {}, nil)
  201. JBR_SetupRank(8, 45000, "Chief Physician", nil, {Promote = false, Demote = false}, nil, {}, nil)
  202. JBR_SetupRank(9, 60000, "Hospital Manager", nil, {Promote = false, Demote = false}, nil, {}, nil)
  203.  
  204. JBR_SetupRankTable(TEAM_MAYOR, 7, 45, ".", 1, 1, false) -- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
  205. JBR_SetupRank(1, 0, "Candidate", nil, {Promote = false, Demote = false}, nil, {}, nil)
  206. JBR_SetupRank(2, 5000, "Politician", nil, {Promote = false, Demote = false}, nil, {}, nil)
  207. JBR_SetupRank(3, 10000, "Vice Mayor", nil, {Promote = false, Demote = false}, nil, {}, nil)
  208. JBR_SetupRank(4, 15000, "Mayor", nil, {Promote = false, Demote = false}, nil, {}, nil)
  209. JBR_SetupRank(5, 20000, "Vice President", nil, {Promote = false, Demote = false}, nil, {}, nil)
  210. JBR_SetupRank(6, 25000, "President", nil, {Promote = false, Demote = false}, nil, {}, nil)
  211. JBR_SetupRank(7, 30000, "Supreme Leader", nil, {Promote = false, Demote = false}, nil, {}, nil)
  212.  
  213.  
  214. JBR_SetupRankTable(CLONETROOPER, 1, 0, " ", 0, 5, true)-- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
  215. JBR_SetupRank(1, 0, "CT", "CT", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  216.  
  217. JBR_SetupRankTable(CLONEDRILLINSTRUCTOR, 14, 0, " ", 0, 5, true)-- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
  218. JBR_SetupRank(1, 0, "DI Private", "DI PVT", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  219. JBR_SetupRank(2, 0, "DI Private First Class", "DI PFC", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  220. JBR_SetupRank(3, 0, "DI Specialist", "DI SPC", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  221. JBR_SetupRank(4, 0, "DI Lance Corporal", "DI LCPL", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  222. JBR_SetupRank(5, 0, "DI Corporal", "DI CPL", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  223. JBR_SetupRank(6, 0, "DI Sergeant", "DI SGT", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  224. JBR_SetupRank(7, 0, "DI Staff Sergeant", "DI SSGT", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  225. JBR_SetupRank(8, 0, "DI Sergeant First Class", "DI SFC", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  226. JBR_SetupRank(9, 0, "DI Master Sergeant", "DI MSG", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  227. JBR_SetupRank(10, 0, "DI First Sergeant", "DI 1SG", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  228. JBR_SetupRank(11, 0, "DI Sergeant Major", "DI SGM", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  229. JBR_SetupRank(12, 0, "DI Command Sergeant Major", "DI CSGM", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  230. JBR_SetupRank(13, 0, "DI Warrant Officer", "DI WO", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  231. JBR_SetupRank(14, 0, "DI Command Warrant Officer", "DI CWO", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  232.  
  233. JBR_SetupRankTable(CLONEDRILLINTRUCTOROFFICER, 7, 0, " ", 0, 5, true)-- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
  234. JBR_SetupRank(1, 0, "DI 2nd Lieutenant", "DI 2ndLT", {Promote = false, Demote = false, MaxPromotion = 14}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  235. JBR_SetupRank(2, 0, "DI Lieutenant", "DI LT", {Promote = false, Demote = false, MaxPromotion = 14}, {Health = 50, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  236. JBR_SetupRank(3, 0, "DI Captain", "DI CPT", {Promote = false, Demote = false, MaxPromotion = 14}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  237. JBR_SetupRank(4, 0, "DI Major", "DI MAJ", {Promote = true, Demote = true, MaxPromotion = 3}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  238. JBR_SetupRank(5, 0, "DI Lieutenant Colonel", "DI LTCOL", {Promote = true, Demote = true, MaxPromotion = 3}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  239. JBR_SetupRank(6, 0, "DI Colonel", "DI COL", {Promote = true, Demote = true, MaxPromotion = 3}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  240. JBR_SetupRank(7, 0, "DI Commander", "DI Commander", {Promote = true, Demote = true, MaxPromotion = 6}, {Health = 150, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  241.  
  242. JBR_SetupJobPermissionList(CLONEDRILLINTRUCTOROFFICER, {[CLONEDRILLINTRUCTOR] = true})
  243.  
  244. -- 212th
  245. JBR_SetupRankTable(ATTACKTROOPER, 14, 0, " ", 0, 5, true)-- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
  246. JBR_SetupRank(1, 0, "212th Private", "212th PVT", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  247. JBR_SetupRank(2, 0, "212th Private First Class", "212th PFC", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  248. JBR_SetupRank(3, 0, "212th Specialist", "212th SPC", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  249. JBR_SetupRank(4, 0, "212th Lance Corporal", "212th LCPL", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  250. JBR_SetupRank(5, 0, "212th Corporal", "212th CPL", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  251. JBR_SetupRank(6, 0, "212th Sergeant", "212th SGT", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  252. JBR_SetupRank(7, 0, "212th Staff Sergeant", "212th SSGT", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  253. JBR_SetupRank(8, 0, "212th Sergeant First Class", "212th SFC", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  254. JBR_SetupRank(9, 0, "212th Master Sergeant", "212th MSG", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  255. JBR_SetupRank(10, 0, "212th First Sergeant", "212th 1SG", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  256. JBR_SetupRank(11, 0, "212th Sergeant Major", "212th SGM", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  257. JBR_SetupRank(12, 0, "212th Command Sergeant Major", "212th CSGM", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  258. JBR_SetupRank(13, 0, "212th Warrant Officer", "212th WO", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  259. JBR_SetupRank(14, 0, "212th Command Warrant Officer", "212th CWO", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  260. JBR_CopyRankTable(ATTACKTROOPER, ATTACKASSAULT)
  261. JBR_CopyRankTable(ATTACKTROOPER, ATTACKARC)
  262. JBR_CopyRankTable(ATTACKTROOPER, ATTACKANTITANK)
  263. JBR_CopyRankTable(ATTACKTROOPER, ATTACKHEAVY)
  264. JBR_CopyRankTable(ATTACKTROOPER, ATTACKAIRBOURNEENLISTED)
  265.  
  266. JBR_SetupRankTable(ATTACKOFFICER, 6, 0, " ", 0, 5, true)-- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
  267. JBR_SetupRank(1, 0, "212th 2nd Lieutenant", "212th 2ndLT", {Promote = false, Demote = false, MaxPromotion = 12}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  268. JBR_SetupRank(2, 0, "212th Lieutenant", "212th LT", {Promote = false, Demote = false, MaxPromotion = 12}, {Health = 50, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  269. JBR_SetupRank(3, 0, "212th Captain", "212th CPT", {Promote = false, Demote = false, MaxPromotion = 12}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  270. JBR_SetupRank(4, 0, "212th Major", "212th MAJ", {Promote = true, Demote = true, MaxPromotion = 4}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  271. JBR_SetupRank(5, 0, "212th Lieutenant Colonel", "212th LTCOL", {Promote = true, Demote = true, MaxPromotion = 4}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  272. JBR_SetupRank(6, 0, "212th Colonel", "212th COL", {Promote = true, Demote = true, MaxPromotion = 4}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  273. JBR_CopyRankTable(ATTACKOFFICER, ATTACKAIRBOURNEOFFICER)
  274.  
  275. JBR_SetupRankTable(ATTACKCOMMANDER, 1, 0, " ", 0, 5, true)-- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
  276. JBR_SetupRank(1, 0, "212th Commander", "212th Commander", {Promote = true, Demote = true, MaxPromotion = 1}, {Health = 150, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  277.  
  278. JBR_SetupJobPermissionList(ATTACKOFFICER, {[ATTACKASSAULT] = true, [ATTACKARC] = true, [ATTACKANTITANK] = true, [ATTACKHEAVY] = true, [ATTACKAIRBOURNEENLISTED] = true, [ATTACKTROOPER] = true})
  279. JBR_SetupJobPermissionList(ATTACKAIRBOURNEOFFICER, {[ATTACKASSAULT] = true, [ATTACKARC] = true, [ATTACKANTITANK] = true, [ATTACKHEAVY] = true, [ATTACKAIRBOURNEENLISTED] = true, [ATTACKTROOPER] = true})
  280. JBR_SetupJobPermissionList(ATTACKCOMMANDER, {[ATTACKOFFICER] = true, [ATTACKAIRBOURNEOFFICER] = true, [ATTACKASSAULT] = true, [ATTACKARC] = true, [ATTACKANTITANK] = true, [ATTACKHEAVY] = true, [ATTACKAIRBOURNEENLISTED] = true, [ATTACKTROOPER] = true})
  281.  
  282. -- 104th
  283. JBR_SetupRankTable(WOLFENLISTED, 14, 0, " ", 0, 5, true)-- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
  284. JBR_SetupRank(1, 0, "104th Private", "104th PVT", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  285. JBR_SetupRank(2, 0, "104th Private First Class", "104th PFC", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  286. JBR_SetupRank(3, 0, "104th Specialist", "104th SPC", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  287. JBR_SetupRank(4, 0, "104th Lance Corporal", "104th LCPL", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  288. JBR_SetupRank(5, 0, "104th Corporal", "104th CPL", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  289. JBR_SetupRank(6, 0, "104th Sergeant", "104th SGT", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  290. JBR_SetupRank(7, 0, "104th Staff Sergeant", "104th SSGT", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  291. JBR_SetupRank(8, 0, "104th Sergeant First Class", "104th SFC", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  292. JBR_SetupRank(9, 0, "104th Master Sergeant", "104th MSG", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  293. JBR_SetupRank(10, 0, "104th First Sergeant", "104th 1SG", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  294. JBR_SetupRank(11, 0, "104th Sergeant Major", "104th SGM", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  295. JBR_SetupRank(12, 0, "104th Command Sergeant Major", "104th CSGM", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  296. JBR_SetupRank(13, 0, "104th Warrant Officer", "104th WO", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  297. JBR_SetupRank(14, 0, "104th Command Warrant Officer", "104th CWO", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  298. JBR_CopyRankTable(WOLFENLISTED, WOLFCOMET)
  299. JBR_CopyRankTable(WOLFENLISTED, WOLFSINKER)
  300. JBR_CopyRankTable(WOLFENLISTED, WOLFBOOST)
  301. JBR_CopyRankTable(WOLFENLISTED, WOLFASSAULT)
  302. JBR_CopyRankTable(WOLFENLISTED, WOLFHEAVY)
  303. JBR_CopyRankTable(WOLFENLISTED, WOLFPACKARC)
  304. JBR_CopyRankTable(WOLFENLISTED, WOLFPACKARF)
  305.  
  306.  
  307. JBR_SetupRankTable(WOLFOFFICER, 6, 0, " ", 0, 5, true)-- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
  308. JBR_SetupRank(1, 0, "212th 2nd Lieutenant", "212th 2ndLT", {Promote = false, Demote = false, MaxPromotion = 12}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  309. JBR_SetupRank(2, 0, "212th Lieutenant", "212th LT", {Promote = false, Demote = false, MaxPromotion = 12}, {Health = 50, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  310. JBR_SetupRank(3, 0, "212th Captain", "212th CPT", {Promote = false, Demote = false, MaxPromotion = 12}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  311. JBR_SetupRank(4, 0, "212th Major", "212th MAJ", {Promote = true, Demote = true, MaxPromotion = 4}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  312. JBR_SetupRank(5, 0, "212th Lieutenant Colonel", "212th LTCOL", {Promote = true, Demote = true, MaxPromotion = 4}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  313. JBR_SetupRank(6, 0, "212th Colonel", "212th COL", {Promote = true, Demote = true, MaxPromotion = 4}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  314. JBR_CopyRankTable(WOLFOFFICER, WOLFPACKOFFICER)
  315.  
  316. JBR_SetupRankTable(WOLFCOMMANDER, 1, 0, " ", 0, 5, true)-- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
  317. JBR_SetupRank(1, 0, "212th Commander", "212th Commander", {Promote = true, Demote = true, MaxPromotion = 1}, {Health = 150, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  318.  
  319. JBR_SetupJobPermissionList(WOLFOFFICER, {[WOLFCOMET] = true, [WOLFSINKER] = true, [WOLFBOOST] = true, [WOLFASSAULT] = true, [WOLFHEAVY] = true, [WOLFPACKARF] = true, [WOLFPACKARC] = true, [WOLFENLISTED] = true})
  320. JBR_SetupJobPermissionList(WOLFPACKOFFICER, {[WOLFCOMET] = true, [WOLFSINKER] = true, [WOLFBOOST] = true, [WOLFASSAULT] = true, [WOLFHEAVY] = true, [WOLFPACKARF] = true, [WOLFPACKARC] = true, [WOLFENLISTED] = true})
  321. JBR_SetupJobPermissionList(WOLFCOMMANDER, {[WOLFOFFICER] = true, [WOLFPACKOFFICER] = true, [WOLFCOMET] = true, [WOLFSINKER] = true, [WOLFBOOST] = true, [WOLFASSAULT] = true, [WOLFHEAVY] = true, [WOLFPACKARF] = true, [WOLFPACKARC] = true, [WOLFENLISTED] = true})
  322.  
  323. -- 501st
  324. JBR_SetupRankTable(LEGIONTROOPER, 14, 0, " ", 0, 5, true)-- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
  325. JBR_SetupRank(1, 0, "501st Private", "501st PVT", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  326. JBR_SetupRank(2, 0, "501st Private First Class", "501st PFC", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  327. JBR_SetupRank(3, 0, "501st Specialist", "501st SPC", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  328. JBR_SetupRank(4, 0, "501st Lance Corporal", "501st LCPL", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  329. JBR_SetupRank(5, 0, "501st Corporal", "501st CPL", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  330. JBR_SetupRank(6, 0, "501st Sergeant", "501st SGT", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  331. JBR_SetupRank(7, 0, "501st Staff Sergeant", "501st SSGT", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  332. JBR_SetupRank(8, 0, "501st Sergeant First Class", "501st SFC", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  333. JBR_SetupRank(9, 0, "501st Master Sergeant", "501st MSG", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  334. JBR_SetupRank(10, 0, "501st First Sergeant", "501st 1SG", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  335. JBR_SetupRank(11, 0, "501st Sergeant Major", "501st SGM", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  336. JBR_SetupRank(12, 0, "501st Command Sergeant Major", "501st CSGM", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  337. JBR_SetupRank(13, 0, "501st Warrant Officer", "501st WO", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  338. JBR_SetupRank(14, 0, "501st Command Warrant Officer", "501st CWO", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  339. JBR_CopyRankTable(LEGIONTROOPER, LEGIONANTITANK)
  340. JBR_CopyRankTable(LEGIONTROOPER, LEGIONHEAVY)
  341. JBR_CopyRankTable(LEGIONTROOPER, LEGIONARC)
  342. JBR_CopyRankTable(LEGIONTROOPER, LEGIONAPPO)
  343. JBR_CopyRankTable(LEGIONTROOPER, LEGIONJESSE)
  344. JBR_CopyRankTable(LEGIONTROOPER, LEGIONECHO)
  345. JBR_CopyRankTable(LEGIONTROOPER, LEGIONFIVES)
  346.  
  347. JBR_SetupRankTable(LEGIONOFFICER, 6, 0, " ", 0, 5, true)-- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
  348. JBR_SetupRank(1, 0, "501st 2nd Lieutenant", "501st 2ndLT", {Promote = false, Demote = false, MaxPromotion = 12}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  349. JBR_SetupRank(2, 0, "501st Lieutenant", "501st LT", {Promote = false, Demote = false, MaxPromotion = 12}, {Health = 50, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  350.  
  351. JBR_SetupRankTable(LEGIONCOMMANDER, 1, 0, " ", 0, 5, true)-- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
  352. JBR_SetupRank(1, 0, "501st Captain", "501st CPT", {Promote = true, Demote = false, MaxPromotion = 1}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  353.  
  354. JBR_SetupJobPermissionList(LEGIONOFFICER, {[LEGIONANTITANK] = true, [LEGIONHEAVY] = true, [LEGIONARC] = true, [LEGIONAPPO] = true, [LEGIONJESSE] = true, [LEGIONECHO] = true, [LEGIONFIVES] = true, [LEGIONTROOPER] = true})
  355. JBR_SetupJobPermissionList(LEGIONCOMMANDER, {[LEGIONOFFICER] = true, [LEGIONANTITANK] = true, [LEGIONHEAVY] = true, [LEGIONARC] = true, [LEGIONAPPO] = true, [LEGIONJESSE] = true, [LEGIONECHO] = true, [LEGIONFIVES] = true, [LEGIONTROOPER] = true})
  356.  
  357. -- ARC
  358. JBR_SetupRankTable(ARCTROOPER, 14, 0, " ", 0, 5, true)-- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
  359. JBR_SetupRank(1, 0, "ARC Private", "ARC PVT", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  360. JBR_SetupRank(2, 0, "ARC Private First Class", "ARC PFC", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  361. JBR_SetupRank(3, 0, "ARC Specialist", "ARC SPC", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  362. JBR_SetupRank(4, 0, "ARC Lance Corporal", "ARC LCPL", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  363. JBR_SetupRank(5, 0, "ARC Corporal", "ARC CPL", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  364. JBR_SetupRank(6, 0, "ARC Sergeant", "ARC SGT", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  365. JBR_SetupRank(7, 0, "ARC Staff Sergeant", "ARC SSGT", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  366. JBR_SetupRank(8, 0, "ARC Sergeant First Class", "ARC SFC", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  367. JBR_SetupRank(9, 0, "ARC Master Sergeant", "ARC MSG", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  368. JBR_SetupRank(10, 0, "ARC First Sergeant", "ARC 1SG", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  369. JBR_SetupRank(11, 0, "ARC Sergeant Major", "ARC SGM", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  370. JBR_SetupRank(12, 0, "ARC Command Sergeant Major", "ARC CSGM", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  371. JBR_SetupRank(13, 0, "ARC Warrant Officer", "ARC WO", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  372. JBR_SetupRank(14, 0, "ARC Command Warrant Officer", "ARC CWO", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  373. JBR_CopyRankTable(ARCTROOPER, ARCSPECIALIST)
  374. JBR_CopyRankTable(ARCTROOPER, ARCSHARPSHOOTER)
  375. JBR_CopyRankTable(ARCTROOPER, ARCHAVOC)
  376. JBR_CopyRankTable(ARCTROOPER, ARCBLITZ)
  377. JBR_CopyRankTable(ARCTROOPER, ARCHAMMER)
  378.  
  379. JBR_SetupRankTable(ARCOFFICER, 6, 0, " ", 0, 5, true)-- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
  380. JBR_SetupRank(1, 0, "ARC 2nd Lieutenant", "ARC 2ndLT", {Promote = false, Demote = false, MaxPromotion = 12}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  381. JBR_SetupRank(2, 0, "ARC Lieutenant", "ARC LT", {Promote = false, Demote = false, MaxPromotion = 12}, {Health = 50, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  382. JBR_SetupRank(3, 0, "ARC Captain", "ARC CPT", {Promote = false, Demote = false, MaxPromotion = 12}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  383. JBR_SetupRank(4, 0, "ARC Major", "ARC MAJ", {Promote = true, Demote = true, MaxPromotion = 4}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  384. JBR_SetupRank(5, 0, "ARC Lieutenant Colonel", "ARC LTCOL", {Promote = true, Demote = true, MaxPromotion = 4}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  385. JBR_SetupRank(6, 0, "ARC Colonel", "ARC COL", {Promote = true, Demote = true, MaxPromotion = 4}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  386.  
  387. JBR_SetupRankTable(ARCCOMMANDER, 1, 0, " ", 0, 5, true)-- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
  388. JBR_SetupRank(1, 0, "ARC Commander", "ARC Commander", {Promote = true, Demote = true, MaxPromotion = 1}, {Health = 150, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  389.  
  390. JBR_SetupJobPermissionList(ARCOFFICER, {[ARCSPECIALIST] = true, [ARCSHARPSHOOTER] = true, [ARCHAVOC] = true, [ARCBLITZ] = true, [ARCHAMMER] = true, [ARCTROOPER] = true})
  391. JBR_SetupJobPermissionList(ARCCOMMANDER, {[ARCSPECIALIST] = true, [ARCSHARPSHOOTER] = true, [ARCHAVOC] = true, [ARCBLITZ] = true, [ARCHAMMER] = true, [ARCTROOPER] = true, [ARCOFFICER] = true})
  392.  
  393. -- 74th
  394. JBR_SetupRankTable(MEDTROOPER, 14, 0, " ", 0, 5, true)-- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
  395. JBR_SetupRank(1, 0, "74th Private", "74th PVT", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  396. JBR_SetupRank(2, 0, "74th Private First Class", "74th PFC", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  397. JBR_SetupRank(3, 0, "74th Specialist", "74th SPC", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  398. JBR_SetupRank(4, 0, "74th Lance Corporal", "74th LCPL", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  399. JBR_SetupRank(5, 0, "74th Corporal", "74th CPL", {Promote = false, Demote = false}, {Health = 0, Armor = 0}, {}, nil)
  400. JBR_SetupRank(6, 0, "74th Sergeant", "74th SGT", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  401. JBR_SetupRank(7, 0, "74th Staff Sergeant", "74th SSGT", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  402. JBR_SetupRank(8, 0, "74th Sergeant First Class", "74th SFC", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  403. JBR_SetupRank(9, 0, "74th Master Sergeant", "74th MSG", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  404. JBR_SetupRank(10, 0, "74th First Sergeant", "74th 1SG", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  405. JBR_SetupRank(11, 0, "74th Sergeant Major", "74th SGM", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  406. JBR_SetupRank(12, 0, "74th Command Sergeant Major", "74th CSGM", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  407. JBR_SetupRank(13, 0, "74th Warrant Officer", "74th WO", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  408. JBR_SetupRank(14, 0, "74th Command Warrant Officer", "74th CWO", {Promote = false, Demote = false}, {Health = 50, Armor = 0}, {}, nil)
  409. JBR_CopyRankTable(MEDTROOPER, MEDDOCTOR)
  410. JBR_CopyRankTable(MEDTROOPER, MEDDEFENCE)
  411. JBR_CopyRankTable(MEDTROOPER, MEDATTACK)
  412. JBR_CopyRankTable(MEDTROOPER, MEDOFFICER)
  413.  
  414.  
  415.  
  416. JBR_SetupRankTable(MEDSPECIALISTOFFICER, 6, 0, " ", 0, 5, true)-- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
  417. JBR_SetupRank(1, 0, "74th 2nd Lieutenant", "74th 2ndLT", {Promote = false, Demote = false, MaxPromotion = 12}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  418. JBR_SetupRank(2, 0, "74th Lieutenant", "74th LT", {Promote = false, Demote = false, MaxPromotion = 12}, {Health = 50, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  419. JBR_SetupRank(3, 0, "74th Captain", "74th CPT", {Promote = false, Demote = false, MaxPromotion = 12}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  420. JBR_SetupRank(4, 0, "74th Major", "74th MAJ", {Promote = true, Demote = true, MaxPromotion = 4}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  421. JBR_SetupRank(5, 0, "74th Lieutenant Colonel", "74th LTCOL", {Promote = true, Demote = true, MaxPromotion = 4}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  422. JBR_SetupRank(6, 0, "74th Colonel", "74th COL", {Promote = true, Demote = true, MaxPromotion = 4}, {Health = 100, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  423.  
  424. JBR_SetupRankTable(MEDCOMMANDER, 1, 0, " ", 0, 5, true)-- THIS MUST ALWAYS BE FIRST OR IT WILL SETUP FOR THE JOBRANK THAT WAS DEFINED BEFORE THIS
  425. JBR_SetupRank(1, 0, "74th Commander", "74th Commander", {Promote = true, Demote = true, MaxPromotion = 1}, {Health = 150, Armor = 0}, {"tfa_sw_dual_de10", "t3m4_empgrenade"}, nil)
  426.  
  427. JBR_SetupJobPermissionList(MEDSPECIALISTOFFICER, {[MEDDOCTOR] = true, [MEDDEFENCE] = true, [MEDATTACK] = true, [OFFICER] = true)
  428. JBR_SetupJobPermissionList(MEDCOMMANDER, {[MEDDOCTOR] = true, [MEDDEFENCE] = true, [MEDATTACK] = true, [MEDSPECIALISTOFFICER] = true, [MEDOFFICER] = true})
  429.  
  430. --[[
  431. NOTE: THIS FUNCTION HAS TO BE CALLED AT THE END OF THE CONFIG
  432.  
  433. JBR_CopyRankTable(JobToCopy, Job)
  434. JobToCopy - This is the jobs ranktable it will copy and use
  435. Job - The job that should use the ranktable
  436.  
  437. Example: JBR_CopyRankTable(TEAM_CHIEF, TEAM_POLICE)
  438. This would give TEAM_POLICE the same ranks as TEAM_CHIEF
  439. However this only COPY the table, the progression is still unique for each job
  440. ]]
  441. //Just an example, copies TEAM_POLICE ranktable and sets TEAM_POLICE ranktable to this.
  442. JBR_CopyRankTable(TEAM_POLICE, TEAM_POLICE)
  443. end)
  444. end
  445.  
  446. hook.Add("DarkRPFinishedLoading", "JBR_InitRanks", function()
  447. if DCONFIG then
  448. hook.Add("DConfigDataLoaded", "JBR_InitRanks", JBR_InitRanks)
  449. elseif ezJobs then
  450. hook.Add("ezJobsLoaded", "JBR_InitRanks", JBR_InitRanks)
  451. else
  452. hook.Add("loadCustomDarkRPItems", "JBR_InitRanks", JBR_InitRanks)
  453. end
  454. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement