What I’m attempting to achieve is an Arkham-like Grappling System. However, all was swell until I ran into the camera glitches. I’ve tried to use BodyVelocity but Body Movers mushed my brain to the point I gave up.
https://gyazo.com/044d6035dd67d1fa6af556c277700376 --Here is footage of me testing the Grappling System.
Here’s the current Server Script.
local TweenService = game:GetService("TweenService")
local Info = TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut)
local Tool = script.Parent
local Event = Tool.GrappleFireEvent
local Handle = Tool.Handle
local Bolt = Tool.Bolt
Event.OnServerEvent:Connect(function(Player, RaycastPosition, RaycastNormal)
Handle.Fire_SFX:Play()
local Character = Player.Character
local RootPart = Character.HumanoidRootPart
local FireTween = TweenService:Create(Bolt, Info, {Position = RaycastPosition + Vector3.new(0, -2, 0)})
Bolt.Anchored = true
FireTween:Play()
for _, DescendantInstance in pairs(Bolt:GetDescendants()) do
if DescendantInstance:IsA("Weld") then
DescendantInstance:Destroy()
end
end
FireTween.Completed:Wait()
Bolt.Hit_SFX:Play()
local GrappleTween = TweenService:Create(RootPart, Info, {Position = Bolt.Position})
GrappleTween:Play()
end)