Everything unanchores?

No biggy. I’ll make you a local script now for it.

This may take 10 minutes at the most. So check back here in 10 minutes, or whenever you get a notification here.

Alright, give me 5 minutes, and it should finally be done. I kept running into errors but didn’t realize I was placing it somewhere wrong.

its alright, thank you for ur help

Running into some errors. Trying to fix them.

Give me until tomorrow, I should have a working script by then for you.

alr thank you so much . ignore this

Im not gonna write a whole script, but I do have a solution for you if you want to implement this.
I would recommend to use Collection service and tag everything you want to freeze, and add another tag indicating whether you want to unanchor it after. then loop through the tags and freeze unfreeze and unanchor according to tags

Hey, not sure if you’re online, but if so, I realized I never asked you something important. Would you mind sending the code in your LocalScript?

Ok,

local UIS = game:GetService("UserInputService")

local CD = 12

local db = false

local event = game:GetService("ReplicatedStorage"):WaitForChild("ZaWarudo")

local lighting = game:GetService("Lighting")

local TS = game:GetService("TweenService")

local TI = TweenInfo.new(0.5763)

local goals = {["Density"] = 0.56}

local goals2 = {["Density"] = 0.3}

local atmosphere = lighting:WaitForChild("Atmosphere")

local whiteListedPPL = {"hasoco","Player1"}
local plr = game.Players.LocalPlayer

UIS.InputBegan:Connect(function(i,busy)
	if i.KeyCode == Enum.KeyCode.F and not db and table.find(whiteListedPPL,plr.Name) then
		db = true
		local t1 = TS:Create(atmosphere,TI,goals)
		t1:Play()
		event:FireServer(whiteListedPPL)
		warn("Fired.")
		task.wait(CD)
		local t2 = TS:Create(atmosphere,TI,goals2)
		t2:Play()
		db = false
	end
end)
remote.OnServerEvent:Connect(function(__PLAYER)
	for _,__OTHERPLAYERS in game:GetService("Players"):GetPlayers() do
		if __OTHERPLAYERS ~= __PLAYER then
			local __CHARACTER = __OTHERPLAYERS.Character
			local __HRP:BasePart? = __CHARACTER:FindFirstChild("HumanoidRootPart")
			__HRP.Anchored = true
			task.wait(CD or 12) -- ?
			__HRP.Anchored = false
		end
	end
end)

I presume you want to only freeze players.

try replace all or with and in the if statement

Put everything you dont want unanchored in Terrain, and run the script while blacklisting Terrain (it will detect the parts in terrain if that doesnt exist)

local remote = game:GetService("ReplicatedStorage"):WaitForChild("ZaWarudo")

local CD = 12

remote.OnServerEvent:Connect(function(player,tab)
	warn("Recieved.")
	for _,v in pairs(workspace:GetDescendants()) do
		if v.Name == "Terrain" then	
		warn("A Blacklisted part was encountered")
 		elseif v:IsA("BasePart") then
			task.wait(CD)
			v.Anchored = false
		end
	end	

Put an if statement right after v:isa basepart that checks if its anchored if its unanchored then it anchors and unanchors

it would still get parts in terrain, they are descending to workspace

fixed

char limit :stuck_out_tongue_winking_eye: