Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Converted with ttyyuu12345's model to script plugin v4
- function sandbox(var,func)
- local env = getfenv(func)
- local newenv = setmetatable({},{
- __index = function(self,k)
- if k=="script" then
- return var
- else
- return env[k]
- end
- end,
- })
- setfenv(func,newenv)
- return func
- end
- cors = {}
- mas = Instance.new("Model",game:GetService("Lighting"))
- Model0 = Instance.new("Model")
- Sound1 = Instance.new("Sound")
- Part2 = Instance.new("Part")
- Motor6D3 = Instance.new("Motor6D")
- Motor6D4 = Instance.new("Motor6D")
- Motor6D5 = Instance.new("Motor6D")
- Motor6D6 = Instance.new("Motor6D")
- Motor6D7 = Instance.new("Motor6D")
- Part8 = Instance.new("Part")
- Part9 = Instance.new("Part")
- Weld10 = Instance.new("Weld")
- Part11 = Instance.new("Part")
- Part12 = Instance.new("Part")
- Humanoid13 = Instance.new("Humanoid")
- Script14 = Instance.new("Script")
- Part15 = Instance.new("Part")
- Motor6D16 = Instance.new("Motor6D")
- Script17 = Instance.new("Script")
- Script18 = Instance.new("Script")
- StringValue19 = Instance.new("StringValue")
- Animation20 = Instance.new("Animation")
- StringValue21 = Instance.new("StringValue")
- Animation22 = Instance.new("Animation")
- StringValue23 = Instance.new("StringValue")
- Animation24 = Instance.new("Animation")
- NumberValue25 = Instance.new("NumberValue")
- Animation26 = Instance.new("Animation")
- NumberValue27 = Instance.new("NumberValue")
- StringValue28 = Instance.new("StringValue")
- Animation29 = Instance.new("Animation")
- StringValue30 = Instance.new("StringValue")
- Animation31 = Instance.new("Animation")
- StringValue32 = Instance.new("StringValue")
- Animation33 = Instance.new("Animation")
- StringValue34 = Instance.new("StringValue")
- Animation35 = Instance.new("Animation")
- StringValue36 = Instance.new("StringValue")
- Animation37 = Instance.new("Animation")
- Script38 = Instance.new("Script")
- Animation39 = Instance.new("Animation")
- BodyColors40 = Instance.new("BodyColors")
- Part41 = Instance.new("Part")
- Sound42 = Instance.new("Sound")
- Sound43 = Instance.new("Sound")
- Sound44 = Instance.new("Sound")
- Sound45 = Instance.new("Sound")
- Sound46 = Instance.new("Sound")
- ParticleEmitter47 = Instance.new("ParticleEmitter")
- SpecialMesh48 = Instance.new("SpecialMesh")
- ParticleEmitter49 = Instance.new("ParticleEmitter")
- ParticleEmitter50 = Instance.new("ParticleEmitter")
- ParticleEmitter51 = Instance.new("ParticleEmitter")
- ParticleEmitter52 = Instance.new("ParticleEmitter")
- ParticleEmitter53 = Instance.new("ParticleEmitter")
- ParticleEmitter54 = Instance.new("ParticleEmitter")
- ParticleEmitter55 = Instance.new("ParticleEmitter")
- ParticleEmitter56 = Instance.new("ParticleEmitter")
- ParticleEmitter57 = Instance.new("ParticleEmitter")
- ParticleEmitter58 = Instance.new("ParticleEmitter")
- ParticleEmitter59 = Instance.new("ParticleEmitter")
- ParticleEmitter60 = Instance.new("ParticleEmitter")
- Script61 = Instance.new("Script")
- Part62 = Instance.new("Part")
- Sound63 = Instance.new("Sound")
- Sound64 = Instance.new("Sound")
- Sound65 = Instance.new("Sound")
- Sound66 = Instance.new("Sound")
- Sound67 = Instance.new("Sound")
- Sound68 = Instance.new("Sound")
- Sound69 = Instance.new("Sound")
- Sound70 = Instance.new("Sound")
- Sound71 = Instance.new("Sound")
- Decal72 = Instance.new("Decal")
- SpecialMesh73 = Instance.new("SpecialMesh")
- Model0.Name = "The Holy of Screamers"
- Model0.Parent = mas
- Model0.PrimaryPart = Part62
- Sound1.Name = "[SC] urgent"
- Sound1.Parent = Model0
- Sound1.SoundId = "rbxassetid://305024085"
- Sound1.Volume = 1.5
- Sound1.Looped = true
- Part2.Name = "Torso"
- Part2.Parent = Model0
- Part2.Material = Enum.Material.SmoothPlastic
- Part2.BrickColor = BrickColor.new("Institutional white")
- Part2.Rotation = Vector3.new(0, 39.1899986, 0)
- Part2.RotVelocity = Vector3.new(0, -0.775562763, 0)
- Part2.Velocity = Vector3.new(-6.80717325, 0, -9.88242722)
- Part2.Locked = true
- Part2.Elasticity = 0
- Part2.FormFactor = Enum.FormFactor.Symmetric
- Part2.Friction = 2
- Part2.Size = Vector3.new(2, 2, 1)
- Part2.CFrame = CFrame.new(-0.274619997, 5.00005007, 115.558167, 0.775071383, -3.86655374e-05, 0.631873488, -4.33894502e-06, 1, 6.65141488e-05, -0.631873488, -5.42948837e-05, 0.775071383)
- Part2.BackSurface = Enum.SurfaceType.SmoothNoOutlines
- Part2.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
- Part2.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
- Part2.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
- Part2.RightSurface = Enum.SurfaceType.SmoothNoOutlines
- Part2.TopSurface = Enum.SurfaceType.SmoothNoOutlines
- Part2.Color = Color3.new(0.972549, 0.972549, 0.972549)
- Part2.Position = Vector3.new(-0.274619997, 5.00005007, 115.558167)
- Part2.Orientation = Vector3.new(0, 39.1899986, 0)
- Part2.Color = Color3.new(0.972549, 0.972549, 0.972549)
- Motor6D3.Name = "Right Shoulder"
- Motor6D3.Parent = Part2
- Motor6D3.C0 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
- Motor6D3.C1 = CFrame.new(-0.5, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
- Motor6D3.Part0 = Part2
- Motor6D3.Part1 = Part9
- Motor6D3.MaxVelocity = 0.10000000149012
- Motor6D4.Name = "Left Shoulder"
- Motor6D4.Parent = Part2
- Motor6D4.C0 = CFrame.new(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- Motor6D4.C1 = CFrame.new(0.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- Motor6D4.Part0 = Part2
- Motor6D4.Part1 = Part8
- Motor6D4.MaxVelocity = 0.10000000149012
- Motor6D5.Name = "Right Hip"
- Motor6D5.Parent = Part2
- Motor6D5.C0 = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
- Motor6D5.C1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
- Motor6D5.Part0 = Part2
- Motor6D5.Part1 = Part12
- Motor6D5.MaxVelocity = 0.10000000149012
- Motor6D6.Name = "Left Hip"
- Motor6D6.Parent = Part2
- Motor6D6.C0 = CFrame.new(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- Motor6D6.C1 = CFrame.new(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- Motor6D6.Part0 = Part2
- Motor6D6.Part1 = Part11
- Motor6D6.MaxVelocity = 0.10000000149012
- Motor6D7.Name = "Neck"
- Motor6D7.Parent = Part2
- Motor6D7.C0 = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
- Motor6D7.C1 = CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
- Motor6D7.Part0 = Part2
- Motor6D7.Part1 = Part62
- Motor6D7.MaxVelocity = 0.10000000149012
- Part8.Name = "Left Arm"
- Part8.Parent = Model0
- Part8.Material = Enum.Material.SmoothPlastic
- Part8.BrickColor = BrickColor.new("Institutional white")
- Part8.Rotation = Vector3.new(0, 39.1899986, 0)
- Part8.RotVelocity = Vector3.new(0, -0.775562763, 0)
- Part8.Velocity = Vector3.new(-7.54225731, 0, -10.7841015)
- Part8.CanCollide = false
- Part8.Locked = true
- Part8.Elasticity = 0
- Part8.FormFactor = Enum.FormFactor.Symmetric
- Part8.Friction = 2
- Part8.Size = Vector3.new(1, 2, 1)
- Part8.CFrame = CFrame.new(-1.43722701, 5.00005674, 116.505974, 0.775071383, -3.86655374e-05, 0.631873488, -4.33894502e-06, 1, 6.65141488e-05, -0.631873488, -5.42948837e-05, 0.775071383)
- Part8.BackSurface = Enum.SurfaceType.SmoothNoOutlines
- Part8.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
- Part8.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
- Part8.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
- Part8.RightSurface = Enum.SurfaceType.SmoothNoOutlines
- Part8.TopSurface = Enum.SurfaceType.SmoothNoOutlines
- Part8.Color = Color3.new(0.972549, 0.972549, 0.972549)
- Part8.Position = Vector3.new(-1.43722701, 5.00005674, 116.505974)
- Part8.Orientation = Vector3.new(0, 39.1899986, 0)
- Part8.Color = Color3.new(0.972549, 0.972549, 0.972549)
- Part9.Name = "Right Arm"
- Part9.Parent = Model0
- Part9.Material = Enum.Material.SmoothPlastic
- Part9.BrickColor = BrickColor.new("Institutional white")
- Part9.Rotation = Vector3.new(0, 39.1899986, 0)
- Part9.RotVelocity = Vector3.new(0, -0.775562763, 0)
- Part9.Velocity = Vector3.new(-6.0720892, 0, -8.98075294)
- Part9.CanCollide = false
- Part9.Locked = true
- Part9.Elasticity = 0
- Part9.FormFactor = Enum.FormFactor.Symmetric
- Part9.Friction = 2
- Part9.Size = Vector3.new(1, 2, 1)
- Part9.CFrame = CFrame.new(0.887987077, 5.00004339, 114.610359, 0.775071383, -3.86655374e-05, 0.631873488, -4.33894502e-06, 1, 6.65141488e-05, -0.631873488, -5.42948837e-05, 0.775071383)
- Part9.BackSurface = Enum.SurfaceType.SmoothNoOutlines
- Part9.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
- Part9.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
- Part9.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
- Part9.RightSurface = Enum.SurfaceType.SmoothNoOutlines
- Part9.TopSurface = Enum.SurfaceType.SmoothNoOutlines
- Part9.Color = Color3.new(0.972549, 0.972549, 0.972549)
- Part9.Position = Vector3.new(0.887987077, 5.00004339, 114.610359)
- Part9.Orientation = Vector3.new(0, 39.1899986, 0)
- Part9.Color = Color3.new(0.972549, 0.972549, 0.972549)
- Weld10.Name = "RightGripWeld"
- Weld10.Parent = Part9
- Weld10.C0 = CFrame.new(-1.29999995, 1.16840947, 0.750634551, 1, 0, 0, 0, 0.968409479, 0.249365434, 0, -0.249365434, 0.968409479)
- Weld10.C1 = CFrame.new(-1.5, -0, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- Weld10.Part0 = Part41
- Weld10.Part1 = Part9
- Part11.Name = "Left Leg"
- Part11.Parent = Model0
- Part11.Material = Enum.Material.SmoothPlastic
- Part11.BrickColor = BrickColor.new("Institutional white")
- Part11.Rotation = Vector3.new(0, 39.1899986, 0)
- Part11.RotVelocity = Vector3.new(0, -0.775562763, 0)
- Part11.Velocity = Vector3.new(-7.05228806, 0, -10.1829252)
- Part11.CanCollide = false
- Part11.Locked = true
- Part11.Elasticity = 0
- Part11.FormFactor = Enum.FormFactor.Symmetric
- Part11.Friction = 2
- Part11.Size = Vector3.new(1, 2, 1)
- Part11.CFrame = CFrame.new(-0.662078381, 3.00005221, 115.874214, 0.775071383, -3.86655374e-05, 0.631873488, -4.33894502e-06, 1, 6.65141488e-05, -0.631873488, -5.42948837e-05, 0.775071383)
- Part11.BackSurface = Enum.SurfaceType.SmoothNoOutlines
- Part11.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
- Part11.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
- Part11.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
- Part11.RightSurface = Enum.SurfaceType.SmoothNoOutlines
- Part11.TopSurface = Enum.SurfaceType.SmoothNoOutlines
- Part11.Color = Color3.new(0.972549, 0.972549, 0.972549)
- Part11.Position = Vector3.new(-0.662078381, 3.00005221, 115.874214)
- Part11.Orientation = Vector3.new(0, 39.1899986, 0)
- Part11.Color = Color3.new(0.972549, 0.972549, 0.972549)
- Part12.Name = "Right Leg"
- Part12.Parent = Model0
- Part12.Material = Enum.Material.SmoothPlastic
- Part12.BrickColor = BrickColor.new("Institutional white")
- Part12.Rotation = Vector3.new(0, 39.1899986, 0)
- Part12.RotVelocity = Vector3.new(0, -0.775562763, 0)
- Part12.Velocity = Vector3.new(-6.56223011, 0, -9.58180904)
- Part12.CanCollide = false
- Part12.Locked = true
- Part12.Elasticity = 0
- Part12.FormFactor = Enum.FormFactor.Symmetric
- Part12.Friction = 2
- Part12.Size = Vector3.new(1, 2, 1)
- Part12.CFrame = CFrame.new(0.112993032, 3.00004792, 115.24234, 0.775071383, -3.86655374e-05, 0.631873488, -4.33894502e-06, 1, 6.65141488e-05, -0.631873488, -5.42948837e-05, 0.775071383)
- Part12.BackSurface = Enum.SurfaceType.SmoothNoOutlines
- Part12.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
- Part12.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
- Part12.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
- Part12.RightSurface = Enum.SurfaceType.SmoothNoOutlines
- Part12.TopSurface = Enum.SurfaceType.SmoothNoOutlines
- Part12.Color = Color3.new(0.972549, 0.972549, 0.972549)
- Part12.Position = Vector3.new(0.112993032, 3.00004792, 115.24234)
- Part12.Orientation = Vector3.new(0, 39.1899986, 0)
- Part12.Color = Color3.new(0.972549, 0.972549, 0.972549)
- Humanoid13.Name = "PsychopathicFather"
- Humanoid13.Parent = Model0
- Humanoid13.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
- Humanoid13.HealthDisplayDistance = 0
- Humanoid13.NameDisplayDistance = 0
- Humanoid13.NameOcclusion = Enum.NameOcclusion.EnemyOcclusion
- Humanoid13.RightLeg = Part12
- Humanoid13.LeftLeg = Part11
- Humanoid13.Torso = Part15
- Humanoid13.WalkSpeed = 12
- Script14.Name = "Put this in Boss's Humanoid"
- Script14.Parent = Humanoid13
- table.insert(cors,sandbox(Script14,function()
- while true do
- for _, Players in pairs(game.Players:GetChildren()) do
- local BossBattleHealthGui = Players.PlayerGui:FindFirstChild("BossBattleHealthGui")
- if BossBattleHealthGui then
- BossBattleHealthGui.Frame.Boss.Value = script.Parent.Parent
- end
- end
- wait()
- end
- end))
- Part15.Name = "HumanoidRootPart"
- Part15.Parent = Model0
- Part15.Material = Enum.Material.SmoothPlastic
- Part15.BrickColor = BrickColor.new("Bright blue")
- Part15.Transparency = 1
- Part15.Rotation = Vector3.new(0, 39.1899986, 0)
- Part15.RotVelocity = Vector3.new(0, -0.775562763, 0)
- Part15.Velocity = Vector3.new(-6.80717325, 0, -9.88242722)
- Part15.CanCollide = false
- Part15.Locked = true
- Part15.Elasticity = 0
- Part15.FormFactor = Enum.FormFactor.Symmetric
- Part15.Friction = 0
- Part15.Size = Vector3.new(2, 2, 1)
- Part15.CFrame = CFrame.new(-0.274619997, 5.00005007, 115.558167, 0.775071383, -3.86655374e-05, 0.631873488, -4.33894502e-06, 1, 6.65141488e-05, -0.631873488, -5.42948837e-05, 0.775071383)
- Part15.BackSurface = Enum.SurfaceType.SmoothNoOutlines
- Part15.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
- Part15.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
- Part15.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
- Part15.RightSurface = Enum.SurfaceType.SmoothNoOutlines
- Part15.TopSurface = Enum.SurfaceType.SmoothNoOutlines
- Part15.Color = Color3.new(0.0509804, 0.411765, 0.67451)
- Part15.Position = Vector3.new(-0.274619997, 5.00005007, 115.558167)
- Part15.Orientation = Vector3.new(0, 39.1899986, 0)
- Part15.Color = Color3.new(0.0509804, 0.411765, 0.67451)
- Motor6D16.Name = "RootJoint"
- Motor6D16.Parent = Part15
- Motor6D16.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
- Motor6D16.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
- Motor6D16.Part0 = Part15
- Motor6D16.Part1 = Part2
- Motor6D16.MaxVelocity = 0.10000000149012
- Script17.Name = "Health"
- Script17.Parent = Model0
- table.insert(cors,sandbox(Script17,function()
- --[[ By: Brutez. ]]--
- local AlfredDrevisHealthScript=script;
- repeat Wait(0);until script~=nil and script:IsA("Script")and script.Parent~=nil and script.Parent:IsA("Model")and script.Parent:FindFirstChild("Head")and script.Parent:FindFirstChild("Torso");
- local AlfredDrevis=AlfredDrevisHealthScript.Parent;
- while Wait(0)do
- local AlfredDrevisHumanoid;
- for _,Child in pairs(AlfredDrevis:GetChildren())do
- if Child~=nil and Child:IsA("Humanoid")and Child.Health~=0 then
- AlfredDrevisHumanoid=Child;
- end;
- end;
- if AlfredDrevisHealthScript~=nil and AlfredDrevis~=nil and AlfredDrevisHumanoid~=nil and AlfredDrevisHumanoid.Health~=0 and AlfredDrevisHumanoid.Health<AlfredDrevisHumanoid.MaxHealth then
- local AlfredDrevisHumanoidNewHealth=0.0008*AlfredDrevisHumanoid.MaxHealth;
- AlfredDrevisHumanoid.Health=AlfredDrevisHumanoid.Health+AlfredDrevisHumanoidNewHealth;
- AlfredDrevisHumanoid.Health=math.min(AlfredDrevisHumanoid.Health,AlfredDrevisHumanoid.MaxHealth);
- end;
- end;
- --[[ By: Brutez. ]]--
- end))
- Script18.Name = "AnimateSauce"
- Script18.Parent = Model0
- table.insert(cors,sandbox(Script18,function()
- function waitForChild(parent, childName)
- local child = parent:findFirstChild(childName)
- if child then return child end
- while true do
- child = parent.ChildAdded:wait()
- if child.Name==childName then return child end
- end
- end
- local Figure = script.Parent
- local Torso = waitForChild(Figure, "Torso")
- local RightShoulder = waitForChild(Torso, "Right Shoulder")
- local LeftShoulder = waitForChild(Torso, "Left Shoulder")
- local RightHip = waitForChild(Torso, "Right Hip")
- local LeftHip = waitForChild(Torso, "Left Hip")
- local Neck = waitForChild(Torso, "Neck")
- local Humanoid;
- for _,Child in pairs(Figure:GetChildren())do
- if Child and Child.ClassName=="Humanoid"then
- Humanoid=Child;
- end;
- end;
- local pose = "Standing"
- local currentAnim = ""
- local currentAnimInstance = nil
- local currentAnimTrack = nil
- local currentAnimKeyframeHandler = nil
- local currentAnimSpeed = 1.0
- local animTable = {}
- local animNames = {
- idle = {
- { id = "http://www.roblox.com/asset/?id=180435571", weight = 9 },
- { id = "http://www.roblox.com/asset/?id=180435792", weight = 1 }
- },
- walk = {
- { id = "http://www.roblox.com/asset/?id=1310534683", weight = 10 }
- },
- run = {
- { id = "http://www.roblox.com/asset/?id=1310541871", weight = 20 }
- },
- jump = {
- { id = "http://www.roblox.com/asset/?id=125750702", weight = 10 }
- },
- fall = {
- { id = "http://www.roblox.com/asset/?id=180436148", weight = 10 }
- },
- climb = {
- { id = "http://www.roblox.com/asset/?id=180436334", weight = 10 }
- },
- sit = {
- { id = "http://www.roblox.com/asset/?id=178130996", weight = 10 }
- },
- toolnone = {
- { id = "http://www.roblox.com/asset/?id=182393478", weight = 10 }
- },
- toolslash = {
- { id = "http://www.roblox.com/asset/?id=129967390", weight = 10 }
- --{ id = "slash.xml", weight = 10 }
- },
- toollunge = {
- { id = "http://www.roblox.com/asset/?id=129967478", weight = 10 }
- },
- wave = {
- { id = "http://www.roblox.com/asset/?id=128777973", weight = 10 }
- },
- point = {
- { id = "http://www.roblox.com/asset/?id=128853357", weight = 10 }
- },
- dance1 = {
- { id = "http://www.roblox.com/asset/?id=182435998", weight = 10 },
- { id = "http://www.roblox.com/asset/?id=182491037", weight = 10 },
- { id = "http://www.roblox.com/asset/?id=182491065", weight = 10 }
- },
- dance2 = {
- { id = "http://www.roblox.com/asset/?id=182436842", weight = 10 },
- { id = "http://www.roblox.com/asset/?id=182491248", weight = 10 },
- { id = "http://www.roblox.com/asset/?id=182491277", weight = 10 }
- },
- dance3 = {
- { id = "http://www.roblox.com/asset/?id=182436935", weight = 10 },
- { id = "http://www.roblox.com/asset/?id=182491368", weight = 10 },
- { id = "http://www.roblox.com/asset/?id=182491423", weight = 10 }
- },
- laugh = {
- { id = "http://www.roblox.com/asset/?id=129423131", weight = 10 }
- },
- cheer = {
- { id = "http://www.roblox.com/asset/?id=129423030", weight = 10 }
- },
- }
- local dances = {"dance1", "dance2", "dance3"}
- -- Existance in this list signifies that it is an emote, the value indicates if it is a looping emote
- local emoteNames = { wave = false, point = false, dance1 = true, dance2 = true, dance3 = true, laugh = false, cheer = false}
- function configureAnimationSet(name, fileList)
- if (animTable[name] ~= nil) then
- for _, connection in pairs(animTable[name].connections) do
- connection:disconnect()
- end
- end
- animTable[name] = {}
- animTable[name].count = 0
- animTable[name].totalWeight = 0
- animTable[name].connections = {}
- -- check for config values
- local config = script:FindFirstChild(name)
- if (config ~= nil) then
- --print("Loading anims " .. name)
- table.insert(animTable[name].connections, config.ChildAdded:connect(function(child) configureAnimationSet(name, fileList) end))
- table.insert(animTable[name].connections, config.ChildRemoved:connect(function(child) configureAnimationSet(name, fileList) end))
- local idx = 1
- for _, childPart in pairs(config:GetChildren()) do
- if (childPart:IsA("Animation")) then
- table.insert(animTable[name].connections, childPart.Changed:connect(function(property) configureAnimationSet(name, fileList) end))
- animTable[name][idx] = {}
- animTable[name][idx].anim = childPart
- local weightObject = childPart:FindFirstChild("Weight")
- if (weightObject == nil) then
- animTable[name][idx].weight = 1
- else
- animTable[name][idx].weight = weightObject.Value
- end
- animTable[name].count = animTable[name].count + 1
- animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight
- --print(name .. " [" .. idx .. "] " .. animTable[name][idx].anim.AnimationId .. " (" .. animTable[name][idx].weight .. ")")
- idx = idx + 1
- end
- end
- end
- -- fallback to defaults
- if (animTable[name].count <= 0) then
- for idx, anim in pairs(fileList) do
- animTable[name][idx] = {}
- animTable[name][idx].anim = Instance.new("Animation")
- animTable[name][idx].anim.Name = name
- animTable[name][idx].anim.AnimationId = anim.id
- animTable[name][idx].weight = anim.weight
- animTable[name].count = animTable[name].count + 1
- animTable[name].totalWeight = animTable[name].totalWeight + anim.weight
- --print(name .. " [" .. idx .. "] " .. anim.id .. " (" .. anim.weight .. ")")
- end
- end
- end
- -- Setup animation objects
- function scriptChildModified(child)
- local fileList = animNames[child.Name]
- if (fileList ~= nil) then
- configureAnimationSet(child.Name, fileList)
- end
- end
- script.ChildAdded:connect(scriptChildModified)
- script.ChildRemoved:connect(scriptChildModified)
- for name, fileList in pairs(animNames) do
- configureAnimationSet(name, fileList)
- end
- -- ANIMATION
- -- declarations
- local toolAnim = "None"
- local toolAnimTime = 0
- local jumpAnimTime = 0
- local jumpAnimDuration = 0.3
- local toolTransitionTime = 0.1
- local fallTransitionTime = 0.3
- local jumpMaxLimbVelocity = 0.75
- -- functions
- function stopAllAnimations()
- local oldAnim = currentAnim
- -- return to idle if finishing an emote
- if (emoteNames[oldAnim] ~= nil and emoteNames[oldAnim] == false) then
- oldAnim = "idle"
- end
- currentAnim = ""
- currentAnimInstance = nil
- if (currentAnimKeyframeHandler ~= nil) then
- currentAnimKeyframeHandler:disconnect()
- end
- if (currentAnimTrack ~= nil) then
- currentAnimTrack:Stop()
- currentAnimTrack:Destroy()
- currentAnimTrack = nil
- end
- return oldAnim
- end
- function setAnimationSpeed(speed)
- if speed ~= currentAnimSpeed then
- currentAnimSpeed = speed
- currentAnimTrack:AdjustSpeed(currentAnimSpeed)
- end
- end
- function keyFrameReachedFunc(frameName)
- if (frameName == "End") then
- local repeatAnim = currentAnim
- -- return to idle if finishing an emote
- if (emoteNames[repeatAnim] ~= nil and emoteNames[repeatAnim] == false) then
- repeatAnim = "idle"
- end
- local animSpeed = currentAnimSpeed
- playAnimation(repeatAnim, 0.0, Humanoid)
- setAnimationSpeed(animSpeed)
- end
- end
- -- Preload animations
- function playAnimation(animName, transitionTime, humanoid)
- local roll = math.random(1, animTable[animName].totalWeight)
- local origRoll = roll
- local idx = 1
- while (roll > animTable[animName][idx].weight) do
- roll = roll - animTable[animName][idx].weight
- idx = idx + 1
- end
- --print(animName .. " " .. idx .. " [" .. origRoll .. "]")
- local anim = animTable[animName][idx].anim
- -- switch animation
- if (anim ~= currentAnimInstance) then
- if (currentAnimTrack ~= nil) then
- currentAnimTrack:Stop(transitionTime)
- currentAnimTrack:Destroy()
- end
- currentAnimSpeed = 1.0
- -- load it to the humanoid; get AnimationTrack
- currentAnimTrack = humanoid:LoadAnimation(anim)
- -- play the animation
- currentAnimTrack:Play(transitionTime)
- currentAnim = animName
- currentAnimInstance = anim
- -- set up keyframe name triggers
- if (currentAnimKeyframeHandler ~= nil) then
- currentAnimKeyframeHandler:disconnect()
- end
- currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:connect(keyFrameReachedFunc)
- end
- end
- -------------------------------------------------------------------------------------------
- -------------------------------------------------------------------------------------------
- local toolAnimName = ""
- local toolAnimTrack = nil
- local toolAnimInstance = nil
- local currentToolAnimKeyframeHandler = nil
- function toolKeyFrameReachedFunc(frameName)
- if (frameName == "End") then
- --print("Keyframe : ".. frameName)
- playToolAnimation(toolAnimName, 0.0, Humanoid)
- end
- end
- function playToolAnimation(animName, transitionTime, humanoid)
- local roll = math.random(1, animTable[animName].totalWeight)
- local origRoll = roll
- local idx = 1
- while (roll > animTable[animName][idx].weight) do
- roll = roll - animTable[animName][idx].weight
- idx = idx + 1
- end
- --print(animName .. " * " .. idx .. " [" .. origRoll .. "]")
- local anim = animTable[animName][idx].anim
- if (toolAnimInstance ~= anim) then
- if (toolAnimTrack ~= nil) then
- toolAnimTrack:Stop()
- toolAnimTrack:Destroy()
- transitionTime = 0
- end
- -- load it to the humanoid; get AnimationTrack
- toolAnimTrack = humanoid:LoadAnimation(anim)
- -- play the animation
- toolAnimTrack:Play(transitionTime)
- toolAnimName = animName
- toolAnimInstance = anim
- currentToolAnimKeyframeHandler = toolAnimTrack.KeyframeReached:connect(toolKeyFrameReachedFunc)
- end
- end
- function stopToolAnimations()
- local oldAnim = toolAnimName
- if (currentToolAnimKeyframeHandler ~= nil) then
- currentToolAnimKeyframeHandler:disconnect()
- end
- toolAnimName = ""
- toolAnimInstance = nil
- if (toolAnimTrack ~= nil) then
- toolAnimTrack:Stop()
- toolAnimTrack:Destroy()
- toolAnimTrack = nil
- end
- return oldAnim
- end
- -------------------------------------------------------------------------------------------
- -------------------------------------------------------------------------------------------
- function onRunning(speed)
- if speed>0.01 then
- if Figure and Humanoid and Humanoid.WalkSpeed<17 then
- playAnimation("walk", 0.1, Humanoid);
- elseif Figure and Humanoid and Humanoid.WalkSpeed>17 then
- playAnimation("run", 0.1, Humanoid);
- end;
- if currentAnimInstance and currentAnimInstance.AnimationId == "http://www.roblox.com/asset/?id=180426354" then
- setAnimationSpeed(speed / 14.5)
- end
- pose = "Running"
- else
- playAnimation("idle", 0.1, Humanoid)
- pose = "Standing"
- end
- end
- function onDied()
- pose = "Dead"
- end
- function onJumping()
- playAnimation("jump", 0.1, Humanoid)
- jumpAnimTime = jumpAnimDuration
- pose = "Jumping"
- end
- function onClimbing(speed)
- playAnimation("climb", 0.1, Humanoid)
- setAnimationSpeed(speed / 12.0)
- pose = "Climbing"
- end
- function onGettingUp()
- pose = "GettingUp"
- end
- function onFreeFall()
- if (jumpAnimTime <= 0) then
- playAnimation("fall", fallTransitionTime, Humanoid)
- end
- pose = "FreeFall"
- end
- function onFallingDown()
- pose = "FallingDown"
- end
- function onSeated()
- pose = "Seated"
- end
- function onPlatformStanding()
- pose = "PlatformStanding"
- end
- function onSwimming(speed)
- if speed>0 then
- pose = "Running"
- else
- pose = "Standing"
- end
- end
- function getTool()
- for _, kid in ipairs(Figure:GetChildren()) do
- if kid.className == "Tool" then return kid end
- end
- return nil
- end
- function getToolAnim(tool)
- for _, c in ipairs(tool:GetChildren()) do
- if c.Name == "toolanim" and c.className == "StringValue" then
- return c
- end
- end
- return nil
- end
- function animateTool()
- if (toolAnim == "None") then
- playToolAnimation("toolnone", toolTransitionTime, Humanoid)
- return
- end
- if (toolAnim == "Slash") then
- playToolAnimation("toolslash", 0, Humanoid)
- return
- end
- if (toolAnim == "Lunge") then
- playToolAnimation("toollunge", 0, Humanoid)
- return
- end
- end
- function moveSit()
- RightShoulder.MaxVelocity = 0.15
- LeftShoulder.MaxVelocity = 0.15
- RightShoulder:SetDesiredAngle(3.14 /2)
- LeftShoulder:SetDesiredAngle(-3.14 /2)
- RightHip:SetDesiredAngle(3.14 /2)
- LeftHip:SetDesiredAngle(-3.14 /2)
- end
- local lastTick = 0
- function move(time)
- local amplitude = 1
- local frequency = 1
- local deltaTime = time - lastTick
- lastTick = time
- local climbFudge = 0
- local setAngles = false
- if (jumpAnimTime > 0) then
- jumpAnimTime = jumpAnimTime - deltaTime
- end
- if (pose == "FreeFall" and jumpAnimTime <= 0) then
- playAnimation("fall", fallTransitionTime, Humanoid)
- elseif (pose == "Seated") then
- playAnimation("sit", 0.5, Humanoid)
- return
- elseif (pose == "Running") then
- if Figure and Humanoid and Humanoid.WalkSpeed<17 then
- playAnimation("walk", 0.1, Humanoid);
- elseif Figure and Humanoid and Humanoid.WalkSpeed>17 then
- playAnimation("run", 0.1, Humanoid);
- end;
- elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then
- stopAllAnimations()
- amplitude = 0.1
- frequency = 1
- setAngles = true
- end
- if (setAngles) then
- local desiredAngle = amplitude * math.sin(time * frequency)
- RightShoulder:SetDesiredAngle(desiredAngle + climbFudge)
- LeftShoulder:SetDesiredAngle(desiredAngle - climbFudge)
- RightHip:SetDesiredAngle(-desiredAngle)
- LeftHip:SetDesiredAngle(-desiredAngle)
- end
- -- Tool Animation handling
- local tool = getTool()
- if tool and tool:FindFirstChild("Handle") then
- local animStringValueObject = getToolAnim(tool)
- if animStringValueObject then
- toolAnim = animStringValueObject.Value
- -- message recieved, delete StringValue
- animStringValueObject.Parent = nil
- toolAnimTime = time + .3
- end
- if time > toolAnimTime then
- toolAnimTime = 0
- toolAnim = "None"
- end
- animateTool()
- else
- stopToolAnimations()
- toolAnim = "None"
- toolAnimInstance = nil
- toolAnimTime = 0
- end
- end
- -- connect events
- Humanoid.Died:connect(onDied)
- Humanoid.Running:connect(onRunning)
- Humanoid.Jumping:connect(onJumping)
- Humanoid.Climbing:connect(onClimbing)
- Humanoid.GettingUp:connect(onGettingUp)
- Humanoid.FreeFalling:connect(onFreeFall)
- Humanoid.FallingDown:connect(onFallingDown)
- Humanoid.Seated:connect(onSeated)
- Humanoid.PlatformStanding:connect(onPlatformStanding)
- Humanoid.Swimming:connect(onSwimming)
- local runService = game:GetService("RunService");
- playAnimation("idle", 0.1, Humanoid)
- pose = "Standing"
- while Wait(0)do
- local _,time=wait(0)
- move(time)
- end
- end))
- StringValue19.Name = "climb"
- StringValue19.Parent = Script18
- Animation20.Name = "ClimbAnim"
- Animation20.Parent = StringValue19
- Animation20.AnimationId = "http://www.roblox.com/asset/?id=180436334"
- StringValue21.Name = "fall"
- StringValue21.Parent = Script18
- Animation22.Name = "FallAnim"
- Animation22.Parent = StringValue21
- Animation22.AnimationId = "http://www.roblox.com/asset/?id=180436148"
- StringValue23.Name = "idle"
- StringValue23.Parent = Script18
- Animation24.Name = "Animation1"
- Animation24.Parent = StringValue23
- Animation24.AnimationId = "http://www.roblox.com/asset/?id=180435571"
- NumberValue25.Name = "Weight"
- NumberValue25.Parent = Animation24
- NumberValue25.Value = 9
- Animation26.Name = "Animation2"
- Animation26.Parent = StringValue23
- Animation26.AnimationId = "http://www.roblox.com/asset/?id=180435792"
- NumberValue27.Name = "Weight"
- NumberValue27.Parent = Animation26
- NumberValue27.Value = 1
- StringValue28.Name = "jump"
- StringValue28.Parent = Script18
- Animation29.Name = "JumpAnim"
- Animation29.Parent = StringValue28
- Animation29.AnimationId = "http://www.roblox.com/asset/?id=125750702"
- StringValue30.Name = "run"
- StringValue30.Parent = Script18
- Animation31.Name = "RunAnim"
- Animation31.Parent = StringValue30
- Animation31.AnimationId = "rbxassetid://1310541871"
- StringValue32.Name = "sit"
- StringValue32.Parent = Script18
- Animation33.Name = "SitAnim"
- Animation33.Parent = StringValue32
- Animation33.AnimationId = "http://www.roblox.com/asset/?id=178130996"
- StringValue34.Name = "toolnone"
- StringValue34.Parent = Script18
- Animation35.Name = "ToolNoneAnim"
- Animation35.Parent = StringValue34
- Animation35.AnimationId = "http://www.roblox.com/asset/?id=182393478"
- StringValue36.Name = "walk"
- StringValue36.Parent = Script18
- Animation37.Name = "WalkAnim"
- Animation37.Parent = StringValue36
- Animation37.AnimationId = "rbxassetid://1310534683"
- Script38.Name = "AlfredDrevisMain"
- Script38.Parent = Model0
- table.insert(cors,sandbox(Script38,function()
- --[[ By: Brutez. ]]--
- local AlfredDrevisScript=script;
- repeat Wait(0)until AlfredDrevisScript and AlfredDrevisScript.Parent and AlfredDrevisScript.Parent:IsA("Model")and AlfredDrevisScript.Parent:FindFirstChild("Head")and AlfredDrevisScript.Parent:FindFirstChild("Torso");
- local AlfredDrevis=AlfredDrevisScript.Parent;
- function raycast(Spos,vec,currentdist)
- local hit2,pos2=game.Workspace:FindPartOnRay(Ray.new(Spos+(vec*.05),vec*currentdist),AlfredDrevis);
- 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;
- local AlfredDrevisHumanoid;
- for _,Child in pairs(AlfredDrevis:GetChildren())do
- if Child~=nil and Child:IsA("Humanoid")and Child.Health~=0 then
- AlfredDrevisHumanoid=Child;
- end;
- end;
- local AttackDebounce=false;
- local AlfredDrevisChainsaw=AlfredDrevis:FindFirstChild("Chainsaw");
- local AlfredDrevisHead=AlfredDrevis:FindFirstChild("Head");
- local AlfredDrevisHumanoidRootPart=AlfredDrevis:FindFirstChild("HumanoidRootPart");
- local WalkDebounce=false;
- local Notice=false;
- local DynamicWander=true;
- local CallOutChanceDebounce=false;
- local FatherLaughDebounce=false;
- local MusicDebounce=false;
- local NoticeDebounce=false;
- local OriginalC0;
- if AlfredDrevisScript~=nil and AlfredDrevis~=nil and AlfredDrevis:FindFirstChild("Torso")and AlfredDrevis:FindFirstChild("Torso"):FindFirstChild("Neck")then
- AlfredDrevis:FindFirstChild("Torso"):FindFirstChild("Neck").C0=CFrame.new(0,1,0,-1,0,0,0,0,1,0,1,-0);
- OriginalC0=AlfredDrevis:FindFirstChild("Torso"):FindFirstChild("Neck").C0;
- end;
- local SwingAnimation=AlfredDrevisHumanoid:LoadAnimation(AlfredDrevisScript:FindFirstChild("Swing"));
- function FindNearestBae()
- local NoticeDistance=200;
- local TargetMain;
- for _,TargetModel in pairs(Game:GetService("Workspace"):GetChildren())do
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health~=0 and TargetModel:IsA("Model")and TargetModel~=AlfredDrevis and TargetModel.Name~=AlfredDrevis.Name and TargetModel:FindFirstChild("Torso")and TargetModel:FindFirstChild("Head")then
- local TargetPart=TargetModel:FindFirstChild("Torso");
- local FoundHumanoid;
- for _,Child in pairs(TargetModel:GetChildren())do
- if Child~=nil and Child:IsA("Humanoid")and Child.Health~=0 then
- FoundHumanoid=Child;
- end;
- end;
- if TargetModel~=nil and TargetPart~=nil and FoundHumanoid~=nil and FoundHumanoid.Health~=0 and(TargetPart.Position-AlfredDrevisHumanoidRootPart.Position).magnitude<NoticeDistance then
- TargetMain=TargetPart;
- NoticeDistance=(TargetPart.Position-AlfredDrevisHumanoidRootPart.Position).magnitude;
- end;
- end;
- end;
- return TargetMain;
- end;
- function ShootRay(Start,End)
- if End==Start then
- return false
- end
- local Confirmed=true;
- local FiredRay1=Ray.new(Start,End);
- local RayTarget1,EndPosition=Game:GetService("Workspace"):FindPartOnRay(FiredRay1,AlfredDrevis);
- if RayTarget1 then
- Confirmed=false;
- end;
- if Confirmed then
- return true;
- elseif not Confirmed then
- return false;
- end;
- end;
- function NextMove(Origin,Target)
- local NewPosition={Target};
- local MovementPoints={};
- local BestNumber=99999;
- if ShootRay(Origin,Origin+Vector3.new(1,0,0))==true then
- table.insert(MovementPoints, Origin+Vector3.new(3.15,0,0))
- end;
- if ShootRay(Origin,Origin+Vector3.new(0,0,1))==true then
- table.insert(MovementPoints, Origin+Vector3.new(0,0,3.15))
- end;
- if ShootRay(Origin,Origin+Vector3.new(-1,0,0))==true then
- table.insert(MovementPoints,Origin+Vector3.new(-3.15,0,0))
- end;
- if ShootRay(Origin,Origin+Vector3.new(0,0,-1))==true then
- table.insert(MovementPoints,Origin+Vector3.new(0,0,-3.15))
- end
- for _,Position in pairs(MovementPoints)do
- local CurrentNumber=0;
- if Position.x>=Target.x then
- CurrentNumber=CurrentNumber+(Position.x-Target.x)
- else
- CurrentNumber=CurrentNumber+(Target.x-Position.x)
- end
- if Position.y>=Target.y then
- CurrentNumber=CurrentNumber+(Position.y-Target.y)
- else
- CurrentNumber=CurrentNumber+(Target.y-Position.y)
- end
- if Position.z>=Target.z then
- CurrentNumber=CurrentNumber+(Position.z-Target.z)
- else
- CurrentNumber=CurrentNumber+(Target.z-Position.z)
- end
- if Position.x>= Origin.x then
- CurrentNumber=CurrentNumber+(Position.x -Origin.x)
- else
- CurrentNumber=CurrentNumber+(Origin.x-Position.x)
- end
- if Position.y>=Origin.y then
- CurrentNumber=CurrentNumber+(Position.y-Origin.y)
- else
- CurrentNumber=CurrentNumber+(Origin.y-Position.y)
- end
- if Position.z>=Origin.z then
- CurrentNumber=CurrentNumber+(Position.z-Origin.z)
- else
- CurrentNumber=CurrentNumber+(Origin.z-Position.z)
- end
- if CurrentNumber<=BestNumber then
- NewPosition={};
- table.insert(NewPosition,Position)
- BestNumber=CurrentNumber
- end
- end;
- local FiredRay1=Ray.new(Origin,AlfredDrevisHumanoidRootPart.CFrame.lookVector*2+Vector3.new(2,0,0));
- local RayTarget1,endPoint1=Game:GetService("Workspace"):FindPartOnRay(FiredRay1,AlfredDrevis);
- local FiredRay2=Ray.new(Origin,AlfredDrevisHumanoidRootPart.CFrame.lookVector*2);
- local RayTarget2,endPoint2=Game:GetService("Workspace"):FindPartOnRay(FiredRay2,AlfredDrevis);
- local FiredRay3=Ray.new(Origin,AlfredDrevisHumanoidRootPart.CFrame.lookVector*2-Vector3.new(2,0,0));
- local RayTarget3,endPoint3=Game:GetService("Workspace"):FindPartOnRay(FiredRay3,AlfredDrevis);
- if not RayTarget1 and not RayTarget2 and not RayTarget3 then
- if #NewPosition>1 then
- return NewPosition[math.random(1,#NewPosition)];
- else
- return NewPosition[1];
- end;
- elseif RayTarget1~=nil and not RayTarget1:IsDescendantOf(AlfredDrevis)or RayTarget2~=nil and not RayTarget2:IsDescendantOf(AlfredDrevis)or RayTarget3~=nil and not RayTarget3:IsDescendantOf(AlfredDrevis)then
- AlfredDrevisHumanoid:MoveTo(Target+(Target-AlfredDrevisHumanoidRootPart.Position).unit*2,Game:GetService("Workspace"):FindFirstChild("Terrain"));
- end;
- end;
- while Wait(0)do
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevisChainsaw and AlfredDrevisChainsaw:FindFirstChild("Idle")and not AlfredDrevisChainsaw:FindFirstChild("Idle").IsPlaying then
- AlfredDrevisChainsaw:FindFirstChild("Idle"):Play();
- end;
- local ChainsawIdleSoundChance=math.random(1,300);
- if ChainsawIdleSoundChance==1 and AlfredDrevisScript~=nil and AlfredDrevis~=nil and AlfredDrevisChainsaw~=nil and AlfredDrevisChainsaw:FindFirstChild("IdleSound1")then
- AlfredDrevisChainsaw:FindFirstChild("IdleSound1").Pitch=0.8+math.random()*0.2;
- AlfredDrevisChainsaw:FindFirstChild("IdleSound1"):Play();
- end;
- local TargetPoint=AlfredDrevisHumanoid.TargetPoint;
- local Blockage,BlockagePos=RayCast((AlfredDrevisHumanoidRootPart.CFrame+CFrame.new(AlfredDrevisHumanoidRootPart.Position,Vector3.new(TargetPoint.X,AlfredDrevisHumanoidRootPart.Position.Y,TargetPoint.Z)).lookVector*(AlfredDrevisHumanoidRootPart.Size.Z/2)).p,AlfredDrevisHumanoidRootPart.CFrame.lookVector,(AlfredDrevisHumanoidRootPart.Size.Z*2.5),{AlfredDrevis,AlfredDrevis})
- local Jumpable=false;
- local MainTarget=FindNearestBae();
- local BlockageHumanoid;
- if Blockage~=nil then
- if Blockage~=nil and Blockage.Parent~=nil and Blockage.Parent:IsA("Model")then
- for _,Child in pairs(Blockage.Parent:GetChildren())do
- if Child~=nil and Child:IsA("Humanoid")and Child.Health~=0 then
- BlockageHumanoid=Child;
- end;
- end;
- end;
- Jumpable=true;
- if Blockage~=nil 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 or MainTarget and Blockage:IsDescendantOf(MainTarget.Parent)or BlockageHumanoid~=nil then
- Jumpable=false;
- end;
- elseif Blockage:IsA("TrussPart")or Blockage:IsA("WedgePart")or Blockage.Name=="Handle"and Blockage.Parent:IsA("Hat")or Blockage.Name=="Handle"and Blockage.Parent:IsA("Accoutrement")or Blockage.Name=="Handle"and Blockage.Parent:IsA("Accessory")or Blockage.Name=="Handle"and Blockage.Parent:IsA("Tool")or MainTarget~=nil and MainTarget.Parent~=nil and Blockage:IsDescendantOf(MainTarget.Parent)or BlockageHumanoid~=nil then
- Jumpable=false;
- end;
- end;
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health~=0 and not AlfredDrevisHumanoid.Sit and Jumpable then
- AlfredDrevisHumanoid.Jump=true;
- end;
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevisHead and AlfredDrevisHumanoidRootPart and AlfredDrevisHead:FindFirstChild("FatherStep")and (AlfredDrevisHumanoidRootPart.Velocity-Vector3.new(0,AlfredDrevisHumanoidRootPart.Velocity.y,0)).magnitude>=5 and not WalkDebounce and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health~=0 then
- Spawn(function()
- WalkDebounce=true;
- local FiredRay=Ray.new(AlfredDrevisHumanoidRootPart.Position,Vector3.new(0,-4,0));
- local RayTarget,endPoint=Game:GetService("Workspace"):FindPartOnRay(FiredRay,AlfredDrevis);
- if RayTarget then
- local AlfredDrevisHeadFootStepClone=AlfredDrevisHead:FindFirstChild("FatherStep"):Clone();
- AlfredDrevisHeadFootStepClone.Parent=AlfredDrevisHead;
- AlfredDrevisHeadFootStepClone:Play();
- AlfredDrevisHeadFootStepClone:Destroy();
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health~=0 and AlfredDrevisHumanoid.WalkSpeed<17 then
- Wait(0.4);
- elseif AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health~=0 and AlfredDrevisHumanoid.WalkSpeed>17 then
- Wait(0.15);
- end
- end;
- WalkDebounce=false;
- end);
- end;
- local MainTarget=FindNearestBae();
- local FoundHumanoid;
- if MainTarget~=nil then
- for _,Child in pairs(MainTarget.Parent:GetChildren())do
- if Child~=nil and Child:IsA("Humanoid")and Child.Health~=0 then
- FoundHumanoid=Child;
- end;
- end;
- end;
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health~=0 and MainTarget and MainTarget.Parent and FoundHumanoid~=nil and FoundHumanoid.Jump then
- AlfredDrevisHumanoid.Jump=true;
- end;
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health~=0 and AlfredDrevisChainsaw and AlfredDrevisChainsaw:FindFirstChild("Blood")and AlfredDrevisChainsaw:FindFirstChild("AttackEnd")and AlfredDrevisChainsaw:FindFirstChild("Attack")and AlfredDrevisChainsaw:FindFirstChild("Attack")and not AlfredDrevisChainsaw:FindFirstChild("Attack").IsPlaying and MainTarget and FoundHumanoid~=nil and FoundHumanoid.Health~=0 and(MainTarget.Position-AlfredDrevisHumanoidRootPart.Position).magnitude<50 then
- SwingAnimation:Play();
- SwingAnimation:AdjustSpeed(2+(math.random()*0.3));
- AlfredDrevisChainsaw:FindFirstChild("Attack"):Play();
- elseif AlfredDrevisScript and AlfredDrevis and AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health~=0 and AlfredDrevisChainsaw and AlfredDrevisChainsaw:FindFirstChild("Blood")and AlfredDrevisChainsaw:FindFirstChild("AttackEnd")and AlfredDrevisChainsaw:FindFirstChild("Attack")and AlfredDrevisChainsaw:FindFirstChild("Attack")and AlfredDrevisChainsaw:FindFirstChild("Attack").IsPlaying and MainTarget and FoundHumanoid~=nil and FoundHumanoid.Health~=0 and(MainTarget.Position-AlfredDrevisHumanoidRootPart.Position).magnitude>50 then
- SwingAnimation:Stop();
- AlfredDrevisChainsaw:FindFirstChild("AttackEnd"):Play();
- AlfredDrevisChainsaw:FindFirstChild("Blood").Enabled=false;
- AlfredDrevisChainsaw:FindFirstChild("Attack"):Stop();
- end;
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health~=0 and AlfredDrevisChainsaw and AlfredDrevisChainsaw:FindFirstChild("Blood")and MainTarget and FoundHumanoid~=nil and FoundHumanoid.Health~=0 and(MainTarget.Position-AlfredDrevisHumanoidRootPart.Position).magnitude<6 then
- local hit,pos=raycast(AlfredDrevisHumanoidRootPart.Position,(MainTarget.Position-AlfredDrevisHumanoidRootPart.Position).unit,500)
- if hit~=nil and hit:IsDescendantOf(MainTarget.Parent)then
- AlfredDrevisChainsaw:FindFirstChild("Blood").Enabled=true;
- local HitSoundClone=AlfredDrevisChainsaw:FindFirstChild("Hit"):Clone();
- HitSoundClone.Pitch=AlfredDrevisChainsaw:FindFirstChild("Hit").Pitch+math.random()*0.1;
- HitSoundClone.Parent=AlfredDrevisChainsaw;
- HitSoundClone:Play();
- HitSoundClone:Destroy();
- FoundHumanoid:TakeDamage(10);
- else
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health~=0 and AlfredDrevisChainsaw and AlfredDrevisChainsaw:FindFirstChild("Blood")then
- AlfredDrevisChainsaw:FindFirstChild("Blood").Enabled=false;
- end;
- end;
- elseif AlfredDrevisScript and AlfredDrevis and AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health~=0 and AlfredDrevisChainsaw and AlfredDrevisChainsaw:FindFirstChild("Blood")and MainTarget and FoundHumanoid~=nil and FoundHumanoid.Health~=0 and(MainTarget.Position-AlfredDrevisHumanoidRootPart.Position).magnitude>6 then
- AlfredDrevisChainsaw:FindFirstChild("Blood").Enabled=false;
- end;
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health~=0 and MainTarget and FoundHumanoid~=nil and FoundHumanoid.Health~=0 and(MainTarget.Position-AlfredDrevisHumanoidRootPart.Position).magnitude<25 then
- local LaughChance=math.random(1,50);
- if LaughChance==1 and not FatherLaughDebounce then
- Spawn(function()
- FatherLaughDebounce=true;
- local CallOutVariant=math.random(1,3);
- if CallOutVariant==1 and AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health~=0 and AlfredDrevisHead and AlfredDrevisHead:FindFirstChild("FatherLaugh1")then
- AlfredDrevisHead:FindFirstChild("FatherLaugh1").Pitch=1+math.random()*0.05;
- AlfredDrevisHead:FindFirstChild("FatherLaugh1"):Play();
- Wait(2.785);
- elseif CallOutVariant==2 and AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health~=0 and AlfredDrevisHead and AlfredDrevisHead:FindFirstChild("FatherLaugh2")then
- AlfredDrevisHead:FindFirstChild("FatherLaugh2").Pitch=1+math.random()*0.05;
- AlfredDrevisHead:FindFirstChild("FatherLaugh2"):Play();
- Wait(3.762);
- elseif CallOutVariant==3 and AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health~=0 and AlfredDrevisHead and AlfredDrevisHead:FindFirstChild("FatherLaugh3")then
- AlfredDrevisHead:FindFirstChild("FatherLaugh3").Pitch=1+math.random()*0.05;
- AlfredDrevisHead:FindFirstChild("FatherLaugh3"):Play();
- Wait(2.2042);
- end;
- FatherLaughDebounce=false;
- end);
- end;
- end;
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health~=0 and MainTarget and FoundHumanoid~=nil and FoundHumanoid.Health~=0 and(MainTarget.Position-AlfredDrevisHumanoidRootPart.Position).magnitude<150 then
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevis:FindFirstChild("[SC] urgent")and not AlfredDrevis:FindFirstChild("[SC] urgent").IsPlaying then
- AlfredDrevis:FindFirstChild("[SC] urgent").Volume=1;
- AlfredDrevis:FindFirstChild("[SC] urgent"):Play();
- end;
- elseif AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health~=0 and MainTarget and FoundHumanoid~=nil and FoundHumanoid.Health~=0 and(MainTarget.Position-AlfredDrevisHumanoidRootPart.Position).magnitude>150 then
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevis:FindFirstChild("[SC] urgent")and AlfredDrevis:FindFirstChild("[SC] urgent").IsPlaying then
- if not MusicDebounce then
- Spawn(function()
- MusicDebounce=true;
- repeat Wait(0);if AlfredDrevisScript and AlfredDrevis and AlfredDrevis:FindFirstChild("[SC] urgent")then AlfredDrevis:FindFirstChild("[SC] urgent").Volume=AlfredDrevis:FindFirstChild("[SC] urgent").Volume-0.01;else break;end;until AlfredDrevis:FindFirstChild("[SC] urgent").Volume==0 or AlfredDrevis:FindFirstChild("[SC] urgent").Volume<0;
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevis:FindFirstChild("[SC] urgent")then
- AlfredDrevis:FindFirstChild("[SC] urgent").Volume=0;
- AlfredDrevis:FindFirstChild("[SC] urgent"):Stop();
- end;
- MusicDebounce=false;
- end);
- end;
- end;
- end;
- if not MainTarget and not MusicDebounce then
- Spawn(function()
- MusicDebounce=true;
- repeat Wait(0);if AlfredDrevisScript and AlfredDrevis and AlfredDrevis:FindFirstChild("[SC] urgent")then AlfredDrevis:FindFirstChild("[SC] urgent").Volume=AlfredDrevis:FindFirstChild("[SC] urgent").Volume-0.01;else break;end;until AlfredDrevis:FindFirstChild("[SC] urgent").Volume==0 or AlfredDrevis:FindFirstChild("[SC] urgent").Volume<0;
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevis:FindFirstChild("[SC] urgent")then
- AlfredDrevis:FindFirstChild("[SC] urgent").Volume=0;
- AlfredDrevis:FindFirstChild("[SC] urgent"):Stop();
- end;
- MusicDebounce=false;
- end);
- end;
- if MainTarget~=nil then
- Notice=true;
- if Notice and not NoticeDebounce and AlfredDrevisScript and AlfredDrevis and AlfredDrevisHead and AlfredDrevisHead:FindFirstChild("FatherNotice")then
- AlfredDrevisHead:FindFirstChild("FatherNotice"):Play();
- NoticeDebounce=true;
- end
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health~=0 then
- if MainTarget~=nil and FoundHumanoid~=nil and FoundHumanoid.Health~=0 and(MainTarget.Position-AlfredDrevisHumanoidRootPart.Position).magnitude>5 then
- local CurrentMove=NextMove(AlfredDrevisHumanoidRootPart.Position,MainTarget.Position)
- if CurrentMove~=nil then
- AlfredDrevisHumanoid:MoveTo(CurrentMove+(CurrentMove-AlfredDrevisHumanoidRootPart.Position).unit*2,Game:GetService("Workspace"):FindFirstChild("Terrain"));
- end;
- AlfredDrevisHumanoid.WalkSpeed=40;
- elseif MainTarget~=nil and FoundHumanoid~=nil and FoundHumanoid.Health~=0 and(MainTarget.Position-AlfredDrevisHumanoidRootPart.Position).magnitude<5 then
- AlfredDrevisHumanoid:MoveTo(MainTarget.Position+(MainTarget.Position-AlfredDrevisHumanoidRootPart.Position).unit*2,Game:GetService("Workspace"):FindFirstChild("Terrain"));
- AlfredDrevisHumanoid.WalkSpeed=0.004;
- end;
- end;
- if AlfredDrevisScript~=nil and AlfredDrevis~=nil and AlfredDrevis:FindFirstChild("Torso")and AlfredDrevis:FindFirstChild("Torso"):FindFirstChild("Neck")then
- local NeckRotation=(AlfredDrevis:FindFirstChild("Torso").Position.Y-MainTarget.Parent:FindFirstChild("Head").Position.Y)/10;
- if NeckRotation>-1.5 and NeckRotation<1.5 then
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevis:FindFirstChild("Torso")and AlfredDrevis:FindFirstChild("Torso"):FindFirstChild("Neck")then
- AlfredDrevis:FindFirstChild("Torso"):FindFirstChild("Neck").C0=OriginalC0*CFrame.fromEulerAnglesXYZ(NeckRotation,0,0);
- end;
- end;
- if NeckRotation<-1.5 then
- AlfredDrevis:FindFirstChild("Torso"):FindFirstChild("Neck").C0=CFrame.new(0,1,0,-1,0,0,0,-0.993636549,0.112633869,0,0.112633869,0.993636549);
- elseif NeckRotation>1.5 then
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevis:FindFirstChild("Torso")and AlfredDrevis:FindFirstChild("Torso"):FindFirstChild("Neck")then
- AlfredDrevis:FindFirstChild("Torso"):FindFirstChild("Neck").C0=CFrame.new(0,1,0,-1,0,0,0,0.996671617,0.081521146,0,0.081521146,-0.996671617);
- end;
- end;
- end;
- else
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health~=0 and AlfredDrevisChainsaw and AlfredDrevisChainsaw:FindFirstChild("Blood")and AlfredDrevisChainsaw:FindFirstChild("AttackEnd")and AlfredDrevisChainsaw:FindFirstChild("Attack")and AlfredDrevisChainsaw:FindFirstChild("Attack")and AlfredDrevisChainsaw:FindFirstChild("Attack").IsPlaying then
- SwingAnimation:Stop();
- AlfredDrevisChainsaw:FindFirstChild("AttackEnd"):Play();
- AlfredDrevisChainsaw:FindFirstChild("Blood").Enabled=false;
- AlfredDrevisChainsaw:FindFirstChild("Attack"):Stop();
- end;
- if AlfredDrevisScript~=nil and AlfredDrevis~=nil and AlfredDrevis:FindFirstChild("Torso")and AlfredDrevis:FindFirstChild("Torso"):FindFirstChild("Neck")then
- AlfredDrevis:FindFirstChild("Torso"):FindFirstChild("Neck").C0=CFrame.new(0,1,0,-1,0,0,0,0,1,0,1,-0);
- end;
- Notice=false;
- NoticeDebounce=false;
- local CallOutChance=math.random(1,300);
- if CallOutChance==1 and not CallOutChanceDebounce then
- Spawn(function()
- CallOutChanceDebounce=true;
- local CallOutVariant=math.random(1,4);
- if CallOutVariant==1 and AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health~=0 and AlfredDrevisHead and AlfredDrevisHead:FindFirstChild("Aya1")then
- AlfredDrevisHead:FindFirstChild("Aya1").Pitch=1+math.random()*0.1;
- AlfredDrevisHead:FindFirstChild("Aya1"):Play();
- Wait(2.72);
- elseif CallOutVariant==2 and AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health~=0 and AlfredDrevisHead and AlfredDrevisHead:FindFirstChild("Aya2")then
- AlfredDrevisHead:FindFirstChild("Aya2").Pitch=1+math.random()*0.1;
- AlfredDrevisHead:FindFirstChild("Aya2"):Play();
- Wait(2.612);
- elseif CallOutVariant==3 and AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health~=0 and AlfredDrevisHead and AlfredDrevisHead:FindFirstChild("WhereAreYou1")then
- AlfredDrevisHead:FindFirstChild("WhereAreYou1").Pitch=1+math.random()*0.1;
- AlfredDrevisHead:FindFirstChild("WhereAreYou1"):Play();
- Wait(3.91);
- elseif CallOutVariant==4 and AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health~=0 and AlfredDrevisHead and AlfredDrevisHead:FindFirstChild("WhereAreYou2")then
- AlfredDrevisHead:FindFirstChild("WhereAreYou2").Pitch=1+math.random()*0.1;
- AlfredDrevisHead:FindFirstChild("WhereAreYou2"):Play();
- Wait(3.07);
- end;
- CallOutChanceDebounce=false;
- end);
- end;
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid then
- AlfredDrevisHumanoid.WalkSpeed=12;
- end;
- 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(1,40);
- if WalkChance==1 and AlfredDrevisScript and AlfredDrevis and AlfredDrevis:FindFirstChild("Torso")and AlfredDrevis:FindFirstChild("Head")and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health>0.001 and not DynamicWander then
- AlfredDrevisHumanoid:MoveTo(Game:GetService("Workspace"):FindFirstChild("Terrain").Position+Vector3.new(math.random(-2048,2048),0,math.random(-2048,2048)),Game:GetService("Workspace"):FindFirstChild("Terrain"));
- elseif AlfredDrevisScript and AlfredDrevis and AlfredDrevis:FindFirstChild("Torso")and AlfredDrevis:FindFirstChild("Head")and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Health>0.001 and DynamicWander then
- local WanderAngle=(math.random()-0.5)*1;
- local RotatingLookVector=CFrame.Angles(0,WanderAngle,0)*script.Parent.Torso.CFrame.lookVector;
- AlfredDrevisHumanoid:MoveTo(AlfredDrevis:FindFirstChild("Torso").Position+6*RotatingLookVector,AlfredDrevis:FindFirstChild("Torso"));
- end;
- end;
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid then
- AlfredDrevisHumanoid.DisplayDistanceType="None";
- AlfredDrevisHumanoid.HealthDisplayDistance=0;
- AlfredDrevisHumanoid.Name="PsychopathicFather";
- AlfredDrevisHumanoid.NameDisplayDistance=0;
- AlfredDrevisHumanoid.NameOcclusion="EnemyOcclusion";
- AlfredDrevisHumanoid.AutoJumpEnabled=true;
- AlfredDrevisHumanoid.AutoRotate=true;
- AlfredDrevisHumanoid.MaxHealth=99999e99999;
- AlfredDrevisHumanoid.Health=99999e99999;
- AlfredDrevisHumanoid.JumpPower=60;
- AlfredDrevisHumanoid.MaxSlopeAngle=89.9;
- end;
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and not AlfredDrevisHumanoid.AutoJumpEnabled then
- AlfredDrevisHumanoid.AutoJumpEnabled=true;
- end;
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and not AlfredDrevisHumanoid.AutoRotate then
- AlfredDrevisHumanoid.AutoRotate=true;
- end;
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid.PlatformStand then
- AlfredDrevisHumanoid.PlatformStand=false;
- end;
- if AlfredDrevisScript and AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid.Sit then
- AlfredDrevisHumanoid.Sit=false;
- end;
- end;
- --[[ By: Brutez. ]]--
- end))
- Animation39.Name = "Swing"
- Animation39.Parent = Script38
- Animation39.AnimationId = "rbxassetid://41824837"
- BodyColors40.Parent = Model0
- BodyColors40.HeadColor = BrickColor.new("Institutional white")
- BodyColors40.LeftArmColor = BrickColor.new("Institutional white")
- BodyColors40.LeftLegColor = BrickColor.new("Institutional white")
- BodyColors40.RightArmColor = BrickColor.new("Institutional white")
- BodyColors40.RightLegColor = BrickColor.new("Institutional white")
- BodyColors40.TorsoColor = BrickColor.new("Institutional white")
- Part41.Name = "Chainsaw"
- Part41.Parent = Model0
- Part41.Material = Enum.Material.SmoothPlastic
- Part41.BrickColor = BrickColor.new("Institutional white")
- Part41.Rotation = Vector3.new(18.3699989, 37.7299995, -11.4899998)
- Part41.RotVelocity = Vector3.new(0, -0.775562763, 0)
- Part41.Velocity = Vector3.new(-5.55803156, 0, -9.5999651)
- Part41.CanCollide = false
- Part41.Locked = true
- Part41.Elasticity = 0
- Part41.FormFactor = Enum.FormFactor.Custom
- Part41.Friction = 2
- Part41.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
- Part41.CFrame = CFrame.new(0.0895835161, 4.05566025, 113.94754, 0.775071383, 0.157529965, 0.611921906, -4.33894502e-06, 0.968426049, -0.249301016, -0.631873488, 0.193223432, 0.75059998)
- Part41.BackSurface = Enum.SurfaceType.SmoothNoOutlines
- Part41.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
- Part41.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
- Part41.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
- Part41.RightSurface = Enum.SurfaceType.SmoothNoOutlines
- Part41.TopSurface = Enum.SurfaceType.SmoothNoOutlines
- Part41.Color = Color3.new(0.972549, 0.972549, 0.972549)
- Part41.Position = Vector3.new(0.0895835161, 4.05566025, 113.94754)
- Part41.Orientation = Vector3.new(14.4399996, 39.1899986, 0)
- Part41.Color = Color3.new(0.972549, 0.972549, 0.972549)
- Sound42.Name = "Attack"
- Sound42.Parent = Part41
- Sound42.Pitch = 1.1000000238419
- Sound42.SoundId = "rbxassetid://202241842"
- Sound42.Volume = 5
- Sound42.Looped = true
- Sound43.Name = "AttackEnd"
- Sound43.Parent = Part41
- Sound43.SoundId = "rbxassetid://202241842"
- Sound43.Volume = 5
- Sound43.PlayOnRemove = true
- Sound44.Name = "Idle"
- Sound44.Parent = Part41
- Sound44.SoundId = "rbxassetid://422956224"
- Sound44.Volume = 1
- Sound44.Looped = true
- Sound45.Name = "IdleSound1"
- Sound45.Parent = Part41
- Sound45.Pitch = 0.87191992998123
- Sound45.SoundId = "rbxassetid://422956883"
- Sound45.Volume = 1
- Sound45.PlayOnRemove = true
- Sound46.Name = "Hit"
- Sound46.Parent = Part41
- Sound46.Pitch = 3
- Sound46.SoundId = "rbxassetid://2774556"
- Sound46.Volume = 1
- ParticleEmitter47.Name = "Blood"
- ParticleEmitter47.Parent = Part41
- ParticleEmitter47.Transparency = NumberSequence.new(1,0,0,1)
- ParticleEmitter47.Rotation = NumberRange.new(-45, 45)
- ParticleEmitter47.Size = NumberSequence.new(2,0)
- ParticleEmitter47.Color = ColorSequence.new(Color3.new(1, 0, 0),Color3.new(0.239216, 0.0313726, 0.00392157))
- ParticleEmitter47.Enabled = false
- ParticleEmitter47.Texture = "rbxassetid://363248610"
- ParticleEmitter47.Acceleration = Vector3.new(0, -70, 0)
- ParticleEmitter47.Lifetime = NumberRange.new(1, 1)
- ParticleEmitter47.Rate = 50
- ParticleEmitter47.RotSpeed = NumberRange.new(-180, 180)
- ParticleEmitter47.Speed = NumberRange.new(-10, 10)
- ParticleEmitter47.VelocitySpread = 999999
- ParticleEmitter47.Color = ColorSequence.new(Color3.new(1, 0, 0),Color3.new(0.239216, 0.0313726, 0.00392157))
- SpecialMesh48.Parent = Part41
- SpecialMesh48.MeshId = "http://www.roblox.com/asset/?id=202083123 "
- SpecialMesh48.TextureId = "http://www.roblox.com/asset/?id=210526258 "
- SpecialMesh48.MeshType = Enum.MeshType.FileMesh
- ParticleEmitter49.Name = "Divine Pulse"
- ParticleEmitter49.Parent = Part41
- ParticleEmitter49.Transparency = NumberSequence.new(1,0,1)
- ParticleEmitter49.Size = NumberSequence.new(0,1.4999997615814)
- ParticleEmitter49.Color = ColorSequence.new(Color3.new(0.964706, 1, 0.262745),Color3.new(0.964706, 1, 0.262745))
- ParticleEmitter49.LightEmission = 1
- ParticleEmitter49.Texture = "rbxassetid://48315270"
- ParticleEmitter49.Lifetime = NumberRange.new(1, 1)
- ParticleEmitter49.Rate = 3
- ParticleEmitter49.Speed = NumberRange.new(0, 0)
- ParticleEmitter49.Color = ColorSequence.new(Color3.new(0.964706, 1, 0.262745),Color3.new(0.964706, 1, 0.262745))
- ParticleEmitter50.Name = "Heaven's Rings"
- ParticleEmitter50.Parent = Part41
- ParticleEmitter50.Transparency = NumberSequence.new(1,0.49374997615814,1)
- ParticleEmitter50.Rotation = NumberRange.new(9, 37)
- ParticleEmitter50.Size = NumberSequence.new(2,2)
- ParticleEmitter50.Color = ColorSequence.new(Color3.new(1, 0.905882, 0.164706),Color3.new(1, 0.905882, 0.164706))
- ParticleEmitter50.LightEmission = 1
- ParticleEmitter50.Texture = "rbxassetid://1084976679"
- ParticleEmitter50.ZOffset = 1
- ParticleEmitter50.Lifetime = NumberRange.new(1, 1)
- ParticleEmitter50.Rate = 45
- ParticleEmitter50.RotSpeed = NumberRange.new(8, 37)
- ParticleEmitter50.Speed = NumberRange.new(0, 0)
- ParticleEmitter50.Color = ColorSequence.new(Color3.new(1, 0.905882, 0.164706),Color3.new(1, 0.905882, 0.164706))
- ParticleEmitter51.Name = "Holy Rays"
- ParticleEmitter51.Parent = Part41
- ParticleEmitter51.Transparency = NumberSequence.new(1,0.73749995231628,1)
- ParticleEmitter51.Rotation = NumberRange.new(37, 999)
- ParticleEmitter51.Size = NumberSequence.new(3,3)
- ParticleEmitter51.Color = ColorSequence.new(Color3.new(0.94902, 1, 0.458824),Color3.new(0.94902, 1, 0.458824))
- ParticleEmitter51.LightEmission = 1
- ParticleEmitter51.Texture = "rbxassetid://1053548563"
- ParticleEmitter51.Lifetime = NumberRange.new(1, 1)
- ParticleEmitter51.Rate = 2
- ParticleEmitter51.RotSpeed = NumberRange.new(-10, -10)
- ParticleEmitter51.Speed = NumberRange.new(0, 0)
- ParticleEmitter51.Color = ColorSequence.new(Color3.new(0.94902, 1, 0.458824),Color3.new(0.94902, 1, 0.458824))
- ParticleEmitter52.Name = "Shrine"
- ParticleEmitter52.Parent = Part41
- ParticleEmitter52.Rotation = NumberRange.new(37, 999)
- ParticleEmitter52.Size = NumberSequence.new(1,0)
- ParticleEmitter52.Color = ColorSequence.new(Color3.new(1, 0.905882, 0.164706),Color3.new(1, 0.905882, 0.164706))
- ParticleEmitter52.LightEmission = 1
- ParticleEmitter52.Texture = "rbxassetid://270446290"
- ParticleEmitter52.ZOffset = 1
- ParticleEmitter52.Lifetime = NumberRange.new(1, 1)
- ParticleEmitter52.Rate = 45
- ParticleEmitter52.RotSpeed = NumberRange.new(-100, -100)
- ParticleEmitter52.Speed = NumberRange.new(0, 0)
- ParticleEmitter52.Color = ColorSequence.new(Color3.new(1, 0.905882, 0.164706),Color3.new(1, 0.905882, 0.164706))
- ParticleEmitter53.Name = "Divine Pulse"
- ParticleEmitter53.Parent = Part41
- ParticleEmitter53.Transparency = NumberSequence.new(1,0,1)
- ParticleEmitter53.Size = NumberSequence.new(0,1.4999997615814)
- ParticleEmitter53.Color = ColorSequence.new(Color3.new(0.964706, 1, 0.262745),Color3.new(0.964706, 1, 0.262745))
- ParticleEmitter53.LightEmission = 1
- ParticleEmitter53.Texture = "rbxassetid://48315270"
- ParticleEmitter53.Lifetime = NumberRange.new(1, 1)
- ParticleEmitter53.Rate = 3
- ParticleEmitter53.Speed = NumberRange.new(0, 0)
- ParticleEmitter53.Color = ColorSequence.new(Color3.new(0.964706, 1, 0.262745),Color3.new(0.964706, 1, 0.262745))
- ParticleEmitter54.Name = "Heaven's Rings"
- ParticleEmitter54.Parent = Part41
- ParticleEmitter54.Transparency = NumberSequence.new(1,0.49374997615814,1)
- ParticleEmitter54.Rotation = NumberRange.new(9, 37)
- ParticleEmitter54.Size = NumberSequence.new(2,2)
- ParticleEmitter54.Color = ColorSequence.new(Color3.new(1, 0.905882, 0.164706),Color3.new(1, 0.905882, 0.164706))
- ParticleEmitter54.LightEmission = 1
- ParticleEmitter54.Texture = "rbxassetid://1084976679"
- ParticleEmitter54.ZOffset = 1
- ParticleEmitter54.Lifetime = NumberRange.new(1, 1)
- ParticleEmitter54.Rate = 45
- ParticleEmitter54.RotSpeed = NumberRange.new(8, 37)
- ParticleEmitter54.Speed = NumberRange.new(0, 0)
- ParticleEmitter54.Color = ColorSequence.new(Color3.new(1, 0.905882, 0.164706),Color3.new(1, 0.905882, 0.164706))
- ParticleEmitter55.Name = "Holy Rays"
- ParticleEmitter55.Parent = Part41
- ParticleEmitter55.Transparency = NumberSequence.new(1,0.73749995231628,1)
- ParticleEmitter55.Rotation = NumberRange.new(37, 999)
- ParticleEmitter55.Size = NumberSequence.new(3,3)
- ParticleEmitter55.Color = ColorSequence.new(Color3.new(0.94902, 1, 0.458824),Color3.new(0.94902, 1, 0.458824))
- ParticleEmitter55.LightEmission = 1
- ParticleEmitter55.Texture = "rbxassetid://1053548563"
- ParticleEmitter55.Lifetime = NumberRange.new(1, 1)
- ParticleEmitter55.Rate = 2
- ParticleEmitter55.RotSpeed = NumberRange.new(-10, -10)
- ParticleEmitter55.Speed = NumberRange.new(0, 0)
- ParticleEmitter55.Color = ColorSequence.new(Color3.new(0.94902, 1, 0.458824),Color3.new(0.94902, 1, 0.458824))
- ParticleEmitter56.Name = "Shrine"
- ParticleEmitter56.Parent = Part41
- ParticleEmitter56.Rotation = NumberRange.new(37, 999)
- ParticleEmitter56.Size = NumberSequence.new(1,0)
- ParticleEmitter56.Color = ColorSequence.new(Color3.new(1, 0.905882, 0.164706),Color3.new(1, 0.905882, 0.164706))
- ParticleEmitter56.LightEmission = 1
- ParticleEmitter56.Texture = "rbxassetid://270446290"
- ParticleEmitter56.ZOffset = 1
- ParticleEmitter56.Lifetime = NumberRange.new(1, 1)
- ParticleEmitter56.Rate = 45
- ParticleEmitter56.RotSpeed = NumberRange.new(-100, -100)
- ParticleEmitter56.Speed = NumberRange.new(0, 0)
- ParticleEmitter56.Color = ColorSequence.new(Color3.new(1, 0.905882, 0.164706),Color3.new(1, 0.905882, 0.164706))
- ParticleEmitter57.Name = "Divine Pulse"
- ParticleEmitter57.Parent = Part41
- ParticleEmitter57.Transparency = NumberSequence.new(1,0,1)
- ParticleEmitter57.Size = NumberSequence.new(0,1.4999997615814)
- ParticleEmitter57.Color = ColorSequence.new(Color3.new(0.964706, 1, 0.262745),Color3.new(0.964706, 1, 0.262745))
- ParticleEmitter57.LightEmission = 1
- ParticleEmitter57.Texture = "rbxassetid://48315270"
- ParticleEmitter57.Lifetime = NumberRange.new(1, 1)
- ParticleEmitter57.Rate = 3
- ParticleEmitter57.Speed = NumberRange.new(0, 0)
- ParticleEmitter57.Color = ColorSequence.new(Color3.new(0.964706, 1, 0.262745),Color3.new(0.964706, 1, 0.262745))
- ParticleEmitter58.Name = "Heaven's Rings"
- ParticleEmitter58.Parent = Part41
- ParticleEmitter58.Transparency = NumberSequence.new(1,0.49374997615814,1)
- ParticleEmitter58.Rotation = NumberRange.new(9, 37)
- ParticleEmitter58.Size = NumberSequence.new(2,2)
- ParticleEmitter58.Color = ColorSequence.new(Color3.new(1, 0.905882, 0.164706),Color3.new(1, 0.905882, 0.164706))
- ParticleEmitter58.LightEmission = 1
- ParticleEmitter58.Texture = "rbxassetid://1084976679"
- ParticleEmitter58.ZOffset = 1
- ParticleEmitter58.Lifetime = NumberRange.new(1, 1)
- ParticleEmitter58.Rate = 45
- ParticleEmitter58.RotSpeed = NumberRange.new(8, 37)
- ParticleEmitter58.Speed = NumberRange.new(0, 0)
- ParticleEmitter58.Color = ColorSequence.new(Color3.new(1, 0.905882, 0.164706),Color3.new(1, 0.905882, 0.164706))
- ParticleEmitter59.Name = "Holy Rays"
- ParticleEmitter59.Parent = Part41
- ParticleEmitter59.Transparency = NumberSequence.new(1,0.73749995231628,1)
- ParticleEmitter59.Rotation = NumberRange.new(37, 999)
- ParticleEmitter59.Size = NumberSequence.new(3,3)
- ParticleEmitter59.Color = ColorSequence.new(Color3.new(0.94902, 1, 0.458824),Color3.new(0.94902, 1, 0.458824))
- ParticleEmitter59.LightEmission = 1
- ParticleEmitter59.Texture = "rbxassetid://1053548563"
- ParticleEmitter59.Lifetime = NumberRange.new(1, 1)
- ParticleEmitter59.Rate = 2
- ParticleEmitter59.RotSpeed = NumberRange.new(-10, -10)
- ParticleEmitter59.Speed = NumberRange.new(0, 0)
- ParticleEmitter59.Color = ColorSequence.new(Color3.new(0.94902, 1, 0.458824),Color3.new(0.94902, 1, 0.458824))
- ParticleEmitter60.Name = "Shrine"
- ParticleEmitter60.Parent = Part41
- ParticleEmitter60.Rotation = NumberRange.new(37, 999)
- ParticleEmitter60.Size = NumberSequence.new(1,0)
- ParticleEmitter60.Color = ColorSequence.new(Color3.new(1, 0.905882, 0.164706),Color3.new(1, 0.905882, 0.164706))
- ParticleEmitter60.LightEmission = 1
- ParticleEmitter60.Texture = "rbxassetid://270446290"
- ParticleEmitter60.ZOffset = 1
- ParticleEmitter60.Lifetime = NumberRange.new(1, 1)
- ParticleEmitter60.Rate = 45
- ParticleEmitter60.RotSpeed = NumberRange.new(-100, -100)
- ParticleEmitter60.Speed = NumberRange.new(0, 0)
- ParticleEmitter60.Color = ColorSequence.new(Color3.new(1, 0.905882, 0.164706),Color3.new(1, 0.905882, 0.164706))
- Script61.Name = "Respawn"
- Script61.Parent = Model0
- table.insert(cors,sandbox(Script61,function()
- --[[ By: Brutez, 2/28/2015, 1:34 AM, (UTC-08:00) Pacific Time (US & Canada) ]]--
- local PlayerSpawning=false; --[[ Change this to true if you want the NPC to spawn like a player, and change this to false if you want the NPC to spawn at it's current position. ]]--
- local AdvancedRespawnScript=script;
- repeat Wait(0)until script and script.Parent and script.Parent:IsA("Model");
- local AlfredDrevis=AdvancedRespawnScript.Parent;
- if AdvancedRespawnScript and AlfredDrevis and AlfredDrevis:FindFirstChild("Thumbnail")then
- AlfredDrevis:FindFirstChild("Thumbnail"):Destroy();
- end;
- local GameDerbis=Game:GetService("Debris");
- local AlfredDrevisHumanoid;
- for _,Child in pairs(AlfredDrevis:GetChildren())do
- if Child and Child:IsA("Humanoid")and Child.Health~=0 then
- AlfredDrevisHumanoid=Child;
- end;
- end;
- local Respawndant=AlfredDrevis:Clone();
- if PlayerSpawning then --[[ LOOK AT LINE: 2. ]]--
- Spawn(function()
- if AlfredDrevis and AlfredDrevisHumanoid and AlfredDrevisHumanoid:FindFirstChild("Status")and not AlfredDrevisHumanoid:FindFirstChild("Status"):FindFirstChild("AvalibleSpawns")then
- SpawnModel=Instance.new("Model");
- SpawnModel.Parent=AlfredDrevisHumanoid.Status;
- SpawnModel.Name="AvalibleSpawns";
- else
- SpawnModel=AlfredDrevisHumanoid:FindFirstChild("Status"):FindFirstChild("AvalibleSpawns");
- end;
- function FindSpawn(SearchValue)
- local PartsArchivable=SearchValue:GetChildren();
- for AreaSearch=1,#PartsArchivable do
- if PartsArchivable[AreaSearch]:IsA("SpawnLocation")then
- local PositionValue=Instance.new("Vector3Value",SpawnModel);
- PositionValue.Value=PartsArchivable[AreaSearch].Position;
- PositionValue.Name=PartsArchivable[AreaSearch].Duration;
- end;
- FindSpawn(PartsArchivable[AreaSearch]);
- end;
- end;
- FindSpawn(Game:GetService("Workspace"));
- local SpawnChilden=SpawnModel:GetChildren();
- if#SpawnChilden>0 then
- local SpawnItself=SpawnChilden[math.random(1,#SpawnChilden)];
- local RespawningForceField=Instance.new("ForceField");
- RespawningForceField.Parent=AlfredDrevis;
- RespawningForceField.Name="SpawnForceField";
- GameDerbis:AddItem(RespawningForceField,SpawnItself.Name);
- AlfredDrevis:MoveTo(SpawnItself.Value+Vector3.new(0,3.5,0));
- else
- if AlfredDrevis:FindFirstChild("SpawnForceField")then
- AlfredDrevis:FindFirstChild("SpawnForceField"):Destroy();
- end;
- AlfredDrevis:MoveTo(Vector3.new(0,115,0));
- end;
- end);
- end;
- function Respawn()
- Wait(5);
- Respawndant.Parent=AlfredDrevis.Parent;
- Respawndant:makeJoints();
- Respawndant:FindFirstChild("Head"):MakeJoints();
- Respawndant:FindFirstChild("Torso"):MakeJoints();
- AlfredDrevis:remove();
- end;
- if AdvancedRespawnScript and AlfredDrevis and AlfredDrevisHumanoid then
- AlfredDrevisHumanoid.Died:connect(Respawn);
- end;
- --[[ By: Brutez, 2/28/2015, 1:34 AM, (UTC-08:00) Pacific Time (US & Canada) ]]--
- end))
- Part62.Name = "Head"
- Part62.Parent = Model0
- Part62.Material = Enum.Material.SmoothPlastic
- Part62.BrickColor = BrickColor.new("Cool yellow")
- Part62.Rotation = Vector3.new(0, 39.1899986, 0)
- Part62.RotVelocity = Vector3.new(0, -0.775562763, 0)
- Part62.Velocity = Vector3.new(-6.8071084, 0, -9.88247204)
- Part62.Locked = true
- Part62.Elasticity = 0
- Part62.FormFactor = Enum.FormFactor.Symmetric
- Part62.Friction = 0
- Part62.Size = Vector3.new(2, 1, 1)
- Part62.CFrame = CFrame.new(-0.274677992, 6.50005007, 115.558083, 0.775071383, -3.86655374e-05, 0.631873488, -4.33894502e-06, 1, 6.65141488e-05, -0.631873488, -5.42948837e-05, 0.775071383)
- Part62.BackSurface = Enum.SurfaceType.SmoothNoOutlines
- Part62.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
- Part62.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
- Part62.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
- Part62.RightSurface = Enum.SurfaceType.SmoothNoOutlines
- Part62.TopSurface = Enum.SurfaceType.SmoothNoOutlines
- Part62.Color = Color3.new(0.992157, 0.917647, 0.552941)
- Part62.Position = Vector3.new(-0.274677992, 6.50005007, 115.558083)
- Part62.Orientation = Vector3.new(0, 39.1899986, 0)
- Part62.Color = Color3.new(0.992157, 0.917647, 0.552941)
- Sound63.Name = "FatherStep"
- Sound63.Parent = Part62
- Sound63.SoundId = "rbxassetid://422964099"
- Sound63.Volume = 1
- Sound64.Name = "FatherLaugh1"
- Sound64.Parent = Part62
- Sound64.SoundId = "rbxassetid://189659553"
- Sound64.Volume = 1
- Sound65.Name = "WhereAreYou2"
- Sound65.Parent = Part62
- Sound65.Pitch = 0.5
- Sound65.SoundId = "rbxassetid://1310854708"
- Sound65.TimePosition = 286120731
- Sound65.Volume = 1
- Sound66.Name = "WhereAreYou1"
- Sound66.Parent = Part62
- Sound66.Pitch = 0.60000002384186
- Sound66.SoundId = "rbxassetid://286120731"
- Sound66.Volume = 1
- Sound67.Name = "Aya2"
- Sound67.Parent = Part62
- Sound67.Pitch = 1.0333353281021
- Sound67.SoundId = "rbxassetid://286120731"
- Sound67.TimePosition = 11.059705997405
- Sound67.Volume = 2
- Sound68.Name = "Aya1"
- Sound68.Parent = Part62
- Sound68.SoundId = "rbxassetid://286120731"
- Sound68.Volume = 1
- Sound69.Name = "FatherLaugh3"
- Sound69.Parent = Part62
- Sound69.Pitch = 0.89999997615814
- Sound69.SoundId = "rbxassetid://189659553"
- Sound69.Volume = 2
- Sound70.Name = "FatherLaugh2"
- Sound70.Parent = Part62
- Sound70.Pitch = 1.1000000238419
- Sound70.SoundId = "rbxassetid://189659553"
- Sound70.Volume = 1
- Sound71.Name = "FatherNotice"
- Sound71.Parent = Part62
- Sound71.SoundId = "rbxassetid://357964425"
- Sound71.Volume = 2
- Decal72.Parent = Part62
- Decal72.Texture = "rbxassetid://194209398"
- SpecialMesh73.Parent = Part62
- SpecialMesh73.Offset = Vector3.new(0, 0.5, 0)
- SpecialMesh73.Scale = Vector3.new(2.5, 2.5, 2.5)
- SpecialMesh73.Scale = Vector3.new(2.5, 2.5, 2.5)
- for i,v in pairs(mas:GetChildren()) do
- v.Parent = script
- pcall(function() v:MakeJoints() end)
- end
- mas:Destroy()
- for i,v in pairs(cors) do
- spawn(function()
- pcall(v)
- end)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement