If I were to spawn a part from the server, give the client network ownership over it, and then have the server apply some force to the part via ApplyImpulse
, the part is completely unaffected and just falls to the ground. Is there any way around this besides having the client make the ApplyImpulse
call?
2 Likes
BasePart:SetNetworkOwnership(nil)
I’ve set the network ownership to the client so that the parts can move in a more responsive manner (that’s the goal), not the server, and I want the server to be able to call ApplyImpulse
on the part. Setting the network ownership back to the server (which is what I assume you’re saying) to then call ApplyImpulse would result in a very bad stutter.
You could try firing a remote event to the server and set the parameters to the part, and then in the server script you can use ApplyImpulse
example:
client
local part = Instance.new("Part")
local event = game.ReplicatedStorage.RemoteEvent
event:FireServer(part)
server
game.ReplicatedStorage.RemoteEvent.OnServerEvent:Connect(function(part)
part:ApplyImpulse() -- if this is wrong u can change it, ive never used apply impulse
end)
1 Like
Never have I done this since I’ve handled most of instances like that on the client only. There might be a solution to that but can be hacky and has more cons than pros.