Advertisement
Aquarius_Raverus

pain

Oct 17th, 2020
2,071
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 9.89 KB | None | 0 0
  1. local function Rankup() --dab
  2.                     print('rankup function loaded')
  3.             if leaderstats.CombatEXP.Value < 0  and leaderstats.Rank.Value == 0 then
  4.                 leaderstats.CombatEXP.Value = 0
  5.             end
  6.             if leaderstats.MissionEXP.Value < 0  and leaderstats.Rank.Value == 0 then
  7.                 leaderstats.MissionEXP.Value = 0
  8.             end
  9.             if leaderstats.TrainingEXP.Value < 0  and leaderstats.Rank.Value == 0 then
  10.                 leaderstats.TrainingEXP.Value = 0
  11.             end
  12.             if leaderstats.CanRank.Value == 0 then return end
  13.             --if leaderstats.Rank.Value >= leaderstats.MaxRank.Value then return end
  14.             local eh = game.ServerScriptService.EventHandler
  15.             local oldrank = leaderstats.Rank.Value
  16.             local RankInfo = eh.Ranks:FindFirstChild(tostring(oldrank+1))
  17.             local DerankInfo = eh.Ranks:FindFirstChild(tostring(oldrank))
  18.  
  19.             if leaderstats.MaxRank.Value == 0 then
  20.                 leaderstats.MaxRank.Value = 25
  21.             end
  22.  
  23.             if RankInfo and DerankInfo then
  24.                 --  print'rankinfo'
  25.                 local reqtrain
  26.                 local reqmission
  27.                 local reqcombat
  28.  
  29.                 if RankInfo then
  30.                     reqtrain = RankInfo.Training.Value
  31.                     reqmission = RankInfo.Mission.Value
  32.                     reqcombat = RankInfo.Combat.Value
  33.                 else
  34.                     reqtrain = DerankInfo.Training.Value
  35.                     reqmission = DerankInfo.Mission.Value
  36.                     reqcombat = DerankInfo.Combat.Value
  37.                 end
  38.                 --local totalxp = leaderstats.TrainingEXP.Value + leaderstats.MissionEXP.Value + leaderstats.CombatEXP.Value
  39.                 local totalxp = 0
  40.                 if leaderstats.MissionEXP.Value > reqmission then
  41.                     --  print("has enough mission exp")
  42.                     local leftoverexp = (leaderstats.MissionEXP.Value - reqmission)
  43.                     if leftoverexp > (reqmission /5) then
  44.                         leftoverexp = reqmission/5
  45.                     end
  46.                     totalxp = totalxp + reqmission + leftoverexp
  47.                 else
  48.                     --  print("does not have enough mission exp")
  49.                     totalxp = totalxp + leaderstats.MissionEXP.Value
  50.                 end
  51.  
  52.                 if leaderstats.TrainingEXP.Value > reqtrain then
  53.                     local leftoverexp = (leaderstats.TrainingEXP.Value - reqtrain) /2
  54.                     --  print("has enough training exp")
  55.                     totalxp = totalxp + reqtrain + leftoverexp
  56.                 else
  57.                     --  print("does not have enough training exp")
  58.                     totalxp = totalxp + leaderstats.TrainingEXP.Value
  59.                 end
  60.  
  61.                 if leaderstats.CombatEXP.Value > reqcombat then
  62.                     local leftoverexp = (leaderstats.CombatEXP.Value - reqcombat)
  63.                     if leftoverexp > (reqcombat /5) then
  64.                         leftoverexp = reqcombat/5
  65.                     end
  66.                     --  print("has enough combat exp")
  67.                     totalxp = totalxp + reqcombat +leftoverexp
  68.                 else
  69.                     --  print("does not have enough combat exp")
  70.                     totalxp = totalxp + leaderstats.CombatEXP.Value
  71.                 end
  72.                 local totalreq = reqcombat + reqtrain + reqmission
  73.                 wait()
  74.                 if leaderstats.CanRank.Value <= 0 then return end
  75.                 if totalreq <= 0 then totalreq = 0 end
  76.                 if totalxp >= totalreq then
  77.                         print'rankupcheck'
  78.                     if eh.Ranks:FindFirstChild(tostring((oldrank+1))) then
  79.                                 print'rankupcheck2'
  80.                         if leaderstats.CanRank.Value < 0 then return end
  81.                         leaderstats.CanRank.Value = leaderstats.CanRank.Value - 1
  82.                         leaderstats.Deaths.Value = 0
  83.                         leaderstats.TrainingEXP.Value = 0
  84.                         leaderstats.MissionEXP.Value = 0
  85.                         leaderstats.CombatEXP.Value = 0
  86.                         leaderstats.Rank.Value = leaderstats.Rank.Value + 1
  87.                         if leaderstats.Rank.Value > 25 then
  88.                             leaderstats.Rank.Value = 25
  89.                         end
  90.                         if leaderstats.Rank.Value + 1 > leaderstats.SkillPoints.Value then
  91.                             leaderstats.SkillPoints.Value = leaderstats.Rank.Value +1
  92.                             print("Your skillpoints are now "..leaderstats.SkillPoints.Value)
  93.                         end
  94.                         if leaderstats.Rank.Value == 1 then
  95.                             local rank = "F"
  96.                             _G.LogPlayer(player, rank,"rankup")
  97.                         elseif leaderstats.Rank.Value == 2 then
  98.                             local rank = "F+"
  99.                             _G.LogPlayer(player, rank,"rankup")
  100.                         elseif leaderstats.Rank.Value == 3 then
  101.                             local rank = "E-"
  102.                             _G.LogPlayer(player, rank,"rankup")
  103.                         elseif leaderstats.Rank.Value == 4 then
  104.                             local rank = "E"
  105.                             _G.LogPlayer(player, rank,"rankup")
  106.                         elseif leaderstats.Rank.Value == 5 then
  107.                             local rank = "E+"
  108.                             _G.LogPlayer(player, rank,"rankup")
  109.                         elseif leaderstats.Rank.Value == 6 then
  110.                             local rank = "D-"
  111.                             _G.LogPlayer(player, rank,"rankup")
  112.                         elseif leaderstats.Rank.Value == 7 then
  113.                             local rank = "D"
  114.                             _G.LogPlayer(player, rank,"rankup")
  115.                         elseif leaderstats.Rank.Value == 8 then
  116.                             local rank = "D+"
  117.                             _G.LogPlayer(player, rank,"rankup")
  118.                         elseif leaderstats.Rank.Value == 9 then
  119.                             local rank = "C-"
  120.                             _G.LogPlayer(player, rank,"rankup")
  121.                         elseif leaderstats.Rank.Value == 10 then
  122.                             local rank = "C"
  123.                             _G.LogPlayer(player, rank,"rankup")
  124.                         elseif leaderstats.Rank.Value == 11 then
  125.                             local rank = "C+"
  126.                             _G.LogPlayer(player, rank,"rankup")
  127.                         elseif leaderstats.Rank.Value == 12 then
  128.                             local rank = "B-"
  129.                             _G.LogPlayer(player, rank,"rankup")
  130.                         elseif leaderstats.Rank.Value == 13 then
  131.                             local rank = "B"
  132.                             _G.LogPlayer(player, rank,"rankup")
  133.                         elseif leaderstats.Rank.Value == 14 then
  134.                             local rank = "B+"
  135.                             _G.LogPlayer(player, rank,"rankup")
  136.                         elseif leaderstats.Rank.Value == 15 then
  137.                             local rank = "A-"
  138.                             _G.LogPlayer(player, rank,"rankup")
  139.                         elseif leaderstats.Rank.Value == 16 then
  140.                             local rank = "A"
  141.                             _G.LogPlayer(player, rank,"rankup")
  142.                         elseif leaderstats.Rank.Value == 17 then
  143.                             local rank = "A+"
  144.                             _G.LogPlayer(player, rank,"rankup")
  145.                         elseif leaderstats.Rank.Value == 18 then
  146.                             local rank = "S-"
  147.                             _G.LogPlayer(player, rank,"rankup")
  148.                         elseif leaderstats.Rank.Value == 19 then
  149.                             local rank = "S"
  150.                             _G.LogPlayer(player, rank,"rankup")
  151.                         elseif leaderstats.Rank.Value == 20 then
  152.                             local rank = "S+"
  153.                             _G.LogPlayer(player, rank,"rankup")
  154.                         elseif leaderstats.Rank.Value == 21 then
  155.                             local rank = "SS-"
  156.                             _G.LogPlayer(player, rank,"rankup")
  157.                         elseif leaderstats.Rank.Value == 22 then
  158.                             local rank = "SS"
  159.                             _G.LogPlayer(player, rank,"rankup")
  160.                         elseif leaderstats.Rank.Value == 23 then
  161.                             local rank = "SS+"
  162.                             _G.LogPlayer(player, rank,"rankup")
  163.                         elseif leaderstats.Rank.Value == 24 then
  164.                             local rank = "SS++"
  165.                             _G.LogPlayer(player, rank,"rankup")
  166.                 --[[        elseif leaderstats.Rank.Value == 25 then
  167.                             local rank = "SSS"
  168.                             _G.LogPlayer(player, rank,"rankup")]]
  169.                         end
  170.                     end
  171.                 else
  172.                     --  print'derankcheck'
  173.                     if leaderstats.Deaths.Value >= DerankInfo.Deaths.Value and DerankInfo.Deaths.Value > 0 and leaderstats.CombatEXP.Value + (leaderstats.MissionEXP.Value/10) + (leaderstats.TrainingEXP.Value/20) < ((reqcombat/3)) then
  174.                         --and leaderstats.Counter.Value < (RankInfo.Exp.Value/2)
  175.                         print'derankcheck2'
  176.                         leaderstats.Deaths.Value = 0
  177.                         leaderstats.TrainingEXP.Value = 0
  178.                         leaderstats.MissionEXP.Value = 0
  179.                         leaderstats.CombatEXP.Value = 0
  180.                         leaderstats.Rank.Value = leaderstats.Rank.Value - 1
  181.                         if leaderstats.Rank.Value == 0 then
  182.                             local rank = "F-"
  183.                             _G.LogPlayer(player, rank,"derank")
  184.                         elseif leaderstats.Rank.Value == 1 then
  185.                             local rank = "F"
  186.                             _G.LogPlayer(player, rank,"derank")
  187.                         elseif leaderstats.Rank.Value == 2 then
  188.                             local rank = "F+"
  189.                             _G.LogPlayer(player, rank,"derank")
  190.                         elseif leaderstats.Rank.Value == 3 then
  191.                             local rank = "E-"
  192.                             _G.LogPlayer(player, rank,"derank")
  193.                         elseif leaderstats.Rank.Value == 4 then
  194.                             local rank = "E"
  195.                             _G.LogPlayer(player, rank,"derank")
  196.                         elseif leaderstats.Rank.Value == 5 then
  197.                             local rank = "E+"
  198.                             _G.LogPlayer(player, rank,"derank")
  199.                         elseif leaderstats.Rank.Value == 6 then
  200.                             local rank = "D-"
  201.                             _G.LogPlayer(player, rank,"derank")
  202.                         elseif leaderstats.Rank.Value == 7 then
  203.                             local rank = "D"
  204.                             _G.LogPlayer(player, rank,"derank")
  205.                         elseif leaderstats.Rank.Value == 8 then
  206.                             local rank = "D+"
  207.                             _G.LogPlayer(player, rank,"derank")
  208.                         elseif leaderstats.Rank.Value == 9 then
  209.                             local rank = "C-"
  210.                             _G.LogPlayer(player, rank,"derank")
  211.                         elseif leaderstats.Rank.Value == 10 then
  212.                             local rank = "C"
  213.                             _G.LogPlayer(player, rank,"derank")
  214.                         elseif leaderstats.Rank.Value == 11 then
  215.                             local rank = "C+"
  216.                             _G.LogPlayer(player, rank,"derank")
  217.                         elseif leaderstats.Rank.Value == 12 then
  218.                             local rank = "B-"
  219.                             _G.LogPlayer(player, rank,"derank")
  220.                         elseif leaderstats.Rank.Value == 13 then
  221.                             local rank = "B"
  222.                             _G.LogPlayer(player, rank,"derank")
  223.                         elseif leaderstats.Rank.Value == 14 then
  224.                             local rank = "B+"
  225.                             _G.LogPlayer(player, rank,"derank")
  226.                         elseif leaderstats.Rank.Value == 15 then
  227.                             local rank = "A-"
  228.                             _G.LogPlayer(player, rank,"derank")
  229.                         elseif leaderstats.Rank.Value == 16 then
  230.                             local rank = "A"
  231.                             _G.LogPlayer(player, rank,"derank")
  232.                         elseif leaderstats.Rank.Value == 17 then
  233.                             local rank = "A+"
  234.                             _G.LogPlayer(player, rank,"derank")
  235.                         elseif leaderstats.Rank.Value == 18 then
  236.                             local rank = "S-"
  237.                             _G.LogPlayer(player, rank,"derank")
  238.                         elseif leaderstats.Rank.Value == 19 then
  239.                             local rank = "S"
  240.                             _G.LogPlayer(player, rank,"derank")
  241.                         elseif leaderstats.Rank.Value == 20 then
  242.                             local rank = "S+"
  243.                             _G.LogPlayer(player, rank,"derank")
  244.                         elseif leaderstats.Rank.Value == 21 then
  245.                             local rank = "SS-"
  246.                             _G.LogPlayer(player, rank,"derank")
  247.                         elseif leaderstats.Rank.Value == 22 then
  248.                             local rank = "SS"
  249.                             _G.LogPlayer(player, rank,"derank")
  250.                         elseif leaderstats.Rank.Value == 23 then
  251.                             local rank = "SS+"
  252.                             _G.LogPlayer(player, rank,"derank")
  253.                         elseif leaderstats.Rank.Value == 24 then
  254.                             local rank = "SS++"
  255.                             _G.LogPlayer(player, rank,"derank")
  256.                         end
  257.                     end
  258.                 end
  259.             end
  260.         end
  261.  
  262.         Rankup()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement