Parts when anchored have different Position than the client

I made a simple “Stop time” ability and it’s works fine on the server but on the client the position for the parts are different

External Media

I tried to not use Touched event but it didn’t

ReplicatedStorage.TimeStop.OnServerEvent:Connect(function(player: Player)
	if not player.Character then return end
	
	local pos = player.Character.PrimaryPart.Position
	
	local zone = ServerStorage.Zone:Clone()
	zone.Position = pos
	zone.Parent = workspace
	
	local tween = TweenService:Create(zone ,zoneTween, {Size = Vector3.new(70,70,70)})
	tween:Play()
	
	local FrozenPart = {}
	local conn = zone.Touched:Connect(function(v)
			if not v:IsA("Part") then return end
			if v:IsDescendantOf(player.Character) then return end
			if v.Anchored == true then return end
			
			print(FrozenPart)
			v.Anchored = true
			table.insert(FrozenPart, v)
	end)
	
	task.delay(6, function()
		conn:Disconnect()
		
		local tween = TweenService:Create(zone ,zoneTween, {Size = Vector3.new(1,1,1)})
		tween:Play()
		tween.Completed:Wait()

		
		zone:Destroy()
		for i,v in pairs(FrozenPart) do
			if not v then return end
			v.Anchored = false
		end
		
	end)
end)
1 Like

This is likely due to some network ownership conflict. Set the network ownership of the parts that are spawning to nil

1 Like

Didn’t fix the problem my guess is with touched event it self

I did some searching and found there is a network delay with it so I think I need to use something else than .Touched

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.