-
What do you want to achieve? The two balls behind the character should stay in their place and perform the tween without glitching together even if the character moves in shift lock.
-
What is the issue?
-
What solutions have you tried so far? Tried to change it to HumanoidRootPart and using lookvector.
Server (SeverScriptService)
local RS = game:GetService('ReplicatedStorage')
local AwakeningFolder = RS:WaitForChild('Gojo_vfx')
local RE = AwakeningFolder:WaitForChild('porple')
local tweenService = game:GetService("TweenService")
RE.OnServerEvent:Connect(function(plr)
local character = plr.Character
local humanoid = character:WaitForChild("Humanoid")
local torso = character:FindFirstChild("HumanoidRootPart")
local animation = Instance.new("Animation")
animation.AnimationId = "rbxassetid://86704128237748"
local track = humanoid:LoadAnimation(animation)
local redEffect = AwakeningFolder.Red:Clone()
local blueEffect = AwakeningFolder.blue:Clone()
local purpleEffect = AwakeningFolder.porple:Clone()
local Meet = AwakeningFolder.Meet:Clone()
track:Play()
humanoid.WalkSpeed = 0
track:GetMarkerReachedSignal("Red"):Connect(function()
redEffect.Parent = torso
redEffect:PivotTo(torso.CFrame * CFrame.new(5, 1, 4))
local weld = Instance.new("WeldConstraint")
weld.Parent = redEffect
weld.Part0 = redEffect
weld.Part1 = torso
print("Awaken with Red effect")
end)
track:GetMarkerReachedSignal("Blue"):Connect(function()
blueEffect.Parent = torso
blueEffect:PivotTo(torso.CFrame * CFrame.new(-5, 1, 4))
local weld = Instance.new("WeldConstraint")
weld.Parent = blueEffect
weld.Part0 = blueEffect
weld.Part1 = torso
print("Awaken with Blue effect")
end)
track:GetMarkerReachedSignal("Meet"):Connect(function()
Meet.Parent = torso
Meet:PivotTo(torso.CFrame * CFrame.new(0, 1, 4))
local weld = Instance.new("WeldConstraint")
weld.Parent = Meet
weld.Part0 = Meet
weld.Part1 = torso
print("Meet point")
end)
track:GetMarkerReachedSignal("Meet_remove"):Connect(function()
local bye = torso:FindFirstChild("Meet")
if bye then
bye:Destroy()
end
end)
track:GetMarkerReachedSignal("Blue_remove"):Connect(function()
local bye = torso:FindFirstChild("blue")
if bye then
bye:Destroy()
end
end)
track:GetMarkerReachedSignal("Red_remove"):Connect(function()
local bye = torso:FindFirstChild("Red")
if bye then
bye:Destroy()
end
end)
track:GetMarkerReachedSignal("Move1"):Connect(function()
local redpart = torso:FindFirstChild("Red")
if redpart then
local tween = tweenService:Create(redEffect, TweenInfo.new(2,Enum.EasingStyle.Quad,Enum.EasingDirection.Out), {Position = Meet.Position})
tween:Play()
end
if blueEffect then
local tween2 = tweenService:Create(blueEffect, TweenInfo.new(2,Enum.EasingStyle.Quad,Enum.EasingDirection.Out), {Position = Meet.Position})
tween2:Play()
end
end)
track:GetMarkerReachedSignal("Move"):Connect(function()
humanoid.WalkSpeed = 27
end)
end)
Client (StarterCharacterScripts)
local UIS = game:GetService('UserInputService')
local RS = game:GetService('ReplicatedStorage')
local Awakeningfolder = RS:WaitForChild('Gojo_vfx')
local RE = Awakeningfolder:WaitForChild('porple')
local CD = false
UIS.InputEnded:Connect(function(inpput, gameProcessedEvent)
if not gameProcessedEvent and CD == false then
if inpput.KeyCode == Enum.KeyCode.G then
RE:FireServer()
CD = true
task.wait(1)
CD = false
end
end
end)