Destruction signs, Street Lights and destruction Objects (help)

I wanted signs, Street Light and others, you can crash into them, but as for me, if I turned off the collision, it would be boring. But in the video they stuck in the car or don’t collide:
robloxapp-20230106-1339187.wmv (2.0 MB)
You can help me if you want, I’m not forcing you. If you think this is not possible, or you need something different, tell me! You can write a script for me if you want!

4 Likes

can you convert the video into an mp4?

2 Likes

I feel like that is going to be a network ownership issue, try setting the signs and streetlights and whatever else’s network ownership to nil and see if anything changes.

1 Like

Oh ok. Sorry, But I’m weak at scripts

local Destroyer = script.Parent.Start -- Wheres start destruction
db = false
object = script.Parent
if (object ~= nil) and (object ~= game.Workspace.StreetLight) then 
	model = object 

	backup = model:clone()  
	waitTime = 25  --Time in seconds to wait between regenerations  
Destroyer.Touched:Connect(function()
if not db then
	db = true
	Destroyer.Sound:Play()
	script.Parent.Light.BrickColor = BrickColor.Black()
	script.Parent.Light.PointLight.Enabled = false -- Destruction Elements
	wait(waitTime) -- Waiting for regenerate
	model:remove() -- Removes Object

	wait(0) 

	model = backup:clone() -- Make a new full Regenerated Model
	model.Parent = game.Workspace.StreetLight -- Where will be Reginerated
	model:makeJoints() -- Weld
	db = false
end
end)
end
1 Like

More than 10 MB, the video showed that the car crashes into a Street Light but passes through or hits and does not fall

nvm reread it, wouldn’t it just make the object not have lights anymore when crashed into?
then you wait 25 second and the object is removed

also why use script.Parent.Light.Brickcolor and not just object.Light.Brickcolor?

I actually have a script that does this, except it is on dummies. It basically ragdolls them. Do you want to see it? You can copy and paste it however you would like and make it work for your own game lol

Of course, I will look and redo if there are any issues.

Alright, let me get it real quick. Here it is:

--[[--~~~ Arsenal Ragdoll Script/Engine by rl905992 ~~~--
			Please give me credit
			if you use this	
--]]

----- do not touch unless if you want to modify some stuff. -----
function createnocollider(p0,p1,parent)
	local nocollide=Instance.new("NoCollisionConstraint")
	nocollide.Part0=p0
	nocollide.Part1=p1
	nocollide.Parent=parent
	--	print("Made nocollision with attachments named "..p1.Name.." and "..p1.Name..", which parents are "..p0.Parent.Name.." and "..p1.Parent.Name)
end

function createconstraint_ballsocket(parent,a0,a1, islimitsenabled,upperangle, istwistenabled,twistlimitu,twistlimitl)
	local constraint=Instance.new("BallSocketConstraint")
	constraint.Name=a0.Name.." Joint"
	constraint.Attachment0=a0
	constraint.Attachment1=a1
	constraint.LimitsEnabled=islimitsenabled
	constraint.UpperAngle=upperangle
	constraint.TwistLimitsEnabled=istwistenabled
	constraint.TwistUpperAngle=twistlimitu
	constraint.TwistLowerAngle=twistlimitl
	constraint.Parent=parent
	--	print("Made constraint with attachments named "..a0.Name.." and "..a1.Name..", which parents are "..a0.Parent.Name.." and "..a1.Parent.Name)
end

function createconstraint_hinge(parent,a0,a1, islimitsenabled,upperangle,lowerangle)
	local constraint=Instance.new("HingeConstraint")
	constraint.Name=a0.Name.." Joint"
	constraint.Attachment0=a0
	constraint.Attachment1=a1
	constraint.LimitsEnabled=islimitsenabled
	constraint.UpperAngle=upperangle
	constraint.LowerAngle=lowerangle
	constraint.Parent=parent
	--	print("Made constraint with attachments named "..a0.Name.." and "..a1.Name..", which parents are "..a0.Parent.Name.." and "..a1.Parent.Name)
