Need Help on Chance System

Hello! I’ve been trying to make a chance system. But in the function part, it says table was expected but got nil. Please help!

Module Script:

local Chance = {}

local Shapes = {
	---[[Commons]]---
	["Ball"] = .5;
	["Part"] = .5;
	["Cylinder"] = .5;
	["Wedge"] = .5;
	["Corner"] = .5
	
}

function GetShapes(Shapes) -- Table Nil?
	local Weight = 0

	for i, Pick in pairs(Shapes) do
		Weight += (Pick * 10)



	end

	local random_num = math.random(1, Weight)

	Weight = 0

	for Prize, Pick in pairs(Shapes) do
		Weight += (Pick * 10)

		if Weight >= random_num then
			warn(`Won {Prize}`)
			break
		end

	end

	
end

print(GetShapes())

return Chance
1 Like

You put “Shapes” as a parameter but never send it.

function GetShapes(Shapes)
print(GetShapes())

Instead rename the parameter

function GetShapes(atable)

and send the table to the function

print(GetShapes(Shapes))
local Chance = {}

local Shapes = {
	---[[Commons]]---
	["Ball"] = .5;
	["Part"] = .5;
	["Cylinder"] = .5;
	["Wedge"] = .5;
	["Corner"] = .5
	
}

function GetShapes(atable) -- Table Nil?
	local Weight = 0

	for i, Pick in pairs(atable) do
		Weight += (Pick * 10)
	end

	local random_num = math.random(1, Weight)

	Weight = 0

	for Prize, Pick in pairs(atable) do
		Weight += (Pick * 10)

		if Weight >= random_num then
			warn(`Won {Prize}`)
			break
		end

	end

	
end

print(GetShapes(Shapes))

return Chance
1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.