SHOW:
|
|
- or go back to the newest paste.
1 | ||
2 | --Converted with ttyyuu12345's model to script plugin v4 | |
3 | function sandbox(var,func) | |
4 | local env = getfenv(func) | |
5 | local newenv = setmetatable({},{ | |
6 | __index = function(self,k) | |
7 | if k=="script" then | |
8 | return var | |
9 | else | |
10 | return env[k] | |
11 | end | |
12 | end, | |
13 | }) | |
14 | setfenv(func,newenv) | |
15 | return func | |
16 | end | |
17 | cors = {} | |
18 | mas = Instance.new("Model",game:GetService("Lighting")) | |
19 | - | BlockMesh0 = Instance.new("BlockMesh") |
19 | + | Model0 = Instance.new("Model") |
20 | Part1 = Instance.new("Part") | |
21 | - | Part2 = Instance.new("Part") |
21 | + | SpecialMesh2 = Instance.new("SpecialMesh") |
22 | - | Part3 = Instance.new("Part") |
22 | + | Sound3 = Instance.new("Sound") |
23 | - | Part4 = Instance.new("Part") |
23 | + | Sound4 = Instance.new("Sound") |
24 | - | Part5 = Instance.new("Part") |
24 | + | Sound5 = Instance.new("Sound") |
25 | - | Part6 = Instance.new("Part") |
25 | + | Weld6 = Instance.new("Weld") |
26 | - | Part7 = Instance.new("Part") |
26 | + | Weld7 = Instance.new("Weld") |
27 | - | BlockMesh8 = Instance.new("BlockMesh") |
27 | + | PointLight8 = Instance.new("PointLight") |
28 | - | Part9 = Instance.new("Part") |
28 | + | Decal9 = Instance.new("Decal") |
29 | Part10 = Instance.new("Part") | |
30 | - | Script11 = Instance.new("Script") |
30 | + | Decal11 = Instance.new("Decal") |
31 | - | Part12 = Instance.new("Part") |
31 | + | Motor6D12 = Instance.new("Motor6D") |
32 | - | Script13 = Instance.new("Script") |
32 | + | Motor6D13 = Instance.new("Motor6D") |
33 | - | BlockMesh8.Parent = Part7 |
33 | + | Motor6D14 = Instance.new("Motor6D") |
34 | - | Part1.Parent = mas |
34 | + | Motor6D15 = Instance.new("Motor6D") |
35 | - | Part1.CFrame = CFrame.new(-265, 1145, 10, 0, 0, -1, 0, 1, -0, 1, 0, -0) |
35 | + | Motor6D16 = Instance.new("Motor6D") |
36 | - | Part1.Orientation = Vector3.new(0, -90, 0) |
36 | + | Part17 = Instance.new("Part") |
37 | - | Part1.Position = Vector3.new(-265, 1145, 10) |
37 | + | Part18 = Instance.new("Part") |
38 | - | Part1.Rotation = Vector3.new(0, -90, 0) |
38 | + | Weld19 = Instance.new("Weld") |
39 | - | Part1.Size = Vector3.new(530, 72, 2) |
39 | + | Part20 = Instance.new("Part") |
40 | - | Part1.Anchored = true |
40 | + | Part21 = Instance.new("Part") |
41 | - | Part1.BottomSurface = Enum.SurfaceType.Smooth |
41 | + | Humanoid22 = Instance.new("Humanoid") |
42 | - | Part1.Reflectance = 1 |
42 | + | Model23 = Instance.new("Model") |
43 | - | Part1.TopSurface = Enum.SurfaceType.Smooth |
43 | + | Model24 = Instance.new("Model") |
44 | - | Part2.Parent = mas |
44 | + | Part25 = Instance.new("Part") |
45 | - | Part2.CFrame = CFrame.new(249, 1145, 11, 0, 0, -1, 0, 1, -0, 1, 0, -0) |
45 | + | Motor6D26 = Instance.new("Motor6D") |
46 | - | Part2.Orientation = Vector3.new(0, -90, 0) |
46 | + | Part27 = Instance.new("Part") |
47 | - | Part2.Position = Vector3.new(249, 1145, 11) |
47 | + | SpecialMesh28 = Instance.new("SpecialMesh") |
48 | - | Part2.Rotation = Vector3.new(0, -90, 0) |
48 | + | Sound29 = Instance.new("Sound") |
49 | - | Part2.Color = Color3.new(0.972549, 0.972549, 0.972549) |
49 | + | Sound30 = Instance.new("Sound") |
50 | - | Part2.Size = Vector3.new(528, 72, 2) |
50 | + | ParticleEmitter31 = Instance.new("ParticleEmitter") |
51 | - | Part2.Anchored = true |
51 | + | ParticleEmitter32 = Instance.new("ParticleEmitter") |
52 | - | Part2.BottomSurface = Enum.SurfaceType.Smooth |
52 | + | Sound33 = Instance.new("Sound") |
53 | - | Part2.BrickColor = BrickColor.new("Institutional white") |
53 | + | Sound34 = Instance.new("Sound") |
54 | - | Part2.Reflectance = 1 |
54 | + | Script35 = Instance.new("Script") |
55 | - | Part2.TopSurface = Enum.SurfaceType.Smooth |
55 | + | Script36 = Instance.new("Script") |
56 | - | Part2.brickColor = BrickColor.new("Institutional white") |
56 | + | StringValue37 = Instance.new("StringValue") |
57 | - | Part3.Parent = mas |
57 | + | Animation38 = Instance.new("Animation") |
58 | - | Part3.CFrame = CFrame.new(-8, 1108, 10, -1, 0, 0, 0, 0, 1, 0, 1, 0) |
58 | + | StringValue39 = Instance.new("StringValue") |
59 | - | Part3.Orientation = Vector3.new(-90, -180, 0) |
59 | + | Animation40 = Instance.new("Animation") |
60 | - | Part3.Position = Vector3.new(-8, 1108, 10) |
60 | + | StringValue41 = Instance.new("StringValue") |
61 | - | Part3.Rotation = Vector3.new(-90, 0, -180) |
61 | + | Animation42 = Instance.new("Animation") |
62 | - | Part3.Size = Vector3.new(516, 530, 2) |
62 | + | NumberValue43 = Instance.new("NumberValue") |
63 | - | Part3.Anchored = true |
63 | + | Animation44 = Instance.new("Animation") |
64 | - | Part3.BottomSurface = Enum.SurfaceType.Smooth |
64 | + | NumberValue45 = Instance.new("NumberValue") |
65 | - | Part3.Reflectance = 1 |
65 | + | StringValue46 = Instance.new("StringValue") |
66 | - | Part3.TopSurface = Enum.SurfaceType.Smooth |
66 | + | Animation47 = Instance.new("Animation") |
67 | - | Part4.Parent = mas |
67 | + | StringValue48 = Instance.new("StringValue") |
68 | - | Part4.CFrame = CFrame.new(-7, 1145, -254, -1, 0, -0, -0, 1, -0, -0, 0, -1) |
68 | + | Animation49 = Instance.new("Animation") |
69 | - | Part4.Orientation = Vector3.new(0, -180, 0) |
69 | + | StringValue50 = Instance.new("StringValue") |
70 | - | Part4.Position = Vector3.new(-7, 1145, -254) |
70 | + | Animation51 = Instance.new("Animation") |
71 | - | Part4.Rotation = Vector3.new(180, 0, -180) |
71 | + | StringValue52 = Instance.new("StringValue") |
72 | - | Part4.Size = Vector3.new(514, 72, 2) |
72 | + | Animation53 = Instance.new("Animation") |
73 | - | Part4.Anchored = true |
73 | + | StringValue54 = Instance.new("StringValue") |
74 | - | Part4.BottomSurface = Enum.SurfaceType.Smooth |
74 | + | Animation55 = Instance.new("Animation") |
75 | - | Part4.Reflectance = 1 |
75 | + | Animation56 = Instance.new("Animation") |
76 | - | Part4.TopSurface = Enum.SurfaceType.Smooth |
76 | + | Sound57 = Instance.new("Sound") |
77 | - | Part5.Parent = mas |
77 | + | Pants58 = Instance.new("Pants") |
78 | - | Part5.CFrame = CFrame.new(-8, 1144.99988, 274, -1, 0, -0, -0, 1, -0, -0, 0, -1) |
78 | + | BodyColors59 = Instance.new("BodyColors") |
79 | - | Part5.Orientation = Vector3.new(0, -180, 0) |
79 | + | Part60 = Instance.new("Part") |
80 | - | Part5.Position = Vector3.new(-8, 1144.99988, 274) |
80 | + | SpecialMesh61 = Instance.new("SpecialMesh") |
81 | - | Part5.Rotation = Vector3.new(180, 0, -180) |
81 | + | Decal62 = Instance.new("Decal") |
82 | - | Part5.Size = Vector3.new(512, 72, 2) |
82 | + | Script63 = Instance.new("Script") |
83 | - | Part5.Anchored = true |
83 | + | Sound64 = Instance.new("Sound") |
84 | - | Part5.BottomSurface = Enum.SurfaceType.Smooth |
84 | + | Part65 = Instance.new("Part") |
85 | - | Part5.Reflectance = 1 |
85 | + | SpecialMesh66 = Instance.new("SpecialMesh") |
86 | - | Part5.TopSurface = Enum.SurfaceType.Smooth |
86 | + | Decal67 = Instance.new("Decal") |
87 | - | Part6.Parent = mas |
87 | + | Script68 = Instance.new("Script") |
88 | - | Part6.CFrame = CFrame.new(-8, 1182, 10, -1, 0, 0, 0, 0, 1, 0, 1, -0) |
88 | + | Shirt69 = Instance.new("Shirt") |
89 | - | Part6.Orientation = Vector3.new(-90, -180, 0) |
89 | + | CharacterMesh70 = Instance.new("CharacterMesh") |
90 | - | Part6.Position = Vector3.new(-8, 1182, 10) |
90 | + | CharacterMesh71 = Instance.new("CharacterMesh") |
91 | - | Part6.Rotation = Vector3.new(-90, 0, -180) |
91 | + | Model0.Name = "Chara." |
92 | - | Part6.Size = Vector3.new(516, 530, 2) |
92 | + | Model0.Parent = mas |
93 | - | Part6.Anchored = true |
93 | + | Model0.PrimaryPart = Part1 |
94 | - | Part6.BottomSurface = Enum.SurfaceType.Smooth |
94 | + | Part1.Name = "Head" |
95 | - | Part6.Reflectance = 1 |
95 | + | Part1.Parent = Model0 |
96 | - | Part6.TopSurface = Enum.SurfaceType.Smooth |
96 | + | Part1.CFrame = CFrame.new(207.87999, 4.49999905, 196.689941, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
97 | - | Part7.Parent = mas |
97 | + | Part1.Position = Vector3.new(207.87999, 4.49999905, 196.689941) |
98 | - | Part7.CFrame = CFrame.new(-8.5, 1109.5, 10.5, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
98 | + | Part1.Color = Color3.new(0.972549, 0.972549, 0.972549) |
99 | - | Part7.Position = Vector3.new(-8.5, 1109.5, 10.5) |
99 | + | Part1.Size = Vector3.new(2, 1, 1) |
100 | - | Part7.Color = Color3.new(0.203922, 0.556863, 0.25098) |
100 | + | Part1.BackParamA = -99999 |
101 | - | Part7.Size = Vector3.new(511, 1, 525) |
101 | + | Part1.BackParamB = 99999 |
102 | - | Part7.BottomSurface = Enum.SurfaceType.Smooth |
102 | + | Part1.BackSurface = Enum.SurfaceType.SmoothNoOutlines |
103 | - | Part7.BrickColor = BrickColor.new("Sea green") |
103 | + | Part1.BottomParamA = -99999 |
104 | - | Part7.Material = Enum.Material.Grass |
104 | + | Part1.BottomParamB = 99999 |
105 | - | Part7.TopSurface = Enum.SurfaceType.Smooth |
105 | + | Part1.BottomSurface = Enum.SurfaceType.SmoothNoOutlines |
106 | - | Part7.brickColor = BrickColor.new("Sea green") |
106 | + | Part1.BrickColor = BrickColor.new("Institutional white") |
107 | - | BlockMesh8.Parent = Part7 |
107 | + | Part1.CustomPhysicalProperties = 0.699999988, 2, 0, 1, 1 |
108 | - | Part9.Parent = mas |
108 | + | Part1.Elasticity = 0 |
109 | - | Part9.CFrame = CFrame.new(75, 1110.5, -71, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
109 | + | Part1.Friction = 0 |
110 | - | Part9.Position = Vector3.new(75, 1110.5, -71) |
110 | + | Part1.FrontParamA = -99999 |
111 | - | Part9.Color = Color3.new(0.203922, 0.556863, 0.25098) |
111 | + | Part1.FrontParamB = 99999 |
112 | - | Part9.Size = Vector3.new(4, 1, 2) |
112 | + | Part1.FrontSurface = Enum.SurfaceType.SmoothNoOutlines |
113 | - | Part9.BottomSurface = Enum.SurfaceType.Smooth |
113 | + | Part1.LeftParamA = -99999 |
114 | - | Part9.BrickColor = BrickColor.new("Sea green") |
114 | + | Part1.LeftParamB = 99999 |
115 | - | Part9.Material = Enum.Material.Grass |
115 | + | Part1.LeftSurface = Enum.SurfaceType.SmoothNoOutlines |
116 | - | Part9.TopSurface = Enum.SurfaceType.Smooth |
116 | + | Part1.Locked = true |
117 | - | Part9.brickColor = BrickColor.new("Sea green") |
117 | + | Part1.Material = Enum.Material.SmoothPlastic |
118 | - | Part10.Name = "Part1" |
118 | + | Part1.RightParamA = -99999 |
119 | - | Part10.Parent = mas |
119 | + | Part1.RightParamB = 99999 |
120 | - | Part10.CFrame = CFrame.new(242, 0.200002, 239, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
120 | + | Part1.RightSurface = Enum.SurfaceType.SmoothNoOutlines |
121 | - | Part10.Position = Vector3.new(242, 0.200002, 239) |
121 | + | Part1.TopParamA = -99999 |
122 | - | Part10.Color = Color3.new(0.294118, 0.592157, 0.294118) |
122 | + | Part1.TopParamB = 99999 |
123 | - | Part10.Size = Vector3.new(4, 0.400000006, 4) |
123 | + | Part1.TopSurface = Enum.SurfaceType.SmoothNoOutlines |
124 | - | Part10.Anchored = true |
124 | + | Part1.brickColor = BrickColor.new("Institutional white") |
125 | - | Part10.BottomSurface = Enum.SurfaceType.Smooth |
125 | + | Part1.FormFactor = Enum.FormFactor.Symmetric |
126 | - | Part10.BrickColor = BrickColor.new("Bright green") |
126 | + | Part1.formFactor = Enum.FormFactor.Symmetric |
127 | - | Part10.Material = Enum.Material.Grass |
127 | + | SpecialMesh2.Parent = Part1 |
128 | - | Part10.TopSurface = Enum.SurfaceType.Smooth |
128 | + | SpecialMesh2.Scale = Vector3.new(1.25, 1.25, 1.25) |
129 | - | Part10.brickColor = BrickColor.new("Bright green") |
129 | + | Sound3.Name = "Jeff_Step" |
130 | - | Part10.FormFactor = Enum.FormFactor.Plate |
130 | + | Sound3.Parent = Part1 |
131 | - | Part10.formFactor = Enum.FormFactor.Plate |
131 | + | Sound3.EmitterSize = 0 |
132 | - | Script11.Parent = Part10 |
132 | + | Sound3.MinDistance = 0 |
133 | - | table.insert(cors,sandbox(Script11,function() |
133 | + | Sound3.SoundId = "rbxassetid://379611235" |
134 | - | --By zamsongod. |
134 | + | Sound3.Volume = 1 |
135 | - | --Unlike Clockwork's teleporter, this one teleports ANYTHING not just people! |
135 | + | Sound4.Name = "Jeff_Laugh" |
136 | - | --Make sure the Part to teleport to is in the same group as this Part. |
136 | + | Sound4.Parent = Part1 |
137 | - | --Feel FREE to Copy, Abuse and Covet! |
137 | + | Sound4.Looped = true |
138 | - | local Teleport = "Part2" --Put the name of the Part between the ""s. |
138 | + | Sound4.EmitterSize = 0 |
139 | - | function Touch(hit) --Indicates that the Part has been Touched. |
139 | + | Sound4.MinDistance = 0 |
140 | - | if script.Parent.Locked == false and script.Parent.Parent:findFirstChild(Teleport).Locked == false then script.Parent.Locked = true script.Parent.Parent:findFirstChild(Teleport).Locked = true --Checks Debounce. |
140 | + | Sound4.Pitch = 1.2000000476837 |
141 | - | local Pos = script.Parent.Parent:findFirstChild(Teleport) --Gets the Part to teleport to. |
141 | + | Sound4.PlaybackSpeed = 1.2000000476837 |
142 | - | hit.Parent:moveTo(Pos.Position) wait(1) script.Parent.Locked = false script.Parent.Parent:findFirstChild(Teleport).Locked = false end end --Takes you there and Ends the Function. |
142 | + | Sound4.SoundId = "rbxassetid://385276374" |
143 | - | script.Parent.Touched:connect(Touch) --Listens out for Touchers. |
143 | + | Sound4.Volume = 1 |
144 | Sound5.Name = "Jeff_Susto2" | |
145 | - | Part12.Name = "Part2" |
145 | + | Sound5.Parent = Part1 |
146 | - | Part12.Parent = mas |
146 | + | Sound5.EmitterSize = 0 |
147 | - | Part12.CFrame = CFrame.new(-9, 1110.19995, 269, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
147 | + | Sound5.MinDistance = 0 |
148 | - | Part12.Position = Vector3.new(-9, 1110.19995, 269) |
148 | + | Sound5.SoundId = "rbxassetid://320355925" |
149 | - | Part12.Color = Color3.new(0.768628, 0.156863, 0.109804) |
149 | + | Sound5.Volume = 1 |
150 | - | Part12.Size = Vector3.new(6, 0.400000006, 4) |
150 | + | Weld6.Name = "HeadWeld" |
151 | - | Part12.Anchored = true |
151 | + | Weld6.Parent = Part1 |
152 | - | Part12.BottomSurface = Enum.SurfaceType.Smooth |
152 | + | Weld6.C0 = CFrame.new(-0, -1.70000005, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
153 | - | Part12.BrickColor = BrickColor.new("Bright red") |
153 | + | Weld6.C1 = CFrame.new(-0, -1.5, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
154 | - | Part12.Material = Enum.Material.Neon |
154 | + | Weld6.Part0 = Part60 |
155 | - | Part12.TopSurface = Enum.SurfaceType.Smooth |
155 | + | Weld6.Part1 = Part1 |
156 | - | Part12.brickColor = BrickColor.new("Bright red") |
156 | + | Weld6.part1 = Part1 |
157 | - | Part12.FormFactor = Enum.FormFactor.Plate |
157 | + | Weld7.Name = "HeadWeld" |
158 | - | Part12.formFactor = Enum.FormFactor.Plate |
158 | + | Weld7.Parent = Part1 |
159 | - | Script13.Parent = Part12 |
159 | + | Weld7.C0 = CFrame.new(-0, -1.79999995, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
160 | - | table.insert(cors,sandbox(Script13,function() |
160 | + | Weld7.C1 = CFrame.new(-0, -1.5, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
161 | - | --By zamsongod. |
161 | + | Weld7.Part0 = Part65 |
162 | - | --Unlike Clockwork's teleporter, this one teleports ANYTHING not just people! |
162 | + | Weld7.Part1 = Part1 |
163 | - | --Make sure the Part to teleport to is in the same group as this Part. |
163 | + | Weld7.part1 = Part1 |
164 | - | --Feel FREE to Copy, Abuse and Covet! |
164 | + | PointLight8.Parent = Part1 |
165 | - | local Teleport = "Part1" --Put the name of the Part between the ""s. |
165 | + | PointLight8.Color = Color3.new(1, 0, 0.027451) |
166 | - | function Touch(hit) --Indicates that the Part has been Touched. |
166 | + | PointLight8.Range = 9 |
167 | - | if script.Parent.Locked == false and script.Parent.Parent:findFirstChild(Teleport).Locked == false then script.Parent.Locked = true script.Parent.Parent:findFirstChild(Teleport).Locked = true --Checks Debounce. |
167 | + | PointLight8.Brightness = inf |
168 | - | local Pos = script.Parent.Parent:findFirstChild(Teleport) --Gets the Part to teleport to. |
168 | + | Decal9.Parent = Part1 |
169 | - | hit.Parent:moveTo(Pos.Position) wait(1) script.Parent.Locked = false script.Parent.Parent:findFirstChild(Teleport).Locked = false end end --Takes you there and Ends the Function. |
169 | + | Decal9.Texture = "http://www.roblox.com/asset/?id=381193106" |
170 | - | script.Parent.Touched:connect(Touch) --Listens out for Touchers. |
170 | + | Part10.Name = "Torso" |
171 | Part10.Parent = Model0 | |
172 | Part10.CFrame = CFrame.new(207.87999, 2.99999905, 196.689941, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
173 | Part10.Position = Vector3.new(207.87999, 2.99999905, 196.689941) | |
174 | Part10.Color = Color3.new(0.972549, 0.972549, 0.972549) | |
175 | Part10.Size = Vector3.new(2, 2, 1) | |
176 | Part10.BackParamA = -99999 | |
177 | Part10.BackParamB = 99999 | |
178 | Part10.BackSurface = Enum.SurfaceType.SmoothNoOutlines | |
179 | Part10.BottomParamA = -99999 | |
180 | Part10.BottomParamB = 99999 | |
181 | Part10.BottomSurface = Enum.SurfaceType.SmoothNoOutlines | |
182 | Part10.BrickColor = BrickColor.new("Institutional white") | |
183 | Part10.CustomPhysicalProperties = 0.699999988, 2, 0, 1, 1 | |
184 | Part10.Elasticity = 0 | |
185 | Part10.Friction = 2 | |
186 | Part10.FrontParamA = -99999 | |
187 | Part10.FrontParamB = 99999 | |
188 | Part10.FrontSurface = Enum.SurfaceType.SmoothNoOutlines | |
189 | Part10.LeftParamA = -99999 | |
190 | Part10.LeftParamB = 99999 | |
191 | Part10.LeftSurface = Enum.SurfaceType.SmoothNoOutlines | |
192 | Part10.Locked = true | |
193 | Part10.Material = Enum.Material.SmoothPlastic | |
194 | Part10.RightParamA = -99999 | |
195 | Part10.RightParamB = 99999 | |
196 | Part10.RightSurface = Enum.SurfaceType.SmoothNoOutlines | |
197 | Part10.TopParamA = -99999 | |
198 | Part10.TopParamB = 99999 | |
199 | Part10.TopSurface = Enum.SurfaceType.SmoothNoOutlines | |
200 | Part10.brickColor = BrickColor.new("Institutional white") | |
201 | Part10.FormFactor = Enum.FormFactor.Symmetric | |
202 | Part10.formFactor = Enum.FormFactor.Symmetric | |
203 | Decal11.Name = "roblox" | |
204 | Decal11.Parent = Part10 | |
205 | Motor6D12.Name = "Right Shoulder" | |
206 | Motor6D12.Parent = Part10 | |
207 | Motor6D12.MaxVelocity = 0.10000000149012 | |
208 | Motor6D12.C0 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0) | |
209 | Motor6D12.C1 = CFrame.new(-0.5, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0) | |
210 | Motor6D12.Part0 = Part10 | |
211 | Motor6D12.Part1 = Part18 | |
212 | Motor6D12.part1 = Part18 | |
213 | Motor6D13.Name = "Left Shoulder" | |
214 | Motor6D13.Parent = Part10 | |
215 | Motor6D13.MaxVelocity = 0.10000000149012 | |
216 | Motor6D13.C0 = CFrame.new(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
217 | Motor6D13.C1 = CFrame.new(0.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
218 | Motor6D13.Part0 = Part10 | |
219 | Motor6D13.Part1 = Part17 | |
220 | Motor6D13.part1 = Part17 | |
221 | Motor6D14.Name = "Right Hip" | |
222 | Motor6D14.Parent = Part10 | |
223 | Motor6D14.MaxVelocity = 0.10000000149012 | |
224 | Motor6D14.C0 = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0) | |
225 | Motor6D14.C1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0) | |
226 | Motor6D14.Part0 = Part10 | |
227 | Motor6D14.Part1 = Part21 | |
228 | Motor6D14.part1 = Part21 | |
229 | Motor6D15.Name = "Left Hip" | |
230 | Motor6D15.Parent = Part10 | |
231 | Motor6D15.MaxVelocity = 0.10000000149012 | |
232 | Motor6D15.C0 = CFrame.new(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
233 | Motor6D15.C1 = CFrame.new(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
234 | Motor6D15.Part0 = Part10 | |
235 | Motor6D15.Part1 = Part20 | |
236 | Motor6D15.part1 = Part20 | |
237 | Motor6D16.Name = "Neck" | |
238 | Motor6D16.Parent = Part10 | |
239 | Motor6D16.MaxVelocity = 0.10000000149012 | |
240 | Motor6D16.C0 = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0) | |
241 | Motor6D16.C1 = CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0) | |
242 | Motor6D16.Part0 = Part10 | |
243 | Motor6D16.Part1 = Part1 | |
244 | Motor6D16.part1 = Part1 | |
245 | Part17.Name = "Left Arm" | |
246 | Part17.Parent = Model0 | |
247 | Part17.CFrame = CFrame.new(206.37999, 2.99999905, 196.689941, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
248 | Part17.Position = Vector3.new(206.37999, 2.99999905, 196.689941) | |
249 | Part17.Color = Color3.new(0.972549, 0.972549, 0.972549) | |
250 | Part17.Size = Vector3.new(1, 2, 1) | |
251 | Part17.BackParamA = -99999 | |
252 | Part17.BackParamB = 99999 | |
253 | Part17.BackSurface = Enum.SurfaceType.SmoothNoOutlines | |
254 | Part17.BottomParamA = -99999 | |
255 | Part17.BottomParamB = 99999 | |
256 | Part17.BottomSurface = Enum.SurfaceType.SmoothNoOutlines | |
257 | Part17.BrickColor = BrickColor.new("Institutional white") | |
258 | Part17.CustomPhysicalProperties = 0.699999988, 2, 0, 1, 1 | |
259 | Part17.Elasticity = 0 | |
260 | Part17.Friction = 2 | |
261 | Part17.FrontParamA = -99999 | |
262 | Part17.FrontParamB = 99999 | |
263 | Part17.FrontSurface = Enum.SurfaceType.SmoothNoOutlines | |
264 | Part17.LeftParamA = -99999 | |
265 | Part17.LeftParamB = 99999 | |
266 | Part17.LeftSurface = Enum.SurfaceType.SmoothNoOutlines | |
267 | Part17.Locked = true | |
268 | Part17.Material = Enum.Material.SmoothPlastic | |
269 | Part17.RightParamA = -99999 | |
270 | Part17.RightParamB = 99999 | |
271 | Part17.RightSurface = Enum.SurfaceType.SmoothNoOutlines | |
272 | Part17.TopParamA = -99999 | |
273 | Part17.TopParamB = 99999 | |
274 | Part17.TopSurface = Enum.SurfaceType.SmoothNoOutlines | |
275 | Part17.brickColor = BrickColor.new("Institutional white") | |
276 | Part17.FormFactor = Enum.FormFactor.Symmetric | |
277 | Part17.formFactor = Enum.FormFactor.Symmetric | |
278 | Part18.Name = "Right Arm" | |
279 | Part18.Parent = Model0 | |
280 | Part18.CFrame = CFrame.new(209.37999, 2.99999905, 196.689941, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
281 | Part18.Position = Vector3.new(209.37999, 2.99999905, 196.689941) | |
282 | Part18.Color = Color3.new(0.972549, 0.972549, 0.972549) | |
283 | Part18.Size = Vector3.new(1, 2, 1) | |
284 | Part18.BackParamA = -99999 | |
285 | Part18.BackParamB = 99999 | |
286 | Part18.BackSurface = Enum.SurfaceType.SmoothNoOutlines | |
287 | Part18.BottomParamA = -99999 | |
288 | Part18.BottomParamB = 99999 | |
289 | Part18.BottomSurface = Enum.SurfaceType.SmoothNoOutlines | |
290 | Part18.BrickColor = BrickColor.new("Institutional white") | |
291 | Part18.CustomPhysicalProperties = 0.699999988, 2, 0, 1, 1 | |
292 | Part18.Elasticity = 0 | |
293 | Part18.Friction = 2 | |
294 | Part18.FrontParamA = -99999 | |
295 | Part18.FrontParamB = 99999 | |
296 | Part18.FrontSurface = Enum.SurfaceType.SmoothNoOutlines | |
297 | Part18.LeftParamA = -99999 | |
298 | Part18.LeftParamB = 99999 | |
299 | Part18.LeftSurface = Enum.SurfaceType.SmoothNoOutlines | |
300 | Part18.Locked = true | |
301 | Part18.Material = Enum.Material.SmoothPlastic | |
302 | Part18.RightParamA = -99999 | |
303 | Part18.RightParamB = 99999 | |
304 | Part18.RightSurface = Enum.SurfaceType.SmoothNoOutlines | |
305 | Part18.TopParamA = -99999 | |
306 | Part18.TopParamB = 99999 | |
307 | Part18.TopSurface = Enum.SurfaceType.SmoothNoOutlines | |
308 | Part18.brickColor = BrickColor.new("Institutional white") | |
309 | Part18.FormFactor = Enum.FormFactor.Symmetric | |
310 | Part18.formFactor = Enum.FormFactor.Symmetric | |
311 | Weld19.Name = "RightGripWeld" | |
312 | Weld19.Parent = Part18 | |
313 | Weld19.C0 = CFrame.new(-1.29999995, 1.16840947, 0.750634551, 1, 3.41111408e-05, -2.64397204e-05, -2.64397204e-05, 0.96840477, 0.249382511, 3.41111408e-05, -0.249382511, 0.96840477) | |
314 | Weld19.C1 = CFrame.new(-1.5, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
315 | Weld19.Part0 = Part27 | |
316 | Weld19.Part1 = Part18 | |
317 | Weld19.part1 = Part18 | |
318 | Part20.Name = "Left Leg" | |
319 | Part20.Parent = Model0 | |
320 | Part20.CFrame = CFrame.new(207.37999, 0.999999046, 196.689941, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
321 | Part20.Position = Vector3.new(207.37999, 0.999999046, 196.689941) | |
322 | Part20.Color = Color3.new(0.0666667, 0.0666667, 0.0666667) | |
323 | Part20.Size = Vector3.new(1, 2, 1) | |
324 | Part20.BackParamA = -99999 | |
325 | Part20.BackParamB = 99999 | |
326 | Part20.BackSurface = Enum.SurfaceType.SmoothNoOutlines | |
327 | Part20.BottomParamA = -99999 | |
328 | Part20.BottomParamB = 99999 | |
329 | Part20.BottomSurface = Enum.SurfaceType.SmoothNoOutlines | |
330 | Part20.BrickColor = BrickColor.new("Really black") | |
331 | Part20.CustomPhysicalProperties = 0.699999988, 2, 0, 1, 1 | |
332 | Part20.Elasticity = 0 | |
333 | Part20.Friction = 2 | |
334 | Part20.FrontParamA = -99999 | |
335 | Part20.FrontParamB = 99999 | |
336 | Part20.FrontSurface = Enum.SurfaceType.SmoothNoOutlines | |
337 | Part20.LeftParamA = -99999 | |
338 | Part20.LeftParamB = 99999 | |
339 | Part20.LeftSurface = Enum.SurfaceType.SmoothNoOutlines | |
340 | Part20.Locked = true | |
341 | Part20.Material = Enum.Material.SmoothPlastic | |
342 | Part20.RightParamA = -99999 | |
343 | Part20.RightParamB = 99999 | |
344 | Part20.RightSurface = Enum.SurfaceType.SmoothNoOutlines | |
345 | Part20.TopParamA = -99999 | |
346 | Part20.TopParamB = 99999 | |
347 | Part20.TopSurface = Enum.SurfaceType.SmoothNoOutlines | |
348 | Part20.brickColor = BrickColor.new("Really black") | |
349 | Part20.FormFactor = Enum.FormFactor.Symmetric | |
350 | Part20.formFactor = Enum.FormFactor.Symmetric | |
351 | Part21.Name = "Right Leg" | |
352 | Part21.Parent = Model0 | |
353 | Part21.CFrame = CFrame.new(208.37999, 0.999999046, 196.689941, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
354 | Part21.Position = Vector3.new(208.37999, 0.999999046, 196.689941) | |
355 | Part21.Color = Color3.new(0.0666667, 0.0666667, 0.0666667) | |
356 | Part21.Size = Vector3.new(1, 2, 1) | |
357 | Part21.BackParamA = -99999 | |
358 | Part21.BackParamB = 99999 | |
359 | Part21.BackSurface = Enum.SurfaceType.SmoothNoOutlines | |
360 | Part21.BottomParamA = -99999 | |
361 | Part21.BottomParamB = 99999 | |
362 | Part21.BottomSurface = Enum.SurfaceType.SmoothNoOutlines | |
363 | Part21.BrickColor = BrickColor.new("Really black") | |
364 | Part21.CustomPhysicalProperties = 0.699999988, 2, 0, 1, 1 | |
365 | Part21.Elasticity = 0 | |
366 | Part21.Friction = 2 | |
367 | Part21.FrontParamA = -99999 | |
368 | Part21.FrontParamB = 99999 | |
369 | Part21.FrontSurface = Enum.SurfaceType.SmoothNoOutlines | |
370 | Part21.LeftParamA = -99999 | |
371 | Part21.LeftParamB = 99999 | |
372 | Part21.LeftSurface = Enum.SurfaceType.SmoothNoOutlines | |
373 | Part21.Locked = true | |
374 | Part21.Material = Enum.Material.SmoothPlastic | |
375 | Part21.RightParamA = -99999 | |
376 | Part21.RightParamB = 99999 | |
377 | Part21.RightSurface = Enum.SurfaceType.SmoothNoOutlines | |
378 | Part21.TopParamA = -99999 | |
379 | Part21.TopParamB = 99999 | |
380 | Part21.TopSurface = Enum.SurfaceType.SmoothNoOutlines | |
381 | Part21.brickColor = BrickColor.new("Really black") | |
382 | Part21.FormFactor = Enum.FormFactor.Symmetric | |
383 | Part21.formFactor = Enum.FormFactor.Symmetric | |
384 | Humanoid22.Name = "ColdBloodedKiller" | |
385 | Humanoid22.Parent = Model0 | |
386 | Humanoid22.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None | |
387 | Humanoid22.Health = 500 | |
388 | Humanoid22.HealthDisplayDistance = 0 | |
389 | Humanoid22.JumpPower = 60 | |
390 | Humanoid22.LeftLeg = Part20 | |
391 | Humanoid22.MaxHealth = 500 | |
392 | Humanoid22.MaxSlopeAngle = 89.900001525879 | |
393 | Humanoid22.NameDisplayDistance = 0 | |
394 | Humanoid22.NameOcclusion = Enum.NameOcclusion.EnemyOcclusion | |
395 | Humanoid22.RightLeg = Part21 | |
396 | Humanoid22.Torso = Part25 | |
397 | Humanoid22.maxHealth = 500 | |
398 | Model23.Name = "Status" | |
399 | Model23.Parent = Humanoid22 | |
400 | Model24.Name = "AvalibleSpawns" | |
401 | Model24.Parent = Model23 | |
402 | Part25.Name = "HumanoidRootPart" | |
403 | Part25.Parent = Model0 | |
404 | Part25.CFrame = CFrame.new(207.87999, 2.99999905, 196.689941, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
405 | Part25.Position = Vector3.new(207.87999, 2.99999905, 196.689941) | |
406 | Part25.Color = Color3.new(0.0509804, 0.411765, 0.67451) | |
407 | Part25.Transparency = 1 | |
408 | Part25.Size = Vector3.new(2, 2, 1) | |
409 | Part25.BackParamA = -99999 | |
410 | Part25.BackParamB = 99999 | |
411 | Part25.BackSurface = Enum.SurfaceType.SmoothNoOutlines | |
412 | Part25.BottomParamA = -99999 | |
413 | Part25.BottomParamB = 99999 | |
414 | Part25.BottomSurface = Enum.SurfaceType.SmoothNoOutlines | |
415 | Part25.BrickColor = BrickColor.new("Bright blue") | |
416 | Part25.CanCollide = false | |
417 | Part25.CustomPhysicalProperties = 0.699999988, 2, 0, 1, 1 | |
418 | Part25.Elasticity = 0 | |
419 | Part25.Friction = 0 | |
420 | Part25.FrontParamA = -99999 | |
421 | Part25.FrontParamB = 99999 | |
422 | Part25.FrontSurface = Enum.SurfaceType.SmoothNoOutlines | |
423 | Part25.LeftParamA = -99999 | |
424 | Part25.LeftParamB = 99999 | |
425 | Part25.LeftSurface = Enum.SurfaceType.SmoothNoOutlines | |
426 | Part25.Locked = true | |
427 | Part25.Material = Enum.Material.SmoothPlastic | |
428 | Part25.RightParamA = -99999 | |
429 | Part25.RightParamB = 99999 | |
430 | Part25.RightSurface = Enum.SurfaceType.SmoothNoOutlines | |
431 | Part25.TopParamA = -99999 | |
432 | Part25.TopParamB = 99999 | |
433 | Part25.TopSurface = Enum.SurfaceType.SmoothNoOutlines | |
434 | Part25.brickColor = BrickColor.new("Bright blue") | |
435 | Part25.FormFactor = Enum.FormFactor.Symmetric | |
436 | Part25.formFactor = Enum.FormFactor.Symmetric | |
437 | Motor6D26.Name = "RootJoint" | |
438 | Motor6D26.Parent = Part25 | |
439 | Motor6D26.MaxVelocity = 0.10000000149012 | |
440 | Motor6D26.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0) | |
441 | Motor6D26.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0) | |
442 | Motor6D26.Part0 = Part25 | |
443 | Motor6D26.Part1 = Part10 | |
444 | Motor6D26.part1 = Part10 | |
445 | Part27.Name = "Knife" | |
446 | Part27.Parent = Model0 | |
447 | Part27.CFrame = CFrame.new(209.179993, 2.05574512, 195.671616, 1, -2.64397204e-05, 3.41111408e-05, 3.41111408e-05, 0.96840477, -0.249382511, -2.64397204e-05, 0.249382511, 0.96840477) | |
448 | Part27.Orientation = Vector3.new(14.4399996, 0, 0) | |
449 | Part27.Position = Vector3.new(209.179993, 2.05574512, 195.671616) | |
450 | Part27.Rotation = Vector3.new(14.4399996, 0, 0) | |
451 | Part27.Color = Color3.new(0.803922, 0.803922, 0.803922) | |
452 | Part27.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003) | |
453 | Part27.BackParamA = -99999 | |
454 | Part27.BackParamB = 99999 | |
455 | Part27.BackSurface = Enum.SurfaceType.SmoothNoOutlines | |
456 | Part27.BottomParamA = -99999 | |
457 | Part27.BottomParamB = 99999 | |
458 | Part27.BottomSurface = Enum.SurfaceType.SmoothNoOutlines | |
459 | Part27.BrickColor = BrickColor.new("Mid gray") | |
460 | Part27.CanCollide = false | |
461 | Part27.CustomPhysicalProperties = 0.699999988, 2, 0, 1, 1 | |
462 | Part27.Elasticity = 0 | |
463 | Part27.Friction = 2 | |
464 | Part27.FrontParamA = -99999 | |
465 | Part27.FrontParamB = 99999 | |
466 | Part27.FrontSurface = Enum.SurfaceType.SmoothNoOutlines | |
467 | Part27.LeftParamA = -99999 | |
468 | Part27.LeftParamB = 99999 | |
469 | Part27.LeftSurface = Enum.SurfaceType.SmoothNoOutlines | |
470 | Part27.Locked = true | |
471 | Part27.Material = Enum.Material.Metal | |
472 | Part27.RightParamA = -99999 | |
473 | Part27.RightParamB = 99999 | |
474 | Part27.RightSurface = Enum.SurfaceType.SmoothNoOutlines | |
475 | Part27.TopParamA = -99999 | |
476 | Part27.TopParamB = 99999 | |
477 | Part27.TopSurface = Enum.SurfaceType.SmoothNoOutlines | |
478 | Part27.brickColor = BrickColor.new("Mid gray") | |
479 | Part27.FormFactor = Enum.FormFactor.Custom | |
480 | Part27.formFactor = Enum.FormFactor.Custom | |
481 | SpecialMesh28.Name = "KnifeMesh" | |
482 | SpecialMesh28.Parent = Part27 | |
483 | SpecialMesh28.MeshId = "rbxassetid://165710339" | |
484 | SpecialMesh28.Scale = Vector3.new(0.5, 0.5, 0.699999988) | |
485 | SpecialMesh28.TextureId = "http://www.roblox.com/asset/?id=338106795" | |
486 | SpecialMesh28.MeshType = Enum.MeshType.FileMesh | |
487 | Sound29.Name = "Hit1" | |
488 | Sound29.Parent = Part27 | |
489 | Sound29.EmitterSize = 0 | |
490 | Sound29.MinDistance = 0 | |
491 | Sound29.SoundId = "rbxassetid://406913243" | |
492 | Sound29.Volume = 1 | |
493 | Sound30.Name = "Swing" | |
494 | Sound30.Parent = Part27 | |
495 | Sound30.EmitterSize = 0 | |
496 | Sound30.MinDistance = 0 | |
497 | Sound30.Pitch = 1.1000000238419 | |
498 | Sound30.PlaybackSpeed = 1.1000000238419 | |
499 | Sound30.SoundId = "http://www.roblox.com/Asset?ID=357417055" | |
500 | Sound30.Volume = 1 | |
501 | ParticleEmitter31.Name = "Hit Particles" | |
502 | ParticleEmitter31.Parent = Part27 | |
503 | ParticleEmitter31.Speed = NumberRange.new(9, 9) | |
504 | ParticleEmitter31.Color = ColorSequence.new(Color3.new(1, 0, 0.0352941),Color3.new(1, 0, 0.0352941)) | |
505 | ParticleEmitter31.LightEmission = 1 | |
506 | ParticleEmitter31.Texture = "http://www.roblox.com/asset/?id=141116476" | |
507 | ParticleEmitter31.EmissionDirection = Enum.NormalId.Front | |
508 | ParticleEmitter31.Lifetime = NumberRange.new(0.20000000298023, 0.20000000298023) | |
509 | ParticleEmitter31.Rate = inf | |
510 | ParticleEmitter32.Name = "Light Particles" | |
511 | ParticleEmitter32.Parent = Part27 | |
512 | ParticleEmitter32.LightEmission = 1 | |
513 | ParticleEmitter32.Texture = "http://www.roblox.com/asset/?id=162595515" | |
514 | ParticleEmitter32.Size = NumberSequence.new(0.20000000298023,0.20000000298023) | |
515 | ParticleEmitter32.Lifetime = NumberRange.new(0.30000001192093, 0.30000001192093) | |
516 | ParticleEmitter32.Rate = 9999 | |
517 | ParticleEmitter32.RotSpeed = NumberRange.new(99999, 99999) | |
518 | ParticleEmitter32.SpreadAngle = Vector2.new(99, 99) | |
519 | ParticleEmitter32.VelocitySpread = 99 | |
520 | Sound33.Name = "Hit3" | |
521 | Sound33.Parent = Part27 | |
522 | Sound33.EmitterSize = 0 | |
523 | Sound33.MinDistance = 0 | |
524 | Sound33.SoundId = "rbxassetid://406913243" | |
525 | Sound33.Volume = 1 | |
526 | Sound34.Name = "Hit2" | |
527 | Sound34.Parent = Part27 | |
528 | Sound34.EmitterSize = 0 | |
529 | Sound34.MinDistance = 0 | |
530 | Sound34.SoundId = "rbxassetid://406913243" | |
531 | Sound34.Volume = 1 | |
532 | Script35.Name = "Health" | |
533 | Script35.Parent = Model0 | |
534 | table.insert(cors,sandbox(Script35,function() | |
535 | --Responsible for regening a player's humanoid's health | |
536 | ||
537 | -- declarations | |
538 | local Figure = script.Parent | |
539 | local Head = Figure:WaitForChild("Head") | |
540 | local Humanoid; | |
541 | for _,Child in pairs(Figure:GetChildren())do | |
542 | if Child and Child.ClassName=="Humanoid"then | |
543 | Humanoid=Child; | |
544 | end; | |
545 | end; | |
546 | local regening = false | |
547 | ||
548 | -- regeneration | |
549 | function regenHealth() | |
550 | if regening then return end | |
551 | regening = true | |
552 | ||
553 | while Humanoid.Health < Humanoid.MaxHealth do | |
554 | local s = wait(1) | |
555 | local health = Humanoid.Health | |
556 | if health~=0 and health < Humanoid.MaxHealth then | |
557 | local newHealthDelta = 0.01 * s * Humanoid.MaxHealth | |
558 | health = health + newHealthDelta | |
559 | Humanoid.Health = math.min(health,Humanoid.MaxHealth) | |
560 | end | |
561 | end | |
562 | ||
563 | if Humanoid.Health > Humanoid.MaxHealth then | |
564 | Humanoid.Health = Humanoid.MaxHealth | |
565 | end | |
566 | ||
567 | regening = false | |
568 | end | |
569 | ||
570 | Humanoid.HealthChanged:connect(regenHealth) | |
571 | ||
572 | end)) | |
573 | Script36.Name = "AnimateSauce" | |
574 | Script36.Parent = Model0 | |
575 | table.insert(cors,sandbox(Script36,function() | |
576 | function waitForChild(parent, childName) | |
577 | local child = parent:findFirstChild(childName) | |
578 | if child then return child end | |
579 | while true do | |
580 | child = parent.ChildAdded:wait() | |
581 | if child.Name==childName then return child end | |
582 | end | |
583 | end | |
584 | local Figure = script.Parent | |
585 | local Torso = waitForChild(Figure, "Torso") | |
586 | local RightShoulder = waitForChild(Torso, "Right Shoulder") | |
587 | local LeftShoulder = waitForChild(Torso, "Left Shoulder") | |
588 | local RightHip = waitForChild(Torso, "Right Hip") | |
589 | local LeftHip = waitForChild(Torso, "Left Hip") | |
590 | local Neck = waitForChild(Torso, "Neck") | |
591 | local Humanoid; | |
592 | for _,Child in pairs(Figure:GetChildren())do | |
593 | if Child and Child.ClassName=="Humanoid"then | |
594 | Humanoid=Child; | |
595 | end; | |
596 | end; | |
597 | local pose = "Standing" | |
598 | local currentAnim = "" | |
599 | local currentAnimInstance = nil | |
600 | local currentAnimTrack = nil | |
601 | local currentAnimKeyframeHandler = nil | |
602 | local currentAnimSpeed = 1.0 | |
603 | local animTable = {} | |
604 | local animNames = { | |
605 | idle = { | |
606 | { id = "http://www.roblox.com/asset/?id=180435571", weight = 9 }, | |
607 | { id = "http://www.roblox.com/asset/?id=180435792", weight = 1 } | |
608 | }, | |
609 | walk = { | |
610 | { id = "http://www.roblox.com/asset/?id=180426354", weight = 10 } | |
611 | }, | |
612 | run = { | |
613 | { id = "http://www.roblox.com/asset/?id=252557606", weight = 20 } | |
614 | }, | |
615 | jump = { | |
616 | { id = "http://www.roblox.com/asset/?id=125750702", weight = 10 } | |
617 | }, | |
618 | fall = { | |
619 | { id = "http://www.roblox.com/asset/?id=180436148", weight = 10 } | |
620 | }, | |
621 | climb = { | |
622 | { id = "http://www.roblox.com/asset/?id=180436334", weight = 10 } | |
623 | }, | |
624 | sit = { | |
625 | { id = "http://www.roblox.com/asset/?id=178130996", weight = 10 } | |
626 | }, | |
627 | toolnone = { | |
628 | { id = "http://www.roblox.com/asset/?id=182393478", weight = 10 } | |
629 | }, | |
630 | toolslash = { | |
631 | { id = "http://www.roblox.com/asset/?id=129967390", weight = 10 } | |
632 | --{ id = "slash.xml", weight = 10 } | |
633 | }, | |
634 | toollunge = { | |
635 | { id = "http://www.roblox.com/asset/?id=129967478", weight = 10 } | |
636 | }, | |
637 | wave = { | |
638 | { id = "http://www.roblox.com/asset/?id=128777973", weight = 10 } | |
639 | }, | |
640 | point = { | |
641 | { id = "http://www.roblox.com/asset/?id=128853357", weight = 10 } | |
642 | }, | |
643 | dance1 = { | |
644 | { id = "http://www.roblox.com/asset/?id=182435998", weight = 10 }, | |
645 | { id = "http://www.roblox.com/asset/?id=182491037", weight = 10 }, | |
646 | { id = "http://www.roblox.com/asset/?id=182491065", weight = 10 } | |
647 | }, | |
648 | dance2 = { | |
649 | { id = "http://www.roblox.com/asset/?id=182436842", weight = 10 }, | |
650 | { id = "http://www.roblox.com/asset/?id=182491248", weight = 10 }, | |
651 | { id = "http://www.roblox.com/asset/?id=182491277", weight = 10 } | |
652 | }, | |
653 | dance3 = { | |
654 | { id = "http://www.roblox.com/asset/?id=182436935", weight = 10 }, | |
655 | { id = "http://www.roblox.com/asset/?id=182491368", weight = 10 }, | |
656 | { id = "http://www.roblox.com/asset/?id=182491423", weight = 10 } | |
657 | }, | |
658 | laugh = { | |
659 | { id = "http://www.roblox.com/asset/?id=129423131", weight = 10 } | |
660 | }, | |
661 | cheer = { | |
662 | { id = "http://www.roblox.com/asset/?id=129423030", weight = 10 } | |
663 | }, | |
664 | } | |
665 | local dances = {"dance1", "dance2", "dance3"} | |
666 | ||
667 | -- Existance in this list signifies that it is an emote, the value indicates if it is a looping emote | |
668 | local emoteNames = { wave = false, point = false, dance1 = true, dance2 = true, dance3 = true, laugh = false, cheer = false} | |
669 | ||
670 | function configureAnimationSet(name, fileList) | |
671 | if (animTable[name] ~= nil) then | |
672 | for _, connection in pairs(animTable[name].connections) do | |
673 | connection:disconnect() | |
674 | end | |
675 | end | |
676 | animTable[name] = {} | |
677 | animTable[name].count = 0 | |
678 | animTable[name].totalWeight = 0 | |
679 | animTable[name].connections = {} | |
680 | ||
681 | -- check for config values | |
682 | local config = script:FindFirstChild(name) | |
683 | if (config ~= nil) then | |
684 | --print("Loading anims " .. name) | |
685 | table.insert(animTable[name].connections, config.ChildAdded:connect(function(child) configureAnimationSet(name, fileList) end)) | |
686 | table.insert(animTable[name].connections, config.ChildRemoved:connect(function(child) configureAnimationSet(name, fileList) end)) | |
687 | local idx = 1 | |
688 | for _, childPart in pairs(config:GetChildren()) do | |
689 | if (childPart:IsA("Animation")) then | |
690 | table.insert(animTable[name].connections, childPart.Changed:connect(function(property) configureAnimationSet(name, fileList) end)) | |
691 | animTable[name][idx] = {} | |
692 | animTable[name][idx].anim = childPart | |
693 | local weightObject = childPart:FindFirstChild("Weight") | |
694 | if (weightObject == nil) then | |
695 | animTable[name][idx].weight = 1 | |
696 | else | |
697 | animTable[name][idx].weight = weightObject.Value | |
698 | end | |
699 | animTable[name].count = animTable[name].count + 1 | |
700 | animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight | |
701 | --print(name .. " [" .. idx .. "] " .. animTable[name][idx].anim.AnimationId .. " (" .. animTable[name][idx].weight .. ")") | |
702 | idx = idx + 1 | |
703 | end | |
704 | end | |
705 | end | |
706 | ||
707 | -- fallback to defaults | |
708 | if (animTable[name].count <= 0) then | |
709 | for idx, anim in pairs(fileList) do | |
710 | animTable[name][idx] = {} | |
711 | animTable[name][idx].anim = Instance.new("Animation") | |
712 | animTable[name][idx].anim.Name = name | |
713 | animTable[name][idx].anim.AnimationId = anim.id | |
714 | animTable[name][idx].weight = anim.weight | |
715 | animTable[name].count = animTable[name].count + 1 | |
716 | animTable[name].totalWeight = animTable[name].totalWeight + anim.weight | |
717 | --print(name .. " [" .. idx .. "] " .. anim.id .. " (" .. anim.weight .. ")") | |
718 | end | |
719 | end | |
720 | end | |
721 | ||
722 | -- Setup animation objects | |
723 | function scriptChildModified(child) | |
724 | local fileList = animNames[child.Name] | |
725 | if (fileList ~= nil) then | |
726 | configureAnimationSet(child.Name, fileList) | |
727 | end | |
728 | end | |
729 | ||
730 | script.ChildAdded:connect(scriptChildModified) | |
731 | script.ChildRemoved:connect(scriptChildModified) | |
732 | ||
733 | ||
734 | for name, fileList in pairs(animNames) do | |
735 | configureAnimationSet(name, fileList) | |
736 | end | |
737 | ||
738 | -- ANIMATION | |
739 | ||
740 | -- declarations | |
741 | local toolAnim = "None" | |
742 | local toolAnimTime = 0 | |
743 | ||
744 | local jumpAnimTime = 0 | |
745 | local jumpAnimDuration = 0.3 | |
746 | ||
747 | local toolTransitionTime = 0.1 | |
748 | local fallTransitionTime = 0.3 | |
749 | local jumpMaxLimbVelocity = 0.75 | |
750 | ||
751 | -- functions | |
752 | ||
753 | function stopAllAnimations() | |
754 | local oldAnim = currentAnim | |
755 | ||
756 | -- return to idle if finishing an emote | |
757 | if (emoteNames[oldAnim] ~= nil and emoteNames[oldAnim] == false) then | |
758 | oldAnim = "idle" | |
759 | end | |
760 | ||
761 | currentAnim = "" | |
762 | currentAnimInstance = nil | |
763 | if (currentAnimKeyframeHandler ~= nil) then | |
764 | currentAnimKeyframeHandler:disconnect() | |
765 | end | |
766 | ||
767 | if (currentAnimTrack ~= nil) then | |
768 | currentAnimTrack:Stop() | |
769 | currentAnimTrack:Destroy() | |
770 | currentAnimTrack = nil | |
771 | end | |
772 | return oldAnim | |
773 | end | |
774 | ||
775 | function setAnimationSpeed(speed) | |
776 | if speed ~= currentAnimSpeed then | |
777 | currentAnimSpeed = speed | |
778 | currentAnimTrack:AdjustSpeed(currentAnimSpeed) | |
779 | end | |
780 | end | |
781 | ||
782 | function keyFrameReachedFunc(frameName) | |
783 | if (frameName == "End") then | |
784 | ||
785 | local repeatAnim = currentAnim | |
786 | -- return to idle if finishing an emote | |
787 | if (emoteNames[repeatAnim] ~= nil and emoteNames[repeatAnim] == false) then | |
788 | repeatAnim = "idle" | |
789 | end | |
790 | ||
791 | local animSpeed = currentAnimSpeed | |
792 | playAnimation(repeatAnim, 0.0, Humanoid) | |
793 | setAnimationSpeed(animSpeed) | |
794 | end | |
795 | end | |
796 | ||
797 | -- Preload animations | |
798 | function playAnimation(animName, transitionTime, humanoid) | |
799 | ||
800 | local roll = math.random(1, animTable[animName].totalWeight) | |
801 | local origRoll = roll | |
802 | local idx = 1 | |
803 | while (roll > animTable[animName][idx].weight) do | |
804 | roll = roll - animTable[animName][idx].weight | |
805 | idx = idx + 1 | |
806 | end | |
807 | --print(animName .. " " .. idx .. " [" .. origRoll .. "]") | |
808 | local anim = animTable[animName][idx].anim | |
809 | -- switch animation | |
810 | if (anim ~= currentAnimInstance) then | |
811 | if (currentAnimTrack ~= nil) then | |
812 | currentAnimTrack:Stop(transitionTime) | |
813 | currentAnimTrack:Destroy() | |
814 | end | |
815 | currentAnimSpeed = 1.0 | |
816 | -- load it to the humanoid; get AnimationTrack | |
817 | currentAnimTrack = humanoid:LoadAnimation(anim) | |
818 | -- play the animation | |
819 | currentAnimTrack:Play(transitionTime) | |
820 | currentAnim = animName | |
821 | currentAnimInstance = anim | |
822 | -- set up keyframe name triggers | |
823 | if (currentAnimKeyframeHandler ~= nil) then | |
824 | currentAnimKeyframeHandler:disconnect() | |
825 | end | |
826 | currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:connect(keyFrameReachedFunc) | |
827 | end | |
828 | end | |
829 | ------------------------------------------------------------------------------------------- | |
830 | ------------------------------------------------------------------------------------------- | |
831 | local toolAnimName = "" | |
832 | local toolAnimTrack = nil | |
833 | local toolAnimInstance = nil | |
834 | local currentToolAnimKeyframeHandler = nil | |
835 | function toolKeyFrameReachedFunc(frameName) | |
836 | if (frameName == "End") then | |
837 | --print("Keyframe : ".. frameName) | |
838 | playToolAnimation(toolAnimName, 0.0, Humanoid) | |
839 | end | |
840 | end | |
841 | function playToolAnimation(animName, transitionTime, humanoid) | |
842 | local roll = math.random(1, animTable[animName].totalWeight) | |
843 | local origRoll = roll | |
844 | local idx = 1 | |
845 | while (roll > animTable[animName][idx].weight) do | |
846 | roll = roll - animTable[animName][idx].weight | |
847 | idx = idx + 1 | |
848 | end | |
849 | --print(animName .. " * " .. idx .. " [" .. origRoll .. "]") | |
850 | local anim = animTable[animName][idx].anim | |
851 | if (toolAnimInstance ~= anim) then | |
852 | if (toolAnimTrack ~= nil) then | |
853 | toolAnimTrack:Stop() | |
854 | toolAnimTrack:Destroy() | |
855 | transitionTime = 0 | |
856 | end | |
857 | -- load it to the humanoid; get AnimationTrack | |
858 | toolAnimTrack = humanoid:LoadAnimation(anim) | |
859 | -- play the animation | |
860 | toolAnimTrack:Play(transitionTime) | |
861 | toolAnimName = animName | |
862 | toolAnimInstance = anim | |
863 | currentToolAnimKeyframeHandler = toolAnimTrack.KeyframeReached:connect(toolKeyFrameReachedFunc) | |
864 | end | |
865 | end | |
866 | function stopToolAnimations() | |
867 | local oldAnim = toolAnimName | |
868 | if (currentToolAnimKeyframeHandler ~= nil) then | |
869 | currentToolAnimKeyframeHandler:disconnect() | |
870 | end | |
871 | toolAnimName = "" | |
872 | toolAnimInstance = nil | |
873 | if (toolAnimTrack ~= nil) then | |
874 | toolAnimTrack:Stop() | |
875 | toolAnimTrack:Destroy() | |
876 | toolAnimTrack = nil | |
877 | end | |
878 | return oldAnim | |
879 | end | |
880 | ------------------------------------------------------------------------------------------- | |
881 | ------------------------------------------------------------------------------------------- | |
882 | function onRunning(speed) | |
883 | if speed>0.01 then | |
884 | if Figure and Humanoid and Humanoid.WalkSpeed<17 then | |
885 | playAnimation("walk", 0.1, Humanoid); | |
886 | elseif Figure and Humanoid and Humanoid.WalkSpeed>17 then | |
887 | playAnimation("run", 0.1, Humanoid); | |
888 | end; | |
889 | if currentAnimInstance and currentAnimInstance.AnimationId == "http://www.roblox.com/asset/?id=180426354" then | |
890 | setAnimationSpeed(speed / 14.5) | |
891 | end | |
892 | pose = "Running" | |
893 | else | |
894 | playAnimation("idle", 0.1, Humanoid) | |
895 | pose = "Standing" | |
896 | end | |
897 | end | |
898 | function onDied() | |
899 | pose = "Dead" | |
900 | end | |
901 | function onJumping() | |
902 | playAnimation("jump", 0.1, Humanoid) | |
903 | jumpAnimTime = jumpAnimDuration | |
904 | pose = "Jumping" | |
905 | end | |
906 | function onClimbing(speed) | |
907 | playAnimation("climb", 0.1, Humanoid) | |
908 | setAnimationSpeed(speed / 12.0) | |
909 | pose = "Climbing" | |
910 | end | |
911 | function onGettingUp() | |
912 | pose = "GettingUp" | |
913 | end | |
914 | function onFreeFall() | |
915 | if (jumpAnimTime <= 0) then | |
916 | playAnimation("fall", fallTransitionTime, Humanoid) | |
917 | end | |
918 | pose = "FreeFall" | |
919 | end | |
920 | function onFallingDown() | |
921 | pose = "FallingDown" | |
922 | end | |
923 | function onSeated() | |
924 | pose = "Seated" | |
925 | end | |
926 | function onPlatformStanding() | |
927 | pose = "PlatformStanding" | |
928 | end | |
929 | function onSwimming(speed) | |
930 | if speed>0 then | |
931 | pose = "Running" | |
932 | else | |
933 | pose = "Standing" | |
934 | end | |
935 | end | |
936 | ||
937 | function getTool() | |
938 | for _, kid in ipairs(Figure:GetChildren()) do | |
939 | if kid.className == "Tool" then return kid end | |
940 | end | |
941 | return nil | |
942 | end | |
943 | ||
944 | function getToolAnim(tool) | |
945 | for _, c in ipairs(tool:GetChildren()) do | |
946 | if c.Name == "toolanim" and c.className == "StringValue" then | |
947 | return c | |
948 | end | |
949 | end | |
950 | return nil | |
951 | end | |
952 | ||
953 | function animateTool() | |
954 | ||
955 | if (toolAnim == "None") then | |
956 | playToolAnimation("toolnone", toolTransitionTime, Humanoid) | |
957 | return | |
958 | end | |
959 | ||
960 | if (toolAnim == "Slash") then | |
961 | playToolAnimation("toolslash", 0, Humanoid) | |
962 | return | |
963 | end | |
964 | ||
965 | if (toolAnim == "Lunge") then | |
966 | playToolAnimation("toollunge", 0, Humanoid) | |
967 | return | |
968 | end | |
969 | end | |
970 | ||
971 | function moveSit() | |
972 | RightShoulder.MaxVelocity = 0.15 | |
973 | LeftShoulder.MaxVelocity = 0.15 | |
974 | RightShoulder:SetDesiredAngle(3.14 /2) | |
975 | LeftShoulder:SetDesiredAngle(-3.14 /2) | |
976 | RightHip:SetDesiredAngle(3.14 /2) | |
977 | LeftHip:SetDesiredAngle(-3.14 /2) | |
978 | end | |
979 | ||
980 | local lastTick = 0 | |
981 | ||
982 | function move(time) | |
983 | local amplitude = 1 | |
984 | local frequency = 1 | |
985 | local deltaTime = time - lastTick | |
986 | lastTick = time | |
987 | ||
988 | local climbFudge = 0 | |
989 | local setAngles = false | |
990 | ||
991 | if (jumpAnimTime > 0) then | |
992 | jumpAnimTime = jumpAnimTime - deltaTime | |
993 | end | |
994 | ||
995 | if (pose == "FreeFall" and jumpAnimTime <= 0) then | |
996 | playAnimation("fall", fallTransitionTime, Humanoid) | |
997 | elseif (pose == "Seated") then | |
998 | playAnimation("sit", 0.5, Humanoid) | |
999 | return | |
1000 | elseif (pose == "Running") then | |
1001 | if Figure and Humanoid and Humanoid.WalkSpeed<17 then | |
1002 | playAnimation("walk", 0.1, Humanoid); | |
1003 | elseif Figure and Humanoid and Humanoid.WalkSpeed>17 then | |
1004 | playAnimation("run", 0.1, Humanoid); | |
1005 | end; | |
1006 | elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then | |
1007 | stopAllAnimations() | |
1008 | amplitude = 0.1 | |
1009 | frequency = 1 | |
1010 | setAngles = true | |
1011 | end | |
1012 | if (setAngles) then | |
1013 | local desiredAngle = amplitude * math.sin(time * frequency) | |
1014 | RightShoulder:SetDesiredAngle(desiredAngle + climbFudge) | |
1015 | LeftShoulder:SetDesiredAngle(desiredAngle - climbFudge) | |
1016 | RightHip:SetDesiredAngle(-desiredAngle) | |
1017 | LeftHip:SetDesiredAngle(-desiredAngle) | |
1018 | end | |
1019 | -- Tool Animation handling | |
1020 | local tool = getTool() | |
1021 | if tool and tool:FindFirstChild("Handle") then | |
1022 | local animStringValueObject = getToolAnim(tool) | |
1023 | if animStringValueObject then | |
1024 | toolAnim = animStringValueObject.Value | |
1025 | -- message recieved, delete StringValue | |
1026 | animStringValueObject.Parent = nil | |
1027 | toolAnimTime = time + .3 | |
1028 | end | |
1029 | if time > toolAnimTime then | |
1030 | toolAnimTime = 0 | |
1031 | toolAnim = "None" | |
1032 | end | |
1033 | animateTool() | |
1034 | else | |
1035 | stopToolAnimations() | |
1036 | toolAnim = "None" | |
1037 | toolAnimInstance = nil | |
1038 | toolAnimTime = 0 | |
1039 | end | |
1040 | end | |
1041 | -- connect events | |
1042 | Humanoid.Died:connect(onDied) | |
1043 | Humanoid.Running:connect(onRunning) | |
1044 | Humanoid.Jumping:connect(onJumping) | |
1045 | Humanoid.Climbing:connect(onClimbing) | |
1046 | Humanoid.GettingUp:connect(onGettingUp) | |
1047 | Humanoid.FreeFalling:connect(onFreeFall) | |
1048 | Humanoid.FallingDown:connect(onFallingDown) | |
1049 | Humanoid.Seated:connect(onSeated) | |
1050 | Humanoid.PlatformStanding:connect(onPlatformStanding) | |
1051 | Humanoid.Swimming:connect(onSwimming) | |
1052 | local runService = game:GetService("RunService"); | |
1053 | playAnimation("idle", 0.1, Humanoid) | |
1054 | pose = "Standing" | |
1055 | while Wait(0)do | |
1056 | local _,time=wait(0) | |
1057 | move(time) | |
1058 | end | |
1059 | end)) | |
1060 | StringValue37.Name = "climb" | |
1061 | StringValue37.Parent = Script36 | |
1062 | Animation38.Name = "ClimbAnim" | |
1063 | Animation38.Parent = StringValue37 | |
1064 | Animation38.AnimationId = "http://www.roblox.com/asset/?id=180436334" | |
1065 | StringValue39.Name = "fall" | |
1066 | StringValue39.Parent = Script36 | |
1067 | Animation40.Name = "FallAnim" | |
1068 | Animation40.Parent = StringValue39 | |
1069 | Animation40.AnimationId = "http://www.roblox.com/asset/?id=180436148" | |
1070 | StringValue41.Name = "idle" | |
1071 | StringValue41.Parent = Script36 | |
1072 | Animation42.Name = "Animation1" | |
1073 | Animation42.Parent = StringValue41 | |
1074 | Animation42.AnimationId = "http://www.roblox.com/asset/?id=180435571" | |
1075 | NumberValue43.Name = "Weight" | |
1076 | NumberValue43.Parent = Animation42 | |
1077 | NumberValue43.Value = 9 | |
1078 | Animation44.Name = "Animation2" | |
1079 | Animation44.Parent = StringValue41 | |
1080 | Animation44.AnimationId = "http://www.roblox.com/asset/?id=180435792" | |
1081 | NumberValue45.Name = "Weight" | |
1082 | NumberValue45.Parent = Animation44 | |
1083 | NumberValue45.Value = 1 | |
1084 | StringValue46.Name = "jump" | |
1085 | StringValue46.Parent = Script36 | |
1086 | Animation47.Name = "JumpAnim" | |
1087 | Animation47.Parent = StringValue46 | |
1088 | Animation47.AnimationId = "http://www.roblox.com/asset/?id=125750702" | |
1089 | StringValue48.Name = "run" | |
1090 | StringValue48.Parent = Script36 | |
1091 | Animation49.Name = "RunAnim" | |
1092 | Animation49.Parent = StringValue48 | |
1093 | Animation49.AnimationId = "http://www.roblox.com/asset/?id=252557606" | |
1094 | StringValue50.Name = "sit" | |
1095 | StringValue50.Parent = Script36 | |
1096 | Animation51.Name = "SitAnim" | |
1097 | Animation51.Parent = StringValue50 | |
1098 | Animation51.AnimationId = "http://www.roblox.com/asset/?id=178130996" | |
1099 | StringValue52.Name = "toolnone" | |
1100 | StringValue52.Parent = Script36 | |
1101 | Animation53.Name = "ToolNoneAnim" | |
1102 | Animation53.Parent = StringValue52 | |
1103 | Animation53.AnimationId = "http://www.roblox.com/asset/?id=182393478" | |
1104 | StringValue54.Name = "walk" | |
1105 | StringValue54.Parent = Script36 | |
1106 | Animation55.Name = "WalkAnim" | |
1107 | Animation55.Parent = StringValue54 | |
1108 | Animation55.AnimationId = "http://www.roblox.com/asset/?id=180426354" | |
1109 | Animation56.Name = "Swing" | |
1110 | Animation56.Parent = Model0 | |
1111 | Animation56.AnimationId = "rbxassetid://54584713" | |
1112 | Sound57.Name = "Jeff_Scene_Sound1" | |
1113 | Sound57.Parent = Model0 | |
1114 | Sound57.Looped = true | |
1115 | Sound57.EmitterSize = 0 | |
1116 | Sound57.MinDistance = 0 | |
1117 | Sound57.SoundId = "rbxassetid://304426684" | |
1118 | Pants58.Name = "Pants" | |
1119 | Pants58.Parent = Model0 | |
1120 | Pants58.PantsTemplate = "http://www.roblox.com/asset/?id=344084364" | |
1121 | BodyColors59.Parent = Model0 | |
1122 | BodyColors59.HeadColor = BrickColor.new("Institutional white") | |
1123 | BodyColors59.HeadColor3 = Color3.new(0.972549, 0.972549, 0.972549) | |
1124 | BodyColors59.LeftArmColor = BrickColor.new("Institutional white") | |
1125 | BodyColors59.LeftArmColor3 = Color3.new(0.972549, 0.972549, 0.972549) | |
1126 | BodyColors59.LeftLegColor = BrickColor.new("Really black") | |
1127 | BodyColors59.LeftLegColor3 = Color3.new(0.0666667, 0.0666667, 0.0666667) | |
1128 | BodyColors59.RightArmColor = BrickColor.new("Institutional white") | |
1129 | BodyColors59.RightArmColor3 = Color3.new(0.972549, 0.972549, 0.972549) | |
1130 | BodyColors59.RightLegColor = BrickColor.new("Really black") | |
1131 | BodyColors59.RightLegColor3 = Color3.new(0.0666667, 0.0666667, 0.0666667) | |
1132 | BodyColors59.TorsoColor = BrickColor.new("Institutional white") | |
1133 | BodyColors59.TorsoColor3 = Color3.new(0.972549, 0.972549, 0.972549) | |
1134 | Part60.Name = "DarkHairBottom" | |
1135 | Part60.Parent = Model0 | |
1136 | Part60.CFrame = CFrame.new(207.87999, 4.69999886, 196.689941, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
1137 | Part60.Position = Vector3.new(207.87999, 4.69999886, 196.689941) | |
1138 | Part60.Color = Color3.new(0.0666667, 0.0666667, 0.0666667) | |
1139 | Part60.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003) | |
1140 | Part60.BackParamA = -99999 | |
1141 | Part60.BackParamB = 99999 | |
1142 | Part60.BackSurface = Enum.SurfaceType.SmoothNoOutlines | |
1143 | Part60.BottomParamA = -99999 | |
1144 | Part60.BottomParamB = 99999 | |
1145 | Part60.BottomSurface = Enum.SurfaceType.SmoothNoOutlines | |
1146 | Part60.BrickColor = BrickColor.new("Really black") | |
1147 | Part60.CanCollide = false | |
1148 | Part60.FrontParamA = -99999 | |
1149 | Part60.FrontParamB = 99999 | |
1150 | Part60.FrontSurface = Enum.SurfaceType.SmoothNoOutlines | |
1151 | Part60.LeftParamA = -99999 | |
1152 | Part60.LeftParamB = 99999 | |
1153 | Part60.LeftSurface = Enum.SurfaceType.SmoothNoOutlines | |
1154 | Part60.Locked = true | |
1155 | Part60.Material = Enum.Material.SmoothPlastic | |
1156 | Part60.RightParamA = -99999 | |
1157 | Part60.RightParamB = 99999 | |
1158 | Part60.RightSurface = Enum.SurfaceType.SmoothNoOutlines | |
1159 | Part60.TopParamA = -99999 | |
1160 | Part60.TopParamB = 99999 | |
1161 | Part60.TopSurface = Enum.SurfaceType.SmoothNoOutlines | |
1162 | Part60.brickColor = BrickColor.new("Really black") | |
1163 | Part60.FormFactor = Enum.FormFactor.Custom | |
1164 | Part60.formFactor = Enum.FormFactor.Custom | |
1165 | SpecialMesh61.Parent = Part60 | |
1166 | SpecialMesh61.MeshId = "http://roblox.com/asset/?id=82348216" | |
1167 | SpecialMesh61.Scale = Vector3.new(1, 1.75, 0.800000012) | |
1168 | SpecialMesh61.VertexColor = Vector3.new(0, 0, 0) | |
1169 | SpecialMesh61.TextureId = "http://www.roblox.com/asset/?id=75975464" | |
1170 | SpecialMesh61.MeshType = Enum.MeshType.FileMesh | |
1171 | Decal62.Parent = Part60 | |
1172 | Decal62.Texture = "http://www.roblox.com/asset/?id=101992031" | |
1173 | Decal62.Face = Enum.NormalId.Top | |
1174 | Script63.Name = "Respawn" | |
1175 | Script63.Parent = Model0 | |
1176 | table.insert(cors,sandbox(Script63,function() | |
1177 | --[[ By: Brutez, 2/28/2015, 1:34 AM, (UTC-08:00) Pacific Time (US & Canada) ]]-- | |
1178 | 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. ]]-- | |
1179 | local AdvancedRespawnScript=script; | |
1180 | repeat Wait(0)until script and script.Parent and script.Parent.ClassName=="Model"; | |
1181 | local JeffTheKiller=AdvancedRespawnScript.Parent; | |
1182 | if AdvancedRespawnScript and JeffTheKiller and JeffTheKiller:FindFirstChild("Thumbnail")then | |
1183 | JeffTheKiller:FindFirstChild("Thumbnail"):Destroy(); | |
1184 | end; | |
1185 | local GameDerbis=Game:GetService("Debris"); | |
1186 | local JeffTheKillerHumanoid; | |
1187 | for _,Child in pairs(JeffTheKiller:GetChildren())do | |
1188 | if Child and Child.ClassName=="Humanoid"and Child.Health~=0 then | |
1189 | JeffTheKillerHumanoid=Child; | |
1190 | end; | |
1191 | end; | |
1192 | local Respawndant=JeffTheKiller:Clone(); | |
1193 | if PlayerSpawning then --[[ LOOK AT LINE: 2. ]]-- | |
1194 | coroutine.resume(coroutine.create(function() | |
1195 | if JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid:FindFirstChild("Status")and not JeffTheKillerHumanoid:FindFirstChild("Status"):FindFirstChild("AvalibleSpawns")then | |
1196 | SpawnModel=Instance.new("Model"); | |
1197 | SpawnModel.Parent=JeffTheKillerHumanoid.Status; | |
1198 | SpawnModel.Name="AvalibleSpawns"; | |
1199 | else | |
1200 | SpawnModel=JeffTheKillerHumanoid:FindFirstChild("Status"):FindFirstChild("AvalibleSpawns"); | |
1201 | end; | |
1202 | function FindSpawn(SearchValue) | |
1203 | local PartsArchivable=SearchValue:GetChildren(); | |
1204 | for AreaSearch=1,#PartsArchivable do | |
1205 | if PartsArchivable[AreaSearch].className=="SpawnLocation"then | |
1206 | local PositionValue=Instance.new("Vector3Value",SpawnModel); | |
1207 | PositionValue.Value=PartsArchivable[AreaSearch].Position; | |
1208 | PositionValue.Name=PartsArchivable[AreaSearch].Duration; | |
1209 | end; | |
1210 | FindSpawn(PartsArchivable[AreaSearch]); | |
1211 | end; | |
1212 | end; | |
1213 | FindSpawn(Game:GetService("Workspace")); | |
1214 | local SpawnChilden=SpawnModel:GetChildren(); | |
1215 | if#SpawnChilden>0 then | |
1216 | local SpawnItself=SpawnChilden[math.random(1,#SpawnChilden)]; | |
1217 | local RespawningForceField=Instance.new("ForceField"); | |
1218 | RespawningForceField.Parent=JeffTheKiller; | |
1219 | RespawningForceField.Name="SpawnForceField"; | |
1220 | GameDerbis:AddItem(RespawningForceField,SpawnItself.Name); | |
1221 | JeffTheKiller:MoveTo(SpawnItself.Value+Vector3.new(0,3.5,0)); | |
1222 | else | |
1223 | if JeffTheKiller:FindFirstChild("SpawnForceField")then | |
1224 | JeffTheKiller:FindFirstChild("SpawnForceField"):Destroy(); | |
1225 | end; | |
1226 | JeffTheKiller:MoveTo(Vector3.new(0,115,0)); | |
1227 | end; | |
1228 | end)); | |
1229 | end; | |
1230 | function Respawn() | |
1231 | Wait(5); | |
1232 | Respawndant.Parent=JeffTheKiller.Parent; | |
1233 | Respawndant:makeJoints(); | |
1234 | Respawndant:FindFirstChild("Head"):MakeJoints(); | |
1235 | Respawndant:FindFirstChild("Torso"):MakeJoints(); | |
1236 | JeffTheKiller:remove(); | |
1237 | end; | |
1238 | if AdvancedRespawnScript and JeffTheKiller and JeffTheKillerHumanoid then | |
1239 | JeffTheKillerHumanoid.Died:connect(Respawn); | |
1240 | end; | |
1241 | --[[ By: Brutez, 2/28/2015, 1:34 AM, (UTC-08:00) Pacific Time (US & Canada) ]]-- | |
1242 | end)) | |
1243 | Sound64.Name = "Jeff_Scene_Sound2" | |
1244 | Sound64.Parent = Model0 | |
1245 | Sound64.Looped = true | |
1246 | Sound64.EmitterSize = 0 | |
1247 | Sound64.MinDistance = 0 | |
1248 | Sound64.SoundId = "rbxassetid://380103076" | |
1249 | Part65.Name = "DarkHairTop" | |
1250 | Part65.Parent = Model0 | |
1251 | Part65.CFrame = CFrame.new(207.87999, 4.79999924, 196.689941, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
1252 | Part65.Position = Vector3.new(207.87999, 4.79999924, 196.689941) | |
1253 | Part65.Color = Color3.new(0.0666667, 0.0666667, 0.0666667) | |
1254 | Part65.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003) | |
1255 | Part65.BackParamA = -99999 | |
1256 | Part65.BackParamB = 99999 | |
1257 | Part65.BackSurface = Enum.SurfaceType.SmoothNoOutlines | |
1258 | Part65.BottomParamA = -99999 | |
1259 | Part65.BottomParamB = 99999 | |
1260 | Part65.BottomSurface = Enum.SurfaceType.SmoothNoOutlines | |
1261 | Part65.BrickColor = BrickColor.new("Really black") | |
1262 | Part65.CanCollide = false | |
1263 | Part65.FrontParamA = -99999 | |
1264 | Part65.FrontParamB = 99999 | |
1265 | Part65.FrontSurface = Enum.SurfaceType.SmoothNoOutlines | |
1266 | Part65.LeftParamA = -99999 | |
1267 | Part65.LeftParamB = 99999 | |
1268 | Part65.LeftSurface = Enum.SurfaceType.SmoothNoOutlines | |
1269 | Part65.Locked = true | |
1270 | Part65.Material = Enum.Material.SmoothPlastic | |
1271 | Part65.RightParamA = -99999 | |
1272 | Part65.RightParamB = 99999 | |
1273 | Part65.RightSurface = Enum.SurfaceType.SmoothNoOutlines | |
1274 | Part65.TopParamA = -99999 | |
1275 | Part65.TopParamB = 99999 | |
1276 | Part65.TopSurface = Enum.SurfaceType.SmoothNoOutlines | |
1277 | Part65.brickColor = BrickColor.new("Really black") | |
1278 | Part65.FormFactor = Enum.FormFactor.Custom | |
1279 | Part65.formFactor = Enum.FormFactor.Custom | |
1280 | SpecialMesh66.Parent = Part65 | |
1281 | SpecialMesh66.MeshId = "http://www.roblox.com/asset/?id=13332444" | |
1282 | SpecialMesh66.Scale = Vector3.new(1.04999995, 1, 1.04999995) | |
1283 | SpecialMesh66.VertexColor = Vector3.new(0, 0, 0) | |
1284 | SpecialMesh66.TextureId = "http://www.roblox.com/asset/?id=75975464" | |
1285 | SpecialMesh66.MeshType = Enum.MeshType.FileMesh | |
1286 | Decal67.Parent = Part65 | |
1287 | Decal67.Texture = "http://www.roblox.com/asset/?id=101992031" | |
1288 | Decal67.Face = Enum.NormalId.Top | |
1289 | Script68.Name = "JeffTheKillerMain" | |
1290 | Script68.Parent = Model0 | |
1291 | table.insert(cors,sandbox(Script68,function() | |
1292 | --[[ By: Brutez. ]]-- | |
1293 | local JeffTheKillerScript=script; | |
1294 | repeat Wait(0)until JeffTheKillerScript and JeffTheKillerScript.Parent and JeffTheKillerScript.Parent.ClassName=="Model"and JeffTheKillerScript.Parent:FindFirstChild("Head")and JeffTheKillerScript.Parent:FindFirstChild("Torso"); | |
1295 | local JeffTheKiller=JeffTheKillerScript.Parent; | |
1296 | function raycast(Spos,vec,currentdist) | |
1297 | local hit2,pos2=game.Workspace:FindPartOnRay(Ray.new(Spos+(vec*.05),vec*currentdist),JeffTheKiller); | |
1298 | if hit2~=nil and pos2 then | |
1299 | if hit2.Name=="Handle" and not hit2.CanCollide or string.sub(hit2.Name,1,6)=="Effect"and not hit2.CanCollide then | |
1300 | local currentdist=currentdist-(pos2-Spos).magnitude; | |
1301 | return raycast(pos2,vec,currentdist); | |
1302 | end; | |
1303 | end; | |
1304 | return hit2,pos2; | |
1305 | end; | |
1306 | function RayCast(Position,Direction,MaxDistance,IgnoreList) | |
1307 | return Game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(Position,Direction.unit*(MaxDistance or 999.999)),IgnoreList); | |
1308 | end; | |
1309 | --[[if JeffTheKillerScript and JeffTheKiller and JeffTheKiller:FindFirstChild("Thumbnail")then]]-- | |
1310 | --[[JeffTheKiller:FindFirstChild("Thumbnail"):Destroy();]]-- | |
1311 | --[[end;]]-- | |
1312 | local JeffTheKillerHumanoid; | |
1313 | for _,Child in pairs(JeffTheKiller:GetChildren())do | |
1314 | if Child and Child.ClassName=="Humanoid"and Child.Health~=0 then | |
1315 | JeffTheKillerHumanoid=Child; | |
1316 | end; | |
1317 | end; | |
1318 | local AttackDebounce=false; | |
1319 | local JeffTheKillerKnife=JeffTheKiller:FindFirstChild("Knife"); | |
1320 | local JeffTheKillerHead=JeffTheKiller:FindFirstChild("Head"); | |
1321 | local JeffTheKillerHumanoidRootPart=JeffTheKiller:FindFirstChild("HumanoidRootPart"); | |
1322 | local WalkDebounce=false; | |
1323 | local Notice=false; | |
1324 | local JeffLaughDebounce=false; | |
1325 | local MusicDebounce=false; | |
1326 | local NoticeDebounce=false; | |
1327 | local ChosenMusic; | |
1328 | function FindNearestBae() | |
1329 | local NoticeDistance=100; | |
1330 | local TargetMain; | |
1331 | for _,TargetModel in pairs(Game:GetService("Workspace"):GetChildren())do | |
1332 | if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Health~=0 and TargetModel.className=="Model"and TargetModel~=JeffTheKiller and TargetModel.Name~=JeffTheKiller.Name and TargetModel:FindFirstChild("Torso")and TargetModel:FindFirstChild("Head")then | |
1333 | local TargetPart=TargetModel:FindFirstChild("Torso"); | |
1334 | local FoundHumanoid; | |
1335 | for _,Child in pairs(TargetModel:GetChildren())do | |
1336 | if Child and Child.ClassName=="Humanoid"and Child.Health~=0 then | |
1337 | FoundHumanoid=Child; | |
1338 | end; | |
1339 | end; | |
1340 | if TargetModel and TargetPart and FoundHumanoid and FoundHumanoid.Health~=0 and(TargetPart.Position-JeffTheKillerHumanoidRootPart.Position).magnitude<NoticeDistance then | |
1341 | TargetMain=TargetPart; | |
1342 | NoticeDistance=(TargetPart.Position-JeffTheKillerHumanoidRootPart.Position).magnitude; | |
1343 | local hit,pos=raycast(JeffTheKillerHumanoidRootPart.Position,(TargetPart.Position-JeffTheKillerHumanoidRootPart.Position).unit,500) | |
1344 | if hit and hit.Parent and hit.Parent.ClassName=="Model"and hit.Parent:FindFirstChild("Torso")and hit.Parent:FindFirstChild("Head")then | |
1345 | if TargetModel and TargetPart and FoundHumanoid and FoundHumanoid.Health~=0 and(TargetPart.Position-JeffTheKillerHumanoidRootPart.Position).magnitude<9 and not AttackDebounce then | |
1346 | Spawn(function() | |
1347 | AttackDebounce=true; | |
1348 | local SwingAnimation=JeffTheKillerHumanoid:LoadAnimation(JeffTheKiller:FindFirstChild("Swing")); | |
1349 | local SwingChoice=math.random(1,2); | |
1350 | local HitChoice=math.random(1,3); | |
1351 | SwingAnimation:Play(); | |
1352 | SwingAnimation:AdjustSpeed(1.5+(math.random()*0.1)); | |
1353 | if JeffTheKillerScript and JeffTheKiller and JeffTheKillerKnife and JeffTheKillerKnife:FindFirstChild("Swing")then | |
1354 | local SwingSound=JeffTheKillerKnife:FindFirstChild("Swing"); | |
1355 | SwingSound.Pitch=1+(math.random()*0.04); | |
1356 | SwingSound:Play(); | |
1357 | end; | |
1358 | Wait(0.3); | |
1359 | if TargetModel and TargetPart and FoundHumanoid and FoundHumanoid.Health~=0 and(TargetPart.Position-JeffTheKillerHumanoidRootPart.Position).magnitude<8 then | |
1360 | FoundHumanoid:TakeDamage(30); | |
1361 | if HitChoice==1 and JeffTheKillerScript and JeffTheKiller and JeffTheKillerKnife and JeffTheKillerKnife:FindFirstChild("Hit1")then | |
1362 | local HitSound=JeffTheKillerKnife:FindFirstChild("Hit1"); | |
1363 | HitSound.Pitch=1+(math.random()*0.04); | |
1364 | HitSound:Play(); | |
1365 | elseif HitChoice==2 and JeffTheKillerScript and JeffTheKiller and JeffTheKillerKnife and JeffTheKillerKnife:FindFirstChild("Hit2")then | |
1366 | local HitSound=JeffTheKillerKnife:FindFirstChild("Hit2"); | |
1367 | HitSound.Pitch=1+(math.random()*0.04); | |
1368 | HitSound:Play(); | |
1369 | elseif HitChoice==3 and JeffTheKillerScript and JeffTheKiller and JeffTheKillerKnife and JeffTheKillerKnife:FindFirstChild("Hit3")then | |
1370 | local HitSound=JeffTheKillerKnife:FindFirstChild("Hit3"); | |
1371 | HitSound.Pitch=1+(math.random()*0.04); | |
1372 | HitSound:Play(); | |
1373 | end; | |
1374 | end; | |
1375 | Wait(0.1); | |
1376 | AttackDebounce=false; | |
1377 | end); | |
1378 | end; | |
1379 | end; | |
1380 | end; | |
1381 | end; | |
1382 | end; | |
1383 | return TargetMain; | |
1384 | end; | |
1385 | while Wait(0)do | |
1386 | local TargetPoint=JeffTheKillerHumanoid.TargetPoint; | |
1387 | local Blockage,BlockagePos=RayCast((JeffTheKillerHumanoidRootPart.CFrame+CFrame.new(JeffTheKillerHumanoidRootPart.Position,Vector3.new(TargetPoint.X,JeffTheKillerHumanoidRootPart.Position.Y,TargetPoint.Z)).lookVector*(JeffTheKillerHumanoidRootPart.Size.Z/2)).p,JeffTheKillerHumanoidRootPart.CFrame.lookVector,(JeffTheKillerHumanoidRootPart.Size.Z*2.5),{JeffTheKiller,JeffTheKiller}) | |
1388 | local Jumpable=false; | |
1389 | if Blockage then | |
1390 | Jumpable=true; | |
1391 | if Blockage and Blockage.Parent and Blockage.Parent.ClassName~="Workspace"then | |
1392 | local BlockageHumanoid; | |
1393 | for _,Child in pairs(Blockage.Parent:GetChildren())do | |
1394 | if Child and Child.ClassName=="Humanoid"and Child.Health~=0 then | |
1395 | BlockageHumanoid=Child; | |
1396 | end; | |
1397 | end; | |
1398 | if Blockage and Blockage:IsA("Terrain")then | |
1399 | local CellPos=Blockage:WorldToCellPreferSolid((BlockagePos-Vector3.new(0,2,0))); | |
1400 | local CellMaterial,CellShape,CellOrientation=Blockage:GetCell(CellPos.X,CellPos.Y,CellPos.Z); | |
1401 | if CellMaterial==Enum.CellMaterial.Water then | |
1402 | Jumpable=false; | |
1403 | end; | |
1404 | elseif BlockageHumanoid or Blockage.ClassName=="TrussPart"or Blockage.ClassName=="WedgePart"or Blockage.Name=="Handle"and Blockage.Parent.ClassName=="Hat"or Blockage.Name=="Handle"and Blockage.Parent.ClassName=="Tool"then | |
1405 | Jumpable=false; | |
1406 | end; | |
1407 | end; | |
1408 | if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Health~=0 and not JeffTheKillerHumanoid.Sit and Jumpable then | |
1409 | JeffTheKillerHumanoid.Jump=true; | |
1410 | end; | |
1411 | end; | |
1412 | if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHead and JeffTheKillerHumanoidRootPart and JeffTheKillerHead:FindFirstChild("Jeff_Step")and (JeffTheKillerHumanoidRootPart.Velocity-Vector3.new(0,JeffTheKillerHumanoidRootPart.Velocity.y,0)).magnitude>=5 and not WalkDebounce and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Health~=0 then | |
1413 | Spawn(function() | |
1414 | WalkDebounce=true; | |
1415 | local FiredRay=Ray.new(JeffTheKillerHumanoidRootPart.Position,Vector3.new(0,-4,0)); | |
1416 | local RayTarget,endPoint=Game:GetService("Workspace"):FindPartOnRay(FiredRay,JeffTheKiller); | |
1417 | if RayTarget then | |
1418 | local JeffTheKillerHeadFootStepClone=JeffTheKillerHead:FindFirstChild("Jeff_Step"):Clone(); | |
1419 | JeffTheKillerHeadFootStepClone.Parent=JeffTheKillerHead; | |
1420 | JeffTheKillerHeadFootStepClone:Play(); | |
1421 | JeffTheKillerHeadFootStepClone:Destroy(); | |
1422 | if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Health~=0 and JeffTheKillerHumanoid.WalkSpeed<17 then | |
1423 | Wait(0.5); | |
1424 | elseif JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Health~=0 and JeffTheKillerHumanoid.WalkSpeed>17 then | |
1425 | Wait(0.2); | |
1426 | end | |
1427 | end; | |
1428 | WalkDebounce=false; | |
1429 | end); | |
1430 | end; | |
1431 | local MainTarget=FindNearestBae(); | |
1432 | local FoundHumanoid; | |
1433 | if MainTarget then | |
1434 | for _,Child in pairs(MainTarget.Parent:GetChildren())do | |
1435 | if Child and Child.ClassName=="Humanoid"and Child.Health~=0 then | |
1436 | FoundHumanoid=Child; | |
1437 | end; | |
1438 | end; | |
1439 | end; | |
1440 | if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Health~=0 and MainTarget and MainTarget.Parent and FoundHumanoid and FoundHumanoid.Jump then | |
1441 | JeffTheKillerHumanoid.Jump=true; | |
1442 | end; | |
1443 | if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Health~=0 and MainTarget and FoundHumanoid and FoundHumanoid.Health~=0 and(MainTarget.Position-JeffTheKillerHumanoidRootPart.Position).magnitude<25 then | |
1444 | if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHead and JeffTheKillerHead:FindFirstChild("Jeff_Laugh")and not JeffTheKillerHead:FindFirstChild("Jeff_Laugh").IsPlaying then | |
1445 | JeffTheKillerHead:FindFirstChild("Jeff_Laugh").Volume=1; | |
1446 | JeffTheKillerHead:FindFirstChild("Jeff_Laugh"):Play(); | |
1447 | end; | |
1448 | elseif JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Health~=0 and MainTarget and FoundHumanoid and FoundHumanoid.Health~=0 and(MainTarget.Position-JeffTheKillerHumanoidRootPart.Position).magnitude>25 then | |
1449 | if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHead and JeffTheKillerHead:FindFirstChild("Jeff_Laugh")and JeffTheKillerHead:FindFirstChild("Jeff_Laugh").IsPlaying then | |
1450 | if not JeffLaughDebounce then | |
1451 | Spawn(function() | |
1452 | JeffLaughDebounce=true; | |
1453 | repeat Wait(0);if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHead and JeffTheKillerHead:FindFirstChild("Jeff_Laugh")then JeffTheKillerHead:FindFirstChild("Jeff_Laugh").Volume=JeffTheKillerHead:FindFirstChild("Jeff_Laugh").Volume-0.1;else break;end;until JeffTheKillerHead:FindFirstChild("Jeff_Laugh").Volume==0 or JeffTheKillerHead:FindFirstChild("Jeff_Laugh").Volume<0; | |
1454 | JeffTheKillerHead:FindFirstChild("Jeff_Laugh").Volume=0; | |
1455 | JeffTheKillerHead:FindFirstChild("Jeff_Laugh"):Stop(); | |
1456 | JeffLaughDebounce=false; | |
1457 | end); | |
1458 | end; | |
1459 | end; | |
1460 | end; | |
1461 | if not ChosenMusic and JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Health~=0 and MainTarget and FoundHumanoid and FoundHumanoid.Health~=0 and(MainTarget.Position-JeffTheKillerHumanoidRootPart.Position).magnitude<50 then | |
1462 | local MusicChoice=math.random(1,2); | |
1463 | if MusicChoice==1 and JeffTheKillerScript and JeffTheKiller and JeffTheKiller:FindFirstChild("Jeff_Scene_Sound1")then | |
1464 | ChosenMusic=JeffTheKiller:FindFirstChild("Jeff_Scene_Sound1"); | |
1465 | elseif MusicChoice==2 and JeffTheKillerScript and JeffTheKiller and JeffTheKiller:FindFirstChild("Jeff_Scene_Sound2")then | |
1466 | ChosenMusic=JeffTheKiller:FindFirstChild("Jeff_Scene_Sound2"); | |
1467 | end; | |
1468 | if JeffTheKillerScript and JeffTheKiller and ChosenMusic and not ChosenMusic.IsPlaying then | |
1469 | ChosenMusic.Volume=0.5; | |
1470 | ChosenMusic:Play(); | |
1471 | end; | |
1472 | elseif JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Health~=0 and MainTarget and FoundHumanoid and FoundHumanoid.Health~=0 and(MainTarget.Position-JeffTheKillerHumanoidRootPart.Position).magnitude>50 then | |
1473 | if JeffTheKillerScript and JeffTheKiller and ChosenMusic and ChosenMusic.IsPlaying then | |
1474 | if not MusicDebounce then | |
1475 | Spawn(function() | |
1476 | MusicDebounce=true; | |
1477 | repeat Wait(0);if JeffTheKillerScript and JeffTheKiller and ChosenMusic then ChosenMusic.Volume=ChosenMusic.Volume-0.01;else break;end;until ChosenMusic.Volume==0 or ChosenMusic.Volume<0; | |
1478 | if ChosenMusic then | |
1479 | ChosenMusic.Volume=0; | |
1480 | ChosenMusic:Stop(); | |
1481 | end; | |
1482 | ChosenMusic=nil; | |
1483 | MusicDebounce=false; | |
1484 | end); | |
1485 | end; | |
1486 | end; | |
1487 | end; | |
1488 | if not MainTarget and not JeffLaughDebounce then | |
1489 | Spawn(function() | |
1490 | JeffLaughDebounce=true; | |
1491 | repeat Wait(0);if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHead and JeffTheKillerHead:FindFirstChild("Jeff_Laugh")then JeffTheKillerHead:FindFirstChild("Jeff_Laugh").Volume=JeffTheKillerHead:FindFirstChild("Jeff_Laugh").Volume-0.1;else break;end;until JeffTheKillerHead:FindFirstChild("Jeff_Laugh").Volume==0 or JeffTheKillerHead:FindFirstChild("Jeff_Laugh").Volume<0; | |
1492 | JeffTheKillerHead:FindFirstChild("Jeff_Laugh").Volume=0; | |
1493 | JeffTheKillerHead:FindFirstChild("Jeff_Laugh"):Stop(); | |
1494 | JeffLaughDebounce=false; | |
1495 | end); | |
1496 | end; | |
1497 | if not MainTarget and not MusicDebounce then | |
1498 | Spawn(function() | |
1499 | MusicDebounce=true; | |
1500 | repeat Wait(0);if JeffTheKillerScript and JeffTheKiller and ChosenMusic then ChosenMusic.Volume=ChosenMusic.Volume-0.01;else break;end;until ChosenMusic.Volume==0 or ChosenMusic.Volume<0; | |
1501 | if ChosenMusic then | |
1502 | ChosenMusic.Volume=0; | |
1503 | ChosenMusic:Stop(); | |
1504 | end; | |
1505 | ChosenMusic=nil; | |
1506 | MusicDebounce=false; | |
1507 | end); | |
1508 | end; | |
1509 | if MainTarget then | |
1510 | Notice=true; | |
1511 | if Notice and not NoticeDebounce and JeffTheKillerScript and JeffTheKiller and JeffTheKillerHead and JeffTheKillerHead:FindFirstChild("Jeff_Susto2")then | |
1512 | JeffTheKillerHead:FindFirstChild("Jeff_Susto2"):Play(); | |
1513 | NoticeDebounce=true; | |
1514 | end | |
1515 | if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Health~=0 then | |
1516 | if MainTarget and FoundHumanoid and FoundHumanoid.Health~=0 and(MainTarget.Position-JeffTheKillerHumanoidRootPart.Position).magnitude>5 then | |
1517 | JeffTheKillerHumanoid.WalkSpeed=30; | |
1518 | elseif MainTarget and FoundHumanoid and FoundHumanoid.Health~=0 and(MainTarget.Position-JeffTheKillerHumanoidRootPart.Position).magnitude<5 then | |
1519 | JeffTheKillerHumanoid.WalkSpeed=0.004; | |
1520 | end; | |
1521 | JeffTheKillerHumanoid:MoveTo(MainTarget.Position+(MainTarget.Position-JeffTheKillerHumanoidRootPart.Position).unit*2,Game:GetService("Workspace"):FindFirstChild("Terrain")); | |
1522 | end; | |
1523 | else | |
1524 | Notice=false; | |
1525 | NoticeDebounce=false; | |
1526 | local RandomWalk=math.random(1,150); | |
1527 | if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Health~=0 then | |
1528 | JeffTheKillerHumanoid.WalkSpeed=12; | |
1529 | if RandomWalk==1 then | |
1530 | JeffTheKillerHumanoid:MoveTo(Game:GetService("Workspace"):FindFirstChild("Terrain").Position+Vector3.new(math.random(-2048,2048),0,math.random(-2048,2048)),Game:GetService("Workspace"):FindFirstChild("Terrain")); | |
1531 | end; | |
1532 | end; | |
1533 | end; | |
1534 | if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid then | |
1535 | JeffTheKillerHumanoid.DisplayDistanceType="None"; | |
1536 | JeffTheKillerHumanoid.HealthDisplayDistance=0; | |
1537 | JeffTheKillerHumanoid.Name="ColdBloodedKiller"; | |
1538 | JeffTheKillerHumanoid.NameDisplayDistance=0; | |
1539 | JeffTheKillerHumanoid.NameOcclusion="EnemyOcclusion"; | |
1540 | JeffTheKillerHumanoid.AutoJumpEnabled=true; | |
1541 | JeffTheKillerHumanoid.AutoRotate=true; | |
1542 | JeffTheKillerHumanoid.MaxHealth=500; | |
1543 | JeffTheKillerHumanoid.JumpPower=60; | |
1544 | JeffTheKillerHumanoid.MaxSlopeAngle=89.9; | |
1545 | end; | |
1546 | if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and not JeffTheKillerHumanoid.AutoJumpEnabled then | |
1547 | JeffTheKillerHumanoid.AutoJumpEnabled=true; | |
1548 | end; | |
1549 | if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and not JeffTheKillerHumanoid.AutoRotate then | |
1550 | JeffTheKillerHumanoid.AutoRotate=true; | |
1551 | end; | |
1552 | if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.PlatformStand then | |
1553 | JeffTheKillerHumanoid.PlatformStand=false; | |
1554 | end; | |
1555 | if JeffTheKillerScript and JeffTheKiller and JeffTheKillerHumanoid and JeffTheKillerHumanoid.Sit then | |
1556 | JeffTheKillerHumanoid.Sit=false; | |
1557 | end; | |
1558 | end; | |
1559 | --[[ By: Brutez. ]]-- | |
1560 | end)) | |
1561 | Shirt69.Name = "Shirt" | |
1562 | Shirt69.Parent = Model0 | |
1563 | Shirt69.ShirtTemplate = "http://www.roblox.com/asset/?id=344089667" | |
1564 | CharacterMesh70.Parent = Model0 | |
1565 | CharacterMesh70.BodyPart = Enum.BodyPart.RightArm | |
1566 | CharacterMesh70.MeshId = 27111864 | |
1567 | CharacterMesh71.Parent = Model0 | |
1568 | CharacterMesh71.BodyPart = Enum.BodyPart.LeftArm | |
1569 | CharacterMesh71.MeshId = 27111419 | |
1570 | for i,v in pairs(mas:GetChildren()) do | |
1571 | v.Parent = workspace | |
1572 | pcall(function() v:MakeJoints() end) | |
1573 | end | |
1574 | mas:Destroy() | |
1575 | for i,v in pairs(cors) do | |
1576 | spawn(function() | |
1577 | pcall(v) | |
1578 | end) | |
1579 | end |