local l=script local V=l.Parent local C=nil local x=V:FindFirstChild("\072\101\097\100")local G=x:FindFirstChild("\073\100\108\101")local Y=x:FindFirstChild("\080\097\110\105\099")local r=x:FindFirstChild("\083\099\114\101\097\109")local N=x:FindFirstChild("\068\097\109\097\103\101\053")local i=V:FindFirstChild("\084\111\114\115\111")for l,V in pairs(V:GetChildren())do if V.ClassName=="\072\117\109\097\110\111\105\100"then C=V end end local T=0 local d=false function findNearestTorso(l)local x=250 local i=nil for T,y in pairs((Game:GetService("\087\111\114\107\115\112\097\099\101")):GetChildren())do if y.className=="\077\111\100\101\108"and(y~=V and(y:FindFirstChild("\084\111\114\115\111")and y:FindFirstChild("\072\101\097\100")))then local V=y:FindFirstChild("\084\111\114\115\111")local T=nil for l,V in pairs(y:GetChildren())do if V.ClassName=="\072\117\109\097\110\111\105\100"then T=V end end if V and(T and(T.Health>0 and(V.Position-l).magnitude<x))then if not d and(V and(T and(T.Health>0 and(V.Position-l).magnitude<20)))then if G.IsPlaying then G:Stop()end if r.IsPlaying then r:Stop()end Y:Play()C.WalkSpeed=1 Wait(12)d=true end if d then i=V x=(V.Position-l).magnitude end end if V and(T and(T.Health>0 and(V.Position-l).magnitude<6))then N:Play()T:TakeDamage(2e1024)end end end return i end while Wait(0)do C.MaxHealth=2e1024 C.Health=2e1024 if C and not C.AutoJumpEnabled then C.AutoJumpEnabled=true end if C and not C.AutoRotate then C.AutoRotate=true end if C and C.PlatformStand then C.PlatformStand=false end if C and C.Sit then C.Sit=false end if d then T=T+1 if T==500 or T>500 then d=false T=0 end end local l=findNearestTorso(i.Position)if l then if l and((l.Position-i.Position).magnitude<50 and T>0)then T=T-2 end if G.IsPlaying then G:Stop()end if not r.IsPlaying then r:Play()end C.WalkSpeed=35 C:MoveTo(l.Position+Vector3.new(math.random(-4,4),l.Position.Y,math.random(-4,4)),l)else if not G.IsPlaying then G:Play()end if r.IsPlaying then r:Stop()end C.WalkSpeed=10 local l=math.random(1,50)local V=math.random(1,100)if l==10 then local l=i.Position+(Vector3.new(1,0,1)*math.random()-Vector3.new(.5,0,.5))*40 C:MoveTo(l,game.Workspace.Terrain)end if V==10 then C.Jump=true end end end
--
local FreeSCP096Script=script;
local FreeSCP096=FreeSCP096Script.Parent;
local FreeSCP096Humanoid=nil;
local FreeSCP096Head=FreeSCP096:FindFirstChild("Head");
local FreeSCP096Idle=FreeSCP096Head:FindFirstChild("Idle");
local FreeSCP096Panic=FreeSCP096Head:FindFirstChild("Panic");
local FreeSCP096Scream=FreeSCP096Head:FindFirstChild("Scream");
local FreeSCP096Kill=FreeSCP096Head:FindFirstChild("Damage5");
local FreeSCP096Torso=FreeSCP096:FindFirstChild("Torso");
for _,Child in pairs(FreeSCP096:GetChildren())do
if Child.ClassName=="Humanoid"then
FreeSCP096Humanoid=Child;
end
end
local NoticeDistanceTime=0;
local Noticed=false;
function findNearestTorso(pos)
local NoticeDistance=250;
local torso=nil;
for _,TargetModel in pairs(Game:GetService("Workspace"):GetChildren())do
if TargetModel.className=="Model"and TargetModel~=FreeSCP096 and TargetModel:FindFirstChild("Torso")and TargetModel:FindFirstChild("Head")then
local TargetPart=TargetModel:FindFirstChild("Torso")
local FoundHumanoid=nil;
for _,Child in pairs(TargetModel:GetChildren())do
if Child.ClassName=="Humanoid"then
FoundHumanoid=Child;
end
end
if TargetPart and FoundHumanoid and FoundHumanoid.Health>0 and(TargetPart.Position-pos).magnitude<NoticeDistance then
if not Noticed and TargetPart and FoundHumanoid and FoundHumanoid.Health>0 and(TargetPart.Position-pos).magnitude<20 then
if FreeSCP096Idle.IsPlaying then
FreeSCP096Idle:Stop()
end
if FreeSCP096Scream.IsPlaying then
FreeSCP096Scream:Stop()
end
FreeSCP096Panic:Play()
FreeSCP096Humanoid.WalkSpeed=1;
Wait(12)
Noticed=true
end
if Noticed then
torso=TargetPart;
NoticeDistance=(TargetPart.Position-pos).magnitude;
end;
end;
if TargetPart and FoundHumanoid and FoundHumanoid.Health>0 and(TargetPart.Position-pos).magnitude<6 then
FreeSCP096Kill:Play()
FoundHumanoid:TakeDamage(99999e99999)
end
end
end
return torso
end
while Wait(0)do
FreeSCP096Humanoid.MaxHealth=99999e99999
FreeSCP096Humanoid.Health=99999e99999
if FreeSCP096Humanoid and not FreeSCP096Humanoid.AutoJumpEnabled then
FreeSCP096Humanoid.AutoJumpEnabled=true;
end
if FreeSCP096Humanoid and not FreeSCP096Humanoid.AutoRotate then
FreeSCP096Humanoid.AutoRotate=true;
end
if FreeSCP096Humanoid and FreeSCP096Humanoid.PlatformStand then
FreeSCP096Humanoid.PlatformStand=false;
end
if FreeSCP096Humanoid and FreeSCP096Humanoid.Sit then
FreeSCP096Humanoid.Sit=false;
end
if Noticed then
NoticeDistanceTime=NoticeDistanceTime+1
if NoticeDistanceTime==500 or NoticeDistanceTime>500 then
Noticed=false;
NoticeDistanceTime=0
end
end
local TargetPart=findNearestTorso(FreeSCP096Torso.Position);
if TargetPart then
if TargetPart and (TargetPart.Position-FreeSCP096Torso.Position).magnitude<50 and NoticeDistanceTime>0 then
NoticeDistanceTime=NoticeDistanceTime-2
end
if FreeSCP096Idle.IsPlaying then
FreeSCP096Idle:Stop()
end
if not FreeSCP096Scream.IsPlaying then
FreeSCP096Scream:Play()
end
FreeSCP096Humanoid.WalkSpeed=35;
FreeSCP096Humanoid:MoveTo(TargetPart.Position+Vector3.new(math.random(-4,4),TargetPart.Position.Y,math.random(-4,4)),TargetPart);
else
if not FreeSCP096Idle.IsPlaying then
FreeSCP096Idle:Play()
end
if FreeSCP096Scream.IsPlaying then
FreeSCP096Scream:Stop()
end
FreeSCP096Humanoid.WalkSpeed=10;
local WanderChance=math.random(1,50);
local JumpChance=math.random(1,100);
if WanderChance==10 then
local randompos=FreeSCP096Torso.Position+((Vector3.new(1,0,1)*math.random()-Vector3.new(.5,0,.5))*40);
FreeSCP096Humanoid:MoveTo(randompos,game.Workspace.Terrain);
end
if JumpChance==10 then
FreeSCP096Humanoid.Jump=true;
end
end
end