Thank you for viewing my question, I'm in need of help. I recently made a Local Script that makes a ScreenGui with a TextButton inside of the ScreenGui. I get an error at the 2nd line of the code, I marked out the code with little notes to help you guys solve my problem.
local SG = Instance.new([[ScreenGui]])--Make it more simple SG.Parent = [[StarterGui]]--Parent is the StarterGui, also where I'm getting my error local TB = Instance.new([[TextButton]])--Make it more simple TB.Parent = [[SG]]--The new ScreenGui I made TB.BackgroundColor3 = Color3.new(0,0,0)--Jet Black Color TB.Transparency = 0.7--Transparency is set to this to add detail TB.TextColor3 = Color3.new(197,0,0)--Darkish Red TB.Font = [[Legacy]]--Favorite Font TB.FontSize = [[Size12]]--So that it doesn't overlap the TextButton TB.Text = [[Hello There!]]--My Message TB.Position = UDim2.new(0.4,0,0.4,0)--Middle of the screen function onClicked()--If the player clicks my TextButton TB.Text = [[Welcome to my place]]..game.Players.LocalPlayer.Name..[[!]]--The new text! end--Since it's a function, it needs an end script.Parent.MouseButton1Click:connect(onClicked)--Repeating code
So I get an error saying that the Parent is a bad argument, here's the error; Players.Player.PlayerGui.LocalScript:2: bad argument #3 to 'Parent' (Object expected, got string)
I'm not sure what to do now, I tried editing the 2nd line of code and even the first one, but it's still not working. Is this another Roblox Studio update that's making this harder for us? And if so what can I do to make sure this doesn't happen again. Thanks for viewing my question!
Using funyun's answer, it needs to be an object value not a string.
local TB = script.Parent.TextButton TB.BackgroundColor3 = Color3.new()--Color3.new() is the same as Color3.new(0,0,0) TB.Transparency = 0.7--Transparency is set to this to add detail TB.TextColor3 = Color3.new(197/255)--Darkish Red; divide 197 by 255. I deleted the other 2 last values, since they're blank it will be 0 by default. TB.Font = [[Legacy]]--Favorite Font TB.FontSize = [[Size12]]--So that it doesn't overlap the TextButton TB.Text = [[Hello There!]]--My Message TB.Position = UDim2.new(0.4,0,0.4,0)--Middle of the screen TB.MouseButton1Down:connect(function() TB.Text = [[Welcome to my place]]..game.Players.LocalPlayer.Name..[[!]] end)
Hope it helps!