How to make huge chances to get(ex. 1/1qn) using scripts( in case roblox limitations of value)

And then run these chances for function and then set value of chanceValue to these chances?

Alright so here is my chances table:

local ChancesTable = {
	Gen1 = 1,
	Gen2 = 125,
	Gen3 = 1250,
	Gen4 = 12500,
	Gen5 = 125000,
	Gen6 = 1250000,
	Gen7 = 12500000,
	Gen8 = 125000000,
	Gen9 = 1250000000,
	Gen10 = 12500000000,
	Gen11 = 250000000000,
	Gen12 = 5000000000000,
	Gen13 = 100000000000000,
	Gen14 = 2000000000000000,
	Gen15 = 40000000000000000,
	Gen16 = 800000000000000000,
	Gen17 = 16000000000000000000,
	Gen18 = 320000000000000000000,
	Gen19 = 6400000000000000000000,
	Gen20 = 128000000000000000000000,
	Gen21 = 12800000000000000000000000,
	Gen22 = 1280000000000000000000000000,
	Gen23 = 128000000000000000000000000000,
	Gen24 = 1280000000000000000000000000000,
	Gen25 = 128000000000000000000000000000000,
	Gen26 = 12800000000000000000000000000000000,
	Gen27 = 1280000000000000000000000000000000000,
	Gen28 = 128000000000000000000000000000000000000,
	Gen29 = 12800000000000000000000000000000000000000,
	Gen30 = 1280000000000000000000000000000000000000000,
	Gen31 = 128000000000000000000000000000000000000000000,
	Gen32 = 12800000000000000000000000000000000000000000000,
	Gen33 = 1280000000000000000000000000000000000000000000000,
	Gen34 = 128000000000000000000000000000000000000000000000000,
	Gen35 = 12800000000000000000000000000000000000000000000000000,
	Gen36 = 1280000000000000000000000000000000000000000000000000000,
	Gen37 = 128000000000000000000000000000000000000000000000000000000,
	Gen38 = 12800000000000000000000000000000000000000000000000000000000,
	Gen39 = 1280000000000000000000000000000000000000000000000000000000000,
	Gen40 = 128000000000000000000000000000000000000000000000000000000000000,
	Gen41 = 256000000000000000000000000000000000000000000000000000000000000000,
	Gen42 = 512000000000000000000000000000000000000000000000000000000000000000000,
	Gen43 = 1024000000000000000000000000000000000000000000000000000000000000000000000,
	Gen44 = 2048000000000000000000000000000000000000000000000000000000000000000000000000,
	Gen45 = 4096000000000000000000000000000000000000000000000000000000000000000000000000000,
	Gen46 = 8192000000000000000000000000000000000000000000000000000000000000000000000000000000,
	Gen47 = 16384000000000000000000000000000000000000000000000000000000000000000000000000000000000,
	Gen48 = 32768000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
	Gen49 = 65536000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
	Gen50 = 131072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
}

Should i make 50 numbers and 50 fractions to make this values?

I made an script connection, but i can’t retrieve value of function

