It's a server script inside of a module script that is placed in Startergui It works in test solo but not in play FE is on
--Pieces repeat wait() until script.Parent.Parent.Parent.Parent wait(.5) script.Parent.Parent.WelcomeScreen.Welcome:TweenPosition(UDim2.new(0.35, 0,.4, 0),"InOut","Elastic",2.6,false) local Player = script.Parent.Parent.Parent local Mouse = Player:GetMouse() local slab = script.Parent.Parent.Refrences.Slab:Clone() script.Parent.Parent.WelcomeScreen.Welcome.Enter.MouseButton1Down:connect(function() script.Parent.Parent.WelcomeScreen.Welcome:TweenPosition(UDim2.new(0.35, 0,-.25, 0),"InOut","Linear",.6,false) wait(.5) -- script.Parent.Parent.WelcomeScreen.Loading:TweenPosition(UDim2.new(0, 0,-.2, 0),"InOut","Linear",.6,false) -- wait(3) -- script.Parent.Parent.WelcomeScreen.Loading:TweenPosition(UDim2.new(0, 0,2, 0),"InOut","Linear",.6,false) end) Mouse.Button1Down:connect(function() if script.Parent.Parent.MaterialPicker.Placing.Value == true then if script.Parent.Parent.MoneyDisplay.PartCount.Count.Value ~= 800 then wait(.1) local SlabClone = Player.Character.Slab:Clone() SlabClone.Parent = game.Workspace SlabClone.Transparency = 0 SlabClone.CanCollide = true -- script.Parent.Parent.MoneyDisplay.PartCount.Count.Value = script.Parent.Parent.MoneyDisplay.PartCount.Count.Value + 1 -- script.Parent.Parent.MoneyDisplay.PartCount.TextLabel.Text = script.Parent.Parent.MoneyDisplay.PartCount.Count.Value.."/800" end end end) round = function(N,D) return math.floor((N/(D or 1))+0.5)*(D or 1) end while true do wait(.1) if script.Parent.Parent.MaterialPicker.Placing.Value == true then slab.Parent = Player.Character slab.Transparency = .6 local material = script.Parent.Parent.MaterialPicker.MainFrame.CurrentMaterial.Value local x = math.ceil(Mouse.Hit.p.X)-2 local z = math.ceil(Mouse.Hit.p.Z)-2 x1 = x%4 z1 = z%4 x2 = x + (4 - x1) z2 = z + (4 - z1) slab.CFrame = CFrame.new(x2,round(Mouse.Hit.p.Y,.1)+.3,z2) slab.Material = Enum.Material[material] slab.CanCollide = false else slab.Transparency = 1 end