i have a system i made that will resize parts using Handle adornments and it seems to work but increment system doesnt work and also it scales on both sides and i dont want that happening
local inc = 1
local handles = script.Parent:WaitForChild("Resize")
local function GetIncrementMultiple(Number, Increment)
local MultipleDifference = Number % Increment
local LowerMultiple = Number - MultipleDifference
local UpperMultiple = Number - MultipleDifference + Increment
local LowerMultipleProximity = math.abs(Number - LowerMultiple)
local UpperMultipleProximity = math.abs(Number - UpperMultiple)
if LowerMultipleProximity <= UpperMultipleProximity then
Number = LowerMultiple
else
Number = UpperMultiple
end
return Number
end
local AxisSizeMultipliers = {
[Enum.NormalId.Top] = Vector3.new(0, 1, 0);
[Enum.NormalId.Bottom] = Vector3.new(0, 1, 0);
[Enum.NormalId.Front] = Vector3.new(0, 0, 1);
[Enum.NormalId.Back] = Vector3.new(0, 0, 1);
[Enum.NormalId.Left] = Vector3.new(1, 0, 0);
[Enum.NormalId.Right] = Vector3.new(1, 0, 0);
};
function MouseDrag(side, distance)
local part = handles.Adornee
if part == nil then return end
print(distance)
if side == Enum.NormalId.Right then
local dist = GetIncrementMultiple(distance,inc)
local AxisSizeMultiplier = AxisSizeMultipliers[side];
local incvector = dist * AxisSizeMultiplier;
part.Size += incvector
end
if side == Enum.NormalId.Left then
local dist = GetIncrementMultiple(distance,inc)
local AxisSizeMultiplier = AxisSizeMultipliers[side];
local incvector = dist * AxisSizeMultiplier;
part.Size += incvector
end
if side == Enum.NormalId.Top then
local dist = GetIncrementMultiple(distance,inc)
local AxisSizeMultiplier = AxisSizeMultipliers[side];
local incvector = dist * AxisSizeMultiplier;
part.Size += incvector
end
if side == Enum.NormalId.Bottom then
local dist = GetIncrementMultiple(distance,inc)
local AxisSizeMultiplier = AxisSizeMultipliers[side];
local incvector = dist * AxisSizeMultiplier;
part.Size += incvector
end
if side == Enum.NormalId.Front then
local dist = GetIncrementMultiple(distance,inc)
local AxisSizeMultiplier = AxisSizeMultipliers[side];
local incvector = dist * AxisSizeMultiplier;
part.Size += incvector
end
if side == Enum.NormalId.Back then
local dist = GetIncrementMultiple(distance,inc)
local AxisSizeMultiplier = AxisSizeMultipliers[side];
local incvector = dist * AxisSizeMultiplier;
part.Size += incvector
end
end
handles.MouseDrag:connect(MouseDrag)
here is the code
cant send game file cuz i dont know why and its not getting uploaded