A part(inside a Tool) is in replicatedStorage and get Cloned and put into players Backpack,
A SurfaceGui in StarterGui wich needs to be visible on the cloned part that is in a players Backpack
I tried and it only works when u pickup the Tool wich was located in Workspace, then the Gui got perfectly on the part put when cloned from rep storage it wont work
Instead of getting the SurfaceGui in StarterGui, try getting it in PlayerGui, like so:
local replicatedStorage = game:GetService("ReplicatedStorage")
local players = game:GetService("Players")
local player = players.LocalPlayer
local partClone = replicatedStorage:FindFirstChild("Tool"):Clone()
partClone.Parent = player.Backpack
local gui = player.PlayerGui.SurfaceGui
gui.Adornee = PartClone
make sure ResetOnSpawn is set to true for the SurfaceGui, that should allow the script to work, hopefully this helps.