Search code examples
robloxluau

How to teleport model to a random box in array?


For whatever reason I can't seem to get my model to teleport inside one of the boxes. Also in workspace it's setup as Workspace

Folder script

Folder (named boxes) box-box10

local clickDetector = game.Workspace.Paper.ClickDetector

local HS = script.Parent
local boxFolder = HS.Boxes

boxArray = {

    boxFolder.Box.CFrame,
    boxFolder.Box10.CFrame,
    boxFolder.Box3.CFrame,
    boxFolder.Box4.CFrame,
    boxFolder.Box5.CFrame,
    boxFolder.Box6.CFrame,
    boxFolder.Box7.CFrame,
    boxFolder.Box8.CFrame,
    boxFolder.Box9.CFrame
}


function onMouseClick()

    local baby = game.Workspace.FinalBaby
    local whichBox = boxArray[math.random(1, #boxArray)]
    
    baby:SetPrimaryPartCFrame(whichBox)
end
        
end


clickDetector.MouseClick:Connect(onMouseClick)

Solution

  • Turns out you never had to use a for loop but just a variable that randomizes everything in the array

    local clickDetector = game.Workspace.Paper.ClickDetector
    
    local HS = script.Parent
    local boxFolder = HS.Boxes
    
    boxArray = {
    
    boxFolder.Box.Part,
    boxFolder.Box10.Part,
    boxFolder.Box3.Part,
    boxFolder.Box4.Part,
    boxFolder.Box5.Part,
    boxFolder.Box6.Part,
    boxFolder.Box7.Part,
    boxFolder.Box8.Part,
    boxFolder.Box9.Part
    
    }
    
    
    function onMouseClick()
        
        
    
        local R = math.random(1, #boxArray)
    
    
            local baby = game.Workspace.FinalBaby.PrimaryPart
            local whichBox = boxArray[R]
            
            baby.CFrame = CFrame.new(whichBox.Position)
                
        end
    
    
    
    
    clickDetector.MouseClick:Connect(onMouseClick)