Bezeir Arc Barrage Position

idk what to name the topic.
this is what i want:
https://gyazo.com/f4b4a38d7b1923403275b14d3b2f57c0
this is what really happen in studio:

for i = 1, 10 do
		local t = i/10
		local pos = quadBezier(t, p0, p1, p2)
		local Direction = quadBezier(t + 0.005, p0,p1, p2)
		--hand.CFrame = CFrame.new(pos,Direction)
			game.TweenService:Create(Chand.PrimaryPart,TweenInfo.new(TweenDelay),{CFrame = CFrame.new(pos, Direction) * CFrame.Angles(math.rad(90),0,0)}):Play()
			game.TweenService:Create(Chand.Hand,TweenInfo.new(TweenDelay),{CFrame = CFrame.new(pos * 1, Direction) * CFrame.Angles(math.rad(90),0,0)}):Play()
			game.TweenService:Create(Chand.Arm,TweenInfo.new(TweenDelay),{CFrame = CFrame.new(pos * 1, Direction) * CFrame.Angles(math.rad(90),0,0)}):Play()
			wait()		
        end
end)

You don’t really say what is wrong, but I think its pretty impressive what you have already.

You just need to experiment with different effects on the hand parts, try trail effects, etc…
You also need to destroy the parts created after a certain amount of time, so they aren’t piling up.
Also find a way to increase the speed.

A lot of this just takes some time to try different things. Work on one aspect of it at a time, for instance, I think you should work on the hands disappearing first, the probably speed , then on making it look better with effects.

1 Like

sry for my explain cant get u the problem but i will show u


the left one is what i want but the script give the right one which i dont want and idk how to fix that

Dont Tween each part of the arm, just have the arm parts in a model with a primary part and tween the model. If tweens don’t work on a model, and you need to move actual BasePart instances, you can still move only the models PrimaryPart, and have the other parts connected to it with welds or motors.

i did try only tween the primarypart but it only move the primary part instead of the whole part with the weld

while true do
	wait(.24)
	spawn(function()
		local Chand = Instance.new("Model")
		Chand.Parent = workspace
		Chand.Name = "Handssssss"
		local Arm
		local Lower
		local Hand
		local p1
		local LeftOrRight = math.random(1,2)
		local p0 = script.Parent.HumanoidRootPart.Position
		if LeftOrRight == 1 then
			Arm = script.Parent.LeftUpperArm:Clone()
			Arm.Parent = Chand
			Lower = script.Parent.LeftLowerArm:Clone()
			Lower.Parent = Chand
			Hand = script.Parent.LeftHand:Clone()
			Hand.Parent = Chand
			Arm.Name = "Arm"
			Lower.Name = "Lower"
			Hand.Name = "Hand"

			p1 = script.Parent.HumanoidRootPart.Left.WorldPosition + Vector3.new(0,math.random(-3,3),0)
		else
			Arm = script.Parent.RightUpperArm:Clone()
			Arm.Parent = Chand
			Lower = script.Parent.RightLowerArm:Clone()
			Lower.Parent = Chand
			Hand = script.Parent.RightHand:Clone()
			Hand.Parent = Chand
			Arm.Name = "Arm"
			Lower.Name = "Lower"
			Hand.Name = "Hand"
			
			p1 = script.Parent.HumanoidRootPart.Right.WorldPosition + Vector3.new(0,math.random(-3,3),0)
		end
		local Weld = Instance.new("WeldConstraint")
		Weld.Part0 = Hand
		Weld.Part1 = Lower
		Weld.Parent = Hand
		local wedl = Instance.new("WeldConstraint")
		wedl.Part0 = Arm
		wedl.Part1 = Lower
		wedl.Parent = Arm
		Chand.PrimaryPart = Lower
		Chand.PrimaryPart.Anchored = true
		Chand.PrimaryPart.CanCollide = false
	local p2 = script.Parent.HumanoidRootPart.End.WorldPosition
	local TweenDelay = wait()
	game.Debris:AddItem(Chand,1)
	game.TweenService:Create(Chand.PrimaryPart,TweenInfo.new(1),{Transparency = 1}):Play()
	game.TweenService:Create(Chand.Arm,TweenInfo.new(1),{Transparency = 1}):Play()
	game.TweenService:Create(Chand.Hand,TweenInfo.new(1),{Transparency = 1}):Play()
	for i = 1, 5 do
		local t = i/5
		local pos = quadBezier(t, p0, p1, p2)
		local Direction = quadBezier(t + 0.005, p0,p1, p2)
		--hand.CFrame = CFrame.new(pos,Direction)
			game.TweenService:Create(Chand.PrimaryPart,TweenInfo.new(TweenDelay),{CFrame = CFrame.new(pos, Direction) * CFrame.Angles(math.rad(90),0,0)}):Play()
			game.TweenService:Create(Chand.Hand,TweenInfo.new(TweenDelay),{CFrame = CFrame.new(pos * 1, Direction) * CFrame.Angles(math.rad(90),0,0)}):Play()
			game.TweenService:Create(Chand.Arm,TweenInfo.new(TweenDelay),{CFrame = CFrame.new(pos * 1, Direction) * CFrame.Angles(math.rad(90),0,0)}):Play()
			wait()		
		end
	end)	
