Help make Invite function Happen

Hello, i have a script where there is a player list and it only shows players in the game other than u, there is a invite button next to there name, can anyone help me make a GUI clone onto their screen when invited?

local CloneToScreen = script.Parent.Parent.Invited:Clone()

local function AddPlayerList(plr)
	local List = script.Parent.Player:Clone()
	List.Visible = true
	List.Parent = script.Parent.ScrollingFrame
	List.PlayerName.Text = plr.Name
end

for i,v in pairs(game.Players:GetChildren()) do
	if v ~= game.Players.LocalPlayer then
		AddPlayerList(v)
	end
end

game.Players.PlayerAdded:Connect(function(plr)
	AddPlayerList(plr)
end)

game.Players.PlayerRemoving:Connect(function(plr)
	for i,v in pairs(script.Parent.ScrollingFrame:GetChildren()) do
		if v and v.Name == plr.Name then
			v:Remove()
			break
		end
	end
end)

To clone a GUI onto another player’s screen, you will need to fire a RemoteEvent to the server that contains the player you want to invite in it. Once you’ve fired the event to the server, you will need to fire an event to the client you want to invite.

Maybe try to get the player so try this

local function SendInvite(player)
    local PlayerGui = game.Players:FindFirstChild(player):WaitForChild("PlayerGui") or player:WaitForChild("PlayerGui") -- So you can do the player or the name of the player
    local cloneInviteGUI = inviteGui:Clone()
    cloneInviteGUI.Parent = PlayerGui
end

--Whereever you need the invite
SendInvite("PlayerNameHere") -- OR -- SendInvite(LocalPlayer)