Fix with gui that is not available through roblox studio itself

Hey everyone,

There is a gui that can’t be edited or deleted unless you’re in testing mode (play). Does anyone know specifically on how to get rid of it? The GUI’s parent is ‘PlayerGui’.

1 Like

can you take a screenshot? What is it called? Could be because of one of your plugin

2 Likes

If you mean that the GUI can’t be accessed through the explorer during editing, then it’s definitely created by a script. Therefore to modify that GUI you need to write code yourself, either by editing the script that creates it or by detecting it and then modifying it with another script.

2 Likes

To add to what @0msh and @NyrionDev have said, i believe only a local script can accomplish this, so you really only need to search these places for the code running it:

Even the plugin will have to inject its code into one of these parents.

1 Like

In studio testing:
see
The text:
see2
(I wanna remove it because About_Dev isn’t my username anymore, and I’m remaking this game into another)

That’s my issue, I didn’t write the script. Someone else who helped program the game did. So I’m kinda lost there.

Can you send the script? It would help if we could see the script.

It looks like you can just go into the text label, scroll through the properties until you get to the text property and just adjust the sentence the way you want.

If you just dont want the text at all then delete the text label.

maybe try to find the script somewhere and edit/delete it

Yeah, i’ve tried that and it wouldn’t work. I’d delete it, but it’d come back as soon as I exit testing and go back in it yknow.

Do what @natty_boppin said and edit the script that is making the gui.

There’s no script attached to it in studio. Nor while play testing it… it’s parent is ‘PlayerGUI’.

The script could be in any of the locations that @RMofSBI said. Most likely, it will be in starter player scripts, which is a folder in starter player.

Just checked about every script that could potentially be with the gui script, but none are related to the gui. At this point, I might as well keep it there.

What you mean when you exit testing? You should be deleting in when you arent testing, because if you delete it during play test it will revert back as soon as you stop play testing.

The script’s parent is playerGUI?

FIXED. I found the script after scrolling through serverscriptservice. I had a skip script, and he managed to add the text through that script. I’ll send the script.

print(1)

local skipsadded = script.SkipsAddedPerBuy.Value

local DataStoreService = game:GetService("DataStoreService")

local myDataStore = DataStoreService:GetDataStore("MyDataStore")

local MarketplaceService = game:GetService("MarketplaceService")

local Players = game:GetService("Players")

game.Players.PlayerAdded:Connect (function(player)
	local stat = Instance.new("Folder")
	stat.Name = "stat"	
	stat.Parent = player
	
	local skips = Instance.new("IntValue")
	skips.Name = "skips"
	skips.Parent = stat
	
	local newplay = Instance.new("IntValue")
	newplay.Name = "newplay"
	newplay.Parent = stat
	
	local data
	local success, errormessage = pcall(function()
		data = myDataStore:GetAsync(player.UserId.."-skips")
	end)
	if success then
		skips.Value = data
	else
		print("error")
		warn(errormessage)
	end
	local data2
	local success, errormessage = pcall(function()
		data2 = myDataStore:GetAsync(player.UserId.."-newplay")
	end)
	if success then
		newplay.Value = data2
	else
		print("error")
		warn(errormessage)
	end
	if newplay.Value == 1 and skips.Value > 3 then
		print("This is not a new player")
	else
		if newplay.Value == 0 then
			print("new player!")
			
			skips.Value = 3
			newplay.Value = 1
		end
	end
end)

function REMOVE(player)
	print("skip used!")
	local skips = player.stat.skips
	skips.Value = skips.Value - 1
	local requirement = require(game.Workspace.aKeepinworkspace.skipscript2)
	requirement.teleporta(player)
end

function ADD(player)
	print("adding skip")
	local skips = player.stat.skips
	skips.Value =skips.Value + skipsadded
	print("newvalue! "..skips.Value)
end

local MarketplaceService = game:GetService("MarketplaceService")

local Players = game:GetService("Players")

function processReceipt(receiptInfo)
	
	local player = Players:GetPlayerByUserId(receiptInfo.PlayerId)
	if not player then
		
		return Enum.ProductPurchaseDecision.NotProcessedYet
	end
	
	
	if receiptInfo.ProductId == script.productid.Value then
	if player then 
		local char = game.Workspace:FindFirstChild(player.Name)
		-- what it does
		print("ADD activated")
		ADD(player)
		
		end
	end
	
	return Enum.ProductPurchaseDecision.PurchaseGranted
	
end

MarketplaceService.ProcessReceipt = processReceipt

function prompt(player)
	print("prompted!")
		local productID = script.productid.Value
		print(productID)
	local productide = 1004271010
	MarketplaceService:PromptProductPurchase(player, productID)
	end

function skiplevel(player)

	local skips = player.stat.skips
	if skips.Value > 0 then	
		if player.Character.Humanoid.Health > 1 then
		print(skips.Value)
			REMOVE(player)
			end
	else
		print("SKIP FAILED, NOT ENOUGH RESOURCES")
	end
	end

game.Players.PlayerRemoving:Connect(function(player)
	
	local success, errormessage = pcall(function()
	myDataStore:SetAsync(player.UserId.."-skips", player.stat.skips.Value)
	end)
	
	if success then
		print("saved")
	else
		print("error")
		warn(errormessage)
	end
end)



function checkValue(player, valuename)
	local skips = player.stat.skips
	return skips.Value
	
end

function premt(player)
	local play = player.Name
	local person = game.Players:FindFirstChild(play)
local thing = person.PlayerGui:WaitForChild("GUI")
local new = Instance.new("TextLabel")
	local rep = game:GetService("ReplicatedStorage").but
	local number = math.random(1, 100)
new.Parent = thing
new.Text = rep.Value
new.TextSize = 8
new.TextTransparency = 0.2
new.Position = UDim2.new(0.726, 0, 0.962, 0)
new.Size = UDim2.new(0, 230, 0, 18)
	new.BackgroundTransparency = 1
	new.Name = number
end

function into(player)
	local playere = game.Players:playerFromCharacter(player)
	if playere ~= nil then
	local thing = player
		local gui = Instance.new("ScreenGui")
		gui.Parent = playere.PlayerGui
		gui.Name = "thegui"
local new = Instance.new("TextLabel")
local rep = game:GetService("ReplicatedStorage").but
new.Parent = playere.PlayerGui.thegui
new.Text = "Thanks to Tommytherox for helping About_Dev"
new.TextSize = 8
new.TextTransparency = 0.2
new.Position = UDim2.new(0.726, 0, 0.962, 0)
new.Size = UDim2.new(0, 230, 0, 18)
new.BackgroundTransparency = 1
	end
	end

game.Workspace.ChildAdded:connect(into)

game.ReplicatedStorage.get.OnServerInvoke = checkValue

game.ReplicatedStorage.buy.OnServerEvent:Connect(prompt)
game.ReplicatedStorage.RemoteEvent.OnServerEvent:Connect(premt)

game.ReplicatedStorage.skip.OnServerEvent:Connect(skiplevel)
Players.PlayerAdded:Connect(premt)

return table```

So the code was hidden in another script?

Yes. Now I have no idea how to remove the text without removing the skip script.

Reply to @RMofSBI - Yeah exactly, there’s no sign of the gui while i’m NOT in testing. When i AM in play testing, it’s there but won’t let me edit it. However, i have found the script that it was put it (maybe), but i have no idea on how to delete it but keep the skip thing working.