SHOW:
|
|
- or go back to the newest paste.
1 | ----------------------------------------------------- | |
2 | ------------------------Jevil------------------------ | |
3 | ----------------------------------------------------- | |
4 | ||
5 | print("Bad Joofil") | |
6 | print("Joofil script by themrbenja2") | |
7 | print("this isn't like the original Joofil") | |
8 | print("don't leak this") | |
9 | - | Player = game:GetService("Players").themrbenja2 |
9 | + | Player = game:GetService("Players").silver22352 |
10 | PlayerGui = Player.PlayerGui | |
11 | chara = Player.Character | |
12 | Character = Player.Character | |
13 | Cam = workspace.CurrentCamera | |
14 | Backpack = Player.Backpack | |
15 | Character = Player.Character | |
16 | Humanoid = Character.Humanoid | |
17 | Mouse = Player:GetMouse() | |
18 | RootPart = Character["HumanoidRootPart"] | |
19 | Torso = Character["Torso"] | |
20 | Head = Character["Head"] | |
21 | RightArm = Character["Right Arm"] | |
22 | LeftArm = Character["Left Arm"] | |
23 | RightLeg = Character["Right Leg"] | |
24 | LeftLeg = Character["Left Leg"] | |
25 | RootJoint = RootPart["RootJoint"] | |
26 | Neck = Torso["Neck"] | |
27 | RightShoulder = Torso["Right Shoulder"] | |
28 | LeftShoulder = Torso["Left Shoulder"] | |
29 | RightHip = Torso["Right Hip"] | |
30 | LeftHip = Torso["Left Hip"] | |
31 | ||
32 | local naeeym = Instance.new("BillboardGui",chara) | |
33 | naeeym.Size = UDim2.new(0,100,0,40) | |
34 | naeeym.StudsOffset = Vector3.new(0,2,0) | |
35 | naeeym.Adornee = chara.Head | |
36 | local tecks = Instance.new("TextLabel",naeeym) | |
37 | tecks.BackgroundTransparency = 1 | |
38 | tecks.BorderSizePixel = 0 | |
39 | tecks.Text = "Script by themrbenja2" | |
40 | tecks.Font = "Fantasy" | |
41 | tecks.FontSize = "Size24" | |
42 | tecks.TextStrokeTransparency = 0 | |
43 | tecks.TextStrokeColor3 = Color3.new(170,0,255) | |
44 | tecks.TextColor3 = Color3.new(1,0,255) | |
45 | tecks.Size = UDim2.new(1,0,0.5,0) | |
46 | wait(1) | |
47 | ||
48 | tecks.Text = "Joofil" | |
49 | ||
50 | local plr = owner | |
51 | local char = plr.Character | |
52 | if char:FindFirstChild("Animate") then | |
53 | char.Animate:Destroy() | |
54 | end | |
55 | local hum = char:FindFirstChildOfClass("Humanoid") | |
56 | local tors = char.Torso | |
57 | local head = char.Head | |
58 | local rootpart = char.HumanoidRootPart | |
59 | local RS = tors["Right Shoulder"] | |
60 | local LS = tors["Left Shoulder"] | |
61 | local RH = tors["Right Hip"] | |
62 | local LH = tors["Left Hip"] | |
63 | local neck = tors.Neck | |
64 | local rootj = rootpart.RootJoint | |
65 | local RSnor = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0) | |
66 | local LSnor = CFrame.new(-1, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0) | |
67 | local RHnor = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0) | |
68 | local LHnor = CFrame.new(-1, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0) | |
69 | local necknor = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) | |
70 | local rootjnor = CFrame.new(0, 0, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) | |
71 | local sine = 0 | |
72 | local rooted = false | |
73 | local attack = false | |
74 | local music = Instance.new("Sound") | |
75 | music.Parent = tors | |
76 | local timepos = 0 | |
77 | local playing = true | |
78 | local volume = 2 | |
79 | local song = "rbxassetid://2729072620" | |
80 | local JevilForm = false | |
81 | hum.WalkSpeed = 10 | |
82 | ||
83 | ----------------------------------------------------- | |
84 | ------------------Clientsided stuff------------------ | |
85 | ----------------------------------------------------- | |
86 | ||
87 | local mouse = {Hit = CFrame.new(0, 0, 0)} | |
88 | local remote = Instance.new("RemoteEvent") | |
89 | remote.Name = "UserInputStuff" | |
90 | remote.Parent = NLS([==[ | |
91 | local plr = game:GetService("Players").LocalPlayer | |
92 | local mouse = plr:GetMouse() | |
93 | local char = plr.Character | |
94 | local hum = char:FindFirstChildOfClass("Humanoid") | |
95 | ||
96 | game:GetService("UserInputService").InputBegan:Connect(function(input, isTyping) | |
97 | if isTyping == false and input.UserInputType == Enum.UserInputType.Keyboard then | |
98 | script:WaitForChild("UserInputStuff"):FireServer("UserInputService", input.KeyCode) | |
99 | end | |
100 | end) | |
101 | ||
102 | while game:GetService("RunService").RenderStepped:Wait() do | |
103 | for i,v in pairs(hum:GetPlayingAnimationTracks()) do | |
104 | v:Stop() | |
105 | end | |
106 | if script:FindFirstChild("UserInputStuff") then | |
107 | script.UserInputStuff:FireServer("MouseInfo", mouse.Hit) | |
108 | end | |
109 | end | |
110 | ]==], char) | |
111 | ||
112 | ----------------------------------------------------- | |
113 | ----------------------Functions---------------------- | |
114 | ----------------------------------------------------- | |
115 | ||
116 | local function SmoothPart(part) | |
117 | part.TopSurface = Enum.SurfaceType.Smooth | |
118 | part.BottomSurface = Enum.SurfaceType.Smooth | |
119 | part.LeftSurface = Enum.SurfaceType.Smooth | |
120 | part.RightSurface = Enum.SurfaceType.Smooth | |
121 | part.FrontSurface = Enum.SurfaceType.Smooth | |
122 | part.BackSurface = Enum.SurfaceType.Smooth | |
123 | end | |
124 | ||
125 | local function Effect(Length, Type, SizeStart, SizeEnd, Position, Colour, Parent, Material, CanCollide) | |
126 | local part = Instance.new("Part") | |
127 | part.Name = Type | |
128 | part.Material = Material or Enum.Material.Plastic | |
129 | part.CFrame = Position | |
130 | part.CanCollide = CanCollide or false | |
131 | part.Size = SizeStart | |
132 | part.Anchored = true | |
133 | part.BrickColor = BrickColor.new(tostring(Colour)) | |
134 | part.Parent = Parent or workspace | |
135 | if Type == "Block" then | |
136 | SmoothPart(part) | |
137 | end | |
138 | if Type == "Sphere" then | |
139 | part.Shape = Enum.PartType.Ball | |
140 | SmoothPart(part) | |
141 | end | |
142 | if Type == "TwirlSwirl" or Type == "Swirl" then | |
143 | local mesh = Instance.new("SpecialMesh") | |
144 | mesh.MeshType = Enum.MeshType.FileMesh | |
145 | mesh.MeshId = "rbxassetid://662585058" | |
146 | mesh.Name = "SwirlMesh" | |
147 | mesh.Scale = SizeStart / Vector3.new(500, 500, 500) | |
148 | mesh.Parent = part | |
149 | end | |
150 | if Type == "Wave" or Type == "SpiralWave" then | |
151 | local mesh = Instance.new("SpecialMesh") | |
152 | mesh.MeshType = Enum.MeshType.FileMesh | |
153 | mesh.MeshId = "rbxassetid://20329976" | |
154 | mesh.Name = "WaveMesh" | |
155 | mesh.Scale = SizeStart / Vector3.new(4, 4, 4) | |
156 | mesh.Parent = part | |
157 | end | |
158 | if Type == "MeshSphere" then | |
159 | local mesh = Instance.new("SpecialMesh") | |
160 | mesh.MeshType = Enum.MeshType.Sphere | |
161 | mesh.Parent = part | |
162 | SmoothPart(part) | |
163 | end | |
164 | if Type == "Cylinder" then | |
165 | part.Shape = Enum.PartType.Cylinder | |
166 | SmoothPart(part) | |
167 | end | |
168 | if Type == "KillSphere" then | |
169 | part.Shape = Enum.PartType.Cylinder | |
170 | part.Transparency = 1 | |
171 | part.Touched:Connect(function() | |
172 | end) | |
173 | end | |
174 | spawn(function() | |
175 | local TwirlAngle = math.random(-250, 250) / 1000 | |
176 | local WaveAngle = math.random(-500, 500) / 1000 | |
177 | for i = 1, Length do | |
178 | game:GetService("RunService").Stepped:Wait() | |
179 | part.Transparency = part.Transparency + 1 / Length | |
180 | part.Size = part.Size + SizeEnd / Vector3.new(Length, Length, Length) | |
181 | if Type == "TwirlSwirl" then | |
182 | part.CFrame = part.CFrame * CFrame.Angles(TwirlAngle, TwirlAngle, TwirlAngle) | |
183 | part.SwirlMesh.Scale = part.SwirlMesh.Scale + SizeEnd / Vector3.new(Length * 500, Length * 500, Length * 500) | |
184 | end | |
185 | if Type == "Swirl" then | |
186 | part.CFrame = part.CFrame * CFrame.Angles(0, TwirlAngle, 0) | |
187 | part.SwirlMesh.Scale = part.SwirlMesh.Scale + SizeEnd / Vector3.new(Length * 500, Length * 500, Length * 500) | |
188 | end | |
189 | if Type == "SpiralWave" then | |
190 | part.CFrame = part.CFrame * CFrame.Angles(WaveAngle, WaveAngle, WaveAngle) | |
191 | part.WaveMesh.Scale = part.WaveMesh.Scale + SizeEnd / Vector3.new(Length * 4, Length * 4, Length * 4) | |
192 | end | |
193 | if Type == "Wave" then | |
194 | part.CFrame = part.CFrame * CFrame.Angles(0, WaveAngle, 0) | |
195 | part.WaveMesh.Scale = part.WaveMesh.Scale + SizeEnd / Vector3.new(Length * 4, Length * 4, Length * 4) | |
196 | end | |
197 | if Type == "KillSphere" then | |
198 | for i,v in pairs(part:GetTouchingParts()) do | |
199 | if v.Parent and v.Parent:FindFirstChildOfClass("Humanoid") and not v:IsDescendantOf(char) then | |
200 | v.Parent:BreakJoints() | |
201 | end | |
202 | end | |
203 | end | |
204 | end | |
205 | part:Destroy() | |
206 | end) | |
207 | end | |
208 | ||
209 | ----------------------------------------------------- | |
210 | ----------------------Creations---------------------- | |
211 | ----------------------------------------------------- | |
212 | ||
213 | local hat = Instance.new("Part") | |
214 | hat.Name = "JevilHat" | |
215 | hat.Size = Vector3.new(1, 1, 1) | |
216 | hat.CanCollide = false | |
217 | hat.Parent = char | |
218 | local mesh = Instance.new("SpecialMesh") | |
219 | mesh.MeshType = Enum.MeshType.FileMesh | |
220 | mesh.MeshId = "rbxassetid://193760002" | |
221 | mesh.TextureId = "rbxassetid://193760041" | |
222 | mesh.VertexColor = Vector3.new(0.5, 0, 0.5) | |
223 | mesh.Parent = hat | |
224 | local weld = Instance.new("Weld") | |
225 | weld.Part0 = head | |
226 | weld.Part1 = hat | |
227 | weld.C0 = CFrame.new(0, 0.5, 0.31) | |
228 | weld.Parent = hat | |
229 | local shirt = Instance.new("Shirt") | |
230 | shirt.Name = "Cloth" | |
231 | shirt.ShirtTemplate = "rbxassetid://0" | |
232 | shirt.Parent = char | |
233 | local pants = Instance.new("Pants") | |
234 | pants.Name = "Cloth" | |
235 | pants.PantsTemplate = "rbxassetid://0" | |
236 | pants.Parent = char | |
237 | ||
238 | ----------------------------------------------------- | |
239 | -----------Attacking functions and remotes----------- | |
240 | ----------------------------------------------------- | |
241 | ||
242 | remote.OnServerEvent:Connect(function(player, Type, input) | |
243 | if player == plr then | |
244 | if Type == "MouseInfo" then | |
245 | mouse.Hit = input | |
246 | end | |
247 | if Type == "UserInputService" then | |
248 | if attack == false then | |
249 | if JevilForm == false then | |
250 | if input == Enum.KeyCode.T then | |
251 | attack = true | |
252 | local sound = Instance.new("Sound") | |
253 | sound.SoundId = "rbxassetid://2545211765" | |
254 | sound.Volume = 5 | |
255 | sound.Parent = head | |
256 | sound:Play() | |
257 | repeat | |
258 | game:GetService("RunService").Stepped:Wait() | |
259 | RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(0, -0.3, 2), 0.15) | |
260 | LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4, 0, 0), 0.15) | |
261 | rootj.C0 = rootj.C0:Lerp(rootjnor, 0.15) | |
262 | neck.C0 = neck.C0:Lerp(necknor, 0.15) | |
263 | until sound.Playing == false | |
264 | attack = false | |
265 | end | |
266 | if input == Enum.KeyCode.F then | |
267 | attack = true | |
268 | rooted = true | |
269 | playing = false | |
270 | for i = 1, 90 do | |
271 | game:GetService("RunService").Stepped:Wait() | |
272 | RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, math.sin(sine / 20) / 8, 0), 0.15) | |
273 | LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, -math.sin(sine / 20) / 8, 0), 0.15) | |
274 | RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 16, 0, 0), 0.15) | |
275 | LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 16, 0, 0), 0.15) | |
276 | rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.new(0, 0, 2 + 0.2 * math.sin(sine / 20)), 0.1) | |
277 | neck.C0 = neck.C0:Lerp(necknor, 0.15) | |
278 | end | |
279 | local sound = Instance.new("Sound") | |
280 | sound.SoundId = "rbxassetid://2545010175" | |
281 | sound.Volume = 5 | |
282 | sound.Parent = head | |
283 | sound:Play() | |
284 | repeat | |
285 | game:GetService("RunService").Stepped:Wait() | |
286 | RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, math.sin(sine / 20) / 8, 0), 0.15) | |
287 | LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, -math.sin(sine / 20) / 8, 0), 0.15) | |
288 | RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15) | |
289 | LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15) | |
290 | rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.new(0, 0, 2 + 0.2 * math.sin(sine / 20)), 0.1) | |
291 | neck.C0 = neck.C0:Lerp(necknor, 0.15) | |
292 | until sound.Playing == false | |
293 | for i = 1, 30 do | |
294 | game:GetService("RunService").Stepped:Wait() | |
295 | RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, math.sin(sine / 20) / 8, 0), 0.15) | |
296 | LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, -math.sin(sine / 20) / 8, 0), 0.15) | |
297 | RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15) | |
298 | LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15) | |
299 | rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.new(0, 0, 2 + 0.2 * math.sin(sine / 20)), 0.1) | |
300 | neck.C0 = neck.C0:Lerp(necknor, 0.15) | |
301 | end | |
302 | if math.random(1, 100) == 1 then | |
303 | song = "rbxassetid://2729072620" | |
304 | else | |
305 | volume = 0.5 | |
306 | song = "rbxassetid://2729072620" | |
307 | end | |
308 | music.TimePosition = 0 | |
309 | hum.HipHeight = 2 | |
310 | playing = true | |
311 | JevilForm = true | |
312 | attack = false | |
313 | rooted = false | |
314 | hum.WalkSpeed = 20 | |
315 | hum.JumpPower = 50 | |
316 | end | |
317 | end | |
318 | if JevilForm == true then | |
319 | if input == Enum.KeyCode.Z then | |
320 | attack = true | |
321 | rooted = true | |
322 | local sound = Instance.new("Sound") | |
323 | sound.SoundId = "rbxassetid://2545008459" | |
324 | sound.Volume = 10 | |
325 | sound.Parent = head | |
326 | sound:Play() | |
327 | repeat | |
328 | game:GetService("RunService").Stepped:Wait() | |
329 | RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, math.sin(sine / 20) / 8, 0), 0.15) | |
330 | LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, -math.sin(sine / 20) / 8, 0), 0.15) | |
331 | RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15) | |
332 | LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15) | |
333 | rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.new(0, 0, 0.2 * math.sin(sine / 20)), 0.1) | |
334 | neck.C0 = neck.C0:Lerp(necknor, 0.15) | |
335 | until sound.Playing == false | |
336 | for i = 1, 10 do | |
337 | for i = 1, 15 do | |
338 | game:GetService("RunService").Stepped:Wait() | |
339 | for i,v in pairs(char:GetDescendants()) do | |
340 | if v:IsA("Part") and v.Name ~= "HumanoidRootPart" then | |
341 | v.Transparency = v.Transparency + 1 / 15 | |
342 | end | |
343 | if v:IsA("Decal") then | |
344 | v.Transparency = v.Transparency + 1 / 15 | |
345 | end | |
346 | end | |
347 | RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.4, 0, 0), 0.15) | |
348 | LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4, 0, 0), 0.15) | |
349 | RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.2, 0, 0), 0.15) | |
350 | LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.2, 0, 0), 0.15) | |
351 | rootj.C0 = rootj.C0:Lerp(rootjnor, 0.1) | |
352 | neck.C0 = neck.C0:Lerp(necknor, 0.15) | |
353 | end | |
354 | local oldpos = rootpart.Position | |
355 | local dist = (rootpart.Position - mouse.Hit.Position).Magnitude | |
356 | if dist > 30 then | |
357 | dist = 30 | |
358 | end | |
359 | rootpart.CFrame = CFrame.new(oldpos + CFrame.new(oldpos, mouse.Hit.Position).LookVector * dist + Vector3.new(0, 6, 0), Vector3.new(oldpos.X, rootpart.Position.Y, oldpos.Z)) * CFrame.Angles(0, math.pi, 0) | |
360 | for i = 1, 15 do | |
361 | game:GetService("RunService").Stepped:Wait() | |
362 | for i,v in pairs(char:GetDescendants()) do | |
363 | if v:IsA("Part") and v.Name ~= "HumanoidRootPart" then | |
364 | v.Transparency = v.Transparency - 1 / 15 | |
365 | end | |
366 | if v:IsA("Decal") then | |
367 | v.Transparency = v.Transparency - 1 / 15 | |
368 | end | |
369 | end | |
370 | RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.4, 0, 0), 0.15) | |
371 | LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4, 0, 0), 0.15) | |
372 | RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.2, 0, 0), 0.15) | |
373 | LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.2, 0, 0), 0.15) | |
374 | rootj.C0 = rootj.C0:Lerp(rootjnor, 0.1) | |
375 | neck.C0 = neck.C0:Lerp(necknor, 0.15) | |
376 | end | |
377 | for i,v in pairs(char:GetDescendants()) do | |
378 | if v:IsA("Part") and v.Name ~= "HumanoidRootPart" then | |
379 | v.Transparency = 0 | |
380 | end | |
381 | if v:IsA("Decal") then | |
382 | v.Transparency = 0 | |
383 | end | |
384 | end | |
385 | local sound = Instance.new("Sound") | |
386 | sound.SoundId = "rbxassetid://2545012765" | |
387 | sound.Volume = 10 | |
388 | sound.Parent = head | |
389 | sound:Play() | |
390 | for amount = 1, 5 do | |
391 | local spade = Instance.new("Part") | |
392 | spade.Name = "Spade" | |
393 | spade.Anchored = true | |
394 | spade.CanCollide = false | |
395 | spade.Size = Vector3.new(1, 0.05, 1) | |
396 | if amount == 1 then | |
397 | spade.CFrame = CFrame.new(head.Position, mouse.Hit.Position) * CFrame.Angles(0, math.pi / 2, 0) | |
398 | elseif amount == 2 then | |
399 | spade.CFrame = CFrame.new(head.Position, mouse.Hit.Position) * CFrame.Angles(0, math.rad(100), 0) | |
400 | elseif amount == 3 then | |
401 | spade.CFrame = CFrame.new(head.Position, mouse.Hit.Position) * CFrame.Angles(0, math.rad(80), 0) | |
402 | elseif amount == 4 then | |
403 | spade.CFrame = CFrame.new(head.Position, mouse.Hit.Position) * CFrame.Angles(0, math.rad(110), 0) | |
404 | elseif amount == 5 then | |
405 | spade.CFrame = CFrame.new(head.Position, mouse.Hit.Position) * CFrame.Angles(0, math.rad(70), 0) | |
406 | end | |
407 | spade.Parent = char | |
408 | local decal1 = Instance.new("Decal") | |
409 | decal1.Texture = "rbxassetid://2700856195" | |
410 | decal1.Face = Enum.NormalId.Top | |
411 | decal1.Parent = spade | |
412 | local decal2 = Instance.new("Decal") | |
413 | decal2.Texture = "rbxassetid://2700856195" | |
414 | decal2.Face = Enum.NormalId.Bottom | |
415 | decal2.Parent = spade | |
416 | local debounce = false | |
417 | spade.Touched:Connect(function(hit) | |
418 | end) | |
419 | spawn(function() | |
420 | for i = 1, 180 do | |
421 | game:GetService("RunService").Stepped:Wait() | |
422 | for i,v in pairs(spade:GetTouchingParts()) do | |
423 | if not v:IsDescendantOf(char) and debounce == false then | |
424 | if v.Parent and v.Parent:FindFirstChildOfClass("Humanoid") then | |
425 | debounce = true | |
426 | v.Parent:FindFirstChildOfClass("Humanoid").Health = v.Parent:FindFirstChildOfClass("Humanoid").Health - 20 | |
427 | coroutine.resume(coroutine.create(function() | |
428 | wait(0.4) | |
429 | debounce = false | |
430 | end)) | |
431 | end | |
432 | end | |
433 | end | |
434 | spade.Transparency = 1 | |
435 | spade.CFrame = spade.CFrame * CFrame.new(0.5, 0, 0) | |
436 | end | |
437 | for i = 1, 10 do | |
438 | game:GetService("RunService").Stepped:Wait() | |
439 | spade.CFrame = spade.CFrame * CFrame.new(0.5, 0, 0) | |
440 | decal1.Transparency = decal1.Transparency + 0.1 | |
441 | decal2.Transparency = decal2.Transparency + 0.1 | |
442 | end | |
443 | spade:Destroy() | |
444 | end) | |
445 | end | |
446 | for i = 1, 10 do | |
447 | game:GetService("RunService").Stepped:Wait() | |
448 | RS.C0 = RSnor * CFrame.Angles(-2.5, 0, 0) * CFrame.new(0, 0, -1) + Vector3.new(0, 0.7, 0) | |
449 | LS.C0 = LSnor * CFrame.Angles(-2.5, 0, 0) * CFrame.new(0, 0, -1) + Vector3.new(0, 0.7, 0) | |
450 | RH.C0 = RHnor * CFrame.Angles(-1, 0, 0) | |
451 | LH.C0 = LHnor * CFrame.Angles(-1, 0, 0) | |
452 | rootj.C0 = rootjnor | |
453 | neck.C0 = necknor | |
454 | end | |
455 | end | |
456 | attack = false | |
457 | rooted = false | |
458 | hum.WalkSpeed = 20 | |
459 | hum.JumpPower = 50 | |
460 | end | |
461 | if input == Enum.KeyCode.X then | |
462 | attack = true | |
463 | for i = 1, 4 do | |
464 | local model = Instance.new("Model") | |
465 | model.Name = "Spades" | |
466 | model.Parent = char | |
467 | local mainpart = Instance.new("Part") | |
468 | mainpart.Transparency = 1 | |
469 | mainpart.CanCollide = false | |
470 | mainpart.Anchored = true | |
471 | mainpart.CFrame = CFrame.new(mouse.Hit.Position) * CFrame.new(0, 3, 0) | |
472 | mainpart.Parent = model | |
473 | model.PrimaryPart = mainpart | |
474 | local spades = {} | |
475 | for i = 1, 10 do | |
476 | local spade = Instance.new("Part") | |
477 | spade.Name = "Spade" | |
478 | spade.Transparency = 1 | |
479 | spade.Anchored = true | |
480 | spade.CanCollide = false | |
481 | spade.Size = Vector3.new(2, 0.05, 2) | |
482 | spade.Parent = model | |
483 | local decal1 = Instance.new("Decal") | |
484 | decal1.Texture = "rbxassetid://2700856195" | |
485 | decal1.Face = Enum.NormalId.Top | |
486 | decal1.Transparency = 1 | |
487 | decal1.Parent = spade | |
488 | local decal2 = Instance.new("Decal") | |
489 | decal2.Texture = "rbxassetid://2700856195" | |
490 | decal2.Face = Enum.NormalId.Bottom | |
491 | decal2.Transparency = 1 | |
492 | decal2.Parent = spade | |
493 | local debounce = false | |
494 | spade.Touched:Connect(function(hit) | |
495 | end) | |
496 | table.insert(spades, spade) | |
497 | end | |
498 | for i = 1, #spades do | |
499 | spades[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad((360 / #spades) * i) + math.pi / 2, 0) * CFrame.new(-20, 0, 0) | |
500 | end | |
501 | for x = 20, 10, -0.5 do | |
502 | game:GetService("RunService").Stepped:Wait() | |
503 | mainpart.CFrame = CFrame.new(mouse.Hit.Position) * CFrame.new(0, 3, 0) | |
504 | for i = 1, #spades do | |
505 | for i,v in pairs(spades[i]:GetChildren()) do | |
506 | if v:IsA("Decal") then | |
507 | v.Transparency = v.Transparency - 0.05 | |
508 | end | |
509 | end | |
510 | spades[i].CFrame = spades[i].CFrame:Lerp(mainpart.CFrame * CFrame.Angles(0, math.rad((360 / #spades) * i) + math.pi / 2, 0) * CFrame.new(-x, 0, 0), 0.15) | |
511 | end | |
512 | end | |
513 | for i = 1, 35 do | |
514 | game:GetService("RunService").Stepped:Wait() | |
515 | mainpart.CFrame = CFrame.new(mouse.Hit.Position) * CFrame.new(0, 3, 0) | |
516 | for i = 1, #spades do | |
517 | spades[i].CFrame = spades[i].CFrame:Lerp(mainpart.CFrame * CFrame.Angles(0, math.rad((360 / #spades) * i) + math.pi / 2, 0) * CFrame.new(-10, 0, 0), 0.15) | |
518 | end | |
519 | end | |
520 | coroutine.resume(coroutine.create(function() | |
521 | for i = 1, #spades do | |
522 | coroutine.resume(coroutine.create(function() | |
523 | for x = 10, 13, 0.3 do | |
524 | game:GetService("RunService").Stepped:Wait() | |
525 | spades[i].CFrame = spades[i].CFrame:Lerp(mainpart.CFrame * CFrame.Angles(0, math.rad((360 / #spades) * i) + math.pi / 2, 0) * CFrame.new(-x, 0, 0), 0.15) | |
526 | end | |
527 | for x = 1, 15 do | |
528 | game:GetService("RunService").Stepped:Wait() | |
529 | spades[i].CFrame = spades[i].CFrame:Lerp(mainpart.CFrame * CFrame.Angles(0, math.rad((360 / #spades) * i) + math.pi / 2, 0) * CFrame.new(-13, 0, 0), 0.15) | |
530 | end | |
531 | local debounce = false | |
532 | for x = 0, 0.5, 0.025 do | |
533 | game:GetService("RunService").Stepped:Wait() | |
534 | for i,v in pairs(spades[i]:GetTouchingParts()) do | |
535 | if not v:IsDescendantOf(char) and debounce == false then | |
536 | if v.Parent and v.Parent:FindFirstChildOfClass("Humanoid") then | |
537 | debounce = true | |
538 | v.Parent:FindFirstChildOfClass("Humanoid").Health = v.Parent:FindFirstChildOfClass("Humanoid").Health - 20 | |
539 | coroutine.resume(coroutine.create(function() | |
540 | wait(0.4) | |
541 | debounce = false | |
542 | end)) | |
543 | end | |
544 | end | |
545 | end | |
546 | spades[i].CFrame = spades[i].CFrame * CFrame.new(x, 0, 0) | |
547 | end | |
548 | for x = 0.5, 1, 0.025 do | |
549 | game:GetService("RunService").Stepped:Wait() | |
550 | for i,v in pairs(spades[i]:GetChildren()) do | |
551 | if v:IsA("Decal") then | |
552 | v.Transparency = v.Transparency + 0.05 | |
553 | end | |
554 | end | |
555 | for i,v in pairs(spades[i]:GetTouchingParts()) do | |
556 | if not v:IsDescendantOf(char) and debounce == false then | |
557 | if v.Parent and v.Parent:FindFirstChildOfClass("Humanoid") then | |
558 | debounce = true | |
559 | v.Parent:FindFirstChildOfClass("Humanoid").Health = v.Parent:FindFirstChildOfClass("Humanoid").Health - 5 | |
560 | coroutine.resume(coroutine.create(function() | |
561 | wait(0.4) | |
562 | debounce = false | |
563 | end)) | |
564 | end | |
565 | end | |
566 | end | |
567 | spades[i].CFrame = spades[i].CFrame * CFrame.new(x, 0, 0) | |
568 | end | |
569 | spades[i]:Destroy() | |
570 | end)) | |
571 | wait(0.05) | |
572 | end | |
573 | end)) | |
574 | wait(1) | |
575 | coroutine.resume(coroutine.create(function() | |
576 | wait(1.4) | |
577 | model:Destroy() | |
578 | end)) | |
579 | end | |
580 | attack = false | |
581 | end | |
582 | if input == Enum.KeyCode.C then | |
583 | attack = true | |
584 | rooted = true | |
585 | local sound = Instance.new("Sound") | |
586 | sound.SoundId = "rbxassetid://2545011398" | |
587 | sound.Volume = 10 | |
588 | sound.Parent = head | |
589 | sound:Play() | |
590 | repeat | |
591 | game:GetService("RunService").Stepped:Wait() | |
592 | RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, math.sin(sine / 20) / 8, 0), 0.15) | |
593 | LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, -math.sin(sine / 20) / 8, 0), 0.15) | |
594 | RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15) | |
595 | LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15) | |
596 | rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.new(0, 0, 0.2 * math.sin(sine / 20)), 0.1) | |
597 | neck.C0 = neck.C0:Lerp(necknor, 0.15) | |
598 | until sound.Playing == false | |
599 | rooted = false | |
600 | hum.WalkSpeed = 20 | |
601 | hum.JumpPower = 50 | |
602 | local model = Instance.new("Model") | |
603 | model.Name = "Devs" | |
604 | model.Parent = char | |
605 | local mainpart = Instance.new("Part") | |
606 | mainpart.Transparency = 1 | |
607 | mainpart.CanCollide = false | |
608 | mainpart.Anchored = true | |
609 | mainpart.CFrame = CFrame.new(mouse.Hit.Position) * CFrame.new(0, 3, 0) | |
610 | mainpart.Parent = model | |
611 | model.PrimaryPart = mainpart | |
612 | local devs = {} | |
613 | local devsine = 0 | |
614 | for i = 1, 4 do | |
615 | local dev = Instance.new("Part") | |
616 | dev.Name = "Devilsknife" | |
617 | dev.Transparency = 1 | |
618 | dev.Anchored = true | |
619 | dev.CanCollide = false | |
620 | dev.Size = Vector3.new(4, 0.05, 4.6) | |
621 | dev.Parent = model | |
622 | local decal1 = Instance.new("Decal") | |
623 | decal1.Texture = "rbxassetid://2704176861" | |
624 | decal1.Face = Enum.NormalId.Top | |
625 | decal1.Transparency = 1 | |
626 | decal1.Parent = dev | |
627 | local decal2 = Instance.new("Decal") | |
628 | decal2.Texture = "rbxassetid://2704176861" | |
629 | decal2.Face = Enum.NormalId.Bottom | |
630 | decal2.Transparency = 1 | |
631 | decal2.Parent = dev | |
632 | dev.Touched:Connect(function(hit) | |
633 | end) | |
634 | table.insert(devs, dev) | |
635 | end | |
636 | local spin = 0 | |
637 | for i = 1, 15 do | |
638 | game:GetService("RunService").Stepped:Wait() | |
639 | spin = spin + 12 | |
640 | devsine = devsine + 1 | |
641 | mainpart.CFrame = CFrame.new(mouse.Hit.Position) * CFrame.new(0, 3, 0) | |
642 | for i = 1, #devs do | |
643 | for i,v in pairs(devs[i]:GetChildren()) do | |
644 | if v:IsA("Decal") then | |
645 | v.Transparency = v.Transparency - 1 / 15 | |
646 | end | |
647 | end | |
648 | if i == 1 then | |
649 | devs[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(math.sin(sine / 40) * 4, 0, math.sin(sine / 40) * 10) | |
650 | elseif i == 2 then | |
651 | devs[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(-math.sin(sine / 40) * 4, 0, -math.sin(sine / 40) * 10) | |
652 | elseif i == 3 then | |
653 | devs[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(math.sin(sine / 40) * 4, 0, -math.sin(sine / 40) * 10) | |
654 | elseif i == 4 then | |
655 | devs[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(-math.sin(sine / 40) * 4, 0, math.sin(sine / 40) * 10) | |
656 | end | |
657 | end | |
658 | end | |
659 | local debounce = {} | |
660 | for i = 1, #devs do | |
661 | debounce[i] = false | |
662 | end | |
663 | for i = 1, 500 do | |
664 | game:GetService("RunService").Stepped:Wait() | |
665 | spin = spin + 12 | |
666 | devsine = devsine + 1 | |
667 | mainpart.CFrame = CFrame.new(mouse.Hit.Position) * CFrame.new(0, 3, 0) | |
668 | for i = 1, #devs do | |
669 | for i,v in pairs(devs[i]:GetTouchingParts()) do | |
670 | if not v:IsDescendantOf(char) and debounce[i] == false then | |
671 | if v.Parent and v.Parent:FindFirstChildOfClass("Humanoid") then | |
672 | debounce[i] = true | |
673 | v.Parent:FindFirstChildOfClass("Humanoid").Health = v.Parent:FindFirstChildOfClass("Humanoid").Health - 5 | |
674 | coroutine.resume(coroutine.create(function() | |
675 | wait(0.4) | |
676 | debounce[i] = false | |
677 | end)) | |
678 | end | |
679 | end | |
680 | end | |
681 | end | |
682 | for i = 1, #devs do | |
683 | if i == 1 then | |
684 | devs[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(math.sin(sine / 40) * 4, 0, math.sin(sine / 40) * 10) | |
685 | elseif i == 2 then | |
686 | devs[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(-math.sin(sine / 40) * 4, 0, -math.sin(sine / 40) * 10) | |
687 | elseif i == 3 then | |
688 | devs[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(math.sin(sine / 40) * 4, 0, -math.sin(sine / 40) * 10) | |
689 | elseif i == 4 then | |
690 | devs[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(-math.sin(sine / 40) * 4, 0, math.sin(sine / 40) * 10) | |
691 | end | |
692 | end | |
693 | end | |
694 | for i = 1, 15 do | |
695 | game:GetService("RunService").Stepped:Wait() | |
696 | for i = 1, #devs do | |
697 | for i,v in pairs(devs[i]:GetChildren()) do | |
698 | if v:IsA("Decal") then | |
699 | v.Transparency = v.Transparency + 1 / 15 | |
700 | end | |
701 | end | |
702 | if i == 1 then | |
703 | devs[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(math.sin(sine / 40) * 4, 0, math.sin(sine / 40) * 10) | |
704 | elseif i == 2 then | |
705 | devs[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(-math.sin(sine / 40) * 4, 0, -math.sin(sine / 40) * 10) | |
706 | elseif i == 3 then | |
707 | devs[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(math.sin(sine / 40) * 4, 0, -math.sin(sine / 40) * 10) | |
708 | elseif i == 4 then | |
709 | devs[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(-math.sin(sine / 40) * 4, 0, math.sin(sine / 40) * 10) | |
710 | end | |
711 | end | |
712 | end | |
713 | model:Destroy() | |
714 | attack = false | |
715 | end | |
716 | if input == Enum.KeyCode.V then | |
717 | attack = true | |
718 | rooted = true | |
719 | local sound = Instance.new("Sound") | |
720 | sound.SoundId = "rbxassetid://2544975373" | |
721 | sound.Volume = 10 | |
722 | sound.Parent = head | |
723 | sound:Play() | |
724 | repeat | |
725 | game:GetService("RunService").Stepped:Wait() | |
726 | RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, math.sin(sine / 20) / 8, 0), 0.15) | |
727 | LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, -math.sin(sine / 20) / 8, 0), 0.15) | |
728 | RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15) | |
729 | LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15) | |
730 | rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.new(0, 0, 0.2 * math.sin(sine / 20)), 0.1) | |
731 | neck.C0 = neck.C0:Lerp(necknor, 0.15) | |
732 | until sound.Playing == false | |
733 | rooted = false | |
734 | hum.WalkSpeed = 20 | |
735 | hum.JumpPower = 50 | |
736 | for i = 1, 60 do | |
737 | local diamond = Instance.new("Part") | |
738 | diamond.Name = "Devilsknife" | |
739 | diamond.Transparency = 1 | |
740 | diamond.Anchored = true | |
741 | diamond.CanCollide = false | |
742 | diamond.Size = Vector3.new(3, 0.05, 2) | |
743 | diamond.Parent = char | |
744 | local decal1 = Instance.new("Decal") | |
745 | decal1.Texture = "rbxassetid://2707737978" | |
746 | decal1.Face = Enum.NormalId.Top | |
747 | decal1.Transparency = 1 | |
748 | decal1.Parent = diamond | |
749 | local decal2 = Instance.new("Decal") | |
750 | decal2.Texture = "rbxassetid://2707737978" | |
751 | decal2.Face = Enum.NormalId.Bottom | |
752 | decal2.Transparency = 1 | |
753 | decal2.Parent = diamond | |
754 | diamond.Touched:Connect(function(hit) | |
755 | end) | |
756 | diamond.CFrame = CFrame.new(mouse.Hit.Position) * CFrame.new(0, 3, math.random(-100, 100) / 25) | |
757 | coroutine.resume(coroutine.create(function() | |
758 | local movespeed = 0 | |
759 | for i = 1, 15 do | |
760 | game:GetService("RunService").Stepped:Wait() | |
761 | for i,v in pairs(diamond:GetChildren()) do | |
762 | if v:IsA("Decal") then | |
763 | v.Transparency = v.Transparency - 1 / 15 | |
764 | end | |
765 | end | |
766 | end | |
767 | local debounce = false | |
768 | for i = 1, 90 do | |
769 | game:GetService("RunService").Stepped:Wait() | |
770 | movespeed = movespeed + 0.01 | |
771 | diamond.CFrame = diamond.CFrame * CFrame.new(movespeed, 0, 0) | |
772 | for i,v in pairs(diamond:GetTouchingParts()) do | |
773 | if not v:IsDescendantOf(char) and debounce == false then | |
774 | if v.Parent and v.Parent:FindFirstChildOfClass("Humanoid") then | |
775 | debounce = true | |
776 | v.Parent:FindFirstChildOfClass("Humanoid").Health = v.Parent:FindFirstChildOfClass("Humanoid").Health - 10 | |
777 | coroutine.resume(coroutine.create(function() | |
778 | wait(0.4) | |
779 | debounce = false | |
780 | end)) | |
781 | end | |
782 | end | |
783 | end | |
784 | end | |
785 | for i = 1, 15 do | |
786 | game:GetService("RunService").Stepped:Wait() | |
787 | movespeed = movespeed + 0.01 | |
788 | for i,v in pairs(diamond:GetChildren()) do | |
789 | if v:IsA("Decal") then | |
790 | v.Transparency = v.Transparency + 1 / 15 | |
791 | end | |
792 | end | |
793 | diamond.CFrame = diamond.CFrame * CFrame.new(movespeed, 0, 0) | |
794 | end | |
795 | diamond:Destroy() | |
796 | end)) | |
797 | wait(0.1) | |
798 | end | |
799 | attack = false | |
800 | end | |
801 | if input == Enum.KeyCode.B and hum.Health <= 30 then | |
802 | attack = true | |
803 | rooted = true | |
804 | local sound = Instance.new("Sound") | |
805 | sound.SoundId = "rbxassetid://2545011398" | |
806 | sound.Volume = 10 | |
807 | sound.Parent = head | |
808 | sound:Play() | |
809 | repeat | |
810 | game:GetService("RunService").Stepped:Wait() | |
811 | RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, math.sin(sine / 20) / 8, 0), 0.15) | |
812 | LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, -math.sin(sine / 20) / 8, 0), 0.15) | |
813 | RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15) | |
814 | LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15) | |
815 | rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.new(0, 0, 0.2 * math.sin(sine / 20)), 0.1) | |
816 | neck.C0 = neck.C0:Lerp(necknor, 0.15) | |
817 | until sound.Playing == false | |
818 | rooted = false | |
819 | hum.WalkSpeed = 20 | |
820 | hum.JumpPower = 50 | |
821 | local sound = Instance.new("Sound") | |
822 | sound.SoundId = "rbxassetid://2545211516" | |
823 | sound.Volume = 10 | |
824 | sound.Parent = head | |
825 | sound:Play() | |
826 | repeat | |
827 | game:GetService("RunService").Stepped:Wait() | |
828 | until sound.Playing == false | |
829 | local ticking = 0.6 | |
830 | for i = 1, 40 do | |
831 | local dev = Instance.new("Part") | |
832 | dev.Name = "Devilsknife" | |
833 | dev.Transparency = 1 | |
834 | dev.Anchored = true | |
835 | dev.CanCollide = false | |
836 | dev.Size = Vector3.new(4, 0.05, 4.6) | |
837 | dev.Parent = char | |
838 | local decal1 = Instance.new("Decal") | |
839 | decal1.Texture = "rbxassetid://2704176861" | |
840 | decal1.Face = Enum.NormalId.Top | |
841 | decal1.Transparency = 1 | |
842 | decal1.Parent = dev | |
843 | local decal2 = Instance.new("Decal") | |
844 | decal2.Texture = "rbxassetid://2704176861" | |
845 | decal2.Face = Enum.NormalId.Bottom | |
846 | decal2.Transparency = 1 | |
847 | decal2.Parent = dev | |
848 | dev.Touched:Connect(function(hit) | |
849 | end) | |
850 | dev.CFrame = CFrame.new(mouse.Hit.Position) * CFrame.Angles(0, 0, math.pi / 2) + Vector3.new(0, 50, 0) | |
851 | local spin = 0 | |
852 | local fallspeed = 0 | |
853 | coroutine.resume(coroutine.create(function() | |
854 | local debounce = false | |
855 | for i = 1, 60 do | |
856 | game:GetService("RunService").Stepped:Wait() | |
857 | if i <= 15 then | |
858 | for i,v in pairs(dev:GetChildren()) do | |
859 | if v:IsA("Decal") then | |
860 | v.Transparency = v.Transparency - 1 / 15 | |
861 | end | |
862 | end | |
863 | end | |
864 | for i,v in pairs(dev:GetTouchingParts()) do | |
865 | if not v:IsDescendantOf(char) and debounce == false then | |
866 | if v.Parent and v.Parent:FindFirstChildOfClass("Humanoid") then | |
867 | debounce = true | |
868 | v.Parent:FindFirstChildOfClass("Humanoid").Health = v.Parent:FindFirstChildOfClass("Humanoid").Health - 10 | |
869 | coroutine.resume(coroutine.create(function() | |
870 | wait(0.4) | |
871 | debounce = false | |
872 | end)) | |
873 | end | |
874 | end | |
875 | end | |
876 | spin = spin + 12 | |
877 | fallspeed = fallspeed + 0.06 | |
878 | dev.CFrame = dev.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(0, -fallspeed, 0) | |
879 | end | |
880 | dev:Destroy() | |
881 | end)) | |
882 | wait(ticking) | |
883 | if ticking > 0.2 then | |
884 | ticking = ticking - 0.05 | |
885 | end | |
886 | end | |
887 | local sound = Instance.new("Sound") | |
888 | sound.SoundId = "rbxassetid://2545018472" | |
889 | sound.Volume = 10 | |
890 | sound.Parent = head | |
891 | sound:Play() | |
892 | repeat | |
893 | game:GetService("RunService").Stepped:Wait() | |
894 | until sound.Playing == false | |
895 | for i = 1, 10 do | |
896 | local dev = Instance.new("Part") | |
897 | dev.Name = "Devilsknife" | |
898 | dev.Transparency = 1 | |
899 | dev.Anchored = true | |
900 | dev.CanCollide = false | |
901 | dev.Size = Vector3.new(4, 0.05, 4.6) | |
902 | dev.Parent = char | |
903 | local decal1 = Instance.new("Decal") | |
904 | decal1.Texture = "rbxassetid://2704176861" | |
905 | decal1.Face = Enum.NormalId.Top | |
906 | decal1.Transparency = 1 | |
907 | decal1.Parent = dev | |
908 | local decal2 = Instance.new("Decal") | |
909 | decal2.Texture = "rbxassetid://2704176861" | |
910 | decal2.Face = Enum.NormalId.Bottom | |
911 | decal2.Transparency = 1 | |
912 | decal2.Parent = dev | |
913 | dev.Touched:Connect(function(hit) | |
914 | end) | |
915 | dev.CFrame = CFrame.new(mouse.Hit.Position) * CFrame.Angles(0, 0, math.pi / 2) + Vector3.new(0, 50, 0) | |
916 | local spin = 0 | |
917 | local fallspeed = 0 | |
918 | coroutine.resume(coroutine.create(function() | |
919 | local debounce = false | |
920 | for i = 1, 60 do | |
921 | game:GetService("RunService").Stepped:Wait() | |
922 | if i <= 15 then | |
923 | for i,v in pairs(dev:GetChildren()) do | |
924 | if v:IsA("Decal") then | |
925 | v.Transparency = v.Transparency - 1 / 15 | |
926 | end | |
927 | end | |
928 | end | |
929 | for i,v in pairs(dev:GetTouchingParts()) do | |
930 | if not v:IsDescendantOf(char) and debounce == false then | |
931 | if v.Parent and v.Parent:FindFirstChildOfClass("Humanoid") then | |
932 | debounce = true | |
933 | v.Parent:FindFirstChildOfClass("Humanoid").Health = v.Parent:FindFirstChildOfClass("Humanoid").Health - 10 | |
934 | coroutine.resume(coroutine.create(function() | |
935 | wait(0.4) | |
936 | debounce = false | |
937 | end)) | |
938 | end | |
939 | end | |
940 | end | |
941 | spin = spin + 12 | |
942 | fallspeed = fallspeed + 0.06 | |
943 | dev.CFrame = dev.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(0, -fallspeed, 0) | |
944 | end | |
945 | dev:Destroy() | |
946 | end)) | |
947 | wait(ticking) | |
948 | if ticking > 0.2 then | |
949 | ticking = ticking - 0.05 | |
950 | end | |
951 | end | |
952 | local giantdev = Instance.new("Part") | |
953 | giantdev.Name = "Devilsknife" | |
954 | giantdev.Transparency = 1 | |
955 | giantdev.Anchored = true | |
956 | giantdev.CanCollide = false | |
957 | giantdev.Size = Vector3.new(60, 0.05, 62) | |
958 | giantdev.Parent = char | |
959 | local decal1 = Instance.new("Decal") | |
960 | decal1.Texture = "rbxassetid://2704176861" | |
961 | decal1.Face = Enum.NormalId.Top | |
962 | decal1.Transparency = 1 | |
963 | decal1.Parent = giantdev | |
964 | local decal2 = Instance.new("Decal") | |
965 | decal2.Texture = "rbxassetid://2704176861" | |
966 | decal2.Face = Enum.NormalId.Bottom | |
967 | decal2.Transparency = 1 | |
968 | decal2.Parent = giantdev | |
969 | giantdev.Touched:Connect(function(hit) | |
970 | end) | |
971 | giantdev.CFrame = CFrame.new(mouse.Hit.Position) * CFrame.Angles(math.rad(105), 0, math.pi / 2) + Vector3.new(0, 100, 0) | |
972 | for i = 1, 180 do | |
973 | game:GetService("RunService").Stepped:Wait() | |
974 | if i <= 15 then | |
975 | for i,v in pairs(giantdev:GetChildren()) do | |
976 | if v:IsA("Decal") then | |
977 | v.Transparency = v.Transparency - 1 / 15 | |
978 | end | |
979 | end | |
980 | end | |
981 | giantdev.CFrame = giantdev.CFrame + Vector3.new(0, -0.7, 0, 0) | |
982 | end | |
983 | Effect(60, "Sphere", Vector3.new(30, 30, 30), Vector3.new(150, 150, 150), CFrame.new(giantdev.Position) + Vector3.new(0, -40, 0), BrickColor.new("Institutional white"), char) | |
984 | Effect(60, "KillSphere", Vector3.new(30, 30, 30), Vector3.new(150, 150, 150), CFrame.new(giantdev.Position) + Vector3.new(0, -40, 0), BrickColor.new("Institutional white"), char) | |
985 | for i = 1, 5 do | |
986 | Effect(60, "Wave", Vector3.new(90, 15, 90), Vector3.new(450, 75, 450), CFrame.new(giantdev.Position) + Vector3.new(0, 28, 0), BrickColor.new("Mid gray"), char) | |
987 | end | |
988 | giantdev:Destroy() | |
989 | wait(1) | |
990 | attack = false | |
991 | end | |
992 | end | |
993 | end | |
994 | end | |
995 | end | |
996 | end) | |
997 | ||
998 | ----------------------------------------------------- | |
999 | ---------------------Wrapping up--------------------- | |
1000 | ----------------------------------------------------- | |
1001 | ||
1002 | while game:GetService("RunService").Stepped:Wait() do | |
1003 | sine = sine + 1 | |
1004 | for i,v in pairs(char:GetChildren()) do | |
1005 | if v:IsA("Accessory") then | |
1006 | v:Destroy() | |
1007 | end | |
1008 | if v.Name == "Head" then | |
1009 | for i,v in pairs(v:GetChildren()) do | |
1010 | if v:IsA("Decal") then | |
1011 | v.Texture = "rbxassetid://241553801" | |
1012 | end | |
1013 | end | |
1014 | v.Color = Color3.new(180 / 255, 180 / 255, 228 / 255) | |
1015 | end | |
1016 | if v.Name == "Left Leg" or v.Name == "Right Leg" then | |
1017 | v.Color = Color3.new(180 / 255, 180 / 255, 228 / 255) | |
1018 | end | |
1019 | if (v:IsA("Shirt") or v:IsA("Pants")) and v.Name ~= "Cloth" then | |
1020 | v:Destroy() | |
1021 | end | |
1022 | if v:IsA("BodyColors") then | |
1023 | v:Destroy() | |
1024 | end | |
1025 | end | |
1026 | if music.Parent == tors then | |
1027 | music.SoundId = song | |
1028 | music.Volume = volume | |
1029 | music.Name = "JevilTheme" | |
1030 | music.Looped = true | |
1031 | music.PlaybackSpeed = 1 | |
1032 | music.Playing = playing | |
1033 | timepos = music.TimePosition | |
1034 | else | |
1035 | music = Instance.new("Sound") | |
1036 | music.TimePosition = timepos | |
1037 | music.SoundId = song | |
1038 | music.Volume = volume | |
1039 | music.Name = "JevilTheme" | |
1040 | music.Looped = true | |
1041 | music.PlaybackSpeed = 1 | |
1042 | music.Parent = tors | |
1043 | music.Playing = playing | |
1044 | end | |
1045 | if rooted then | |
1046 | hum.WalkSpeed = 0 | |
1047 | hum.JumpPower = 0 | |
1048 | end | |
1049 | local torsvel = (tors.Velocity * Vector3.new(1, 0, 1)).Magnitude | |
1050 | local hitfloor = workspace:FindPartOnRay(Ray.new(char.HumanoidRootPart.CFrame.Position, ((CFrame.new(char.HumanoidRootPart.Position, char.HumanoidRootPart.Position - Vector3.new(0, 1, 0))).LookVector).Unit * 4), char) | |
1051 | if attack == false then | |
1052 | if JevilForm == false then | |
1053 | if torsvel < 1 and hitfloor then | |
1054 | RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, math.sin(sine / 20) / 8, 0), 0.15) | |
1055 | LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, -math.sin(sine / 20) / 8, 0), 0.15) | |
1056 | RH.C0 = RH.C0:Lerp(RHnor * CFrame.new(0, -0.2 * math.sin(sine / 20), 0), 0.15) | |
1057 | LH.C0 = LH.C0:Lerp(LHnor * CFrame.new(0, -0.2 * math.sin(sine / 20), 0), 0.15) | |
1058 | rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.new(0, 0, 0.2 * math.sin(sine / 20)), 0.15) | |
1059 | neck.C0 = neck.C0:Lerp(necknor, 0.15) | |
1060 | end | |
1061 | if torsvel > 1 and hitfloor then | |
1062 | RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.1, 0, math.sin(sine / 7)), 0.15) | |
1063 | LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.1, 0, math.sin(sine / 7)), 0.15) | |
1064 | RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(0, 0, -math.sin(sine / 7) / 1.5 - 0.25) * CFrame.new(-math.cos(sine / 7) / 2, -math.cos(sine / 7) / 2, 0), 0.15) | |
1065 | LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(0, 0, -math.sin(sine / 7) / 1.5 + 0.25) * CFrame.new(-math.cos(sine / 7) / 2, math.cos(sine / 7) / 2, 0), 0.15) | |
1066 | rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.Angles(0.1, rootpart.RotVelocity.Y / 70, math.sin(sine / 7) / 5) * CFrame.new(0, 0, math.sin(sine / 3.5) / 10), 0.15) | |
1067 | neck.C0 = neck.C0:Lerp(necknor * CFrame.Angles(0, 0, -head.RotVelocity.Y / 15), 0.15) | |
1068 | end | |
1069 | if not hitfloor then | |
1070 | RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(math.clamp(tors.Velocity.Y / 200 - 0.3, -hum.JumpPower / 200 - 0.3, hum.JumpPower / 200 - 0.3), 0, 0), 0.15) | |
1071 | LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(math.clamp(tors.Velocity.Y / 200 - 0.3, -hum.JumpPower / 200 - 0.3, hum.JumpPower / 200 - 0.3), 0, 0), 0.15) | |
1072 | RH.C0 = RH.C0:Lerp(RHnor + Vector3.new(0, 0.6, -0.4), 0.15) | |
1073 | LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(0, 0, 0.3) + Vector3.new(0, 0.1, 0), 0.15) | |
1074 | rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.Angles(-math.clamp(tors.Velocity.Y / 100, -hum.JumpPower / 100, hum.JumpPower / 100), 0, 0), 0.15) | |
1075 | neck.C0 = neck.C0:Lerp(necknor, 0.15) | |
1076 | end | |
1077 | end | |
1078 | if JevilForm == true then | |
1079 | if torsvel < 1 and hum.Health > 30 then | |
1080 | RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, math.sin(sine / 20) / 8, 0), 0.15) | |
1081 | LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, -math.sin(sine / 20) / 8, 0), 0.15) | |
1082 | RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15) | |
1083 | LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15) | |
1084 | rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.new(0, 0, 0.2 * math.sin(sine / 20)), 0.1) | |
1085 | neck.C0 = neck.C0:Lerp(necknor, 0.15) | |
1086 | end | |
1087 | if torsvel < 1 and hum.Health <= 30 then | |
1088 | RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.2 + math.cos(sine / 40) / 10, 0, 0.5) + Vector3.new(0, math.sin(sine / 40) / 10, 0), 0.15) | |
1089 | LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.2 + math.cos(sine / 40) / 10, 0, -0.5) + Vector3.new(0, math.sin(sine / 40) / 10, 0), 0.15) | |
1090 | RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.1 + math.cos(sine / 40) / 10, 0, 0.5), 0.15) | |
1091 | LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.1 + math.cos(sine / 40) / 10, 0, -0.5), 0.15) | |
1092 | rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.Angles(0.5, 0, 0) + Vector3.new(0.1 * math.cos(sine / 40), 0.1 * math.sin(sine / 40), 0), 0.1) | |
1093 | neck.C0 = neck.C0:Lerp(necknor, 0.15) | |
1094 | end | |
1095 | if torsvel > 1 then | |
1096 | RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(0, 0.4, (-math.pi / 2 + 0.7) + math.sin(sine / 20) / 10), 0.15) | |
1097 | LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(0, -0.4, (math.pi / 2 - 0.7) - math.sin(sine / 20) / 10), 0.15) | |
1098 | RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(0, 0, -math.pi / 2 + 0.7), 0.15) | |
1099 | LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(0, 0, math.pi / 2 - 0.7), 0.15) | |
1100 | rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.Angles(0.7 - math.cos(sine / 20) / 10, rootpart.RotVelocity.Y / 30, 0) + Vector3.new(0, 0.2 * math.sin(sine / 20), 0), 0.15) | |
1101 | neck.C0 = neck.C0:Lerp(necknor * CFrame.Angles(-0.7, 0, -head.RotVelocity.Y / 10), 0.15) | |
1102 | end | |
1103 | end | |
1104 | elseif rooted == false then | |
1105 | if JevilForm == false then | |
1106 | if torsvel < 1 and hitfloor then | |
1107 | RH.C0 = RH.C0:Lerp(RHnor, 0.15) | |
1108 | LH.C0 = LH.C0:Lerp(LHnor, 0.15) | |
1109 | end | |
1110 | if torsvel > 1 and hitfloor then | |
1111 | RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(0, 0, -math.sin(sine / 7) / 1.5 - 0.25) * CFrame.new(-math.cos(sine / 7) / 2, -math.cos(sine / 7) / 2, 0), 0.15) | |
1112 | LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(0, 0, -math.sin(sine / 7) / 1.5 + 0.25) * CFrame.new(-math.cos(sine / 7) / 2, math.cos(sine / 7) / 2, 0), 0.15) | |
1113 | end | |
1114 | if not hitfloor then | |
1115 | RH.C0 = RH.C0:Lerp(RHnor + Vector3.new(0, 0.6, -0.4), 0.15) | |
1116 | LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(0, 0, 0.3) + Vector3.new(0, 0.1, 0), 0.15) | |
1117 | end | |
1118 | end | |
1119 | if JevilForm == true then | |
1120 | if torsvel < 1 and hum.Health > 30 then | |
1121 | RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, math.sin(sine / 20) / 8, 0), 0.15) | |
1122 | LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, -math.sin(sine / 20) / 8, 0), 0.15) | |
1123 | RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15) | |
1124 | LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15) | |
1125 | rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.new(0, 0, 0.2 * math.sin(sine / 20)), 0.1) | |
1126 | neck.C0 = neck.C0:Lerp(necknor, 0.15) | |
1127 | end | |
1128 | if torsvel < 1 and hum.Health <= 30 then | |
1129 | RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.2 + math.cos(sine / 40) / 10, 0, 0.5) + Vector3.new(0, math.sin(sine / 40) / 10, 0), 0.15) | |
1130 | LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.2 + math.cos(sine / 40) / 10, 0, -0.5) + Vector3.new(0, math.sin(sine / 40) / 10, 0), 0.15) | |
1131 | RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.1 + math.cos(sine / 40) / 10, 0, 0.5), 0.15) | |
1132 | LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.1 + math.cos(sine / 40) / 10, 0, -0.5), 0.15) | |
1133 | rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.Angles(0.5, 0, 0) + Vector3.new(0.1 * math.cos(sine / 40), 0.1 * math.sin(sine / 40), 0), 0.1) | |
1134 | neck.C0 = neck.C0:Lerp(necknor, 0.15) | |
1135 | end | |
1136 | if torsvel > 1 then | |
1137 | RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(0, 0.4, (-math.pi / 2 + 0.7) + math.sin(sine / 20) / 10), 0.15) | |
1138 | LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(0, -0.4, (math.pi / 2 - 0.7) - math.sin(sine / 20) / 10), 0.15) | |
1139 | RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(0, 0, -math.pi / 2 + 0.7), 0.15) | |
1140 | LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(0, 0, math.pi / 2 - 0.7), 0.15) | |
1141 | rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.Angles(0.7 - math.cos(sine / 20) / 10, rootpart.RotVelocity.Y / 30, 0) + Vector3.new(0, 0.2 * math.sin(sine / 20), 0), 0.15) | |
1142 | neck.C0 = neck.C0:Lerp(necknor * CFrame.Angles(-0.7, 0, -head.RotVelocity.Y / 10), 0.15) | |
1143 | end | |
1144 | end | |
1145 | end | |
1146 | end |