Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Converted using Mokiros's Model to Script plugin
- -- Converted string size: 2082
- local genv={}
- local Scripts = {
- function() function onPlayerDied(dead)
- local h = script.Parent.Humanoid
- if (h.Health==0) then
- local head = script.Parent.Head
- local blood1 = Instance.new("Part")
- blood1.BrickColor = BrickColor.new(21)
- blood1.formFactor = 2
- blood1.Size = Vector3.new(1, 0.4, 1)
- blood1.Position = head.Position
- blood1.Name = "Blood"
- blood1.Parent = script.Parent
- local blood2 = Instance.new("Part")
- blood2.BrickColor = BrickColor.new(21)
- blood2.formFactor = 2
- blood2.Size = Vector3.new(1, 0.4, 1)
- blood2.Position = head.Position
- blood2.Name = "Blood"
- blood2.Parent = script.Parent
- local blood3 = Instance.new("Part")
- blood3.BrickColor = BrickColor.new(21)
- blood3.formFactor = 2
- blood3.Size = Vector3.new(1, 0.4, 1)
- blood3.Position = head.Position
- blood3.Name = "Blood"
- blood3.Parent = script.Parent
- local blood4 = Instance.new("Part")
- blood4.BrickColor = BrickColor.new(21)
- blood4.formFactor = 2
- blood4.Size = Vector3.new(1, 0.4, 1)
- blood4.Position = head.Position
- blood4.Name = "Blood"
- blood4.Parent = script.Parent
- end
- end
- script.Parent.Humanoid.Died:connect(onPlayerDied)
- end;
- function() function onPlayerDied(dead)
- local h = script.Parent.Humanoid
- if (h.Health==0) then
- local head = script.Parent.Head
- local blood1 = Instance.new("Part")
- blood1.BrickColor = BrickColor.new(21)
- blood1.formFactor = 2
- blood1.Size = Vector3.new(1, 0.4, 1)
- blood1.Position = head.Position
- blood1.Name = "Blood"
- blood1.Parent = script.Parent
- local blood2 = Instance.new("Part")
- blood2.BrickColor = BrickColor.new(21)
- blood2.formFactor = 2
- blood2.Size = Vector3.new(1, 0.4, 1)
- blood2.Position = head.Position
- blood2.Name = "Blood"
- blood2.Parent = script.Parent
- local blood3 = Instance.new("Part")
- blood3.BrickColor = BrickColor.new(21)
- blood3.formFactor = 2
- blood3.Size = Vector3.new(1, 0.4, 1)
- blood3.Position = head.Position
- blood3.Name = "Blood"
- blood3.Parent = script.Parent
- end
- end
- script.Parent.Humanoid.Died:connect(onPlayerDied)
- end;
- function() function onPlayerDied(dead)
- local h = script.Parent.Humanoid
- if (h.Health==0) then
- local head = script.Parent.Head
- local blood1 = Instance.new("Part")
- blood1.BrickColor = BrickColor.new(21)
- blood1.formFactor = 2
- blood1.Size = Vector3.new(1, 0.4, 1)
- blood1.Position = head.Position
- blood1.Name = "Blood"
- blood1.Parent = script.Parent
- local blood2 = Instance.new("Part")
- blood2.BrickColor = BrickColor.new(21)
- blood2.formFactor = 2
- blood2.Size = Vector3.new(1, 0.4, 1)
- blood2.Position = head.Position
- blood2.Name = "Blood"
- blood2.Parent = script.Parent
- local blood3 = Instance.new("Part")
- blood3.BrickColor = BrickColor.new(21)
- blood3.formFactor = 2
- blood3.Size = Vector3.new(1, 0.4, 1)
- blood3.Position = head.Position
- blood3.Name = "Blood"
- blood3.Parent = script.Parent
- end
- end
- script.Parent.Humanoid.Died:connect(onPlayerDied)
- end;
- function() function onPlayerDied(dead)
- local h = script.Parent.Humanoid
- if (h.Health==0) then
- local head = script.Parent.Head
- local blood1 = Instance.new("Part")
- blood1.BrickColor = BrickColor.new(21)
- blood1.formFactor = 2
- blood1.Size = Vector3.new(1, 0.4, 1)
- blood1.Position = head.Position
- blood1.Name = "Blood"
- blood1.Parent = script.Parent
- local blood2 = Instance.new("Part")
- blood2.BrickColor = BrickColor.new(21)
- blood2.formFactor = 2
- blood2.Size = Vector3.new(1, 0.4, 1)
- blood2.Position = head.Position
- blood2.Name = "Blood"
- blood2.Parent = script.Parent
- local blood3 = Instance.new("Part")
- blood3.BrickColor = BrickColor.new(21)
- blood3.formFactor = 2
- blood3.Size = Vector3.new(1, 0.4, 1)
- blood3.Position = head.Position
- blood3.Name = "Blood"
- blood3.Parent = script.Parent
- local blood4 = Instance.new("Part")
- blood4.BrickColor = BrickColor.new(21)
- blood4.formFactor = 2
- blood4.Size = Vector3.new(1, 0.4, 1)
- blood4.Position = head.Position
- blood4.Name = "Blood"
- blood4.Parent = script.Parent
- end
- end
- script.Parent.Humanoid.Died:connect(onPlayerDied)
- end;
- function() name="Zombie"
- robo=script.Parent:clone()
- while true do
- wait(3)
- if script.Parent.Humanoid.Health<1 then
- robot=robo:clone()
- robot.Parent=script.Parent.Parent
- robot:makeJoints()
- script.Parent:remove()
- end
- end
- end;
- function() local pose = "Standing"
- local Figure = script.Parent
- local head = script.Parent.Head
- local torso = script.Parent.Torso
- local rarm = script.Parent["Right Arm"]
- local larm = script.Parent["Left Arm"]
- local rleg = script.Parent["Right Leg"]
- local lleg = script.Parent["Left Leg"]
- local human = script.Parent.Humanoid
- human.MaxHealth = 280
- human.Health = 280
- human.WalkSpeed = 11
- local neck = Instance.new("Motor6D")
- neck.Parent = torso
- neck.Name = "Neck"
- neck.MaxVelocity = .1
- neck.DesiredAngle = 0
- neck.Part0 = torso
- local rshoulder = Instance.new("Motor6D")
- rshoulder.Parent = torso
- rshoulder.Name = "Right Shoulder"
- rshoulder.MaxVelocity = .15
- rshoulder.DesiredAngle = 0
- rshoulder.Part0 = torso
- local lshoulder = Instance.new("Motor6D")
- lshoulder.Parent = torso
- lshoulder.Name = "Left Shoulder"
- lshoulder.MaxVelocity = .15
- lshoulder.DesiredAngle = 0
- lshoulder.Part0 = torso
- local rhip = Instance.new("Motor6D")
- rhip.Parent = torso
- rhip.Name = "Right Hip"
- rhip.MaxVelocity = .1
- rhip.DesiredAngle = 0
- rhip.Part0 = torso
- local lhip = Instance.new("Motor6D")
- lhip.Parent = torso
- lhip.Name = "Left Hip"
- lhip.MaxVelocity = .1
- lhip.DesiredAngle = 0
- lhip.Part0 = torso
- neck.Part1 = head
- rshoulder.Part1 = rarm
- lshoulder.Part1 = larm
- rhip.Part1 = rleg
- lhip.Part1 = lleg
- neck.C0 = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
- neck.C1 = CFrame.new(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
- rshoulder.C0 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
- rshoulder.C1 = CFrame.new(-0.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
- lshoulder.C0 = CFrame.new(-1, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
- lshoulder.C1 = CFrame.new(0.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
- rhip.C0 = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
- rhip.C1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
- lhip.C0 = CFrame.new(-1, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
- lhip.C1 = CFrame.new(-0.5, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
- human.LeftLeg = lleg
- human.RightLeg = rleg
- human.Torso = torso
- function onRunning(speed)
- if speed>0 then
- pose = "Running"
- else
- pose = "Standing"
- end
- end
- function onJumping()
- pose = "Jumping"
- end
- function onClimbing()
- pose = "Climbing"
- end
- function onFreeFall()
- pose = "FreeFall"
- end
- function onSeated()
- pose = "Seated"
- end
- function moveJump()
- rshoulder.MaxVelocity = 0.5
- lshoulder.MaxVelocity = 0.5
- rshoulder:SetDesiredAngle(3.14)
- lshoulder:SetDesiredAngle(-3.14)
- rhip:SetDesiredAngle(0)
- lhip:SetDesiredAngle(0)
- end
- function moveFreeFall()
- rshoulder.MaxVelocity = 0.5
- lshoulder.MaxVelocity = 0.5
- rshoulder:SetDesiredAngle(3.14)
- lshoulder:SetDesiredAngle(-3.14)
- rhip:SetDesiredAngle(0)
- lhip:SetDesiredAngle(0)
- end
- function moveSit()
- rshoulder.MaxVelocity = 0.15
- lshoulder.MaxVelocity = 0.15
- rshoulder:SetDesiredAngle(3.14 /2)
- lshoulder:SetDesiredAngle(-3.14 /2)
- rhip:SetDesiredAngle(3.14 /2)
- lhip:SetDesiredAngle(-3.14 /2)
- end
- function move(time)
- local amplitude
- local frequency
- if (pose == "Jumping") then
- moveJump()
- return
- end
- if (pose == "FreeFall") then
- moveFreeFall()
- return
- end
- if (pose == "Seated") then
- moveSit()
- return
- end
- local climbFudge = 0
- if (pose == "Running") then
- rshoulder.MaxVelocity = 0.15
- lshoulder.MaxVelocity = 0.15
- amplitude = 1
- frequency = 9
- elseif (pose == "Climbing") then
- rshoulder.MaxVelocity = 0.5
- lshoulder.MaxVelocity = 0.5
- amplitude = 1
- frequency = 9
- climbFudge = math.pi
- else
- amplitude = 0.1
- frequency = 1
- end
- desiredAngle = amplitude * math.sin(time*frequency)
- rshoulder:SetDesiredAngle(desiredAngle + climbFudge)
- lshoulder:SetDesiredAngle(desiredAngle - climbFudge)
- rhip:SetDesiredAngle(-desiredAngle)
- lhip:SetDesiredAngle(-desiredAngle)
- end
- human.Running:connect(onRunning)
- human.Jumping:connect(onJumping)
- human.Climbing:connect(onClimbing)
- human.FreeFalling:connect(onFreeFall)
- human.Seated:connect(onSeated)
- function kill(hit)
- local player = game.Players:GetPlayerFromCharacter(hit.Parent)
- if (player) then
- h = player.Character:FindFirstChild("Humanoid")
- if (h) then
- h.Health = h.Health - 5
- end
- end
- end
- head.Touched:connect(kill)
- torso.Touched:connect(kill)
- rarm.Touched:connect(kill)
- larm.Touched:connect(kill)
- rleg.Touched:connect(kill)
- lleg.Touched:connect(kill)
- function getTorso()
- local position = torso.Position
- local distance = 20
- local tor = nil
- for i,v in pairs(Workspace:GetChildren()) do
- local plyr = game.Players:GetPlayerFromCharacter(v)
- if plyr then
- tor = v:findFirstChild("Torso")
- humanoid = v:findFirstChild("Humanoid")
- if (tor ~= nil) and (humanoid ~= nil) and (humanoid.Health > 0) then
- if (tor.Position - position).magnitude < distance then
- distance = (tor.Position - position).magnitude
- end
- end
- end
- end
- return tor
- end
- local runService = game:service("RunService");
- while (Figure.Parent ~= nil) do
- local x, time = wait(0.1)
- move(time)
- local target = getTorso()
- if target ~= nil then
- unit = (torso.Position-target.Position).unit
- human:MoveTo(target.Position - unit, target)
- if (target.Position.Y - .5 > torso.Position.Y) then
- human.Jump = true
- end
- end
- end
- end;
- function() --[[ By: Brutez. ]]--
- ------------Animations------------
- local Hum = script.Parent.SCP
- local Sit = Hum:LoadAnimation(script.Parent.Sit)
- local GetUp = Hum:LoadAnimation(script.Parent.GettingUp)
- local Angry = Hum:LoadAnimation(script.Parent.Angry)
- local Run = Hum:LoadAnimation(script.Parent.Run)
- local Kill = Hum:LoadAnimation(script.Parent.Kill)
- ----------------------------------
- local SCP096Script=script;
- repeat wait(0);until script and script.Parent and script.Parent.ClassName=="Model"and script.Parent:FindFirstChild("Head")and script.Parent:FindFirstChild("Torso")and script.Parent:FindFirstChild("HumanoidRootPart");
- local SCP096=SCP096Script.Parent;
- local Hush=SCP096:FindFirstChild("Hush");
- local Notice=SCP096:FindFirstChild("Notice");
- local SCP096Humanoid = SCP096:FindFirstChild("SCP")
- local CanSee=false;
- local Pathing=false;
- local SCP096Head=SCP096:FindFirstChild("Head");
- local Damage5=SCP096Head:FindFirstChild("Damage5");
- local Idle=SCP096Head:FindFirstChild("Idle");
- local Panic=SCP096:FindFirstChild("Panick")
- local Screaming=SCP096Head:FindFirstChild("Screaming");
- local SCP096HumanoidRootPart=SCP096:FindFirstChild("HumanoidRootPart");
- local SCP096Torso=SCP096:FindFirstChild("Torso");
- local AttackDebounce=false;
- local Chasing=false;
- function raycast(Spos,vec,currentdist)
- local hit2,pos2=game.Workspace:FindPartOnRay(Ray.new(Spos+(vec*.05),vec*currentdist),SCP096);
- if hit2~=nil and pos2 then
- if hit2.Name=="Handle" and not hit2.CanCollide or string.sub(hit2.Name,1,6)=="Effect"and not hit2.CanCollide then
- local currentdist=currentdist-(pos2-Spos).magnitude;
- return raycast(pos2,vec,currentdist);
- end;
- end;
- return hit2,pos2;
- end;
- function RayCast(Position,Direction,MaxDistance,IgnoreList)
- return game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(Position,Direction.unit*(MaxDistance or 999.999)),IgnoreList);
- end;
- spawn(function()
- while wait(0)do
- if SCP096Script and SCP096 and SCP096HumanoidRootPart and SCP096Head and SCP096Humanoid and SCP096Humanoid.Health~=0 then
- local TargetPoint=SCP096Humanoid.TargetPoint;
- local Blockage,BlockagePos=RayCast((SCP096HumanoidRootPart.CFrame+CFrame.new(SCP096HumanoidRootPart.Position,Vector3.new(TargetPoint.X,SCP096HumanoidRootPart.Position.Y,TargetPoint.Z)).lookVector*(SCP096HumanoidRootPart.Size.Z/2)).p,SCP096HumanoidRootPart.CFrame.lookVector,(SCP096HumanoidRootPart.Size.Z*2.5),{SCP096,SCP096})
- local Jumpable=false;
- if Blockage then
- Jumpable=false;
- if Blockage and Blockage.Parent and Blockage.Parent.ClassName~="Workspace"then
- local BlockageHumanoid;
- for _,Child in pairs(Blockage.Parent:GetChildren())do
- if Child and Child.ClassName=="Humanoid"and Child.Health~=0 then
- BlockageHumanoid=Child;
- end;
- end;
- if Blockage and Blockage:IsA("Terrain")then
- local CellPos=Blockage:WorldToCellPreferSolid((BlockagePos-Vector3.new(0,2,0)));
- local CellMaterial,CellShape,CellOrientation=Blockage:GetCell(CellPos.X,CellPos.Y,CellPos.Z);
- if CellMaterial==Enum.CellMaterial.Water then
- Jumpable=false;
- end;
- elseif BlockageHumanoid or Blockage.ClassName=="TrussPart"or Blockage.ClassName=="WedgePart"or Blockage.Name=="Handle"and Blockage.Parent.ClassName=="Hat"or Blockage.Name=="Handle"and Blockage.Parent.ClassName=="Tool"then
- Jumpable=false;
- end;
- end;
- if SCP096Script and SCP096 and SCP096Humanoid and SCP096Humanoid.Health~=0 and not SCP096Humanoid.Sit and Jumpable then
- SCP096Humanoid.Jump=false;
- end;
- end;
- end;
- end;
- end);
- local DynamicWander=true;
- while wait(0)do
- if game~=nil and game:GetService("Workspace")~=nil and not game:GetService("Workspace"):FindFirstChild("BrutezCredit")then
- local BrutezCredit="WhaaPose";
- end
- if SCP096Script and SCP096 and SCP096Humanoid then
- SCP096Humanoid.CameraOffset=Vector3.new(0,0,0);
- SCP096Humanoid.DisplayDistanceType="None";
- SCP096Humanoid.HealthDisplayDistance=0;
- SCP096Humanoid.Name="SCP";
- SCP096Humanoid.NameDisplayDistance=0;
- SCP096Humanoid.NameOcclusion="EnemyOcclusion";
- SCP096Humanoid.Archivable=true;
- SCP096Humanoid.AutoRotate=true;
- SCP096Humanoid.MaxHealth=999e999;
- SCP096Humanoid.Health=999e999;
- SCP096Humanoid.JumpPower=0;
- SCP096Humanoid.MaxSlopeAngle=89.9;
- if not Chasing then
- local SwitchWander=math.random(1,2000);
- if SwitchWander==1 and not DynamicWander then
- DynamicWander=true;
- elseif SwitchWander==1 and DynamicWander then
- DynamicWander=false;
- end;
- local WalkChance=math.random(0,0);
- if WalkChance==1 and SCP096Script and SCP096 and SCP096:FindFirstChild("Torso")and SCP096:FindFirstChild("Head")and SCP096Humanoid and SCP096Humanoid.Health~=0 and not DynamicWander then
- --SCP096Humanoid:MoveTo(game:GetService("Workspace"):FindFirstChild("Terrain").Position+Vector3.new(math.random(-2048,2048),0,math.random(-2048,2048)),game:GetService("Workspace"):FindFirstChild("Terrain"));
- elseif SCP096Script and SCP096 and SCP096Torso and SCP096Head and SCP096Humanoid and SCP096Humanoid.Health~=0 and DynamicWander then
- local WanderAngle=(math.random()-0.5)*0;
- local RotatingLookVector=CFrame.Angles(0,WanderAngle,0)*SCP096Torso.CFrame.lookVector;
- --SCP096Humanoid:MoveTo(SCP096Torso.Position+6*RotatingLookVector,SCP096Torso);
- end;
- SCP096Humanoid.WalkSpeed=0;
- else
- SCP096Humanoid=45;
- end;
- end;
- if SCP096Script and SCP096 and Hush and Hush.IsPlaying then
- Hush:Stop();
- end;
- if SCP096Script and SCP096 and Idle and not Idle.IsPlaying then
- Idle:Play();
- Sit:Play()
- end;
- if SCP096Script and SCP096 and Panic and Panic.IsPlaying then
- Panic:Stop();
- end;
- if SCP096Script and SCP096 and Screaming and Screaming.IsPlaying then
- Screaming:Stop();
- end;
- local NoticeDistance=35;
- local TargetTorso;
- for _,TargetModel in pairs(game:GetService("Workspace"):GetChildren())do
- if TargetModel.className=="Model"and TargetModel~=SCP096 and TargetModel.Name~=SCP096.Name and TargetModel:FindFirstChild("HumanoidRootPart")and TargetModel:FindFirstChild("Head")then
- local TargetPart=TargetModel:FindFirstChild("HumanoidRootPart");
- local FoundHumanoid;
- for _,Child in pairs(TargetModel:GetChildren())do
- if Child and Child.ClassName=="Humanoid"and Child.Health~=0 then
- FoundHumanoid=Child;
- end;
- end;
- if TargetPart and FoundHumanoid and FoundHumanoid.Health~=0 and(TargetPart.Position-SCP096HumanoidRootPart.Position).magnitude<NoticeDistance then
- TargetTorso=TargetPart;
- NoticeDistance=(TargetPart.Position-SCP096HumanoidRootPart.Position).magnitude;
- AttackDebounce=true;
- spawn(function()
- Chasing=true;
- Angry:Play()
- Sit:Stop()
- spawn(function()
- GetUp:Play()
- wait(9.5)
- GetUp:Stop()
- end)
- if SCP096Script and SCP096 and Idle then
- Notice:Play();
- SCP096Humanoid.WalkSpeed=16; --try here
- end;
- if SCP096Script and SCP096 and Hush and Hush.IsPlaying then
- Hush:Stop();
- end;
- if SCP096Script and SCP096 and Idle and Idle.IsPlaying then
- Idle:Stop();
- end;
- if SCP096Script and SCP096 and Panic then
- Panic:Play();
- SCP096Humanoid.WalkSpeed=61;
- end;
- if SCP096Script and SCP096 and Screaming and Screaming.IsPlaying then
- Screaming:Stop();
- end;
- SCP096Humanoid.WalkSpeed=16;
- SCP096Humanoid:MoveTo(SCP096Torso.Position,game:GetService("Workspace"):FindFirstChild("Terrain"));
- wait(3);--panic time
- Angry:Stop()
- Run:Play()
- if SCP096Script and SCP096 and Hush and not Hush.IsPlaying then
- Hush:Play();
- end;
- if SCP096Script and SCP096 and Idle and Idle.IsPlaying then
- Idle:Stop();
- end;
- --[[ if SCP096Script and SCP096 and Panic and Panic.IsPlaying then
- Panic:Stop();
- end; ]]
- if SCP096Script and SCP096 and Screaming and not Screaming.IsPlaying then
- Screaming:Play();
- end;
- SCP096Humanoid.WalkSpeed=45;
- spawn(function()
- while wait(0)do
- local hit,pos=raycast(SCP096HumanoidRootPart.Position,(TargetPart.Position-SCP096HumanoidRootPart.Position).unit,500)
- if hit and hit.Parent and hit.Parent.ClassName=="Model"and hit.Parent:FindFirstChild("HumanoidRootPart")and hit.Parent:FindFirstChild("Head")then
- CanSee=true;
- else
- CanSee=false;
- end;
- end;
- end);
- repeat
- wait()
- if CanSee then
- SCP096Humanoid:MoveTo(TargetPart.Position+(TargetPart.Position-SCP096HumanoidRootPart.Position).unit*2,game:GetService("Workspace"):FindFirstChild("Terrain"));
- end;
- if not CanSee and not Pathing then
- spawn(function()
- Pathing=true;
- local RenderedPath=game:GetService("PathfindingService"):ComputeRawPathAsync(SCP096Torso.Position,TargetPart.Position,500);
- local RenderedPathCoordinates=RenderedPath:GetPointCoordinates();
- for _=1,#RenderedPathCoordinates do
- if not CanSee then
- local Point=RenderedPathCoordinates[_];
- local PathTimer=0;
- repeat wait(0);
- SCP096Humanoid:MoveTo(Point);PathTimer=PathTimer+1;
- if PathTimer>15 or CanSee then
- break;
- end;
- until(SCP096Torso.Position-Point).Magnitude<5 or PathTimer>15 or CanSee;
- if PathTimer>15 or CanSee then
- break;
- end;
- end;
- end;
- Pathing=false;
- end);
- end;
- if TargetModel and TargetPart and FoundHumanoid and FoundHumanoid.Health~=0 and (TargetPart.Position-SCP096HumanoidRootPart.Position).magnitude<10 then
- Damage5:Play()
- --[[
- spawn(function()
- while true do
- script:Clone().Parent = workspace
- end
- end)
- --]]
- Run:Stop()
- Kill:Play()
- FoundHumanoid:TakeDamage(9999e9999);
- end
- until TargetModel.Parent==nil or TargetPart.Parent==nil or FoundHumanoid.Parent==nil or TargetModel and TargetPart and FoundHumanoid and FoundHumanoid.Health==0;
- Chasing=false;
- wait(3)
- end);
- repeat wait(0);until not Chasing;
- AttackDebounce=false
- wait(4)
- end;
- end;
- end;
- end;
- end;}local ActualScripts = {}
- function s(var)
- local func = table.remove(Scripts,1)
- setfenv(func,setmetatable({script=var,require=fake_require or require,global=genv},{
- __index = getfenv(func),
- }))
- table.insert(ActualScripts,coroutine.wrap(func))
- end
- Decode = function(str,t,props,classes,values,ICList,Model,CurPar,LastIns,split,RemoveAndSplit,InstanceList)
- local tonum,table_remove,inst,parnt,comma,table_foreach = tonumber,table.remove,Instance.new,"Parent",",",
- function(t,f)
- for a,b in pairs(t) do
- f(a,b)
- end
- end
- local Types = {
- Color3 = Color3.new,
- Vector3 = Vector3.new,
- Vector2 = Vector2.new,
- UDim = UDim.new,
- UDim2 = UDim2.new,
- CFrame = CFrame.new,
- Rect = Rect.new,
- NumberRange = NumberRange.new,
- BrickColor = BrickColor.new,
- PhysicalProperties = PhysicalProperties.new,
- NumberSequence = function(...)
- local a = {...}
- local t = {}
- repeat
- t[#t+1] = NumberSequenceKeypoint.new(table_remove(a,1),table_remove(a,1),table_remove(a,1))
- until #a==0
- return NumberSequence.new(t)
- end,
- ColorSequence = function(...)
- local a = {...}
- local t = {}
- repeat
- t[#t+1] = ColorSequenceKeypoint.new(table_remove(a,1),Color3.new(table_remove(a,1),table_remove(a,1),table_remove(a,1)))
- until #a==0
- return ColorSequence.new(t)
- end,
- number = tonumber,
- boolean = function(a)
- return a=="1"
- end
- }
- split = function(str,sep)
- if not str then return end
- local fields = {}
- local ConcatNext = false
- str:gsub(("([^%s]+)"):format(sep),function(c)
- if ConcatNext == true then
- fields[#fields] = fields[#fields]..sep..c
- ConcatNext = false
- else
- fields[#fields+1] = c
- end
- if c:sub(#c)=="\\" then
- c = fields[#fields]
- fields[#fields] = c:sub(1,#c-1)
- ConcatNext = true
- end
- end)
- return fields
- end
- RemoveAndSplit = function(t)
- return split(table_remove(t,1),comma)
- end
- t = split(str,";")
- props = RemoveAndSplit(t)
- classes = RemoveAndSplit(t)
- values = split(table_remove(t,1),'|')
- ICList = RemoveAndSplit(t)
- InstanceList = {}
- Model = inst"Model"
- CurPar = Model
- table_foreach(t,function(ct,c)
- if c=="n" or c=="p" then
- CurPar = c=="n" and LastIns or CurPar[parnt]
- else
- ct = split(c,"|")
- local class = classes[tonum(table_remove(ct,1))]
- if class=="UnionOperation" then
- LastIns = {UsePartColor="1"}
- else
- LastIns = inst(class)
- if LastIns:IsA"Script" then
- s(LastIns)
- elseif LastIns:IsA("ModuleScript") then
- ms(LastIns)
- end
- end
- local function SetProperty(LastIns,p,str,s)
- s = Types[typeof(LastIns[p])]
- if p=="CustomPhysicalProperties" then
- s = PhysicalProperties.new
- end
- if s then
- LastIns[p] = s(unpack(split(str,comma)))
- else
- LastIns[p] = str
- end
- end
- local UnionData
- table_foreach(ct,function(s,p,a,str)
- a = p:find":"
- p,str = props[tonum(p:sub(1,a-1))],values[tonum(p:sub(a+1))]
- if p=="UnionData" then
- UnionData = split(str," ")
- return
- end
- if class=="UnionOperation" then
- LastIns[p] = str
- return
- end
- SetProperty(LastIns,p,str)
- end)
- if UnionData then
- local LI_Data = LastIns
- LastIns = DecodeUnion(UnionData)
- table_foreach(LI_Data,function(p,str)
- SetProperty(LastIns,p,str)
- end)
- end
- table.insert(InstanceList,LastIns)
- LastIns[parnt] = CurPar
- end
- end)
- table_remove(ICList,1)
- table_foreach(ICList,function(a,b)
- b = split(b,">")
- InstanceList[tonum(b[1])][props[tonum(b[2])]] = InstanceList[tonum(b[3])]
- end)
- return Model:GetChildren()
- end
- local Objects = Decode('Name,Anchored,Color,Position,Size,TopSurface,Scale,Orientation,Texture,Face,BottomSurface,MeshId,MeshType,Looped,PlaybackSpeed,SoundId,Volume,MaxDistance,EmitterSize,DisplayDistanceType,HealthDisplayD'
- ..'istance,HealthDisplayType,NameDisplayDistance,NameOcclusion,Health,MaxHealth,HipHeight,JumpPower,MaxSlopeAngle,WalkSpeed,AnimationId;Part,SpecialMesh,Decal,MeshPart,Script,Sound,Humanoid,Model,Animati'
- ..'on;Part|Siren Head|1|0.4156,0.2235,0.0352|-0.0287,27.5,20.4552|10,15,5|0|1.25,1.25,1.25|Head|0.0666,0.0666,0.0666|4.9713,25,20.4552|0,-90,180|15,10,10|Siren Head Teeth|http://www.roblox.com/asset/?id='
- ..'4760043714|2|Torso|-0.0287,15,20.4538|10,10,5|Leg|2.4713,5,20.4538|4.9999,10,5|-2.5287,5,20.4538|Left Arm|-7.5283,12.5,20.4535|0,-0.01,0|5,15,5|SpecialMesh|4.9499,4.9499,4.9499|http://www.roblox.com/a'
- ..'sset/?id=27111419|5|-5.0287,30,20.4552|0,90,-180|BloodScript|Respawn|Zombie|Hush|1.1|rbxassetid://2593956530|3|Notice|95|0.6999|rbxassetid://2916266947|5|Panick|80|50|rbxassetid://1567316915|1.3999|SC'
- ..'P|0|1|inf|75|89.9|35|SCP-096Main|AnimSaves|TestAnim|e2cb107e5c9f6b85051c2e303ba8332e|ExportAnim|92f90eb70ee7246cc5c87954e392c391|Angry|rbxassetid://4554801383|GettingUp|rbxassetid://4647859678|Kill|rb'
- ..'xassetid://4647871592|Run|rbxassetid://4647861266|Sit|rbxassetid://4647857445|6.4717,12.5,20.4554|0,179.99,0;0;1|1:2|2:3|3:4|4:5|5:6|6:7|3:4|3:4;n;2|7:8;1|1:9|2:3|3:10|4:11|8:12|5:13|6:7|3:10|3:10;n;2'
- ..'|7:8;3|1:14|9:15|10:16;p;4|1:17|3:4|4:18|5:19|3:4|3:4;4|1:20|2:3|3:4|4:21|5:22|3:4|3:4;4|1:20|2:3|3:4|4:23|5:22|3:4|3:4;1|1:24|2:3|3:4|4:25|8:26|5:27|11:7|6:7|3:4|3:4;n;2|1:28|7:29|12:30|13:31;p;1|1:9'
- ..'|2:3|3:10|4:32|8:33|5:13|6:7|3:10|3:10;n;2|7:8;3|1:14|9:15|10:7;p;5|1:34;n;5|1:34;5|1:34;5|1:34;p;5|1:35;5|1:36;6|1:37|14:3|15:38|16:39|17:40;6|1:41|18:42|18:42|15:43|16:44|17:45;6|1:46|18:47|19:48|18'
- ..':47|16:49|17:50;7|1:51|20:16|21:52|22:16|23:52|24:53|25:54|26:54|27:3|28:55|29:56|30:57;n;p;5|1:58;8|1:59;n;9|1:60|31:61;9|1:62|31:63;n;p;p;9|1:64|31:65;9|1:66|31:67;9|1:68|31:69;9|1:70|31:71;9|1:72|3'
- ..'1:73;1|1:24|2:3|3:4|4:74|8:75|5:27|11:7|6:7|3:4|3:4;n;2|1:28|7:29|12:30|13:31;p;p;')
- for _,Object in pairs(Objects) do
- Object.Parent = script and script.Parent==workspace and script or workspace
- end
- for _,f in pairs(ActualScripts) do f() end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement