Does someone have a copy of Constraint Remover?

Since it no longer exists on the internet, and the only match according to Google is a ‘All Constraint Remover’ but doesn’t have NoCollide support, I NEED to find a copy of Constraint Remover.

If anyone still has a copy of it on CD or whatever and could send me it, I will be very grateful.

FYI for anyone that doesn’t know what I’m talking about, Constraint Remover is… or was a stool that you can pick what constraint you want removed without removing the prop. And it’s the only… ONLY thing in Gmod history that truly removes a NoCollide constraint.
Using Undo doesn’t completely remove a NoCollide constraint. Only this does… or did.

NoCollide constraints cause alot of lag when used in numbers, especially in an AdvDupe file.

You’re lucky. I thought i had deleted it but i still have the folder on my addons folder. It’s just a lua file. Can you send me a PM with a email of yours so i can send it attached?

Still, the file is so small (4kb) that i could even paste it here, but i’m afraid people could ban me for that. You never know Facepunch rules nowadays…

Well, tell me what i should do to help you out. XD

Paste it here, you can’t get banned :v:

Post it in here, please. If you have it, I need it.

Take up the contraint with toolgun and press R On the prop you want it away from… Simple :v:

I tried that. But I don’t have my R key binded.

Doesn’t work for NoCollide.

EDIT:

I made a NoCollide remover tool :slight_smile:
SVN Link:


http://divranspack.googlecode.com/svn/trunk/%20divranspack/
or direct link:
http://divranspack.googlecode.com/svn/trunk/%20divranspack/NoCollide%20Remover

Edit: Use this tutorial if you don’t already know how to use SVN: http://www.facepunch.com/showthread.php?t=688324

Thanks much for the SVN. I will try the STool out tomorrow.

Well, there you go:

Path: garrysmod/lua/weapons/gmod_tool/stools/all_constraints_remover.lua
[lua]
TOOL.Category = “Constraints”
TOOL.Name = “All Constraints Remover”
TOOL.Command = nil
TOOL.ConfigName = “”

if CLIENT then
language.Add( “Tool_all_constraints_remover_name”, “All Constraints Remover” )
language.Add( “Tool_all_constraints_remover_desc”, “Removes the specified type of constraint from an entity” )
language.Add( “Tool_all_constraints_remover_0”, “Left click on an entity to remove all constraints of selected type, right click to remove any type” )
language.Add( “Tool_all_constraints_type”, “Constraint type:” )
end

TOOL.ClientConVar[ “constraint_type” ] = “Weld”

function TOOL:LeftClick( trace )

local constraint_type = self:GetClientInfo( "constraint_type" )

if ( trace.Entity:IsValid() && trace.Entity:IsPlayer() ) then return end

// If there's no physics object then we can't remove constraints from it
if ( SERVER && !util.IsValidPhysicsObject( trace.Entity, trace.PhysicsBone ) ) then return false end

constraint.RemoveConstraints( trace.Entity, constraint_type )

return true

end

function TOOL:RightClick( trace )

if ( trace.Entity:IsValid() && trace.Entity:IsPlayer() ) then return end

// If there's no physics object then we can't remove constraints from it
if ( SERVER && !util.IsValidPhysicsObject( trace.Entity, trace.PhysicsBone ) ) then return false end

constraint.RemoveConstraints( trace.Entity, “Weld” )
constraint.RemoveConstraints( trace.Entity, “Rope” )
constraint.RemoveConstraints( trace.Entity, “NoCollide” )
constraint.RemoveConstraints( trace.Entity, “AdvBallsocket” )
constraint.RemoveConstraints( trace.Entity, “Axis” )
constraint.RemoveConstraints( trace.Entity, “Ballsocket” )
constraint.RemoveConstraints( trace.Entity, “Elastic” )
constraint.RemoveConstraints( trace.Entity, “Hydraulic” )
constraint.RemoveConstraints( trace.Entity, “KeepUpright” )
constraint.RemoveConstraints( trace.Entity, “Muscle” )
constraint.RemoveConstraints( trace.Entity, “Pulley” )
constraint.RemoveConstraints( trace.Entity, “Winch” )
constraint.RemoveConstraints( trace.Entity, “Slider” )

return true

end

function TOOL.BuildCPanel( panel )
panel:AddControl( “Header”, { Text = “#Tool_all_constraints_remover_name”, Description = “#Tool_all_constraints_remover_desc” } )

panel:AddControl("ComboBox", {
Label = "#Tool_all_constraints_type",
MenuButton = "0",
Options = {
	["#Weld"] = { all_constraints_remover_constraint_type = "Weld" },
	["#Rope"] = { all_constraints_remover_constraint_type = "Rope" },
	["#NoCollide"] = { all_constraints_remover_constraint_type = "NoCollide" },
	["#AdvBallsocket"] = { all_constraints_remover_constraint_type = "AdvBallsocket" },
	["#Axis"] = { all_constraints_remover_constraint_type = "Axis" },
	["#Ballsocket"] = { all_constraints_remover_constraint_type = "Ballsocket" },
	["#Elastic"] = { all_constraints_remover_constraint_type = "Elastic" },
	["#Hydraulic"] = { all_constraints_remover_constraint_type = "Hydraulic" },
	["#KeepUpright"] = { all_constraints_remover_constraint_type = "Keepupright" },
	//["#Motor"] = { all_constraints_remover_constraint_type = "Motor" }, // Doesn't remove (disables the motor, but keeps the axis)
	["#Muscle"] = { all_constraints_remover_constraint_type = "Muscle" },
	["#Pulley"] = { all_constraints_remover_constraint_type = "Pulley" },
	["#Winch"] = { all_constraints_remover_constraint_type = "Winch" },
	["#Slider"] = { all_constraints_remover_constraint_type = "Slider" }
}
})

end
[/lua]

Still, i think the NoCollide remover is a better idea.

Also, this may sound stupid, but you can rebind your R key for “reload” by going into the game options > keyboard

SilverBlade, that way of removing nocollides won’t work. It’s the way the NoCollide tool does it (with R).
Plus, my tool can remove a specific constraint between two entities. That tool will only remove ALL constraints of the selected type on the selected entity.

Yes, it seems you’re right. Well, i tried. XD

I do have connas constraint remover somewhere… which is broken though