I've tried lots of times to make something that follows above the players position (without changing the parts orientation when player rotates) and I kinda gave up at this point and came here to find out how.
(I can make a part follow a player easily but I don't know how to make it follow above the players position)
http://wiki.roblox.com/index.php?title=Making_a_Floating_sphere
Well since someone didn't want to read I'll just quote from the site the necessary code to do this.
Context Script in ServerScriptService
workspace:WaitForChild("Player_Name") local Orb = Instance.new("Part",workspace) Orb.Name = "Orb" Orb.Shape = Enum.PartType.Ball Orb.CanCollide = false Orb.BrickColor = BrickColor.new("Bright green") Orb.Transparency = 0.25 Orb.Size = Vector3.new(2, 2, 2) Orb.TopSurface = Enum.SurfaceType.Smooth Orb.BottomSurface = Enum.SurfaceType.Smooth local BodyPosition = Instance.new("BodyPosition", Orb) while wait(0) do BodyPosition.Position = workspace["Player_Name"].Head.CFrame:pointToWorldSpace(Vector3.new(2, 1, 0)) end