local Players = game:GetService("Players")
local ChancesTable = {
	Gen1 = 1,
	Gen2 = 125,
	Gen3 = 1250,
	Gen4 = 12500,
	Gen5 = 125000,
	Gen6 = 1250000,
	Gen7 = 12500000,
	Gen8 = 125000000,
	Gen9 = 1250000000,
	Gen10 = 12500000000,
	Gen11 = 250000000000,
	Gen12 = 5000000000000,
	Gen13 = 100000000000000,
	Gen14 = 2000000000000000,
	Gen15 = 40000000000000000,
	Gen16 = 800000000000000000,
	Gen17 = 16000000000000000000,
	Gen18 = 320000000000000000000,
	Gen19 = 6400000000000000000000,
	Gen20 = 128000000000000000000000,
	Gen21 = 12800000000000000000000000,
	Gen22 = 1280000000000000000000000000,
	Gen23 = 128000000000000000000000000000,
	Gen24 = 1280000000000000000000000000000,
	Gen25 = 128000000000000000000000000000000,
	Gen26 = 12800000000000000000000000000000000,
	Gen27 = 1280000000000000000000000000000000000,
	Gen28 = 128000000000000000000000000000000000000,
	Gen29 = 12800000000000000000000000000000000000000,
	Gen30 = 1280000000000000000000000000000000000000000,
	Gen31 = 128000000000000000000000000000000000000000000,
	Gen32 = 12800000000000000000000000000000000000000000000,
	Gen33 = 1280000000000000000000000000000000000000000000000,
	Gen34 = 128000000000000000000000000000000000000000000000000,
	Gen35 = 12800000000000000000000000000000000000000000000000000,
	Gen36 = 1280000000000000000000000000000000000000000000000000000,
	Gen37 = 128000000000000000000000000000000000000000000000000000000,
	Gen38 = 12800000000000000000000000000000000000000000000000000000000,
	Gen39 = 1280000000000000000000000000000000000000000000000000000000000,
	Gen40 = 128000000000000000000000000000000000000000000000000000000000000,
	Gen41 = 256000000000000000000000000000000000000000000000000000000000000000,
	Gen42 = 512000000000000000000000000000000000000000000000000000000000000000000,
	Gen43 = 1024000000000000000000000000000000000000000000000000000000000000000000000,
	Gen44 = 2048000000000000000000000000000000000000000000000000000000000000000000000000,
	Gen45 = 4096000000000000000000000000000000000000000000000000000000000000000000000000000,
	Gen46 = 8192000000000000000000000000000000000000000000000000000000000000000000000000000000,
	Gen47 = 16384000000000000000000000000000000000000000000000000000000000000000000000000000000000,
	Gen48 = 32768000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
	Gen49 = 65536000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
	Gen50 = 131072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
}
for i,v in pairs(ChancesTable) do
	aberviate(v)
end
function aberviate(number)
	local abreviations = {
		[3] = "K",
		[6] = "M",
		[9] = "B",
		[12] = "T",
		[15] = "Qa",
		[18] = "Qi",
		[21] = "Sx",
		[24] = "Se",
		[27] = "Oc",
		[30] = "Nn"
	}
	if number < 1000 then
		return number
	elseif string.find(tostring(number),"e+") then
		local split = string.split(tostring(number),"e+")
		if split[1] and split[2] then
			local power = tonumber(split[2])
			if power then
				local abreviation = power - (power % 3)
				local truepre = tonumber(split[1])
				if truepre then
					local preAb = tostring(truepre * (10^(power-(abreviation)))) .. " "
					return preAb .. abreviations[abreviation]
				end
			else
				return number
			end
		end
	elseif not string.find(tostring(number),"e+") then
		local num = tostring(math.floor(number))
		local length = #num
		local trueLength = #num % 3
		if trueLength == 0 then
			trueLength = 3
		end
		local abreviation = abreviations[length-trueLength]
		if abreviation then
			local startNum = string.sub(num, 1, trueLength) .. "."
			local decimals = string.sub(num, trueLength+1,trueLength+2) .. " "
			if startNum and decimals then
				return startNum .. decimals .. abreviation
			else
				return number
			end
		else
			return number
		end
	end
end

Players.PlayerAdded:Connect(function(plr)
	local StatsFolder = plr:WaitForChild("Stats")
	local FirstJoinValue = StatsFolder:WaitForChild("GameVisited")
	local ReplicatedStorage = game:GetService("ReplicatedStorage")
	local SettingsGUI = ReplicatedStorage:WaitForChild("SettingsFrame")
	local AdvancedGameGUI = ReplicatedStorage:WaitForChild("AdvancedGameGUI")
	local GUISettings = StatsFolder:WaitForChild("GUIType")
	wait(1)
	if FirstJoinValue.Value == false then
		SettingsGUI.Parent = plr.PlayerGui
	end
	if GUISettings.Value == "Advanced" then
		local AGGUIClone = AdvancedGameGUI:Clone()
		local pName = plr.Name
		local pCharacter = workspace:FindFirstChild(pName)
		local pHead = pCharacter:FindFirstChild("Head")
		AGGUIClone.Parent = pHead
		local Frame = AGGUIClone:WaitForChild("Frame")
		for i, lines in ipairs(Frame:GetChildren()) do
			for i, buttons in ipairs(lines:GetChildren()) do
				buttons:FindFirstChild("Chance").Value  = number -- Here i need to edit values for chances
			end
		end
	end
end)

And also this script don’t work