I’m attempting to make a customization system, however the problem is that they aren’t acting as they should. Does anyone have a solution?
local SurfaceAxis = {
[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)
}
local Handles = Instance.new("Handles", Player:WaitForChild("PlayerGui"))
Handles.Adornee = Accessory.Value:WaitForChild("Handle")
Handles.Style = Enum.HandlesStyle.Movement
local MoveVector
Handles.MouseDrag:Connect(function(Face, Distance)
if WeldMove == "Move" then
local Delta = Distance - OldDelta
if math.abs(Delta * 1.125) >= Snap then
local Direction = SurfaceAxis[Face]
Delta = math.round(Delta / Snap) * Snap
MoveVector = CFrame.new(-Direction * Delta)
-- Remote:FireServer("ApplyCFrame", MoveVector, Accessory.Value)
OldDelta = Distance
end
end
end)
Handles.MouseButton1Up:Connect(function()
OldDelta = 0
Remote:FireServer("ApplyCFrame", MoveVector, Accessory.Value)
end)
Here’s what I’m sure is the main part of the code that doesn’t work. If anyone has any solutions please help. For what it’s doing wrong, I think this explains itself.
The axis on the handles are messed up and don’t work half of the time. Forward goes right, right goes forward, back goes up, etc. Except the problem is that each hat has a different axis, so it’s different on each accessory.