--I used the silk icon "arrow_refresh.png"
self = PluginManager():CreatePlugin()
mouse = self:GetMouse()
mouse.Button1Down:connect(function() onClicked(mouse) end)
holding = false
turbo = false
self.Deactivation:connect(function()
Off()
end)
toolbar = self:CreateToolbar("CFrame")
toolbarbutton = toolbar:CreateButton("", "CFramer", "icon.png")
toolbarbutton.Click:connect(function()
if on then
Off()
else
On()
end
end)
local selectionBox
local arcHandles
local moveHandles
local selectedPose
local previousCFrame
local previousDistance
function onArcHandlesDown(normal)
print("handlesDown")
if selectedPose then
selectedPose.Anchored = true
previousCFrame = selectedPose.CFrame
end
end
function onArcHandlesDrag(axis, relativeAngle, deltaRadius)
if selectedPose then
local axisangle = Vector3.FromAxis(axis)
axisangle = axisangle * relativeAngle
selectedPose.CFrame = previousCFrame * CFrame.Angles(axisangle.X, axisangle.Y, axisangle.Z)
local x, y, z = selectedPose.CFrame:toEulerAnglesXYZ()
print(math.floor(math.deg(x)), math.floor(math.deg(y)), math.floor(math.deg(z)))
end
end
function onMoveHandlesDown(normal)
print("handlesDown")
if selectedPose then
selectedPose.Anchored = true
previousDistance = 0
end
end
function onMoveHandlesDrag(normal, distance)
if selectedPose then
local delta = distance - previousDistance
translation = CFrame.new(Vector3.FromNormalId(normal) * delta)
selectedPose.CFrame = translation * selectedPose.CFrame
previousDistance = distance
print(selectedPose.Position)
end
end
function On()
self:Activate()
toolbarbutton:SetActive(true)
on = true
selectionBox = Instance.new("SelectionBox")
selectionBox.Color = BrickColor.new("Really blue")
selectionBox.Adornee = nil
selectionBox.Parent = game:GetService("CoreGui")
arcHandles = Instance.new("ArcHandles")
arcHandles.Color = BrickColor.new("New Yeller")
arcHandles.Adornee = nil
arcHandles.Axes = Axes.new(Enum.Axis.X, Enum.Axis.Y, Enum.Axis.Z)
arcHandles.MouseDrag:connect(onArcHandlesDrag)
arcHandles.MouseButton1Down:connect(onArcHandlesDown)
arcHandles.Parent = game:GetService("CoreGui")
moveHandles = Instance.new("Handles")
moveHandles.Style = Enum.HandlesStyle.Movement
moveHandles.Color = BrickColor.new("Really red")
moveHandles.Adornee = nil
moveHandles.MouseDrag:connect(onMoveHandlesDrag)
moveHandles.MouseButton1Down:connect(onMoveHandlesDown)
moveHandles.Parent = game:GetService("CoreGui")
end
function Off()
toolbarbutton:SetActive(false)
on = false
selectionBox:remove()
arcHandles:remove()
moveHandles:remove()
end
function onClicked(mouse)
if on then
if mouse.Target ~= nil then
selectedPose = mouse.Target
selectionBox.Adornee = mouse.Target
arcHandles.Adornee = mouse.Target
moveHandles.Adornee = mouse.Target
else
selectionBox.Adornee = nil
arcHandles.Adornee = nil
moveHandles.Adornee = nil
end
end
end
trololololo |