The first time I run this it works perfectly. However the second time it looks really really weird! I know it has something to with the script.
Video:
Solutions:
Looked on CFrame Api ref, and tried infinitely updating head and torso position. Nothing worked.
Note: Sorry for the laggy video.
--------------------------------Variables----------------------------------
local player = script.Parent.Parent.Parent
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local UIS = game:GetService("UserInputService")
local tool = script.Parent
local VFX11 = workspace.RedWind:Clone()
local VFX12= workspace.BASICSCYTHERING:Clone()
local VFX13 = workspace.BASICSCYTHERINGG:Clone()
local head = character:WaitForChild("Head")
local Torso = character:WaitForChild("Torso")
local headposition
local finalposition
local tweenService = game:GetService("TweenService")
local FireEffectInfo = TweenInfo.new(0.2, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut, math.huge, true, 0)
local FireGoal = {}
FireGoal.Size = Vector3.new(4.83, 6.5, 4.356)
local FireTween = tweenService:Create(VFX13, FireEffectInfo, FireGoal)
local offsetpos = CFrame.new(0,0,-2.5)
local offsetposi = CFrame.new(0,-1.75,0)
local offsetposit = CFrame.new(0, 0, -8)
local firespininfo = TweenInfo.new(0.2,Enum.EasingStyle.Linear)
local windspininfo = TweenInfo.new(0.05,Enum.EasingStyle.Linear)
local RunSerivce = game:GetService("RunService")
local ChangeAllowed = true
----------------------------------------------------------------------------------
--------------------------------ATTACK 1----------------------------------
local torsoposition
local headcframe
local loop = coroutine.wrap(function()
while true do
torsoposition = Torso.CFrame
headcframe = head.CFrame
RunSerivce.Heartbeat:Wait()
end
end)
loop()
VFX12.Parent = game.ReplicatedStorage
VFX13.Parent = game.ReplicatedStorage
tool.Unequipped:Connect(function()
IPC:Disconnect()
end)
tool.Equipped:Connect(function()
IPC = UIS.InputBegan:Connect(function(input, gameProcessed)
if input.KeyCode == Enum.KeyCode.F then
if not gameProcessed then
ChangeAllowed = true
VFX13.Parent = workspace
VFX12.Parent = workspace
humanoid:SetStateEnabled(Enum.HumanoidStateType.Running, false)
humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, false)
VFX12.CFrame = headcframe:ToWorldSpace(offsetpos)
if ChangeAllowed then
VFX13.CFrame = torsoposition:ToWorldSpace(offsetposi)
ChangeAllowed = false
end
FireTween:Play()
VFX13.CFrame = VFX13.CFrame * CFrame.Angles(0,0,math.rad(180))
VFX12.CFrame = VFX12.CFrame * CFrame.Angles(0,0,math.rad(90))
local Spin1 = tweenService:Create(VFX12,firespininfo,{CFrame = VFX12.CFrame * CFrame.Angles(0,math.rad(120),0)})
local Spin2 = tweenService:Create(VFX12,firespininfo,{CFrame = VFX12.CFrame * CFrame.Angles(0,math.rad(240),0)})
local Spin3 = tweenService:Create(VFX12,firespininfo,{CFrame = VFX12.CFrame * CFrame.Angles(0,math.rad(360),0)})
Spin1:Play()
Spin1.Completed:Connect(function()Spin2:Play() end)
Spin2.Completed:Connect(function()Spin3:Play() end)
Spin3.Completed:Connect(function()Spin1:Play() end)
wait(2)
VFX11.Parent = workspace
VFX13.Parent = game.ReplicatedStorage
VFX12.Parent = game.ReplicatedStorage
VFX11.CFrame = VFX11.CFrame* CFrame.Angles(math.rad(90),0,0)
VFX11.CFrame = Torso.CFrame:ToWorldSpace(CFrame.new(0,0,-10))
VFX11.Parent = workspace
local Spinn1 = tweenService:Create(VFX11,firespininfo,{CFrame = VFX11.CFrame * CFrame.Angles(math.rad(120),0,0)})
local Spinn2 = tweenService:Create(VFX11,firespininfo,{CFrame = VFX11.CFrame * CFrame.Angles(math.rad(240),0,0)})
local Spinn3 = tweenService:Create(VFX11,firespininfo,{CFrame = VFX11.CFrame * CFrame.Angles(math.rad(360),0,0)})
Spinn1:Play()
Spinn1.Completed:Connect(function()Spinn2:Play() end)
Spinn2.Completed:Connect(function()Spinn3:Play() end)
Spinn3.Completed:Connect(function()Spinn1:Play() end)
local offsett = CFrame.new(0,0,-15)
wait(1)
VFX11.Parent = game.ReplicatedStorage
Torso.CFrame = Torso.CFrame:ToWorldSpace(offsett)
wait(1)
humanoid:SetStateEnabled(Enum.HumanoidStateType.Running, true)
humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, true)
end
end
end)
end)
----------------------------------------------------------------------------------