Yes you are kind of on the right track however the name has to be the received number.
Colors = {
[1] = {Name = "Default", Price = 0, Color = Color3.fromRGB(0, 255, 183)},
[2] = {Name = "Red", Price = 0, Color = Color3.fromRGB(255, 0, 4)},
[3] = {Name = "Orange", Price = 0, Color = Color3.fromRGB(255, 115, 0)},
[4] = {Name = "Green", Price = 0, Color = Color3.fromRGB(17, 255, 0)},
[5] = {Name = "Blue", Price = 0, Color = Color3.fromRGB(0, 55, 255)},
[6] = {Name = "Purple", Price = 0, Color = Color3.fromRGB(128, 0, 255)},
[7] = {Name = "Pink", Price = 30, Color = Color3.fromRGB(255, 53, 239)},
[8] = {Name = "LOrange", Price = 30, Color = Color3.fromRGB(255, 118, 64)},
[9] = {Name = "LGreen", Price = 30, Color = Color3.fromRGB(74, 255, 80)},
[10] = {Name = "LBlue", Price = 30, Color = Color3.fromRGB(99, 167, 255)},
[11] = {Name = "LPurple", Price = 30, Color = Color3.fromRGB(140, 83, 255)},
[12] = {Name = "Grey", Price = 40, Color = Color3.fromRGB(61, 61, 61)},
[13] = {Name = "Black", Price = 40, Color = Color3.fromRGB(255, 255, 255)},
}
Like in this code the colors are linked to numbers.
process.OnClientEvent:Connect(function(map, mapNumber)
I would like to take the map (the actual variable/ color options) and make the name the mapNumber (The ID)
EDIT: I would like to insert it into a list such as that one.