I don’t know if this is the right category, but as you can see in the video when the puck hits the green part it is supposed to respawn instantly but it respawns like 15 seconds later. The reaction times are insanely slow for some reason, I also noticed it stops happening after the first or second respawn. I want to fix this at the start of the game.
I have tried making the goal bigger and smaller and the puck weigh less and the floor less slippery but NOTHING has worked. Note that NONE of my scripts are causing this.
It behaves PERFECTLY after the first respawn
Did you set the network owner of the puck?
I don’t really understand network ownership
All you need to do is call
BasePart.SetNetworkOwner and add the player who hit the puck as the parameter.
keep in mind that this can only be done on the server.
If you don’t understand it, it’s basically the player who has control over the puck’s physics. Setting it to
nil will cause it to be handled by the server.
I tried setting it to nil and the player, but the parts acts like there’s a HUGE amount of physics throttling still
What is the
SimulationRadius of your player before and after respawning?
I don’t know what simulationradius is
It’s the radius of your character where parts will have an automatic network owner.
You can get it by doing
print(game.Players:GetChildren().SimulationRadius) in the command bar.
When i spawned in and put the command it said 6.253778457641602 in output
6 studs seem like enough. Does this happen in-game or in the local test server?
It does not work in studio or in the actual roblox game, i do not know why edit: i just noticed that it only happens in like the first 30 seconds of playing the game, then the physics “fix” themselves
Show me the main script of the part…?
This is the script in the goal
if hit.Name == "Rock" then
local Rock = workspace.RockSpawn:Clone()
Rock.Parent = workspace
Rock.Name = "Rock"
Rock.CanCollide = true
Rock.Transparency = 0
Rock.Anchored = false
workspace.Values.Green.Value = workspace.Values.Green.Value + 1
I cant really figure anything out with just that part, maybe try opening script performance in the View tab? And see which script takes the most performance
Nothing happens, when it hits the goal part the scripts are still the same, and the touch script in the goal hasn’t even activated it’s like physics throttling
Nothing in your script do a change for first spawn and next spawns?
Also the physic of your game is great! (In my opinion.)
Nothing changes in any of my scripts
As a workaround, you can respawn the player immediately after they join using
Player:LoadCharacter() for now.
I meant when the puck respawns the physics are like fixed
How exactly is the puck spawned then?