Custom movement handles

You’re familiar with studio tools and how they work, I am currently looking for ways to replicate this. Fyi; Not trying to make a plugin.

I have already tried out handles and arcHandles which were kind of disappointing. I didn’t end up figuring out how to make arcHandles to work, and overall it didn’t really have any proper customization options.

Currently TRYING (…To no avail that is) to re-engineer some plugins such as SBS and f3x. Although I don’t want to put all my eggs in one basket.

Have you ever dealt with something similar? If so, what was your method or approach?

//Should this be in #discussion instead?

1 Like

Also if anyone is curious to try out the handles-thingy. Insert an object called “Handles” inside starterGui → and implement this script.

local handles = script.Parent:GetChildren()
local newPos

local function snapToGrid(pos, distance)
	return Vector3.new(
		math.floor((pos.X/4+0.5) *4),
		pos.Y,
		math.floor((pos.Z/4+0.5) *4)
	)
end

local part = script.Parent.Adornee
script.Parent.MouseDrag:Connect(function(face, distance)
	print(distance)
	if face == Enum.NormalId.Back then
		newPos = part.Position + Vector3.new(0,0,distance)
		part.Position = snapToGrid(newPos)
	elseif face == Enum.NormalId.Bottom then
		newPos = part.Position + Vector3.new(0,-distance,0)
		part.Position = snapToGrid(newPos)
	elseif face == Enum.NormalId.Front then
		newPos = part.Position + Vector3.new(0,0,-distance)
		part.Position = snapToGrid(newPos)
	elseif face == Enum.NormalId.Left then
		newPos = part.Position + Vector3.new(-distance,0,0)
		part.Position = snapToGrid(newPos)
	elseif face == Enum.NormalId.Right then
		newPos = part.Position + Vector3.new(distance,0,0)
		part.Position = snapToGrid(newPos)
	end
end)

Btw this isn’t supposed to be used inside a game, it is just to give you a preview of how things work! So it is not optimized at all. Using CFrame will allow you to access faces a lot easier and it will look a lot cleaner to use that instead of 6 repetetive lines :nauseated_face:

6 Likes

I do not have much experience with gui interactions, so I do not have an answer for you. However, I too am interested in a system like this. I think this is good in scripting support, as you are seeking help as well as opinions.

It would be nice if we could see the COUGH plugin files COUGH for security reasons.

Good luck!
Someperson576

P.S. If I find someone who knows about this, I will give them a message.

1 Like

Yes, but not to the degree necessary to see exactly what it is doing with your game.

1 Like

i know this was 3 years ago but can you share a link to the plugin? I would like to know how you managed to do this too

1 Like