Why does the server think the ball touched it even though its mid air

Hey Developers..

I found a problem where parts (that are tiny) makes workspace think its touching even though its basically mid air

i know its because of client delay

Where are you putting the LocalScript for the .Touched event?

in the baseplate temporarily. changing it soon to pointparts

For client touch detection, the local script needs to be in the StarterPlayerScripts or StarterCharacterScripts, preferrably StarterPlayerScripts, since the script would otherwise create a connection every time you respawn

im using global scripts for it to work but yet it still detects early in the client, and ill try doing your solution

Give it a shot and let me know what happens

Are you trying to detect touch event on scripts with RunContext = Local?
Also please provide video of how this working or show your script code

i tried it but it doesnt even work. is there a problem with my script??

script im using:

game.Workspace.Baseplate.Touched:Connect(function(hit)
	print(hit.Name)
	if hit.Name == "Ball" then
		workspace.Ball.AssemblyLinearVelocity = Vector3.new(0, 0, 0)
		workspace.Ball.Position = Vector3.new(-7.748, 6, -3.602)
	end
end)

Where was the Ball created and is the network owner of it the player or the server

wait it works i was just stupid as i added 2 parts with the same name. totally forgot, let me see if it actually works for the delay thing

yeah still detects it early, i know the reason is the server detects it before the client, ill just make a video

heres video footage of what i meant

Im a bit confused on whether you want the ball to be controlled by the server or the client

What exactly do you want to achieve?

i want it so it actually looks like touching the baseplate instead of resetting mid air. i know theres ways but i need an effecient way that uses either server or client

Well the problem is that, im assuming, you are resetting the position of the ball on the server, but applying an impulse on the client, which isn’t actually visible to the server

i actually was adding an impulse to the client but thats for it to fly and actually work like a ball instead of a bouncy ball that does nothing

  1. Where is the ball created
  2. Who is the network owner of the ball
  3. Where is the ball position being reset

Edit: Nvm abt the position

  1. workspace
  2. nil
  3. -7.748, 6, -3.602 (changing it soon for gameplay)

Are you setting the Position on the client and on the server when it touches the ground, or is it only happening on the client