Attachment's positioned in a straight line rather than randomly dispersed

so im trying to make my attachments be positioned randomly between -3 and 3 studs on the x and y axis of my attachment’s cframe if that makes sense. the problem is is that the attachments are going in a straight line.

this line i believe is the problem but i’m not sure how to fix it:

		attachment.CFrame = b2a.CFrame + b2a.CFrame.LookVector * Vector3.new(randomX,randomY,lastnumber)
local b1, b2 = workspace.b1, workspace.b2
local b1a, b2a = b1.b1, b2.b2
local b1b2Distance = ((b1.Position - b2.Position).Magnitude) - 3.5
local direction = (b2.Position-b1.Position)
local beam = b1.Beam
local randomNumberTable = {}
local lastnumber = 0

local function randomNumber()

	for i = 1,10 do
		local random = Random.new()
		local randomNumber = random:NextNumber(1.5, b1b2Distance/8)
		local randomX, randomY = random:NextNumber(-3, 3)

		lastnumber += randomNumber
		print(i..": "..lastnumber)

		local attachment = Instance.new("Attachment", b2)
attachment.Name = "attachment".."_"..i
		attachment.CFrame = b2a.CFrame + b2a.CFrame.LookVector * Vector3.new(randomX,randomY,lastnumber)

		wait(.25)
	end

end


you forgot to set the y variable, try copy pasting the x variable to the y variable.

1 Like

hey skelly,
thanks for your help mate. i tried this a few minutes ago and i’m still getting the same result if that was what u were on about unfortunately

		local randomX, randomY = random:NextNumber(-3, 3), random:NextNumber(-3, 3)

Im at a loss then, maybe if you tried setting the variables separately that could work, if it doesn’t I have no idea.

1 Like

thats no worries mate, i just found out how to do it by winging it. thanks for the help anyways!! :slight_smile:

i only changed these 2 lines of code to this and it worked:

		local randomX, randomY = random:NextNumber(-3, 3), random:NextNumber(-3, 3)
		attachment.CFrame = b2a.CFrame + b2a.CFrame.LookVector - Vector3.new(randomX,randomY,lastnumber)

solution:

local b1, b2 = workspace.b1, workspace.b2
local b1a, b2a = b1.b1, b2.b2
local b1b2Distance = ((b1.Position - b2.Position).Magnitude) - 3.5
local direction = (b2.Position-b1.Position)
local beam = b1.Beam
local randomNumberTable = {}
local lastnumber = 0

local function randomNumber()

	for i = 1,10 do
		local random = Random.new()
		local randomNumber = random:NextNumber(1.5, b1b2Distance/8)
		local randomX, randomY = random:NextNumber(-3, 3), random:NextNumber(-3, 3)

		lastnumber += randomNumber
		print(i..": "..lastnumber)

		local attachment = Instance.new("Attachment", b2)
attachment.Name = "attachment".."_"..i
		attachment.CFrame = b2a.CFrame + b2a.CFrame.LookVector - Vector3.new(randomX,randomY,lastnumber)

		wait(.25)
	end

end

randomNumber()