I'm trying to make a value that will change to the occupant's username but it isn't working. Here is the script:
user = script.Parent.Parent.VehicleSeat.Occupant script.Parent.Value = user
user is an object, user.Name is a value, use that
user = script.Parent.Parent.VehicleSeat.Occupant script.Parent.Value = user.Name
In ROBLOX, there are three different types of value instances. We have IntValue
s, BoolValue
s, and StringValue
s. All of these instances have different purposes. An IntValue
's purpose is to store numbers so that they can later be used in a mathematical problem to keep track of the amount of something a player has (anything that has to do with amounts). A StringValue
's purpose is to store strings (another word for text). If you try to make a StringValue
's value 12, you can not call upon the value for a mathematical problem, as it is stored as text and not a number. The final value, BoolValue
s, are used to store either true or false.
Right now what you're doing is making the value of the StringValue
an object (or at least attempting to). What you want to do is convert the user value to a string. This is pretty simple to do just by putting a tostring()
around "user", making your script look like this:
user = script.Parent.Parent.VehicleSeat.Occupant script.Parent.Value = tostring(user.Parent) --added.Parent because user currently gives us a humanoid and not the player.
The occupant of a seat will give you the humanoid of a character. To get the username of the character, you just need to get the parent of said humanoid.
We are going to bind an update function, so that when the occupant changes, the string value will update.
We are also going to add checks, to make sure that the code does not error
Going off what cmgtotalyawesome had said, we are going to use 'tostring'
local seat = script.Parent.Parent local stringval = script.Parent local function update() wait() local user = script.Parent.Parent.Occupant if user ~= nil then --checks to prevent any errors stringval.Value = tostring(user.Parent) --grabs the parent of the humanoid else print("nil") --no one is currently in the seat end end seat.Changed:Connect(update)