Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local char = owner.Character
- local ta = {workspace.Base}
- local plrs = game:GetService("Players")
- for i = 1,#plrs:GetChildren() do
- if plrs:children()[i]:IsA("Player") then
- ta[#ta+1] = plrs:children()[i].Character
- end
- end
- plrs.PlayerAdded:Connect(function(plr)
- ta[#ta+1] = plr.Character
- end)
- plrs.PlayerRemoving:Connect(function(plr)
- table.remove(ta, table.find(ta, plr.Name))
- end)
- function angle(v1, v2)
- return math.asin(v1:Dot(v2)/(v1.Magnitude*v2.Magnitude))
- end
- function speed(p, c)
- return (p - c.Position).Magnitude/c.Velocity.Magnitude
- end
- while task.wait() do
- local param = OverlapParams.new()
- param.FilterDescendantsInstances = ta
- param.FilterType = Enum.RaycastFilterType.Blacklist
- local pa = workspace:GetPartBoundsInRadius(char.HumanoidRootPart.Position, 40, param)
- for i = 1,#pa do
- local c = pa[i]
- pcall(function() if speed(char.HumanoidRootPart.Position, c) < 1.1 and angle(char.HumanoidRootPart.Position - c.Position, c.Velocity) < 20 and (c:GetAttribute("dodged") <= 10) then
- char.HumanoidRootPart.CFrame = CFrame.lookAt(char.HumanoidRootPart.Position, c.Position)
- char.HumanoidRootPart.Position += char.HumanoidRootPart.CFrame.RightVector * (c.Size.Magnitude+1)
- c:SetAttribute("dodged", (c:GetAttribute("dodged") or 1) + 1)
- end end)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement