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

How can insert a gui into someones screen?

So i'm working on a game and i need the game to give the person a gui when they step on a part so far i have

local brick = game.Workspace.Brick
 
function onTouch(part)

end 
 
brick.Touched:connect(onTouch)

So, as you see I have no idea howto insert a gui into someones screen. Please help!

2 answers

There are many ways you could do this.

First of all, you could already have the GUI inside the StarterGui and make it visible when you touch.

Or you could clone the GUI from ServerStorage. Let's do this.

First, insert your GUI inside ServerStorage.

Then, let's change define a few variables

local serverstorage = game:GetService("ServerStorage") --Gets "ServerStorage," which is what we're storing your gui in until we need it.
local gui = serverstorage:WaitForChild("ScreenGui") --I'm assuming that's the name of your GUI.

--Make sure this script is inside the brick, by the way.

script.Parent.Touched:connect(function(hit) --If the part is touched, fire this function. Takes argument "hit"
local player = game.Players:GetPlayerFromCharacter(hit.Parent) --Gets the player.
local playergui = player:WaitForChild("PlayerGui") --Gets the client's PlayerGui.

local guiclone = gui:Clone() --Clones the gui from ServerStorage

guiclone.Parent = playergui --Sets the parent of the cloned gui to the player's client PlayerGui

end) --ends function

I hope this helped!

First, you need to create the GUI. Store the GUI somewhere, then when the Player touches the part, clone and paste it in their PlayerGui

You have the touch function and connection down, now you need to create the GUI and put it in the Brick.

local brick = game.Workspace.Brick
local Gui = brick.Gui -- Or where ever the GUI is

function onTouch(part)
if part.Parent then
local Player = game:GetService('Players'):FindFirstChild(part.Parent.Name)
if not Player then return end -- Check if thats a player
Gui:clone().Parent = Player.PlayerGui -- The cloning and pasting
end
end 

brick.Touched:connect(onTouch)

1 comment

0

how can i access the gui from another script if its moving around

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