BackgroundImage is not a valid member of Frame "SelectedFrame"

Hello, I have a script

local Players = game:GetService("Players")

local player = game:GetService("Players").LocalPlayer
local PlayerGui = player.PlayerGui
local Camera = workspace.CurrentCamera
Character = Players.LocalPlayer.Character


local Players = game:GetService("Players")
local client = Players.LocalPlayer


script.Parent.Parent.TextButton.MouseButton1Click:Connect(function(player) --Changed ClickDetector to TextButton
PlayerGui.YourGui.YourText.PreloadB.Disabled = false
workspace.scrollunroll:Play()
script.Parent.Parent.Parent:Destroy()	
	
	
	end)

When the script is executed I get this error:

image

I’m unsure what is causing this error in the script, I’ve tried readjusting/rescripting things. The script is meant to remove a GUI from a player’s screen and then execute a local script inside a GUI.

Any help is appreciated, thanks! :blush:

1 Like

I do have a couple of things to suggest:

  • You seem to be defining the LocalPlayer twice…? You should just keep it as 1

  • Character is a global variable & not secured with a CharacterAdded:Wait(), do change it to “local”

  • There’s no parameter for MouseButton1Click

Try this perhaps?

local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Character = Player.Character or Player.CharacterAdded:Wait()
local Camera = workspace.CurrentCamera
local PlayerGui = Player:WaitForChild("PlayerGui")

script.Parent.Parent.TextButton.MouseButton1Click:Connect(function()
    PlayerGui.YourGui.YourText.PreloadB.Disabled = false
    workspace.scrollunroll:Play()
    script.Parent.Parent.Parent:Destroy()
end)

It would also help to see the hierarchy of what your Explorer looks like (Specifically inside your PlayerGui)

Could I see the explorer please?

A frame does NOT have the property background image. It’s background transparency.

The error is unrelated to the code you posted, as ‘BackgroundImage’ is not referenced inside it. Nevertheless, Frame objects do not have any kind of ‘Image’ property, so it’s possible you were trying to reference Frame.BackgroundColor or Frame.BackgroundTransparency and mistyped?

Just wanted this to be here for anybody who accidently came across the same problem, (yup that’s right apologies for the bump, I exist, yes :wave:).

The error is a CoreGui error, it’s saying it can’t find something because it’s missing. It would be appreciated if people would reply to a question with full knowledge of OP’s error and actually read into what they’re saying!

Your code has
script.Parent.Parent.Parent:Destroy(),
this will actually destroy PlayerGui.
Remove one parent from the statement:
script.Parent.Parent:Destroy()
and that could fix it.

I had this exact issue because I was destroying PlayerGui instead of Gui (variable naming is hard for me.)

1 Like