i have this script for move tool (for placement system), when model is outside of base, it will be red and i wont be able to place it. i want scale tool for walls, floors. it will contain more parts in model and i have no idea how to even scale one part with scale tool script. can someone help me?
local cframe = CFrame.new() script.Parent.MouseButton1Down:Connect(function() cframe = script.Parent.Adornee.CFrame end) script.Parent.MouseDrag:Connect(function(face, distance) distance = math.round(distance/1) * 1 local base = script.Parent.Adornee.Parent.Parent.Parent.Parent if base then if (script.Parent.Adornee.Parent:SetPrimaryPartCFrame(cframe * CFrame.new(Vector3.FromNormalId(face)*distance))) ~= nil then script.Parent.Adornee.CFrame = script.Parent.Adornee.Parent:SetPrimaryPartCFrame(cframe * CFrame.new(Vector3.FromNormalId(face)*distance)) end local ownmin = (script.Parent.Adornee.Position - script.Parent.Adornee.Size/2) local ownmax = (script.Parent.Adornee.Position + script.Parent.Adornee.Size/2) local min = ((base.Position - base.Size/2) + Vector3.new(0, 1, 0)) local max = ((base.Position + base.Size/2) + Vector3.new(0, 50, 0)) local part1 = (ownmin.X <= max.X and ownmax.X <= max.X and ownmin.X >= min.X and ownmax.X >= min.X) local part2 = (ownmin.Z <= max.Z and ownmax.Z <= max.Z and ownmin.Z >= min.Z and ownmax.Z >= min.Z) local part3 = (ownmin.Y <= max.Y and ownmax.Y <= max.Y and ownmin.Y >= min.Y and ownmax.Y >= min.Y) if part1 and part2 and part3 then require(game:GetService("ReplicatedStorage").Placement):isColliding(script.Parent.Adornee.Parent, "Yes") elseif ownmin.X > max.X or ownmin.Z > max.Z or ownmin.Y > max.Y then script.Parent.Adornee.BrickColor = BrickColor.new("Really red") elseif ownmax.X > max.X or ownmax.Z > max.Z or ownmax.Y > max.Y then script.Parent.Adornee.BrickColor = BrickColor.new("Really red") elseif ownmin.X < min.X or ownmin.Z < min.Z or ownmin.Y < min.Y then script.Parent.Adornee.BrickColor = BrickColor.new("Really red") elseif ownmax.X < min.X or ownmax.Z < min.Z or ownmax.Y < min.Y then script.Parent.Adornee.BrickColor = BrickColor.new("Really red") end end end)