I have a local script that adds a BodyForce to whatever I click on. So far it's worked with all different parts, including NPCs with HRPs. However, when I publish it and hop on the server, it doesn't work on other players. It works fine on basic parts, and the NPC, but when I click on a real player on the server, they disappear for like half a second then reappears without any force applied; it flickers. Anyone got any ideas?
`local camera = workspace.CurrentCamera local player = game:GetService("Players").LocalPlayer local mouse = player:GetMouse()
mouse.Button1Down:Connect(function()
local screenRay = camera:ScreenPointToRay(mouse.X, mouse.Y)
local length = 500
local ray = Ray.new(screenRay.Origin, screenRay.Direction * length)
local hit,position = workspace:FindPartOnRayWithIgnoreList(ray, {workspace.Baseplate})
if hit then
local hitCFrame = hit.CFrame
local playerCFrame = player.Character.HumanoidRootPart.CFrame
--local distance = playerCFrame:DistanceFromCharacter(hitCFrame.Position)
--print(distance)
print(hit.Name)
local force = Instance.new("BodyForce")
--local gyro = Instance.new("BodyGyro")
local magnitude = 1000
if hit.Parent:FindFirstChild("Humanoid") then
print("Person!")
force.Parent = hit.Parent.HumanoidRootPart
--gyro.Parent = hit.Parent.HumanoidRootPart
hit.Parent.Humanoid:ChangeState(Enum.HumanoidStateType.FallingDown)
hitCFrame = hit.Parent.HumanoidRootPart.CFrame
-- Check if player has an int value
-- if they dont, add it
-- add to the int value
-- use int value as multiplier
else
force.Parent = hit
--gyro.Parent = hit
end
hitCFrame = CFrame.new(hitCFrame.Position, playerCFrame.Position)
force.Parent:SetNetworkOwner(player)
force.Force = hitCFrame:vectorToWorldSpace(Vector3.new(0,4,3) * magnitude)
wait(0.25)
force:Destroy()
--gyro:Destroy()
end
end)`