end

heres the whole script (not actual whole script)

https://gyazo.com/6c5dccd3ea623ea40a0751f7e82adead

This is the result I am getting.
The only difference I did to the script was this…

function CleanPart(part)
	for _,i in pairs(part:GetDescendants()) do
		if i:IsA("Motor6D") or i:IsA("Weld") then
			i:Destroy()
		end
	end
end

And changed the part cloning area to look like this…

		if LeftOrRight == 1 then
			Arm = script.Parent.LeftUpperArm:Clone()
			CleanPart(Arm)
			Arm.Parent = Chand
			Lower = script.Parent.LeftLowerArm:Clone()
			CleanPart(Lower)
			Lower.Parent = Chand
			Hand = script.Parent.LeftHand:Clone()
			CleanPart(Hand)
			Hand.Parent = Chand
			Arm.Name = "Arm"
			Lower.Name = "Lower"
			Hand.Name = "Hand"

			p1 = script.Parent.HumanoidRootPart.Left.WorldPosition + Vector3.new(0,math.random(-3,3),0)
		else
			Arm = script.Parent.RightUpperArm:Clone()
			CleanPart(Arm)
			Arm.Parent = Chand
			Lower = script.Parent.RightLowerArm:Clone()
			CleanPart(Lower)
			Lower.Parent = Chand
			Hand = script.Parent.RightHand:Clone()
			CleanPart(Hand)
			Hand.Parent = Chand
			Arm.Name = "Arm"
			Lower.Name = "Lower"
			Hand.Name = "Hand"

			p1 = script.Parent.HumanoidRootPart.Right.WorldPosition + Vector3.new(0,math.random(-3,3),0)
		end

You can also remove the two Tweens for the Hand and Arm, and only use the PrimaryPart

			game.TweenService:Create(Chand.PrimaryPart,TweenInfo.new(TweenDelay),{CFrame = CFrame.new(pos, Direction) * CFrame.Angles(math.rad(90),0,0)}):Play()
			--game.TweenService:Create(Chand.Hand,TweenInfo.new(TweenDelay),{CFrame = CFrame.new(pos * 1, Direction) * CFrame.Angles(math.rad(90),0,0)}):Play()
			--game.TweenService:Create(Chand.Arm,TweenInfo.new(TweenDelay),{CFrame = CFrame.new(pos * 1, Direction) * CFrame.Angles(math.rad(90),0,0)}):Play()
			wait()		

for some reason the other part still not getting tweened

oh wait its just me forgot to unanchored the other welded part