Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local function Rankup() --dab
- print('rankup function loaded')
- if leaderstats.CombatEXP.Value < 0 and leaderstats.Rank.Value == 0 then
- leaderstats.CombatEXP.Value = 0
- end
- if leaderstats.MissionEXP.Value < 0 and leaderstats.Rank.Value == 0 then
- leaderstats.MissionEXP.Value = 0
- end
- if leaderstats.TrainingEXP.Value < 0 and leaderstats.Rank.Value == 0 then
- leaderstats.TrainingEXP.Value = 0
- end
- if leaderstats.CanRank.Value == 0 then return end
- --if leaderstats.Rank.Value >= leaderstats.MaxRank.Value then return end
- local eh = game.ServerScriptService.EventHandler
- local oldrank = leaderstats.Rank.Value
- local RankInfo = eh.Ranks:FindFirstChild(tostring(oldrank+1))
- local DerankInfo = eh.Ranks:FindFirstChild(tostring(oldrank))
- if leaderstats.MaxRank.Value == 0 then
- leaderstats.MaxRank.Value = 25
- end
- if RankInfo and DerankInfo then
- -- print'rankinfo'
- local reqtrain
- local reqmission
- local reqcombat
- if RankInfo then
- reqtrain = RankInfo.Training.Value
- reqmission = RankInfo.Mission.Value
- reqcombat = RankInfo.Combat.Value
- else
- reqtrain = DerankInfo.Training.Value
- reqmission = DerankInfo.Mission.Value
- reqcombat = DerankInfo.Combat.Value
- end
- --local totalxp = leaderstats.TrainingEXP.Value + leaderstats.MissionEXP.Value + leaderstats.CombatEXP.Value
- local totalxp = 0
- if leaderstats.MissionEXP.Value > reqmission then
- -- print("has enough mission exp")
- local leftoverexp = (leaderstats.MissionEXP.Value - reqmission)
- if leftoverexp > (reqmission /5) then
- leftoverexp = reqmission/5
- end
- totalxp = totalxp + reqmission + leftoverexp
- else
- -- print("does not have enough mission exp")
- totalxp = totalxp + leaderstats.MissionEXP.Value
- end
- if leaderstats.TrainingEXP.Value > reqtrain then
- local leftoverexp = (leaderstats.TrainingEXP.Value - reqtrain) /2
- -- print("has enough training exp")
- totalxp = totalxp + reqtrain + leftoverexp
- else
- -- print("does not have enough training exp")
- totalxp = totalxp + leaderstats.TrainingEXP.Value
- end
- if leaderstats.CombatEXP.Value > reqcombat then
- local leftoverexp = (leaderstats.CombatEXP.Value - reqcombat)
- if leftoverexp > (reqcombat /5) then
- leftoverexp = reqcombat/5
- end
- -- print("has enough combat exp")
- totalxp = totalxp + reqcombat +leftoverexp
- else
- -- print("does not have enough combat exp")
- totalxp = totalxp + leaderstats.CombatEXP.Value
- end
- local totalreq = reqcombat + reqtrain + reqmission
- wait()
- if leaderstats.CanRank.Value <= 0 then return end
- if totalreq <= 0 then totalreq = 0 end
- if totalxp >= totalreq then
- print'rankupcheck'
- if eh.Ranks:FindFirstChild(tostring((oldrank+1))) then
- print'rankupcheck2'
- if leaderstats.CanRank.Value < 0 then return end
- leaderstats.CanRank.Value = leaderstats.CanRank.Value - 1
- leaderstats.Deaths.Value = 0
- leaderstats.TrainingEXP.Value = 0
- leaderstats.MissionEXP.Value = 0
- leaderstats.CombatEXP.Value = 0
- leaderstats.Rank.Value = leaderstats.Rank.Value + 1
- if leaderstats.Rank.Value > 25 then
- leaderstats.Rank.Value = 25
- end
- if leaderstats.Rank.Value + 1 > leaderstats.SkillPoints.Value then
- leaderstats.SkillPoints.Value = leaderstats.Rank.Value +1
- print("Your skillpoints are now "..leaderstats.SkillPoints.Value)
- end
- if leaderstats.Rank.Value == 1 then
- local rank = "F"
- _G.LogPlayer(player, rank,"rankup")
- elseif leaderstats.Rank.Value == 2 then
- local rank = "F+"
- _G.LogPlayer(player, rank,"rankup")
- elseif leaderstats.Rank.Value == 3 then
- local rank = "E-"
- _G.LogPlayer(player, rank,"rankup")
- elseif leaderstats.Rank.Value == 4 then
- local rank = "E"
- _G.LogPlayer(player, rank,"rankup")
- elseif leaderstats.Rank.Value == 5 then
- local rank = "E+"
- _G.LogPlayer(player, rank,"rankup")
- elseif leaderstats.Rank.Value == 6 then
- local rank = "D-"
- _G.LogPlayer(player, rank,"rankup")
- elseif leaderstats.Rank.Value == 7 then
- local rank = "D"
- _G.LogPlayer(player, rank,"rankup")
- elseif leaderstats.Rank.Value == 8 then
- local rank = "D+"
- _G.LogPlayer(player, rank,"rankup")
- elseif leaderstats.Rank.Value == 9 then
- local rank = "C-"
- _G.LogPlayer(player, rank,"rankup")
- elseif leaderstats.Rank.Value == 10 then
- local rank = "C"
- _G.LogPlayer(player, rank,"rankup")
- elseif leaderstats.Rank.Value == 11 then
- local rank = "C+"
- _G.LogPlayer(player, rank,"rankup")
- elseif leaderstats.Rank.Value == 12 then
- local rank = "B-"
- _G.LogPlayer(player, rank,"rankup")
- elseif leaderstats.Rank.Value == 13 then
- local rank = "B"
- _G.LogPlayer(player, rank,"rankup")
- elseif leaderstats.Rank.Value == 14 then
- local rank = "B+"
- _G.LogPlayer(player, rank,"rankup")
- elseif leaderstats.Rank.Value == 15 then
- local rank = "A-"
- _G.LogPlayer(player, rank,"rankup")
- elseif leaderstats.Rank.Value == 16 then
- local rank = "A"
- _G.LogPlayer(player, rank,"rankup")
- elseif leaderstats.Rank.Value == 17 then
- local rank = "A+"
- _G.LogPlayer(player, rank,"rankup")
- elseif leaderstats.Rank.Value == 18 then
- local rank = "S-"
- _G.LogPlayer(player, rank,"rankup")
- elseif leaderstats.Rank.Value == 19 then
- local rank = "S"
- _G.LogPlayer(player, rank,"rankup")
- elseif leaderstats.Rank.Value == 20 then
- local rank = "S+"
- _G.LogPlayer(player, rank,"rankup")
- elseif leaderstats.Rank.Value == 21 then
- local rank = "SS-"
- _G.LogPlayer(player, rank,"rankup")
- elseif leaderstats.Rank.Value == 22 then
- local rank = "SS"
- _G.LogPlayer(player, rank,"rankup")
- elseif leaderstats.Rank.Value == 23 then
- local rank = "SS+"
- _G.LogPlayer(player, rank,"rankup")
- elseif leaderstats.Rank.Value == 24 then
- local rank = "SS++"
- _G.LogPlayer(player, rank,"rankup")
- --[[ elseif leaderstats.Rank.Value == 25 then
- local rank = "SSS"
- _G.LogPlayer(player, rank,"rankup")]]
- end
- end
- else
- -- print'derankcheck'
- 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
- --and leaderstats.Counter.Value < (RankInfo.Exp.Value/2)
- print'derankcheck2'
- leaderstats.Deaths.Value = 0
- leaderstats.TrainingEXP.Value = 0
- leaderstats.MissionEXP.Value = 0
- leaderstats.CombatEXP.Value = 0
- leaderstats.Rank.Value = leaderstats.Rank.Value - 1
- if leaderstats.Rank.Value == 0 then
- local rank = "F-"
- _G.LogPlayer(player, rank,"derank")
- elseif leaderstats.Rank.Value == 1 then
- local rank = "F"
- _G.LogPlayer(player, rank,"derank")
- elseif leaderstats.Rank.Value == 2 then
- local rank = "F+"
- _G.LogPlayer(player, rank,"derank")
- elseif leaderstats.Rank.Value == 3 then
- local rank = "E-"
- _G.LogPlayer(player, rank,"derank")
- elseif leaderstats.Rank.Value == 4 then
- local rank = "E"
- _G.LogPlayer(player, rank,"derank")
- elseif leaderstats.Rank.Value == 5 then
- local rank = "E+"
- _G.LogPlayer(player, rank,"derank")
- elseif leaderstats.Rank.Value == 6 then
- local rank = "D-"
- _G.LogPlayer(player, rank,"derank")
- elseif leaderstats.Rank.Value == 7 then
- local rank = "D"
- _G.LogPlayer(player, rank,"derank")
- elseif leaderstats.Rank.Value == 8 then
- local rank = "D+"
- _G.LogPlayer(player, rank,"derank")
- elseif leaderstats.Rank.Value == 9 then
- local rank = "C-"
- _G.LogPlayer(player, rank,"derank")
- elseif leaderstats.Rank.Value == 10 then
- local rank = "C"
- _G.LogPlayer(player, rank,"derank")
- elseif leaderstats.Rank.Value == 11 then
- local rank = "C+"
- _G.LogPlayer(player, rank,"derank")
- elseif leaderstats.Rank.Value == 12 then
- local rank = "B-"
- _G.LogPlayer(player, rank,"derank")
- elseif leaderstats.Rank.Value == 13 then
- local rank = "B"
- _G.LogPlayer(player, rank,"derank")
- elseif leaderstats.Rank.Value == 14 then
- local rank = "B+"
- _G.LogPlayer(player, rank,"derank")
- elseif leaderstats.Rank.Value == 15 then
- local rank = "A-"
- _G.LogPlayer(player, rank,"derank")
- elseif leaderstats.Rank.Value == 16 then
- local rank = "A"
- _G.LogPlayer(player, rank,"derank")
- elseif leaderstats.Rank.Value == 17 then
- local rank = "A+"
- _G.LogPlayer(player, rank,"derank")
- elseif leaderstats.Rank.Value == 18 then
- local rank = "S-"
- _G.LogPlayer(player, rank,"derank")
- elseif leaderstats.Rank.Value == 19 then
- local rank = "S"
- _G.LogPlayer(player, rank,"derank")
- elseif leaderstats.Rank.Value == 20 then
- local rank = "S+"
- _G.LogPlayer(player, rank,"derank")
- elseif leaderstats.Rank.Value == 21 then
- local rank = "SS-"
- _G.LogPlayer(player, rank,"derank")
- elseif leaderstats.Rank.Value == 22 then
- local rank = "SS"
- _G.LogPlayer(player, rank,"derank")
- elseif leaderstats.Rank.Value == 23 then
- local rank = "SS+"
- _G.LogPlayer(player, rank,"derank")
- elseif leaderstats.Rank.Value == 24 then
- local rank = "SS++"
- _G.LogPlayer(player, rank,"derank")
- end
- end
- end
- end
- end
- Rankup()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement