Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- wait()
- function GetMesh(Obj)
- for i,v in pairs(Obj:GetChildren()) do
- if v:IsA("DataModelMesh") then
- return v
- end
- end
- end
- function SaveWelds(Obj,Welds,Scale)
- if Welds == nil then
- local Welds = {}
- for i,v in pairs(Obj:GetChildren()) do
- if v:IsA("JointInstance") then
- Welds[#Welds+1] = {v,v.Part0,v.Part1,v.C0,v.C1,v.Parent}
- end
- SaveWelds(v,Welds,Scale)
- end
- return Welds
- else
- for i,v in pairs(Obj:GetChildren()) do
- if v:IsA("JointInstance") then
- Welds[#Welds+1] = {v,v.Part0,v.Part1,v.C0,v.C1,v.Parent}
- end
- SaveWelds(v,Welds,Scale)
- end
- end
- end
- function ResizeWelds(Welds,Scale)
- for i,v in pairs(Welds) do
- v[1].Parent = v[6]
- v[1].Part0 = v[2]
- v[1].Part1 = v[3]
- local Vec = v[4].p
- local Vec2 = v[5].p
- v[1].C0 = CFrame.new(Vec*Scale)*(v[4]-Vec)
- v[1].C1 = CFrame.new(Vec2*Scale)*(v[5]-Vec2)
- end
- end
- function ResizeFunc(Obj,Scale,Welds)
- for i,v in pairs(Obj:GetChildren()) do
- if v:IsA("BasePart") then
- local Size = v.Size
- for i2,v2 in pairs(v:GetChildren()) do
- if v2.Name == "ScaleInserted" then
- Size = Size*v2.Scale
- v2:Destroy()
- elseif v2.Name:sub(1,14) == "ScaleInserted:" then
- local X,Y,Z;
- for Match in v2.Name:sub(15):gmatch("[^,%s]+") do
- if Y ~= nil then
- Z = tonumber(Match)
- elseif X ~= nil then
- Y = tonumber(Match)
- else
- X = tonumber(Match)
- end
- end
- Size = Vector3.new(X,Y,Z)
- v2:Destroy()
- end
- end
- v.FormFactor = "Custom"
- local CFr = v.CFrame
- local Want = Size*Scale
- v.Size = Want
- if v.Size ~= Want then
- local Name = ""
- for Match in v.Name:gmatch("[^%s]+") do
- Name = Name..Match
- end
- local CharMesh = nil
- for i,v in pairs(Obj:GetChildren()) do
- if v:IsA("CharacterMesh") and tostring(v.BodyPart):sub(15) == Name then
- CharMesh = v
- end
- end
- if CharMesh == nil then
- local Mesh = GetMesh(v)
- if Mesh == nil then
- local Mesh;
- if v:IsA("WedgePart") then
- Mesh = Instance.new("SpecialMesh",v)
- Mesh.MeshType = "Wedge"
- else
- if v.Shape == "Ball" then
- Mesh = Instance.new("SpecialMesh",v)
- Mesh.MeshType = "Sphere"
- elseif v.Shape == "Cylinder" then
- Mesh = Instance.new("SpecialMesh",v)
- Mesh.MeshType = "Cylinder"
- else
- Mesh = Instance.new("BlockMesh",v)
- end
- end
- Mesh.Scale = Want/v.Size
- Mesh.Name = "ScaleInserted"
- else
- if (Mesh.ClassName == "SpecialMesh" and Mesh.MeshType ~= Enum.MeshType.FileMesh) or Mesh.ClassName ~= "SpecialMesh" then
- Mesh.Scale = Want/v.Size*Mesh.Scale
- end
- end
- else
- local Mesh = Instance.new("SpecialMesh",v)
- Mesh.Name = "ScaleInserted:"..tostring(Want)
- Mesh.MeshType = "FileMesh"
- Mesh.MeshId = "rbxassetid://"..CharMesh.MeshId
- --Mesh.TextureId = CharMesh.BaseTextureId
- Mesh.Scale = Vector3.new(1,1,1)*Want.X/Scale
- end
- end
- v.CFrame = CFrame.new(CFr.p*Scale)*(CFr-CFr.p)
- elseif v:IsA("DataModelMesh") then
- if v.ClassName == "SpecialMesh" then
- if v.MeshType == Enum.MeshType.FileMesh then
- v.Scale = v.Scale*Scale
- end
- else
- --v.Scale = v.Scale*Scale
- end
- end
- ResizeFunc(v,Scale,Welds)
- end
- end
- function Resize(Obj,Scale)
- local Welds = SaveWelds(Obj,nil,Scale)
- ResizeFunc(Obj,Scale,Welds)
- ResizeWelds(Welds,Scale)
- end
- function GetMass(obj)
- local mass = 0;
- for _,v in pairs(obj:GetChildren()) do
- if v:isA("BasePart") then
- mass = mass+v:GetMass();
- end
- end
- return mass;
- end
- function Weld(part0,part1,weldname)
- local weld = Instance.new("Motor");
- weld.Part0 = part0;
- weld.Part1 = part1;
- local c=CFrame.new(part0.Position)
- local part0cf = part0.CFrame:toObjectSpace(c)
- weld.Part0=part0
- weld.Part1=part1
- weld.C0=part0cf
- weld.C1=part1.CFrame:toObjectSpace(c)
- weld.Parent=part0
- if weldname then
- weld.Name = weldname;
- end
- end
- function WeldAll(part0,array,obj,weldname)
- local temp = {};
- for _,v in pairs(array) do
- temp[v]=true;
- end
- for _,v in pairs(obj:GetChildren()) do
- if temp[v.Name] then
- Weld(part0,v,weldname);
- end
- end
- end
- function SpawnSheep()
- -- 1 - Model
- obj1 = Instance.new("Model")
- -- 2 - Wool
- obj2 = Instance.new("Part")
- obj2.CFrame = CFrame.new(Vector3.new(-21.5211716, 2.34030199, 3.8772161)) * CFrame.Angles(1.3983116149902, -0.025720708072186, 0.070026576519012)
- obj2.FormFactor = Enum.FormFactor.Custom
- obj2.CanCollide = false
- obj2.RotVelocity = Vector3.new(6.46234854e-027, 7.15624321e-024, 4.03896783e-027)
- obj2.Material = Enum.Material.Grass
- obj2.Size = Vector3.new(3.79999995, 2.5999999, 2.5999999)
- obj2.BrickColor = BrickColor.new("Mid gray")
- obj2.Velocity = Vector3.new(3.64852922e-020, 0.000537406071, 3.64713884e-020)
- obj2.Friction = 0.30000001192093
- obj2.Shape = Enum.PartType.Block
- obj2.Name = "Wool"
- obj2.Parent = obj1
- -- 3 - Mesh
- obj3 = Instance.new("SpecialMesh")
- obj3.MeshType = Enum.MeshType.FileMesh
- obj3.Scale = Vector3.new(0.25, 0.5, 0.75)
- obj3.MeshId = "http://www.roblox.com/asset/?id=1290033"
- obj3.Parent = obj2
- -- 4 - Part-to-Part Strong Joint
- obj4 = Instance.new("ManualWeld")
- obj4.Part0 = Wool
- obj4.Part1 = nil
- obj4.Name = "Part-to-Part Strong Joint"
- obj4.Parent = obj2
- -- 5 - Left Hand
- obj5 = Instance.new("Part")
- obj5.CFrame = CFrame.new(Vector3.new(-23.5181828, 0.28026104, 1.59283853)) * CFrame.Angles(0.0013251260388643, -1.5689693689346, -0.0013612856855616)
- obj5.FormFactor = Enum.FormFactor.Symmetric
- obj5.CanCollide = false
- obj5.TopSurface = Enum.SurfaceType.Smooth
- obj5.RotVelocity = Vector3.new(6.46234854e-027, 7.15624321e-024, 4.03896783e-027)
- obj5.BottomSurface = Enum.SurfaceType.Smooth
- obj5.Size = Vector3.new(1, 1, 1)
- obj5.BrickColor = BrickColor.new("Black")
- obj5.Velocity = Vector3.new(3.64689521e-020, 0.000537406071, 3.64856702e-020)
- obj5.Friction = 0.30000001192093
- obj5.Shape = Enum.PartType.Block
- obj5.Name = "Left Hand"
- obj5.Parent = obj1
- -- 6 - Mesh
- obj6 = Instance.new("CylinderMesh")
- obj6.Scale = Vector3.new(0.600000024, 0.5, 100)
- obj6.Parent = obj5
- -- 7 - Nose
- obj7 = Instance.new("Part")
- obj7.CFrame = CFrame.new(Vector3.new(-22.7385254, 3.73476362, -0.0933920145)) * CFrame.Angles(1.897470831871, -0.77668470144272, 1.7606045007706)
- obj7.FormFactor = Enum.FormFactor.Custom
- obj7.RotVelocity = Vector3.new(6.46234854e-027, 7.15624321e-024, 4.03896783e-027)
- obj7.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
- obj7.BrickColor = BrickColor.new("Light reddish violet")
- obj7.Velocity = Vector3.new(3.64568707e-020, 0.000537406071, 3.64801093e-020)
- obj7.Friction = 0.30000001192093
- obj7.Shape = Enum.PartType.Block
- obj7.Name = "Nose"
- obj7.Parent = obj1
- -- 8 - Mesh
- obj8 = Instance.new("SpecialMesh")
- obj8.MeshType = Enum.MeshType.FileMesh
- obj8.Scale = Vector3.new(0.5, 0.5, 0.5)
- obj8.MeshId = "http://www.roblox.com/Asset/?id=9944765"
- obj8.Parent = obj7
- -- 9 - Wool
- obj9 = Instance.new("Part")
- obj9.CFrame = CFrame.new(Vector3.new(-21.3535728, 2.2403028, 3.80234528)) * CFrame.Angles(0.94749695062637, -0.05369558557868, 0.051817733794451)
- obj9.FormFactor = Enum.FormFactor.Custom
- obj9.CanCollide = false
- obj9.RotVelocity = Vector3.new(6.46234854e-027, 7.15624321e-024, 4.03896783e-027)
- obj9.Material = Enum.Material.Grass
- obj9.Size = Vector3.new(3.79999995, 2.5999999, 2.5999999)
- obj9.BrickColor = BrickColor.new("Mid gray")
- obj9.Velocity = Vector3.new(3.64847558e-020, 0.000537406071, 3.64701896e-020)
- obj9.Friction = 0.30000001192093
- obj9.Shape = Enum.PartType.Block
- obj9.Name = "Wool"
- obj9.Parent = obj1
- -- 10 - Mesh
- obj10 = Instance.new("SpecialMesh")
- obj10.MeshType = Enum.MeshType.FileMesh
- obj10.Scale = Vector3.new(0.25, 0.5, 0.75)
- obj10.MeshId = "http://www.roblox.com/asset/?id=1290033"
- obj10.Parent = obj9
- -- 11 - Part-to-Part Strong Joint
- obj11 = Instance.new("ManualWeld")
- obj11.Part0 = Wool
- obj11.Part1 = nil
- obj11.Name = "Part-to-Part Strong Joint"
- obj11.Parent = obj9
- -- 12 - Eye
- obj12 = Instance.new("Part")
- obj12.CFrame = CFrame.new(Vector3.new(-23.1459179, 4.25031328, 0.228253245)) * CFrame.Angles(1.5396132369006e-007, 1.5707963705063, 0)
- obj12.FormFactor = Enum.FormFactor.Custom
- obj12.TopSurface = Enum.SurfaceType.Smooth
- obj12.RotVelocity = Vector3.new(6.46234854e-027, 7.15624321e-024, 4.03896783e-027)
- obj12.BottomSurface = Enum.SurfaceType.Smooth
- obj12.Material = Enum.Material.SmoothPlastic
- obj12.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
- obj12.BrickColor = BrickColor.new("Really black")
- obj12.Velocity = Vector3.new(3.64591681e-020, 0.000537406071, 3.64830303e-020)
- obj12.Friction = 0.30000001192093
- obj12.Shape = Enum.PartType.Block
- obj12.Name = "Eye"
- obj12.Parent = obj1
- -- 13 - Mesh
- obj13 = Instance.new("SpecialMesh")
- obj13.MeshType = Enum.MeshType.Sphere
- obj13.Parent = obj12
- -- 14 - Mouth
- obj14 = Instance.new("Part")
- obj14.CFrame = CFrame.new(Vector3.new(-22.7589149, 3.85848284, 0.386403322)) * CFrame.Angles(-0.43436309695244, 1.5707963705063, 0)
- obj14.FormFactor = Enum.FormFactor.Custom
- obj14.TopSurface = Enum.SurfaceType.Smooth
- obj14.RotVelocity = Vector3.new(6.46234854e-027, 7.15624321e-024, 4.03896783e-027)
- obj14.BottomSurface = Enum.SurfaceType.Smooth
- obj14.Size = Vector3.new(1.36999977, 0.949999452, 1.13999987)
- obj14.BrickColor = BrickColor.new("Light stone grey")
- obj14.Velocity = Vector3.new(3.64603023e-020, 0.000537406071, 3.6480258e-020)
- obj14.Friction = 0.30000001192093
- obj14.Shape = Enum.PartType.Block
- obj14.Name = "Mouth"
- obj14.Parent = obj1
- -- 15 - Mesh
- obj15 = Instance.new("SpecialMesh")
- obj15.MeshType = Enum.MeshType.Sphere
- obj15.Parent = obj14
- -- 16 - Ear
- obj16 = Instance.new("Part")
- obj16.CFrame = CFrame.new(Vector3.new(-22.4086475, 4.0303092, 0.703919291)) * CFrame.Angles(2.0017046928406, 0.085929930210114, -0.85446131229401)
- obj16.FormFactor = Enum.FormFactor.Custom
- obj16.RotVelocity = Vector3.new(6.46234854e-027, 7.15624321e-024, 4.03896783e-027)
- obj16.Size = Vector3.new(1.67999959, 1.77999973, 1.05999994)
- obj16.BrickColor = BrickColor.new("Light stone grey")
- obj16.Velocity = Vector3.new(3.64625738e-020, 0.000537406071, 3.64777506e-020)
- obj16.Friction = 0.30000001192093
- obj16.Shape = Enum.PartType.Block
- obj16.Name = "Ear"
- obj16.Parent = obj1
- -- 17 - Mesh
- obj17 = Instance.new("SpecialMesh")
- obj17.MeshType = Enum.MeshType.FileMesh
- obj17.Scale = Vector3.new(2, 1.10000002, 1.20000005)
- obj17.MeshId = "http://www.roblox.com/Asset/?id=9944765"
- obj17.Parent = obj16
- -- 18 - Eye
- obj18 = Instance.new("Part")
- obj18.CFrame = CFrame.new(Vector3.new(-22.3959484, 4.28031015, 0.198211849)) * CFrame.Angles(1.5396132369006e-007, 1.5707963705063, 0)
- obj18.FormFactor = Enum.FormFactor.Custom
- obj18.TopSurface = Enum.SurfaceType.Smooth
- obj18.RotVelocity = Vector3.new(6.46234854e-027, 7.15624321e-024, 4.03896783e-027)
- obj18.BottomSurface = Enum.SurfaceType.Smooth
- obj18.Material = Enum.Material.SmoothPlastic
- obj18.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
- obj18.BrickColor = BrickColor.new("Really black")
- obj18.Velocity = Vector3.new(3.64589549e-020, 0.000537406071, 3.64776633e-020)
- obj18.Friction = 0.30000001192093
- obj18.Shape = Enum.PartType.Block
- obj18.Name = "Eye"
- obj18.Parent = obj1
- -- 19 - Mesh
- obj19 = Instance.new("SpecialMesh")
- obj19.MeshType = Enum.MeshType.Sphere
- obj19.Parent = obj18
- -- 20 - Ear
- obj20 = Instance.new("Part")
- obj20.CFrame = CFrame.new(Vector3.new(-23.0586109, 4.14030838, 0.70395565)) * CFrame.Angles(2.0017237663269, 0.085924081504345, 0.84997481107712)
- obj20.FormFactor = Enum.FormFactor.Custom
- obj20.RotVelocity = Vector3.new(6.46234854e-027, 7.15624321e-024, 4.03896783e-027)
- obj20.Size = Vector3.new(1.67999959, 1.77999973, 1.05999994)
- obj20.BrickColor = BrickColor.new("Light stone grey")
- obj20.Velocity = Vector3.new(3.64625738e-020, 0.000537406071, 3.64824035e-020)
- obj20.Friction = 0.30000001192093
- obj20.Shape = Enum.PartType.Block
- obj20.Name = "Ear"
- obj20.Parent = obj1
- -- 21 - Mesh
- obj21 = Instance.new("SpecialMesh")
- obj21.MeshType = Enum.MeshType.FileMesh
- obj21.Scale = Vector3.new(2, 1.10000002, 1.20000005)
- obj21.MeshId = "http://www.roblox.com/Asset/?id=9944765"
- obj21.Parent = obj20
- -- 22 - Wool
- obj22 = Instance.new("Part")
- obj22.CFrame = CFrame.new(Vector3.new(-24.0636253, 2.42030311, 3.84500933)) * CFrame.Angles(1.3966999053955, -0.0098684839904308, -0.020485334098339)
- obj22.FormFactor = Enum.FormFactor.Custom
- obj22.CanCollide = false
- obj22.RotVelocity = Vector3.new(6.46234854e-027, 7.15624321e-024, 4.03896783e-027)
- obj22.Material = Enum.Material.Grass
- obj22.Size = Vector3.new(3.79999995, 2.5999999, 2.5999999)
- obj22.BrickColor = BrickColor.new("Mid gray")
- obj22.Velocity = Vector3.new(3.64850595e-020, 0.000537406071, 3.64895832e-020)
- obj22.Friction = 0.30000001192093
- obj22.Shape = Enum.PartType.Block
- obj22.Name = "Wool"
- obj22.Parent = obj1
- -- 23 - Mesh
- obj23 = Instance.new("SpecialMesh")
- obj23.MeshType = Enum.MeshType.FileMesh
- obj23.Scale = Vector3.new(0.25, 0.5, 0.75)
- obj23.MeshId = "http://www.roblox.com/asset/?id=1290033"
- obj23.Parent = obj22
- -- 24 - Part-to-Part Strong Joint
- obj24 = Instance.new("ManualWeld")
- obj24.Part0 = Wool
- obj24.Part1 = nil
- obj24.Name = "Part-to-Part Strong Joint"
- obj24.Parent = obj22
- -- 25 - Wool
- obj25 = Instance.new("Part")
- obj25.CFrame = CFrame.new(Vector3.new(-22.7488766, 4.21689987, 1.43453217)) * CFrame.Angles(-2.9331393241882, 1.5698198080063, 3.1230912208557)
- obj25.FormFactor = Enum.FormFactor.Custom
- obj25.CanCollide = false
- obj25.TopSurface = Enum.SurfaceType.Smooth
- obj25.RotVelocity = Vector3.new(6.46234854e-027, 7.15624321e-024, 4.03896783e-027)
- obj25.BottomSurface = Enum.SurfaceType.Smooth
- obj25.Size = Vector3.new(1.40999973, 0.949999452, 1.41999984)
- obj25.BrickColor = BrickColor.new("Light stone grey")
- obj25.Velocity = Vector3.new(3.6467805e-020, 0.000537406071, 3.64801869e-020)
- obj25.Friction = 0.30000001192093
- obj25.Shape = Enum.PartType.Block
- obj25.Name = "Wool"
- obj25.Parent = obj1
- -- 26 - Mesh
- obj26 = Instance.new("SpecialMesh")
- obj26.MeshType = Enum.MeshType.Sphere
- obj26.Parent = obj25
- -- 27 - Head
- obj27 = Instance.new("Part")
- obj27.CFrame = CFrame.new(Vector3.new(-22.7538452, 4.10531425, 0.942708254)) * CFrame.Angles(-8.2731833117577e-007, 0.73805975914001, 1.4846486351416e-007)
- obj27.FormFactor = Enum.FormFactor.Custom
- obj27.TopSurface = Enum.SurfaceType.Smooth
- obj27.RotVelocity = Vector3.new(6.46234854e-027, 7.15624321e-024, 4.03896783e-027)
- obj27.BottomSurface = Enum.SurfaceType.Smooth
- obj27.Size = Vector3.new(1.8299998, 1.60999942, 1.76999986)
- obj27.BrickColor = BrickColor.new("Light stone grey")
- obj27.Velocity = Vector3.new(3.64642831e-020, 0.000537406071, 3.64802224e-020)
- obj27.Friction = 0.30000001192093
- obj27.Shape = Enum.PartType.Block
- obj27.Name = "Head"
- obj27.Transparency = 1;
- obj27.Parent = obj1
- local bbg = Instance.new("BillboardGui");
- bbg.Name = "Note";
- bbg.Size = UDim2.new(3,0,0.3,0)
- bbg.StudsOffset = Vector3.new(0,2,0)
- bbg.Parent = obj27;
- local frame = Instance.new("Frame",bbg)
- frame.BackgroundTransparency = 1;
- frame.BackgroundColor3 = Color3.new();
- frame.Size = UDim2.new(1,0,1,0);
- frame.Parent = bbg;
- local label = Instance.new("TextLabel",frame);
- label.BackgroundTransparency = 1;
- label.TextColor3 = Color3.new(1,1,1);
- label.Size = UDim2.new(1,0,1,0);
- label.Font = "SourceSans"
- label.Text = "";
- label.FontSize = "Size18";
- label.TextWrapped = true;
- label.TextScaled = true;
- label.Parent = frame;
- local ParticleEmitter = Instance.new("ParticleEmitter");
- ParticleEmitter.Name = "Hearts";
- ParticleEmitter.Color = ColorSequence.new(Color3.new(1,0,0));
- ParticleEmitter.LightEmission = 1;
- ParticleEmitter.Size = NumberSequence.new(.5);
- ParticleEmitter.Texture = "http://www.roblox.com/asset/?id=249529864";
- ParticleEmitter.Transparency = NumberSequence.new(0);
- ParticleEmitter.Acceleration = Vector3.new(0,5,0);
- ParticleEmitter.Lifetime = NumberRange.new(2.5);
- ParticleEmitter.Rate = 5;
- ParticleEmitter.Rotation = NumberRange.new(0,5)
- ParticleEmitter.Speed = NumberRange.new(0.5,1)
- ParticleEmitter.VelocitySpread = 15;
- ParticleEmitter.Enabled = false;
- ParticleEmitter.Parent = obj27;
- -- 28 - Mesh
- obj28 = Instance.new("SpecialMesh")
- obj28.MeshType = Enum.MeshType.Sphere
- obj28.Parent = obj27
- objfake = obj27:Clone();
- objfake.Transparency = 0
- objfake.Name = "fakehead"
- objfake.CFrame = obj27.CFrame;
- objfake.Parent = obj1;
- WeldAll(obj27,{"fakehead"},obj1,nil);
- -- 29 - Wool
- obj29 = Instance.new("Part")
- obj29.CFrame = CFrame.new(Vector3.new(-24.0636272, 2.32030511, 3.75501251)) * CFrame.Angles(0.94549494981766, 3.266921339673e-005, -0.02274458296597)
- obj29.FormFactor = Enum.FormFactor.Custom
- obj29.CanCollide = false
- obj29.RotVelocity = Vector3.new(6.46234854e-027, 7.15624321e-024, 4.03896783e-027)
- obj29.Material = Enum.Material.Grass
- obj29.Size = Vector3.new(3.79999995, 2.5999999, 2.5999999)
- obj29.BrickColor = BrickColor.new("Mid gray")
- obj29.Velocity = Vector3.new(3.64844165e-020, 0.000537406071, 3.64895832e-020)
- obj29.Friction = 0.30000001192093
- obj29.Shape = Enum.PartType.Block
- obj29.Name = "Wool"
- obj29.Parent = obj1
- -- 30 - Mesh
- obj30 = Instance.new("SpecialMesh")
- obj30.MeshType = Enum.MeshType.FileMesh
- obj30.Scale = Vector3.new(0.25, 0.5, 0.75)
- obj30.MeshId = "http://www.roblox.com/asset/?id=1290033"
- obj30.Parent = obj29
- -- 31 - Part-to-Part Strong Joint
- obj31 = Instance.new("ManualWeld")
- obj31.Part0 = Wool
- obj31.Part1 = nil
- obj31.Name = "Part-to-Part Strong Joint"
- obj31.Parent = obj29
- -- 32 - Left Arm
- obj32 = Instance.new("Part")
- obj32.CFrame = CFrame.new(Vector3.new(-23.5181828, 1.95030797, 1.59283662)) * CFrame.Angles(3.0617175639236e-007, 5.5478125432273e-005, -1.8398770862404e-007)
- obj32.FormFactor = Enum.FormFactor.Symmetric
- obj32.CanCollide = false
- obj32.TopSurface = Enum.SurfaceType.Smooth
- obj32.RotVelocity = Vector3.new(6.46234854e-027, 7.15624321e-024, 4.03896783e-027)
- obj32.BottomSurface = Enum.SurfaceType.Smooth
- obj32.Size = Vector3.new(1, 1, 1)
- obj32.BrickColor = BrickColor.new("Light stone grey")
- obj32.Velocity = Vector3.new(3.64689456e-020, 0.000537406071, 3.64856799e-020)
- obj32.Friction = 0.30000001192093
- obj32.Shape = Enum.PartType.Block
- obj32.Name = "Left Arm"
- obj32.Parent = obj1
- -- 33 - Mesh
- obj33 = Instance.new("CylinderMesh")
- obj33.Scale = Vector3.new(0.600000024, 2.79999995, 100)
- obj33.Parent = obj32
- -- 34 - Torso
- obj34 = Instance.new("Part")
- obj34.CFrame = CFrame.new(Vector3.new(-22.7136688, 3.08031273, 2.30507421)) * CFrame.Angles(1.6391257418036e-007, 5.576035255217e-005, -1.4892002297984e-008)
- obj34.FormFactor = Enum.FormFactor.Custom
- obj34.RotVelocity = Vector3.new(6.46234854e-027, 7.15624321e-024, 4.03896783e-027)
- obj34.Material = Enum.Material.Grass
- obj34.Size = Vector3.new(3.79999995, 2.5999999, 2.5999999)
- obj34.BrickColor = BrickColor.new("Mid gray")
- obj34.Velocity = Vector3.new(3.6474038e-020, 0.000537406071, 3.64799284e-020)
- obj34.Friction = 0.30000001192093
- obj34.Shape = Enum.PartType.Block
- obj34.Name = "Torso"
- obj34.Parent = obj1
- Seat = Instance.new("Seat")
- Seat.Name = "Seat";
- Seat.Transparency = 1
- Seat.FormFactor = "Custom";
- Seat.Size = Vector3.new(.5,.5,.5);
- Seat.CFrame = obj34.CFrame*CFrame.new(0,.55,0.7)
- Seat.Anchored = false;
- Seat.CanCollide = false;
- Seat.Parent = obj1;
- WeldAll(obj34,{"Seat"},obj1,nil);
- -- 35 - Mesh
- obj35 = Instance.new("SpecialMesh")
- obj35.MeshType = Enum.MeshType.FileMesh
- obj35.Scale = Vector3.new(1.79999995, 1.79999995, 1.79999995)
- obj35.MeshId = "http://www.roblox.com/asset/?id=1290033"
- obj35.Parent = obj34
- -- 36 - BodyPosition
- --obj36 = Instance.new("BodyPosition")
- --obj36.maxForce = Vector3.new(0, 400000, 0)
- --obj36.position = Vector3.new(0, 3.0999999, 0)
- --obj36.Parent = obj34
- -- 37 - Right Hand
- obj37 = Instance.new("Part")
- obj37.CFrame = CFrame.new(Vector3.new(-22.0181255, 0.26022625, 1.59275365)) * CFrame.Angles(0.0013169611338526, -1.5689693689346, -0.0013528965646401)
- obj37.FormFactor = Enum.FormFactor.Symmetric
- obj37.CanCollide = false
- obj37.TopSurface = Enum.SurfaceType.Smooth
- obj37.RotVelocity = Vector3.new(6.46234854e-027, 7.15624321e-024, 4.03896783e-027)
- obj37.BottomSurface = Enum.SurfaceType.Smooth
- obj37.Size = Vector3.new(1, 1, 1)
- obj37.BrickColor = BrickColor.new("Black")
- obj37.Velocity = Vector3.new(3.64689521e-020, 0.000537406071, 3.6474933e-020)
- obj37.Friction = 0.30000001192093
- obj37.Shape = Enum.PartType.Block
- obj37.Name = "Right Hand"
- obj37.Parent = obj1
- -- 38 - Mesh
- obj38 = Instance.new("CylinderMesh")
- obj38.Scale = Vector3.new(0.600000024, 0.5, 100)
- obj38.Parent = obj37
- -- 39 - Right Arm
- obj39 = Instance.new("Part")
- obj39.CFrame = CFrame.new(Vector3.new(-22.0181255, 1.93030298, 1.59275174)) * CFrame.Angles(2.5774309619919e-007, 5.5477928981418e-005, -3.2834276453286e-007)
- obj39.FormFactor = Enum.FormFactor.Symmetric
- obj39.CanCollide = false
- obj39.TopSurface = Enum.SurfaceType.Smooth
- obj39.RotVelocity = Vector3.new(6.46234854e-027, 7.15624321e-024, 4.03896783e-027)
- obj39.BottomSurface = Enum.SurfaceType.Smooth
- obj39.Size = Vector3.new(1, 1, 1)
- obj39.BrickColor = BrickColor.new("Light stone grey")
- obj39.Velocity = Vector3.new(3.64689456e-020, 0.000537406071, 3.64749427e-020)
- obj39.Friction = 0.30000001192093
- obj39.Shape = Enum.PartType.Block
- obj39.Name = "Right Arm"
- obj39.Parent = obj1
- -- 40 - Mesh
- obj40 = Instance.new("CylinderMesh")
- obj40.Scale = Vector3.new(0.600000024, 2.79999995, 100)
- obj40.Parent = obj39
- -- 41 - Wool
- obj41 = Instance.new("Part")
- obj41.CFrame = CFrame.new(Vector3.new(-22.6429119, 3.08031559, 3.23439121)) * CFrame.Angles(-7.0686290598587e-008, 0.78545361757278, 4.831555884266e-007)
- obj41.FormFactor = Enum.FormFactor.Custom
- obj41.CanCollide = false
- obj41.RotVelocity = Vector3.new(6.46234854e-027, 7.15624321e-024, 4.03896783e-027)
- obj41.Material = Enum.Material.SmoothPlastic
- obj41.Size = Vector3.new(2.79999971, 2.5999999, 2.5999999)
- obj41.BrickColor = BrickColor.new("Mid gray")
- obj41.Velocity = Vector3.new(3.64806877e-020, 0.000537406071, 3.64794211e-020)
- obj41.Friction = 0.30000001192093
- obj41.Shape = Enum.PartType.Block
- obj41.Name = "Wool"
- obj41.Parent = obj1
- -- 42 - Mesh
- obj42 = Instance.new("SpecialMesh")
- obj42.MeshType = Enum.MeshType.FileMesh
- obj42.Scale = Vector3.new(1.5, 1.5, 1.5)
- obj42.MeshId = "http://www.roblox.com/asset/?id=1290033"
- obj42.Parent = obj41
- -- 43 - Part-to-Part Strong Joint
- obj43 = Instance.new("ManualWeld")
- obj43.Part0 = Wool
- obj43.Part1 = nil
- obj43.Name = "Part-to-Part Strong Joint"
- obj43.Parent = obj41
- -- 44 - Wool
- obj44 = Instance.new("Part")
- obj44.CFrame = CFrame.new(Vector3.new(-22.6428947, 3.02031517, 3.54429626)) * CFrame.Angles(-2.683812379837, 0.40881261229515, 2.9481966495514)
- obj44.FormFactor = Enum.FormFactor.Custom
- obj44.CanCollide = false
- obj44.RotVelocity = Vector3.new(6.46234854e-027, 7.15624321e-024, 4.03896783e-027)
- obj44.Material = Enum.Material.SmoothPlastic
- obj44.Size = Vector3.new(2.79999971, 2.5999999, 2.5999999)
- obj44.BrickColor = BrickColor.new("Mid gray")
- obj44.Velocity = Vector3.new(3.64829075e-020, 0.000537406071, 3.64794211e-020)
- obj44.Friction = 0.30000001192093
- obj44.Shape = Enum.PartType.Block
- obj44.Name = "Wool"
- obj44.Parent = obj1
- -- 45 - Mesh
- obj45 = Instance.new("SpecialMesh")
- obj45.MeshType = Enum.MeshType.FileMesh
- obj45.Scale = Vector3.new(1.5, 1.5, 1.5)
- obj45.MeshId = "http://www.roblox.com/asset/?id=1290033"
- obj45.Parent = obj44
- -- 46 - Part-to-Part Strong Joint
- obj46 = Instance.new("ManualWeld")
- obj46.Part0 = Wool
- obj46.Part1 = nil
- obj46.Name = "Part-to-Part Strong Joint"
- obj46.Parent = obj44
- -- 47 - AnimSaves
- obj47 = Instance.new("Model")
- obj47.Name = "AnimSaves"
- obj47.Parent = obj1
- -- 48 - HumanoidRootPart
- obj48 = Instance.new("Part")
- obj48.CFrame = CFrame.new(Vector3.new(-22.7136688, 3.08031273, 2.30507421)) * CFrame.Angles(3.5482423935982e-023, 5.5907901696628e-005, 3.0141195052581e-023)
- obj48.FormFactor = Enum.FormFactor.Custom
- obj48.Transparency = 1
- obj48.RotVelocity = Vector3.new(6.46234854e-027, 7.15624321e-024, 4.03896783e-027)
- obj48.Material = Enum.Material.Grass
- obj48.Size = Vector3.new(3.79999995, 2.5999999, 2.5999999)
- obj48.BrickColor = BrickColor.new("Mid gray")
- obj48.Velocity = Vector3.new(3.6474038e-020, 0.000537406071, 3.64799284e-020)
- obj48.Friction = 0.30000001192093
- obj48.Shape = Enum.PartType.Block
- obj48.Name = "HumanoidRootPart"
- obj48.Parent = obj1
- -- 49 - Mesh
- obj49 = Instance.new("SpecialMesh")
- obj49.MeshType = Enum.MeshType.FileMesh
- obj49.Scale = Vector3.new(1.79999995, 1.79999995, 1.79999995)
- obj49.MeshId = "http://www.roblox.com/asset/?id=1290033"
- obj49.Parent = obj48
- -- 50 - Right Leg
- obj50 = Instance.new("Part")
- obj50.CFrame = CFrame.new(Vector3.new(-22.0181427, 1.93215156, 3.99282026)) * CFrame.Angles(2.8800006930396e-006, 5.3021671192255e-005, -5.6583127161502e-007)
- obj50.FormFactor = Enum.FormFactor.Symmetric
- obj50.CanCollide = false
- obj50.TopSurface = Enum.SurfaceType.Smooth
- obj50.RotVelocity = Vector3.new(6.46234854e-027, 7.15624321e-024, 4.03896783e-027)
- obj50.BottomSurface = Enum.SurfaceType.Smooth
- obj50.Size = Vector3.new(1, 1, 1)
- obj50.BrickColor = BrickColor.new("Light stone grey")
- obj50.Velocity = Vector3.new(3.64861193e-020, 0.000537406071, 3.64749427e-020)
- obj50.Friction = 0.30000001192093
- obj50.Shape = Enum.PartType.Block
- obj50.Name = "Right Leg"
- obj50.Parent = obj1
- -- 51 - Mesh
- obj51 = Instance.new("CylinderMesh")
- obj51.Scale = Vector3.new(0.600000024, 2.79999995, 100)
- obj51.Parent = obj50
- -- 52 - Left Leg
- obj52 = Instance.new("Part")
- obj52.CFrame = CFrame.new(Vector3.new(-23.5181828, 1.95215654, 3.99291348)) * CFrame.Angles(2.9282539344422e-006, 5.3022111387691e-005, -4.2287240376027e-007)
- obj52.FormFactor = Enum.FormFactor.Symmetric
- obj52.CanCollide = false
- obj52.TopSurface = Enum.SurfaceType.Smooth
- obj52.RotVelocity = Vector3.new(6.46234854e-027, 7.15624321e-024, 4.03896783e-027)
- obj52.BottomSurface = Enum.SurfaceType.Smooth
- obj52.Size = Vector3.new(1, 1, 1)
- obj52.BrickColor = BrickColor.new("Light stone grey")
- obj52.Velocity = Vector3.new(3.64861226e-020, 0.000537406071, 3.64856799e-020)
- obj52.Friction = 0.30000001192093
- obj52.Shape = Enum.PartType.Block
- obj52.Name = "Left Leg"
- obj52.Parent = obj1
- -- 53 - Mesh
- obj53 = Instance.new("CylinderMesh")
- obj53.Scale = Vector3.new(0.600000024, 2.79999995, 100)
- obj53.Parent = obj52
- -- 54 - Right Foot
- obj54 = Instance.new("Part")
- obj54.CFrame = CFrame.new(Vector3.new(-22.0181427, 0.262020946, 3.99283218)) * CFrame.Angles(0.0076152086257935, -1.5662813186646, -0.0090188346803188)
- obj54.FormFactor = Enum.FormFactor.Symmetric
- obj54.CanCollide = false
- obj54.TopSurface = Enum.SurfaceType.Smooth
- obj54.RotVelocity = Vector3.new(6.46234854e-027, 7.15624321e-024, 4.03896783e-027)
- obj54.BottomSurface = Enum.SurfaceType.Smooth
- obj54.Size = Vector3.new(1, 1, 1)
- obj54.BrickColor = BrickColor.new("Black")
- obj54.Velocity = Vector3.new(3.64861258e-020, 0.000537406071, 3.6474933e-020)
- obj54.Friction = 0.30000001192093
- obj54.Shape = Enum.PartType.Block
- obj54.Name = "Right Foot"
- obj54.Parent = obj1
- -- 55 - Mesh
- obj55 = Instance.new("CylinderMesh")
- obj55.Scale = Vector3.new(0.600000024, 0.5, 100)
- obj55.Parent = obj54
- -- 56 - Left Foot
- obj56 = Instance.new("Part")
- obj56.CFrame = CFrame.new(Vector3.new(-23.5181828, 0.282055736, 3.99292517)) * CFrame.Angles(0.0076612294651568, -1.5662813186646, -0.0090732770040631)
- obj56.FormFactor = Enum.FormFactor.Symmetric
- obj56.CanCollide = false
- obj56.TopSurface = Enum.SurfaceType.Smooth
- obj56.RotVelocity = Vector3.new(6.46234854e-027, 7.15624321e-024, 4.03896783e-027)
- obj56.BottomSurface = Enum.SurfaceType.Smooth
- obj56.Size = Vector3.new(1, 1, 1)
- obj56.BrickColor = BrickColor.new("Black")
- obj56.Velocity = Vector3.new(3.6486129e-020, 0.000537406071, 3.64856702e-020)
- obj56.Friction = 0.30000001192093
- obj56.Shape = Enum.PartType.Block
- obj56.Name = "Left Foot"
- obj56.Parent = obj1
- -- 57 - Mesh
- obj57 = Instance.new("CylinderMesh")
- obj57.Scale = Vector3.new(0.600000024, 0.5, 100)
- obj57.Parent = obj56
- -- Finalization
- --obj27 head
- --obj34 torso
- --obj50 right leg
- --obj52 left leg
- --obj39 right arm
- --obj32 left arm
- --obj48 humanoidrootpart
- local Laser = Instance.new("Sound",obj27);
- Laser.Name = "Laser";
- Laser.Volume = 0.25;
- local Baa = Instance.new("Sound",obj27);
- Baa.Name = "Baa";
- Baa.Volume = 1;
- local Step = Instance.new("Sound",obj34);
- Step.Name = "Step";
- Step.Volume = 0.5;
- local BodyPosition = Instance.new("BodyPosition",obj34);
- BodyPosition.maxForce = Vector3.new(0,400000000,0);
- BodyPosition.position = Vector3.new(0,4,0);
- local BodyVelocity = Instance.new("BodyVelocity",obj34);
- BodyVelocity.maxForce = Vector3.new();
- WeldAll(obj27,{"Ear","Eye","Mouth","Nose"},obj1,nil);
- WeldAll(obj34,{"Wool"},obj1,nil);
- WeldAll(obj50,{"Right Foot"},obj1,nil);
- WeldAll(obj52,{"Left Foot"},obj1,nil);
- WeldAll(obj39,{"Right Hand"},obj1,nil);
- WeldAll(obj32,{"Left Hand"},obj1,nil);
- WeldAll(obj48,{"Torso"},obj1,"RootJoint")
- -- Essential joints
- WeldAll(obj34,{"Left Leg"},obj1,"Left Hip");
- WeldAll(obj34,{"Right Leg"},obj1,"Right Hip");
- WeldAll(obj34,{"Left Arm"},obj1,"Left Shoulder");
- WeldAll(obj34,{"Right Arm"},obj1,"Right Shoulder");
- WeldAll(obj34,{"Head"},obj1,"Neck");
- -- Creating Humanoid
- local Humanoid = Instance.new("Humanoid");
- Humanoid.Name = "Human";
- Humanoid.Parent = obj1;
- obj1.Name = "Sheep";
- obj1.Parent = Workspace
- obj1:MakeJoints()
- return obj1;
- end
- SheepClient = [===[
- wait();
- local sheep = script.Parent;
- local Seat = sheep:WaitForChild("Seat");
- local torso = sheep:WaitForChild("Torso");
- sheep.DescendantAdded:connect(function(o)
- if o:isA("Weld") or o:isA("Motor6D") or o:isA("Weld") then o:Destroy() end
- end)
- local rootpart = sheep:WaitForChild("HumanoidRootPart");
- local hrp = rootpart:WaitForChild("RootJoint");
- local head = sheep:WaitForChild("Head");
- local bp = torso.BodyPosition;
- local bv = torso.BodyVelocity;
- neckc1 = CFrame.new(-0.886953354, -1.02500272, 1.03487682, 0.739775419, -4.0819944e-007, -0.672853827, -1.09830658e-007, 1, -7.27423185e-007, 0.672853827, 6.12029737e-007, 0.739775419);
- function mult(m,c)
- m.C0=m.C0*c;
- end
- mult(torso["Right Shoulder"],CFrame.Angles(0,math.rad(90),0) * CFrame.new(0,0,1.5));
- mult(torso["Left Shoulder"],CFrame.Angles(0,math.rad(90),0) * CFrame.new(1.5,0,0));
- mult(torso["Right Hip"],CFrame.Angles(0,math.rad(90),0)*CFrame.new(-1.6,0,-1))
- mult(torso["Left Hip"],CFrame.Angles(0,math.rad(90),0)*CFrame.new(0,0,-2.4))
- SheepSounds = {
- "http://roblox.com/asset?id=153802574",
- "http://roblox.com/asset?id=153802557",
- "http://roblox.com/asset?id=153802585"
- }
- FootSteps = {
- [1] = {"185700502","185700484","185700458","185700448","185700432"},
- [2] = {"187263007","187263016","187263022","187263000","187262992"},
- [4] = {"187263007","187263016","187263022","187263000","187262992"},
- }
- LaserSounds = {
- "http://roblox.com/asset?id=75494297",
- "http://roblox.com/asset?id=265581381"
- }
- LaserBeam = Instance.new("Part")
- LaserBeam.FormFactor = Enum.FormFactor.Custom
- LaserBeam.TopSurface = Enum.SurfaceType.Smooth
- LaserBeam.BottomSurface = Enum.SurfaceType.Smooth
- LaserBeam.Material = Enum.Material.Neon
- LaserBeam.Size = Vector3.new(0.200000003, 157.199997, 0.200000003)
- LaserBeam.Anchored = true
- LaserBeam.CanCollide = false;
- LaserBeam.BrickColor = BrickColor.new("Really red")
- LaserBeam.Friction = 0.30000001192093
- LaserBeam.Shape = Enum.PartType.Block
- LaserBeam.Name = "LaserBeam"
- Fur = {}
- for _,v in pairs(sheep:GetChildren()) do
- if v:isA("BasePart") and (v.BrickColor.name:match("grey") or v.BrickColor.name:match("gray") ) then
- Fur[#Fur+1]={v,v.BrickColor.name};
- end
- end
- local Hearts = head:WaitForChild("Hearts");
- local Note = head:WaitForChild("Note").Frame.TextLabel;
- local NoteFrame = Note.Parent;
- NoteFrame.BackgroundTransparency = 1;
- Feces = Instance.new("Part")
- Feces.FormFactor = Enum.FormFactor.Custom
- Feces.TopSurface = Enum.SurfaceType.Smooth
- Feces.BottomSurface = Enum.SurfaceType.Smooth
- Feces.Material = Enum.Material.Granite
- Feces.Size = Vector3.new(0.200000003, 0.200000003,math.random(40,60)/100)
- Feces.BrickColor = BrickColor.new("Brown")
- Feces.Friction = 0.30000001192093
- Feces.Shape = Enum.PartType.Block
- Feces.Name = "Feces";
- mesh = Instance.new("SpecialMesh")
- mesh.MeshType = Enum.MeshType.Sphere
- mesh.Parent = Feces
- local Sound = sheep.Head.Baa;
- local Terror = Sound:clone();
- Terror.Name = "Terror";
- Terror.Volume = .5;
- Terror.Parent = sheep.Head;
- Terror.SoundId = "http://roblox.com/asset?id=171412824";
- local FlySound = Sound:clone();
- FlySound.Parent = sheep.Head;
- FlySound.Name = "Fly";
- FlySound.SoundId = "rbxasset://sounds/action_falling.mp3";
- FlySound.Volume = .5;
- FlySound.Looped = true;
- local Kick = Terror:clone();
- Kick.Parent = sheep.Torso;
- Kick.Name = "Kick";
- Kick.Volume = 1;
- Kick.SoundId = "http://roblox.com/asset?id=169380525";
- local Step = sheep.Torso.Step;
- local LaserSound = sheep.Head.Laser;
- function Weld(w)
- w.MaxVelocity = .1
- local part0 = w.Part0;
- local part1 = w.Part1;
- local c=CFrame.new(part0.Position)
- local part0cf = part0.CFrame:toObjectSpace(c)
- w.C0=part0cf
- w.C1=part1.CFrame:toObjectSpace(c)
- end
- local rs = torso["Right Shoulder"];
- local ls = torso["Left Shoulder"];
- local rh = torso["Right Hip"];
- local lh = torso["Left Hip"];
- local neck = torso["Neck"];
- freq = 12;
- rsc0 = rs.C0;
- lsc0 = ls.C0;
- rhc0 = rh.C0;
- lhc0 = lh.C0;
- neckc0 = neck.C0;
- local Eyes = {};
- for _,v in pairs(sheep:GetChildren()) do
- if v.Name == "Eye" then
- Eyes[#Eyes+1]=v;
- end
- end
- humanoid = sheep:WaitForChild("Human")
- Workspace.ChildRemoved:connect(function(o)
- if o == sheep then
- Terror.Volume = 0;
- Terror:Stop();
- end
- end)
- humanoid.Died:connect(function()
- Terror.Volume = 0;
- Terror:Stop();
- end)
- game.Players.LocalPlayer.Chatted:connect(function(msg)
- if msg:lower() == "g/r" then
- Terror.Volume = 0;
- Terror:Stop();
- end
- end)
- local rst = game:GetService("RunService").RenderStepped;
- local player = game:GetService("Players").LocalPlayer;
- local mouse = player:GetMouse();
- local neckangle = 0;
- local walkspeed = 1;
- function clamp(v,mi,ma)
- if v<mi then return mi elseif v>ma then return ma else return v; end
- end
- function stationary()
- rh:SetDesiredAngle(lockedrh or 0);
- rs:SetDesiredAngle(lockedrs or 0);
- lh:SetDesiredAngle(lockedlh or 0);
- ls:SetDesiredAngle(lockedls or 0);
- end
- local Ignore = {[1]=sheep}
- function ChangeState(h,state)
- if Workspace:FindFirstChild("ComH") then
- Workspace.ComH:FireServer(h,state)
- end
- end
- head.Touched:connect(function(o)
- if o.Parent:FindFirstChild("Humanoid") then
- if not Evil or headdeb or walkspeed ~= 4 then return end
- Kick:Play()
- headdeb = true;
- local char = o.Parent;
- ChangeState(char.Humanoid,"Flying")
- char.Humanoid.Health = o.Parent.Humanoid.Health - 10;
- char.Humanoid.Sit = true;
- char.Torso.Velocity = torso.CFrame.lookVector * (walkspeed==64 and 120*2 or 120);
- coroutine.wrap(function()
- wait(4)
- ChangeState(char.Humanoid,"GettingUp");
- end)()
- wait(1)
- headdeb = false;
- end
- end)
- Mountable = false;
- Flying = false;
- KickAnim = function()
- for i = 0,-0.5,-0.1 do
- LockNeck = CFrame.Angles(i,0,0);
- LockHrp = CFrame.Angles(i/2,0,0);
- wait();
- end
- LockNeck = CFrame.Angles(-0.5,0,0)
- LockHrp = CFrame.Angles(-0.25,0,0)
- Kick:Play();
- wait()
- for i = -0.5,0,0.1 do
- LockNeck = CFrame.Angles(i,0,0);
- LockHrp = CFrame.Angles(i/2,0,0);
- wait();
- end
- LockNeck = nil;
- LockHrp = nil;
- end
- Seat.Changed:connect(function(property)
- if property ~= 'Occupant' then return end
- local occupant = Seat.Occupant
- if occupant then
- local ch = occupant.Parent;
- local torso = ch.Torso;
- if not Mountable or Evil then
- KickAnim()
- occupant:TakeDamage(30);
- occupant.Jump = true;
- wait(.1);
- occupant.Sit = true;
- torso.Velocity = -torso.CFrame.lookVector*120;
- end
- end
- end)
- print(" R: Baah, T: Toggle Mountable, Y: Kick, U: Relieve Waste, K: Follow Camera");
- FollowCamera = false;
- function brace()
- for i = 0,-0.5,-0.1 do
- LockNeck = CFrame.Angles(i,0,0);
- LockHrp = CFrame.Angles(i/2,0,0);
- wait();
- end
- LockNeck = CFrame.Angles(-0.5,0,0)
- LockHrp = CFrame.Angles(-0.25,0,0)
- end
- function endbrace()
- for i = -0.5,0,0.1 do
- LockNeck = CFrame.Angles(i,0,0);
- LockHrp = CFrame.Angles(i/2,0,0);
- wait();
- end
- LockNeck = nil;
- LockHrp = nil;
- end
- invisible = false;
- revealing = false;
- mouse.KeyDown:connect(function(k)
- if k == "m" then
- revealing = not revealing;
- end
- if k == "f" and not Evil then
- print("G: Fire Lasers, V: Fly/Land, K: Follow Camera");
- print'EvilSheepMode';
- edown = false;
- qdown = false;
- TurningEvil = true;
- neckangle = 6.2
- neck.MaxVelocity = 0.02
- wait(3);
- for _,v in pairs(Fur) do
- local part,brickcolor = unpack(v);
- part.BrickColor = BrickColor.new("Really black");
- end
- for _,v in pairs(Eyes) do
- v.BrickColor = BrickColor.new("Really red");
- v.Material = "Neon"
- end
- Sound.Pitch = .5;
- neck.MaxVelocity = 1;
- neckangle = 0;
- wait(.5)
- neck.MaxVelocity = 0.01
- TurningEvil = false;
- Evil = true; wait()
- Terror:Play();
- Terror.Looped = false;
- elseif k == "f" and Evil and not Flying then
- print(" R: Baah, T: Toggle Mountable, Y: Kick, U: Relieve Waste, K: Follow Camera");
- Terror:Stop();
- for _,v in pairs(Fur) do
- local part,brickcolor = unpack(v);
- part.BrickColor = BrickColor.new(brickcolor)
- end
- for _,v in pairs(Eyes) do
- v.BrickColor = BrickColor.new("Really black");
- v.Material = "SmoothPlastic"
- end
- Evil = false;
- end
- if k == "r" and not randeb then
- randeb = true;
- ran = 0;
- wait(.5);
- randeb = false;
- end
- if TurningEvil then return end
- if k == "c" and not freezedeb and Evil then
- freezedeb = true;
- spherepart = Instance.new("Part",Workspace)
- spherepart.FormFactor = Enum.FormFactor.Symmetric
- spherepart.CanCollide = false
- spherepart.Transparency = 0
- spherepart.TopSurface = Enum.SurfaceType.Smooth
- spherepart.BottomSurface = Enum.SurfaceType.Smooth
- spherepart.Material = Enum.Material.Granite
- spherepart.Size = Vector3.new(6.39999866, 1, 6.99999905)
- spherepart.Anchored = true
- spherepart.BrickColor = BrickColor.new("Bright violet")
- spherepart.Friction = 0.30000001192093
- spherepart.Shape = Enum.PartType.Block
- sphere = Instance.new("SpecialMesh")
- sphere.MeshType = Enum.MeshType.Sphere
- sphere.Parent = spherepart
- spherepart.Transparency = 1;
- local freeze = Instance.new("Sound",spherepart);
- freeze.SoundId = "http://roblox.com/asset?id=248572927";
- freeze.Pitch = .75;
- freeze.Volume = 1;
- local ws = humanoid.WalkSpeed;
- humanoid.WalkSpeed = 0;
- brace()
- wait(2)
- endbrace();
- local cf = torso.CFrame * CFrame.new(0,-3,0);
- spherepart.CFrame = cf;
- local original = spherepart.Size;
- -- 20
- local anchored = {};
- local touched = spherepart.Touched:connect(function(o)
- if o:isA("BasePart") and not o:IsDescendantOf(sheep) then
- local last = o.Anchored;
- o.Anchored = true; anchored[#anchored+1]={o,last};
- if o.Parent ~= Workspace then
- for _,v in pairs(o.Parent:GetChildren()) do
- if v:isA("BasePart") and not v:IsDescendantOf(sheep) then
- local last = v.Anchored;
- v.Anchored = true; anchored[#anchored+1] = {v,last};
- end
- end
- end
- end
- end)
- freeze:Play();
- torso.Anchored = false;
- spherepart.Transparency = 0.1;
- for i = 1,60,10 do
- spherepart.Size = Vector3.new(original.X+i,original.Y,original.Z+i);
- sphere.Scale = Vector3.new(1,1,1)*(i/30);
- spherepart.CFrame = cf;
- wait();
- end
- humanoid.WalkSpeed = ws;
- wait(10);
- original = spherepart.Size;
- for i = 60,1,-10 do
- spherepart.Size = Vector3.new(original.X-i,original.Y,original.Z-i);
- sphere.Scale = Vector3.new(2,2,2)*(i/30);
- spherepart.CFrame = cf;
- wait();
- end
- for _,v in pairs(anchored) do
- local part,lastanchored = unpack(v);
- if lastanchored == false then
- part.Anchored = false;
- end
- end
- spherepart:Destroy();
- freezedeb = false;
- end
- if k == "n" and Evil then
- shielded = not shielded
- if shielded == true then
- brace();
- rootpart.Anchored = true;
- shield = Instance.new("Part",Workspace);
- ff = Instance.new("ForceField",sheep);
- shield.BrickColor = BrickColor.new("Really black");
- shield.Anchored = true;
- shield.Name = "shield";
- shield.Transparency = .5;
- shield.Size = Vector3.new(30,30,30);
- mesh = Instance.new("SpecialMesh",shield);
- mesh.MeshType = "Sphere";
- shield.Material = "Ice";
- shield.CFrame = torso.CFrame;
- shield2 = shield:clone(); shield2.Parent = Workspace;
- shield2.Size = Vector3.new(15,15,15);
- shield2.CFrame = shield.CFrame;
- shield3 = shield:clone(); shield3.Parent = Workspace;
- shield3.Size = Vector3.new(5,5,5);
- shield3.CFrame = shield.CFrame;
- removed = Workspace.ChildRemoved:connect(function(o)
- if o.Name == "shield" then
- shield = o:Clone(); shield.Parent = Workspace;
- shield.CFrame = o.CFrame;
- end
- end)
- else
- endbrace(); if removed then removed:disconnect() end
- shield:Destroy();
- shield2:Destroy(); shield3:Destroy();
- ff:Destroy();
- rootpart.Anchored = false;
- end
- end
- if k == "z" and Evil and not poofdeb then poofdeb = true;
- local smokepart = Instance.new("Part",Workspace); smokepart.Transparency = 1;
- smokepart.Anchored = true; smokepart.CanCollide = false;
- smokepart.CFrame = torso.CFrame;
- local smoke = Instance.new("Smoke",smokepart); smoke.Color = Color3.new();
- smoke.Opacity = 1;
- smoke.Enabled = true;
- local rx = ({-25,-50,25,50,-75,-100,75,100})[math.random(1,8)];
- local rz = ({-25,-50,25,50,-75,-100,75,100})[math.random(1,8)];
- torso.CFrame =
- CFrame.new(torso.Position+Vector3.new(rx,0,rz));
- wait(2); smoke.Enabled = false; poofdeb = false; smokepart:Destroy();
- end
- if k == "x" and Evil then
- if not invisible then invisible = true;
- for _,v in pairs(sheep:GetChildren()) do
- if v:isA("BasePart") then v.Transparency = 1; end
- end
- else invisible = false;
- for _,v in pairs(sheep:GetChildren()) do
- if v:isA("BasePart") then v.Transparency = 0; end
- end
- end
- end
- if k == "v" and Evil then
- if not Flying then
- Flying = true;
- bp.maxForce = Vector3.new();
- bv.maxForce = Vector3.new(400000000,400000000,400000000);
- lockedls = 1.6; lockedrs = 1.6 lockedlh = -1.6; lockedrh = -1.6;
- ls:SetDesiredAngle(lockedls); rs:SetDesiredAngle(lockedrs); lh:SetDesiredAngle(lockedlh);
- rh:SetDesiredAngle(lockedrh);
- ls.C0 = lsc0 * CFrame.new(-1.7,0,0);
- rs.C0 = rsc0 * CFrame.new(0,-1.5,0);
- lh.C0 = lhc0 * CFrame.new(-0.5,-1.6,0);
- rh.C0 = rhc0 * CFrame.new(1.1,0,0);
- FlySound:Play();
- else
- local ray = Ray.new(rootpart.Position,Vector3.new(0,-5,0));
- local hit,pos = Workspace:FindPartOnRayWithIgnoreList(ray,{sheep},false,false);
- if hit then
- Flying = false;
- bp.maxForce = Vector3.new(0,400000,0);
- bv.maxForce = Vector3.new();
- FlySound:Stop();
- lockedls = nil; lockedrs = nil; lockedlh = nil; lockedrh = nil;
- ls.C0 = lsc0;
- rs.C0 = rsc0;
- lh.C0 = lhc0;
- rh.C0 = rhc0;
- end
- end
- end
- if k == "t" and not Evil and not HeartDeb then
- HeartDeb = true;
- Mountable = not Mountable;
- if Mountable then
- Note.Text = "*Mountable*";
- NoteFrame.BackgroundTransparency = .8
- Hearts.Enabled = true;
- wait(1)
- Hearts.Enabled = false;
- wait(5)
- Note.Text = "";
- NoteFrame.BackgroundTransparency = 1;
- else
- if Seat.Occupant then
- Seat.Occupant.Jump = true;
- end
- end
- wait(1)
- HeartDeb = false;
- end
- if k == "g" and Evil and not deb then
- deb = true;
- stationary();
- local Beams = {};
- LaserSound.SoundId = LaserSounds[math.random(1,2)];
- wait();
- LaserSound:Play();
- for _,v in pairs(Eyes) do
- local Beam = LaserBeam:clone();
- Beam.Parent = Workspace;
- Ignore[#Ignore+1]=Beam;
- local cf = v.CFrame*CFrame.Angles(0,0,math.rad(-90))*CFrame.new(0,78,0);
- Beam.CFrame = cf;
- Beams[#Beams+1]=Beam;
- local dir = sheep.Head.CFrame* CFrame.Angles(0,math.rad(-45),0);
- ray = Ray.new(v.Position,dir.lookVector*158);
- local hit,pos = Workspace:FindPartOnRayWithIgnoreList(ray,Ignore,false,false);
- if hit then
- local expl = Instance.new("Explosion",Workspace);
- expl.Position = pos;
- if not hit.Name:lower():match("base") then
- hit:Destroy();
- end
- end
- end
- wait()
- for _,v in pairs(Beams) do
- v:Destroy();
- end
- wait(.5)
- deb = false;
- end
- if k == "y" and not kickdeb then
- local ray = Ray.new(sheep.Torso.Position,-sheep.Torso.CFrame.lookVector*4);
- local hit,pos = Workspace:FindPartOnRayWithIgnoreList(ray,{sheep},false,false);
- if hit and hit.Parent:FindFirstChild("Humanoid") then
- kickdeb = true;
- local ch = hit.Parent;
- local torso = ch.Torso;
- local human = ch.Humanoid;
- KickAnim();
- human:TakeDamage(30);
- human.Jump = true;
- wait(.1);
- human.Sit = true;
- torso.Velocity = -torso.CFrame.lookVector*(Evil and 120*2 or 120);
- wait(1)
- kickdeb = false;
- end
- end
- if k == "k" then
- FollowCamera = not FollowCamera;
- end
- if k == "u" and not excrementdeb then
- excrementdeb = true;
- for i = 1,math.random(10,70) do
- local feces = Feces:clone();
- feces.BrickColor = not Evil and Feces.BrickColor or BrickColor.new("Really red");
- local sound = Instance.new("Sound",feces); sound.Name = "Sound";
- sound.Volume = 1;
- sound.Pitch = .5;
- sound.SoundId = "http://roblox.com/asset?id="..({"203396574","203396561","203396588"})[math.random(1,3)];
- feces.Size = Vector3.new(0.200000003, 0.200000003,math.random(40,60)/100)
- feces.CFrame = torso.CFrame*CFrame.new(math.random(-20,20)/100,0,2)
- feces.Anchored = false;
- feces.Parent = Workspace;
- game.Debris:AddItem(feces,120);
- feces.Touched:connect(function(obj)
- if obj.Name == "feces" or obj.Parent == sheep then return end
- if feces:FindFirstChild("Sound") then
- wait()
- feces.Sound:Play();
- wait(1);
- feces.Sound:Destroy();
- end
- end);
- wait(math.random(1,10)/10);
- end
- wait(60)
- excrementdeb = false;
- end
- if k == "b" and Workspace:FindFirstChild("Base") then
- sheep.Torso.Anchored = true;
- wait()
- sheep.Torso.CFrame = Workspace.Base.CFrame * CFrame.new(0,10,0);
- wait()
- sheep.Torso.Anchored = false;
- end
- if k == "e" then
- repeat wait() until not qdown
- edown = true;
- end
- if k == "q" then
- repeat wait() until not edown
- qdown = true;
- end
- if k == "\48" then
- walkspeed = Evil and 4 or 2;
- freq = Evil and 24 or 18;
- humanoid.WalkSpeed = Evil and 64 or 32;
- end
- end)
- mouse.KeyUp:connect(function(k)
- if k == "e" then
- edown = false;
- end
- if k == "q" then
- qdown = false;
- end
- if k == "\48" then
- freq = 12;
- walkspeed = 1;
- humanoid.WalkSpeed = 12;
- end
- end)
- function walk()
- if torso.Velocity.magnitude >= 2 then
- rh:SetDesiredAngle(lockedrh or -.4)
- rs:SetDesiredAngle(lockedrs or .4)
- lh:SetDesiredAngle(lockedlh or .4)
- ls:SetDesiredAngle(lockedls or -.4)
- wait(.5/walkspeed)
- else
- stationary();
- end
- if torso.Velocity.magnitude >= 2 then
- rh:SetDesiredAngle(lockedrh or .4)
- rs:SetDesiredAngle(lockedrs or -0.4)
- lh:SetDesiredAngle(lockedlh or -.4)
- ls:SetDesiredAngle(lockedls or .4)
- wait(.5/walkspeed)
- else
- stationary();
- end
- end
- ran = 5;
- ranblink = 5;
- LastCheck = 0;
- LastBlinkCheck = 0;
- LastRunCheck = 0;
- local asin = math.asin;
- local abs = math.abs;
- local headoriginal = neck.C0;
- local hrporiginal = hrp.C0;
- camera = Workspace.CurrentCamera;
- function scanreveal(p)
- for _,v in pairs(p:GetChildren()) do
- if v:isA("BasePart") and not v:isDescendantOf(script.Parent) and v.Transparency > 0.9 and not v.Name:match("Root") then
- v.Transparency = 0;
- else
- scanreveal(v);
- end
- end
- end
- revealtime = 0;
- while true do
- rst:wait();
- humanoid.Health = humanoid.MaxHealth;
- local time = Workspace.DistributedGameTime;
- if revealing and time-revealtime >= 1 then
- revealtime = time;
- scanreveal(Workspace);
- end
- if FollowCamera or Flying then
- rootpart.CFrame=CFrame.new(rootpart.Position,rootpart.Position+camera.CoordinateFrame.lookVector*Vector3.new(10,Flying and 10 or 0,10))
- end
- if Flying then
- neck.C0=CFrame.Angles(-.5,0,0)
- neck.C1 = neckc1;
- humanoid.PlatformStand = true
- torso.RotVelocity = Vector3.new();
- rootpart.RotVelocity = Vector3.new();
- bv.velocity = (rootpart.CFrame.lookVector*50)--+Vector3.new(0,30,0)
- else
- humanoid.PlatformStand = false;
- end
- local MouseX = mouse.X;
- local MouseY = mouse.Y;
- local d = torso.CFrame:pointToObjectSpace(mouse.UnitRay.Origin+mouse.UnitRay.Direction.unit*100);
- local mouseX = Evil and math.atan2(d.X,-d.Z) or asin(((MouseX/mouse.ViewSizeX)-1));
- local mouseY = asin(-d.unit.Y);
- local mouseYP = asin(((MouseY/mouse.ViewSizeY)-0.5)*2);
- local angleY = -mouseY -- clamp(-mouseY,-1.3,2.05);
- local angleYP = -mouseYP
- local angleX = -mouseX -- clamp(-mouseX,-1.5,1.5);
- local HeadY = clamp(angleY,-0.2,0.8);
- local HeadYPassive = clamp(angleYP,-0.2,0.8);
- if not Flying and(not (mouse.Y <= 3 or mouse.X >= mouse.ViewSizeX - 5 or mouse.X <= 3 or mouse.Y >= mouse.ViewSizeY - 5)) then
- if torso.Velocity.magnitude >= 2 then Walking = true
- local sin = math.sin(time*freq);
- local desangle = 1.1 * sin;
- rh.DesiredAngle = lockedrh or -desangle
- rs.DesiredAngle = lockedrs or -desangle
- lh.DesiredAngle = lockedlh or desangle;
- ls.DesiredAngle = lockedls or desangle;
- else
- Walking = false;
- rh:SetDesiredAngle(lockedrh or 0);
- rs:SetDesiredAngle(lockedrs or 0);
- lh:SetDesiredAngle(lockedlh or 0);
- ls:SetDesiredAngle(lockedls or 0);
- end
- neck.C1 = LockNeck and neckc1 or CFrame.new();
- neck.C0= LockNeck or (Evil and CFrame.new(0,1,-1)*CFrame.Angles(angleY,angleX,0)*CFrame.Angles(-.025,.7,0) or
- CFrame.new(0,1,-1)*CFrame.Angles(HeadYPassive,angleX,0)
- )
- -- hrp.C0 = LockHrp or hrporiginal;
- ls.MaxVelocity = 0.04*walkspeed;
- rs.MaxVelocity = 0.04*walkspeed;
- lh.MaxVelocity = 0.04*walkspeed;
- rh.MaxVelocity = 0.04*walkspeed;
- if qdown then
- neckangle = clamp(neckangle+0.01,-0.5,0.5)
- elseif edown then
- neckangle = clamp(neckangle-0.01,-0.5,0.5);
- end
- if Workspace.DistributedGameTime-LastBlinkCheck >= ranblink then
- LastBlinkCheck = Workspace.DistributedGameTime
- ranblink = math.random(3,8);
- for _,v in pairs(Eyes) do
- v.Mesh.Scale = Vector3.new(1,.1,1);
- end
- wait(.1)
- for _,v in pairs(Eyes) do
- v.Mesh.Scale = Vector3.new(1,1,1);
- end
- end
- if Workspace.DistributedGameTime-LastRunCheck >= .5/walkspeed and Walking then
- LastRunCheck = Workspace.DistributedGameTime;
- Step.SoundId = "http://roblox.com/asset?id="..FootSteps[walkspeed][math.random(1,5)];
- Step:Play();
- end
- if Workspace.DistributedGameTime-LastCheck >= ran then
- Sound.SoundId = SheepSounds[math.random(1,#SheepSounds)];
- Sound.Pitch = Evil and .5 or math.random(80,120)/100;
- wait();
- Sound:Play();
- LastCheck = Workspace.DistributedGameTime;
- ran = math.random(5,15);
- end
- if not LockNeck then neck:SetDesiredAngle(neckangle); end
- end
- end
- ]===]
- function MakePlayerSheep(player)
- if Workspace:FindFirstChild("Com") or NLS then
- local sheep = SpawnSheep();
- sheep:MakeJoints();
- sheep:TranslateBy(Vector3.new(150/3,5,150/3)-sheep:GetModelCFrame().p)
- Workspace.CurrentCamera.CameraSubject = sheep.Human;
- local ch = player.Character;
- ch.Humanoid:Destroy();
- wait(.5);
- for _,v in pairs(ch:GetChildren()) do
- v:Destroy();
- end
- for _,v in pairs(sheep:GetChildren()) do
- v.Parent = ch;
- end
- if not NLS then Workspace.Com:FireServer(SheepClient,ch,"NLS"); else NLS(SheepClient,ch) end
- end
- end
- MakePlayerSheep(game.Players.LocalPlayer);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement