The something I want to push is another player but, I want to make it the direction they are being pushed from is where the other player is looking. The main issue that I am having is the player is only being flung in a single direction and not relative to where the other player is looking. Hopefully that made sense, torso = HumanoidRootPart --torso for testing purposes
game.ReplicatedStorage.RemoteEventhammer.OnServerEvent:Connect(function(player,cframe,toPush) local sword = game.ServerStorage:WaitForChild("hammer") local character = player.Character local arm = player.Character:WaitForChild("Torso") local newsword = sword:Clone() local launch = Instance.new("BodyVelocity") local playerRoot = player.Character:FindFirstChild("HumanoidRootPart") newsword.CFrame = character.HumanoidRootPart.CFrame newsword.Parent = workspace local Y = Instance.new("Weld") Y.Part0 = arm Y.Part1 = newsword Y.Parent = Y.Part0 local touchconn touchconn = newsword.Touched:Connect(function(hit) if hit.Parent:FindFirstChild("Humanoid") then if hit.Parent.Name ~= player.Name then hit.Parent.Humanoid.PlatformStand = true if(playerRoot and not playerRoot:FindFirstChild("launch") and hit.Parent.Torso and not hit.Parent.Torso:FindFirstChild("launch") and (playerRoot.Position - hit.Parent.Torso.Position).magnitude <= 10) then launch.MaxForce = Vector3.new(1000, 1000, 1000) launch.Velocity = (-hit.Parent.Torso.CFrame.lookVector) * 110 launch.Parent = hit.Parent.Torso hit.Parent.Humanoid:TakeDamage(15) wait() if touchconn ~= nil then touchconn:Disconnect() end newsword:Destroy() wait(2) hit.Parent.Humanoid.PlatformStand = false launch:Destroy() end end end end) wait(1) if touchconn ~= nil then touchconn:Disconnect() end newsword:Destroy() end)