end
function getAttachment0(attachmentName)
	for _,child in next,script.Parent:GetChildren() do
		local attachment = child:FindFirstChild(attachmentName)
		if attachment then
			return attachment
		end
	end
end

function ragdoll()
	print'ragdoll on'
	local char=script.Parent
	local hum=script.Parent.Humanoid

	local hed = script.Parent.Head
	local utor = script.Parent.UpperTorso
	local ltor = script.Parent.LowerTorso

	local luarm = script.Parent.LeftUpperArm
	local llarm = script.Parent.LeftLowerArm
	local lh = script.Parent.LeftHand

	local ruarm = script.Parent.RightUpperArm
	local rlarm = script.Parent.RightLowerArm
	local rh = script.Parent.RightHand

	local luleg = script.Parent.LeftUpperLeg
	local llleg = script.Parent.LeftLowerLeg
	local lf = script.Parent.LeftFoot

	local ruleg = script.Parent.RightUpperLeg
	local rlleg = script.Parent.RightLowerLeg
	local rf = script.Parent.RightFoot

	local bodyparts={hed,utor,ltor,ruarm,luarm,rlarm,llarm,rh,lh,rf,lf,ruleg,luleg,rlleg,llleg,rf,lf}

	--[GeneralGBLue's stuff I had to do lol. THIS WAS A REAL TORTURE ok...]--
	local head = script.Parent.Head
	local leftlowerarm = script.Parent["LeftLowerArm"]
	local leftupperarm = script.Parent["LeftUpperArm"]
	local lefthand = script.Parent["LeftHand"]
	local leftlowerleg = script.Parent["LeftLowerLeg"]
	local leftupperleg = script.Parent["LeftUpperLeg"]
	local leftfoot = script.Parent["LeftFoot"]
	local rightlowerleg = script.Parent["RightLowerLeg"]
	local rightupperleg = script.Parent["RightUpperLeg"]
	local rightfoot = script.Parent["RightFoot"]
	local rightlowerarm = script.Parent["RightLowerArm"]
	local rightupperarm = script.Parent["RightUpperArm"]
	local righthand = script.Parent["RightHand"]
	local uppertorso = script.Parent.UpperTorso
	local lowertorso = script.Parent.LowerTorso
	--[Setup dood...]--
	--[5 BallIDK things in total I gotta do.]--
	--[REAL Part I gotta do for this R15 Ragdoll, to oughta work mahn B)]--
	local LOWERTORSO1 = Instance.new("BallSocketConstraint")
	LOWERTORSO1.Parent = lowertorso
	LOWERTORSO1.Attachment0 = lowertorso.LeftHipRigAttachment
	LOWERTORSO1.Attachment1 = leftupperleg.LeftHipRigAttachment
	LOWERTORSO1.Enabled = true
	LOWERTORSO1.LimitsEnabled = true
	LOWERTORSO1.TwistLimitsEnabled = true
	LOWERTORSO1.TwistUpperAngle = 90
	LOWERTORSO1.TwistLowerAngle = -90
	LOWERTORSO1.UpperAngle = 45

	local LOWERTORSO2 = Instance.new("BallSocketConstraint")
	LOWERTORSO2.Parent = lowertorso
	LOWERTORSO2.Attachment0 = lowertorso.RightHipRigAttachment
	LOWERTORSO2.Attachment1 = rightupperleg.RightHipRigAttachment
	LOWERTORSO2.LimitsEnabled = true
	LOWERTORSO2.TwistLimitsEnabled = true
	LOWERTORSO2.TwistUpperAngle = 90
	LOWERTORSO2.TwistLowerAngle = -90
	LOWERTORSO2.UpperAngle = 45
	--[Alright, thats all the lower torso ball socket constraints i finished.]--
	local UPPERTORSO1 = Instance.new("HingeConstraint")
	UPPERTORSO1.Parent = uppertorso
	UPPERTORSO1.Attachment0 = lowertorso.WaistRigAttachment
	UPPERTORSO1.Attachment1 = uppertorso.WaistRigAttachment
	UPPERTORSO1.Enabled = true
	UPPERTORSO1.LimitsEnabled = true
	UPPERTORSO1.UpperAngle = -45
	UPPERTORSO1.LowerAngle = 0

	local UPPERTORSO2 = Instance.new("BallSocketConstraint")
	UPPERTORSO2.Parent = uppertorso
	UPPERTORSO2.Attachment0 = uppertorso.LeftShoulderRigAttachment
	UPPERTORSO2.Attachment1 = leftupperarm.LeftShoulderRigAttachment
	UPPERTORSO2.Enabled = true
	UPPERTORSO2.LimitsEnabled = true
	UPPERTORSO2.TwistLimitsEnabled = true
	UPPERTORSO2.TwistUpperAngle = 180
	UPPERTORSO2.TwistLowerAngle = -180
	UPPERTORSO2.UpperAngle = 45

	local UPPERTORSO3 = Instance.new("BallSocketConstraint")
	UPPERTORSO3.Parent = uppertorso
	UPPERTORSO3.Attachment0 = uppertorso.RightShoulderRigAttachment
	UPPERTORSO3.Attachment1 = rightupperarm.RightShoulderRigAttachment
	UPPERTORSO3.Enabled = true
	UPPERTORSO3.LimitsEnabled = true
	UPPERTORSO3.TwistLimitsEnabled = true
	UPPERTORSO3.TwistUpperAngle = 180
	UPPERTORSO3.TwistLowerAngle = -180
	UPPERTORSO3.UpperAngle = 45
	--[End for UpperTorso. Woo...]--
	local HEAD = Instance.new("BallSocketConstraint")
	HEAD.Parent = head
	HEAD.Attachment0 = head.NeckRigAttachment
	HEAD.Attachment1 = uppertorso.NeckRigAttachment
	HEAD.Enabled = true
	HEAD.LimitsEnabled = true
	HEAD.UpperAngle = 45
	HEAD.TwistLimitsEnabled=true
	HEAD.TwistUpperAngle= 45
	HEAD.TwistLowerAngle= -45
	--[Seriously XD]--
	local LOWLEG = Instance.new("HingeConstraint")
	LOWLEG.Parent = leftlowerleg
	LOWLEG.Attachment0 = leftlowerleg.LeftKneeRigAttachment
	LOWLEG.Attachment1 = leftupperleg.LeftKneeRigAttachment
	LOWLEG.Enabled = true
	LOWLEG.LimitsEnabled = true
	LOWLEG.LowerAngle = 90
	LOWLEG.UpperAngle = 0
	local LOWLEG2 = Instance.new("HingeConstraint")
	LOWLEG2.Parent = rightlowerleg
	LOWLEG2.Attachment0 = rightlowerleg.RightKneeRigAttachment
	LOWLEG2.Attachment1 = rightupperleg.RightKneeRigAttachment
	LOWLEG2.Enabled = true
	LOWLEG2.LimitsEnabled = true
	LOWLEG2.LowerAngle = 90
	LOWLEG2.UpperAngle = 0
	local LOWARM = Instance.new("HingeConstraint")
	LOWARM.Parent = leftlowerarm
	LOWARM.Attachment0 = leftlowerarm.LeftElbowRigAttachment
	LOWARM.Attachment1 = leftupperarm.LeftElbowRigAttachment
	LOWARM.Enabled = true
	LOWARM.LimitsEnabled = true
	LOWARM.LowerAngle = -90
	LOWARM.UpperAngle = 0
	local LOWARM2 = Instance.new("HingeConstraint")
	LOWARM2.Parent = rightlowerarm
	LOWARM2.Attachment0 = rightlowerarm.RightElbowRigAttachment
	LOWARM2.Attachment1 = rightupperarm.RightElbowRigAttachment
	LOWARM2.Enabled = true
	LOWARM2.LimitsEnabled = true
	LOWARM2.LowerAngle = -90
	LOWARM2.UpperAngle = 0
	local FOOT = Instance.new("HingeConstraint")
	FOOT.Parent = leftfoot
	FOOT.Attachment0 = leftfoot.LeftAnkleRigAttachment
	FOOT.Attachment1 = leftlowerleg.LeftAnkleRigAttachment
	FOOT.Enabled = true
	FOOT.LimitsEnabled = true
	FOOT.LowerAngle = 0
	FOOT.UpperAngle = 0
	local FOOT2 = Instance.new("HingeConstraint")
	FOOT2.Parent = rightfoot
	FOOT2.Attachment0 = rightfoot.RightAnkleRigAttachment
	FOOT2.Attachment1 = rightlowerleg.RightAnkleRigAttachment
	FOOT2.Enabled = true
	FOOT2.LimitsEnabled = true
	FOOT2.LowerAngle = 0
	FOOT2.UpperAngle = 0
	local HAND = Instance.new("HingeConstraint")
	HAND.Parent = lefthand
	HAND.Attachment0 = lefthand.LeftWristRigAttachment
	HAND.Attachment1 = leftlowerarm.LeftWristRigAttachment
	HAND.Enabled = true
	HAND.LimitsEnabled = true
	HAND.LowerAngle = 0
	HAND.UpperAngle = 0
	local HAND2 = Instance.new("HingeConstraint")
	HAND2.Parent = righthand
	HAND2.Attachment0 = righthand.RightWristRigAttachment
	HAND2.Attachment1 = rightlowerarm.RightWristRigAttachment
	HAND2.Enabled = true
	HAND2.LimitsEnabled = true
	HAND2.LowerAngle = 0
	HAND2.UpperAngle = 0



	--------------------------------------------------------
	---------- Version 2.0 ---------------------------------
	---------- Released 8/17/2017 --------------------------
	---------- Written by orange451 ------------------------
	--------------------------------------------------------

	local Character = script.parent

	local function wait(TimeToWait)
		if TimeToWait ~= nil then
			local TotalTime = 0
			TotalTime = TotalTime + game:GetService("RunService").Heartbeat:wait()
			while TotalTime < TimeToWait do
				TotalTime = TotalTime + game:GetService("RunService").Heartbeat:wait()
			end
		else
			game:GetService("RunService").Heartbeat:wait()
		end
	end

	local function waitFor( directory, name ) 
		while ( directory == nil or (name ~= nil and directory:FindFirstChild(name) == nil) ) do
			wait();
		end
		if ( name == nil ) then
			return directory;
		else
			return directory:FindFirstChild(name);
		end
	end

	local function getCharacter()
		return script.Parent;
	end


	local function getHumanoid()
		return waitFor( getCharacter(), "Humanoid" );
	end

	local function getNearestPlayer( position )
		local Players = game.Players:GetChildren();
		local dist = math.huge;
		local ret = nil;
		for i=1,#Players do
			local Player = Players[i];
			local Character = Player.Character;
			if ( Character ~= nil ) then
				local Root = Character:FindFirstChild("HumanoidRootPart");
				if ( Root ~= nil ) then
					local t = (position - Root.Position).magnitude;
					if ( t < dist ) then
						dist = t;
						ret = Player;
					end
				end
			end
		end

		return ret;
	end

	local RootLimbData = {
		{
			["WeldTo"]			= "LowerTorso",
			["WeldRoot"]		= "HumanoidRootPart",
			["AttachmentName"]	= "Root",
			["NeedsCollider"]	= true,
			["UpperAngle"]		= 10
		},
		{
			["WeldTo"]			= "UpperTorso",
			["WeldRoot"]		= "LowerTorso",
			["AttachmentName"]	= "Waist",
			["ColliderOffset"]	= CFrame.new(0, 0, 0),
			["UpperAngle"]		= 10
		},
		{
			["WeldTo"]			= "Head",
			["WeldRoot"]		= "UpperTorso",
			["AttachmentName"]	= "Neck",
			["ColliderOffset"]	= CFrame.new(0, 0, 0),--CFrame.new(0, 1, 0),
		},
		{
			["WeldTo"]			= "LeftUpperLeg",
			["WeldRoot"]		= "LowerTorso",
			["AttachmentName"]	= "LeftHip",
			["ColliderOffset"]	= CFrame.new(0, -0.5, 0)
		},
		{
			["WeldTo"]			= "RightUpperLeg",
			["WeldRoot"]		= "LowerTorso",
			["AttachmentName"]	= "RightHip",
			["ColliderOffset"]	= CFrame.new(0, -0.5, 0)
		},
		{
			["WeldTo"]			= "RightLowerLeg",
			["WeldRoot"]		= "RightUpperLeg",
			["AttachmentName"]	= "RightKnee",
			["ColliderOffset"]	= CFrame.new(0, -0.5, 0)
		},
		{
			["WeldTo"]			= "LeftLowerLeg",
			["WeldRoot"]		= "LeftUpperLeg",
			["AttachmentName"]	= "LeftKnee",
			["ColliderOffset"]	= CFrame.new(-0.05, -0.5, 0)
		},
		{
			["WeldTo"]			= "RightUpperArm",
			["WeldRoot"]		= "UpperTorso",
			["AttachmentName"]	= "RightShoulder",
			["ColliderOffset"]	= CFrame.new(0.05, 0.45, 0.15),
		},
		{
			["WeldTo"]			= "LeftUpperArm",
			["WeldRoot"]		= "UpperTorso",
			["AttachmentName"]	= "LeftShoulder",
			["ColliderOffset"]	= CFrame.new(0, 0.45, 0.15),
		},
		{
			["WeldTo"]			= "LeftLowerArm",
			["WeldRoot"]		= "LeftUpperArm",
			["AttachmentName"]	= "LeftElbow",
			["ColliderOffset"]	= CFrame.new(0, 0.125, 0),
			["UpperAngle"]		= 0
		},
		{
			["WeldTo"]			= "RightLowerArm",
			["WeldRoot"]		= "RightUpperArm",
			["AttachmentName"]	= "RightElbow",
			["ColliderOffset"]	= CFrame.new(0, 0.125, 0),
			["UpperAngle"]		= 0
		},
		{
			["WeldTo"]			= "RightHand",
			["WeldRoot"]		= "RightLowerArm",
			["AttachmentName"]	= "RightWrist",
			["ColliderOffset"]	= CFrame.new(0, 0.125, 0),
			["UpperAngle"]		= 0
		},
		{
			["WeldTo"]			= "LeftHand",
			["WeldRoot"]		= "LeftLowerArm",
			["AttachmentName"]	= "LeftWrist",
			["ColliderOffset"]	= CFrame.new(0, 0.125, 0),
			["UpperAngle"]		= 0
		},
		{
			["WeldTo"]			= "LeftFoot",
			["WeldRoot"]		= "LeftLowerLeg",
			["AttachmentName"]	= "LeftAnkle",
			["NeedsCollider"]	= false,
			["UpperAngle"]		= 0
		},
		{
			["WeldTo"]			= "RightFoot",
			["WeldRoot"]		= "RightLowerLeg",
			["AttachmentName"]	= "RightAnkle",
			["NeedsCollider"]	= false,
			["UpperAngle"]		= 0
		},
	}

	local RootPart = nil;
	local MotorList = {};
	local GlueList = {};
	local ColliderList = {};

	createnocollider(hed,utor,script.Parent)
	createnocollider(utor,ltor,script.Parent)

	print("Ragdolling");
	local Character = getCharacter();
	local Humanoid = getHumanoid();
	local HumanoidRoot = script.Parent:FindFirstChild("HumanoidRootPart");
	if ( HumanoidRoot == nil ) then
		print("Cannot create ragdoll");
		return;
	end
	local Position = script.Parent.HumanoidRootPart.Position;
	Humanoid.PlatformStand = true;

	-- Handle death specific ragdoll. Will Clone you, then destroy you.
	local RagDollModel = Character;
	if (Humanoid.Health <= 0) then
		Character:FindFirstChild("HumanoidRootPart"):Destroy();
		Character.Archivable = true;
		RagDollModel = Character:Clone();

		local t = RagDollModel:GetChildren();
		for i=1,#t do
			local t2 = t[i];
			if ( t2:IsA("Script") or t2:IsA("LocalScript") ) then
				t2:Destroy()
			end
		end

		spawn(function()
			local nsc = script.CamAttach:clone()
			nsc.CamPart.Value = RagDollModel.Head
			nsc.Disabled = false
			nsc.Parent = Character
		end)

		RagDollModel.Humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None;
		RagDollModel.Humanoid.HealthDisplayType = Enum.HumanoidHealthDisplayType.AlwaysOff;
		RagDollModel.Humanoid.MaxHealth = 0;
		RagDollModel.Humanoid.Health = 0;
		RagDollModel.Name="RagDoll"
		RagDollModel.Parent = workspace;

		local RagDollPointer = Instance.new("ObjectValue");
		RagDollPointer.Value = RagDollModel;
		RagDollPointer.Name = "RagDoll";
		RagDollPointer.Parent = Character;

		game.Debris:AddItem(RagDollModel, 4);

		-- Reglue The Character
		for i=1,#RootLimbData do
			local limbData = RootLimbData[i];
			local partName = limbData["WeldTo"];
			local weldName = limbData["WeldRoot"];
			local PartTo = RagDollModel:FindFirstChild(partName);
			local WeldTo = RagDollModel:FindFirstChild(weldName);

			if ( PartTo ~= nil and WeldTo ~= nil ) then
				-- Create New Constraint

				-- Destroy the motor attaching it
				local Motor = PartTo:FindFirstChildOfClass("Motor6D");
				if ( Motor ~= nil ) then
					if ( Humanoid.Health <= 0 ) then
						Motor:Destroy();
					else
						MotorList[#MotorList+1] = { PartTo, Motor };
						Motor.Parent = nil;
					end
				end

				-- Create Collider
				local needsCollider = limbData["NeedsCollider"];
				if ( needsCollider == nil ) then
					needsCollider = true;
				end
				if ( needsCollider ) then
					local B = Instance.new("Part");
					B.Material = "Plastic"
					B.CanCollide = true;
					B.TopSurface = 0;
					B.BottomSurface = 0;
					B.formFactor = "Symmetric";
					B.Size = Vector3.new(0.5,0.5,0.5);
					B.Name="Collider"
					B.Transparency = 1;
					B.BrickColor = BrickColor.Red();
					B.Shape="Ball"
					B.Parent = RagDollModel;
					local W = Instance.new("Weld");
					W.Part0 = PartTo;
					W.Part1 = B;
					W.C0 = limbData["ColliderOffset"];
					W.Parent = PartTo;
					B.Velocity=PartTo.Velocity
					B.RotVelocity=PartTo.RotVelocity
					ColliderList[#ColliderList+1] = B;
					createnocollider(B,utor,PartTo)
					createnocollider(B,ltor,PartTo)
					createnocollider(B,hed,PartTo)
					local c = RagDollModel:GetChildren()
					for i = 1,#c do
						if c[i].Name==B.Name and (c[i]:IsA("BasePart") or c[i]:IsA("MeshPart")) then
							createnocollider(B,c[i],PartTo)
						end
					end
				end
			end
		end

		-- Destroy Root Part
		local root = Character:FindFirstChild("HumanoidRootPart");
		if ( root ~= nil ) then
			RootPart = root;
			if ( Humanoid.Health <= 0 ) then
				RootPart:Destroy();
			else
				RootPart.Parent = nil;
			end
		end

		local ff = Instance.new("ForceField",RagDollModel)
		ff.Visible=false	

		-- Delete all my parts if we made a new ragdoll
		if ( RagDollModel ~= Character ) then
			print("Deleting character");
			local children = Character:GetChildren();
			for i=1,#children do
				local child = children[i];
				if ( child:IsA("BasePart") or child:IsA("Accessory") or child:IsA("ForceField") ) then
					child:Destroy();
				elseif child.ClassName=="Tool" then
					child:Destroy()
				end
			end
		end

		if RagDollModel then
			print("Deleting tools");
			local children = RagDollModel:GetChildren();
			for i=1,#children do
				local child = children[i];
				if ( child.ClassName=="Tool" ) then
					child:Destroy()
				end
			end
		end

	end
	local face = RagDollModel.Head:FindFirstChild("face")
	if face and face ~= nil then
		face.Texture = "http://www.roblox.com/asset/?id=15395252"
	end

	local r = RagDollModel:GetChildren()
	for i = 1,#r do
		if r[i]:IsA("BasePart") or r[i]:IsA("MeshPart") then
			r[i]:SetNetworkOwner(nil)
		end
	end

	RagDollModel.Humanoid.PlatformStand=true
	-- Wait for torso (assume everything else will load at the same time)
	waitFor( getCharacter(), "UpperTorso" );

	--
end

script.Parent.Humanoid.Died:Connect(function()
	script.Parent.Scream.Playing = true
	script.Parent.UpperTorso.Blood2.Enabled = true
	script.Parent.UpperTorso.Blood3.Enabled = true
	ragdoll()
end)

local isscreaming = false

script.Parent.HumanoidRootPart.Touched:Connect(function(hit)
	if hit.Parent:IsA("Model") then
		if hit.Parent:FindFirstChild("Humanoid") then
			return
		elseif hit.Parent:FindFirstChild("Terrain") then
			return
		else
			script.Parent.UpperTorso.Blood2.Enabled = true
			script.Parent.UpperTorso.Blood3.Enabled = true
			ragdoll()
		end
	end
end)

The stuff I added is at the bottom of the script so ya. Also I do not know what I did to make this work because I do not believe that this is it, but, this is all that I could find, so if it works, it works xd.

Also I used a freemodel for this script because I am really not that good at scripting.

Also I can uncopylock this game so you can poke around and see what I did if you want, if this does not work.

Also this is a script inside the dummy.

Did this help?

The script is interesting, but nothing changed. This is probably a problem on the Network and FPS, you just have to wait until the physical object loads, I guess so. Here is a video but in your script:

local Destroyer = script.Parent.Start
object = script.Parent  --Put this script directly INSIDE the model you want to regenerate
if (object ~= nil) and (object ~= game.Workspace) then 
	model = object 

	backup = model:clone()  
	waitTime = 25  --Time in seconds to wait between regenerations  

Destroyer.Touched:Connect(function(hit)
	if hit.Parent:IsA("Model") then
		if hit.Parent:FindFirstChild("Humanoid") then
			return
		elseif hit.Parent:FindFirstChild("Terrain") then
			return
		else
			script.Parent.WeldConstraint.Enabled = false
			script.Parent.WeldConstraint2.Enabled = false
			script.Parent.WeldConstraint3.Enabled = false
			script.Parent.WeldConstraint4.Enabled = false
			script.Parent.Light.BrickColor = BrickColor.Black()
			script.Parent.Light.SpotLight.Enabled = false
			wait(waitTime)
			model:remove() 

			wait(0) 

			model = backup:clone() 
			model.Parent = game.Workspace
				model:makeJoints()
			end
		end
	end)
end

What exactly do you want to achieve here?

Object, i.e. a road sign or Street Light don’t passing through

So, do you want the car to be able to collide with the part, completely stopping it?

Yes, so that the car able to collide but did not lose speed. If this is not related to the script, I apologize.

You can make all the parts of the car can collide true, and add a proximity prompt that allows you to get in the car.

Yes, I did it, but as luck would have it, the object passes through or crashes and loses speed

You could add a velocity to it incase it does lose speed.

This is confusing to me. Do you want it to pass through, or do you want it to collide(and stop). You have to choose one or the other.(I think)

If you want it to collide and not lose speed, isn’t that the same as passing through?

Oh… My bad. I just used car like humanoid walkspeed without velocity.

1 Like

I just mean that the car hit the physical object and pushed the object away and did not go through as if the physical object had no collisions.