Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

Choosing a value using multiple tables unsolved

Hi!

I've got a new system to pick a car in my game, and it uses some tables. Here are the tables I have:

creators = {
			"roblox",
			"rauluss1",
			"others"
}

carsroblox = {"ModBlueCar",
	"ModGreenJeep",
	"ModPoliceCar",
	"ModRedTruck",
	"ModSchoolBus",
	"ModSportsCar"}
	
carsrauluss1 = {"ModJumper",
	 "ModGrandpaCar",
	 "ModTaxi",
	 "ModTraveller",
	 "ModPartyCar",
	 "ModRetro",
	 "ModMonster",
	 "ModBeetle",
	 "ModKart"
}

carsothers = {"ModQuantum",
	"ModDarkHorse",
	"ModDominaytor",
	"ModSpeedaru"
}

Those are all my tables. Right, so I want to pick a car out of here with 2 variables set with some nice scripts.

The 2 numbers are defined as these:

table = number1.Value
car = number2.Value

So to pick the car what I am CURRENTLY doing is this:

chosentable = "cars"..creators[table]
chosencar = chosentable[car]

So in one line that is basically this:

"cars"..creators[table][car]

This returns the following error:

attempt to concatenate field '?' (a nil value)

What am I doing wrong?

1 answer

You are generating a string where you want a table.
This code

chosentable = "cars"..creators[table]

returns a string like "carsrauluss1". Note that this string does not represent your table named carsrauluss1. It is just a string. So, in effect, what you are attempting here is something like this:

"carsrauluss1"[3] --attempt to index a string. This returns nil.

An alternative approach is this

local cars = {
	{
		"ModBlueCar",
		"ModGreenJeep",
		"ModPoliceCar",
		"ModRedTruck",
		"ModSchoolBus",
		"ModSportsCar"
	},
	{
		"ModJumper",
		"ModGrandpaCar",
		"ModTaxi",
		"ModTraveller",
		"ModPartyCar",
		"ModRetro",
		"ModMonster",
		"ModBeetle",
		"ModKart"
	},
	{
		"ModQuantum",
		"ModDarkHorse",
		"ModDominaytor",
		"ModSpeedaru"
	},
}

local table = number1.Value
local car = number2.Value
chosencar  = cars[table][car]

This discussion is preserved as it was. New answers, comments, and votes are closed.