local module = {} function module.new(this,disconnector,context) this.grip = _G.GetInstance(disconnector,"Grip") this.binding = _G.GetInstance(disconnector,"Binding") return this end module.run = _G.Protect(function(this,disconnector,context) if this.control or 0 < 0.5 and context.queue(this,module.name,0.4) then context.replicate(this,disconnector,module) elseif context.controls[this.binding.Value] or 0 < 0.5 then context.replicate(this,disconnector,module) end return true end) module.replication_delta = 0.25 function module.replicate(this,disconnector,context) if _G.IsClient then return end for _,weld in pairs(this.grip:GetJoints()) do if weld:IsA("WeldConstraint") and weld.Name == "BuiltWeldConstraint" and weld.Parent then weld:Destroy() end end this.grip.Transparency = 1 task.delay(0.3,function() this.grip.Transparency = 0 end) end module.messages = { control = function(this,disconnector,context,value) this.control = tonumber(value) end, } module.manifest = { "Disconnector" } return module