Don't spawn in until a button was pressed

How can I not spawn in until a gui button was pressed? Is that even possible? I already tried searching and self scripting but I didn’t get it to working.

You can actually do this.

Explorer->Players->CharacterAutoLoads must be set to false.
this way the player won’t spawn until you use LoadCharacter() from a server script

1 Like

Thank you very much I’m gonna try that

1 Like

How do I use LoadCharacter it comes up with “Unknown Global”

You need to do

game.Players.[PlayerName]:LoadCharacter()
                  ^
    --This signifies that you have to insert a player's name here.
    -- The square brackets are just here for astetic purpouses.
    -- Don't actually place the players name in square brackets.
--SERVER

local players = game:GetService"Players"
local replicated = game:GetService"ReplicatedStorage"
local remote = replicated.RemoteEvent
local server = game:GetService"ServerStorage"
local screenGui = server.ScreenGui

local function onPlayerAdded(player)	
	local playerGui = player:WaitForChild"PlayerGui"
	local screenGuiClone = screenGui:Clone()
	screenGuiClone.Parent = playerGui
end

local function onRemoteFired(player)
	player:LoadCharacter()
end

players.PlayerAdded:Connect(onPlayerAdded)
remote.OnServerEvent:Connect(onRemoteFired)
--LOCAL

local players = game:GetService"Players"
local replicated = game:GetService"ReplicatedStorage"
local remote = replicated:WaitForChild"RemoteEvent"

local screenGui = script.Parent
local textButton = screenGui:WaitForChild"TextButton"

local function onButtonClicked()
	remote:FireServer()
	textButton:Destroy()
end

textButton.MouseButton1Click:Connect(onButtonClicked)

test.rbxl (30.1 KB)

Bro you know the devforum isnt a place where you do the work for the person that has a problem?

well… thank you but I don’t think that this is how the devforum works