SHOW:
|
|
- or go back to the newest paste.
1 | if game:GetService("RunService"):IsClient() then error("Please run as a server script. Use h/ instead of hl/.") end | |
2 | print("FE Compatibility: by WaverlyCole & Mokiros") | |
3 | InternalData = {} | |
4 | do | |
5 | script.Parent = owner.Character | |
6 | local Event = Instance.new("RemoteEvent") | |
7 | Event.Name = "UserInput" | |
8 | local function NewFakeEvent() | |
9 | local Fake = {fakeEvent=true,Connect=function(self,Func)self.Function=Func end}Fake.connect = Fake.Connect | |
10 | return Fake | |
11 | end | |
12 | local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()} | |
13 | local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()} | |
14 | local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...) | |
15 | self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil | |
16 | end};ContextActionService.UnBindAction = ContextActionService.BindAction | |
17 | local function TriggerEvent(self,Event,...) | |
18 | local Trigger = Mouse[Event] | |
19 | if Trigger and Trigger.fakeEvent and Trigger.Function then | |
20 | Trigger.Function(...) | |
21 | end | |
22 | end | |
23 | Mouse.TrigEvent = TriggerEvent | |
24 | UserInputService.TrigEvent = TriggerEvent | |
25 | Event.OnServerEvent:Connect(function(FiredBy,Input) | |
26 | if FiredBy.Name ~= owner.Name then end | |
27 | if Input.MouseEvent then | |
28 | Mouse.Target = Input.Target | |
29 | Mouse.Hit = Input.Hit | |
30 | else | |
31 | local Begin = Input.UserInputState == Enum.UserInputState.Begin | |
32 | if Input.UserInputType == Enum.UserInputType.MouseButton1 then | |
33 | return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up") | |
34 | end | |
35 | for _,Action in pairs(ContextActionService.Actions) do | |
36 | for _,Key in pairs(Action.Keys) do | |
37 | if Key==Input.KeyCode then | |
38 | Action.Function(Action.Name,Input.UserInputState,Input) | |
39 | end | |
40 | end | |
41 | end | |
42 | Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower()) | |
43 | UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false) | |
44 | end | |
45 | end) | |
46 | InternalData["Mouse"] = Mouse | |
47 | InternalData["ContextActionService"] = ContextActionService | |
48 | InternalData["UserInputService"] = UserInputService | |
49 | Event.Parent = NLS([[ | |
50 | local Player = owner | |
51 | local Event = script:WaitForChild("UserInput") | |
52 | local UserInputService = game:GetService("UserInputService") | |
53 | local Mouse = Player:GetMouse() | |
54 | local Input = function(Input,gameProcessedEvent) | |
55 | if gameProcessedEvent then return end | |
56 | Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState}) | |
57 | end | |
58 | UserInputService.InputBegan:Connect(Input) | |
59 | UserInputService.InputEnded:Connect(Input) | |
60 | local Hit,Target | |
61 | while wait(1/30) do | |
62 | if Hit ~= Mouse.Hit or Target ~= Mouse.Target then | |
63 | Hit,Target = Mouse.Hit,Mouse.Target | |
64 | Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit}) | |
65 | end | |
66 | end | |
67 | ]],owner.Character) | |
68 | end | |
69 | RealGame = game;game = setmetatable({},{ | |
70 | __index = function (self,Index) | |
71 | local Sandbox = function (Thing) | |
72 | if Thing:IsA("Player") then | |
73 | local RealPlayer = Thing | |
74 | return setmetatable({},{ | |
75 | __index = function (self,Index) | |
76 | local Type = type(RealPlayer[Index]) | |
77 | if Type == "function" then | |
78 | if Index:lower() == "getmouse" or Index:lower() == "mouse" then | |
79 | return function (self) | |
80 | return InternalData["Mouse"] | |
81 | end | |
82 | end | |
83 | return function (self,...) | |
84 | return RealPlayer[Index](RealPlayer,...) | |
85 | end | |
86 | else | |
87 | if Index == "PlrObj" then | |
88 | return RealPlayer | |
89 | end | |
90 | return RealPlayer[Index] | |
91 | end | |
92 | end; | |
93 | __tostring = function(self) | |
94 | return RealPlayer.Name | |
95 | end | |
96 | }) | |
97 | end | |
98 | end | |
99 | if RealGame[Index] then | |
100 | local Type = type(RealGame[Index]) | |
101 | if Type == "function" then | |
102 | if Index:lower() == "getservice" or Index:lower() == "service" then | |
103 | return function (self,Service) | |
104 | if Service:lower() == "players" then | |
105 | return setmetatable({},{ | |
106 | __index = function (self2,Index2) | |
107 | local RealService = RealGame:GetService(Service) | |
108 | local Type2 = type(Index2) | |
109 | if Type2 == "function" then | |
110 | return function (self,...) | |
111 | return RealService[Index2](RealService,...) | |
112 | end | |
113 | else | |
114 | if Index2:lower() == "localplayer" then | |
115 | return Sandbox(owner) | |
116 | end | |
117 | return RealService[Index2] | |
118 | end | |
119 | end; | |
120 | __tostring = function(self) | |
121 | return RealGame:GetService(Service).Name | |
122 | end | |
123 | }) | |
124 | elseif Service:lower() == "contextactionservice" then | |
125 | return InternalData["ContextActionService"] | |
126 | elseif Service:lower() == "contextactionservice" then | |
127 | return InternalData["UserInputService"] | |
128 | elseif Service:lower() == "runservice" then | |
129 | return setmetatable({},{ | |
130 | __index = function(self2,Index2) | |
131 | local RealService = RealGame:GetService(Service) | |
132 | local Type2 = type(Index2) | |
133 | if Type2 == "function" then | |
134 | return function (self,...) | |
135 | return RealService[Index2](RealService,...) | |
136 | end | |
137 | else | |
138 | if Index2:lower() == "bindtorenderstep" then | |
139 | return function (self,Name,Priority,Function) | |
140 | return RealGame:GetService("RunService").Stepped:Connect(Function) | |
141 | end | |
142 | end | |
143 | if Index2:lower() == "renderstepped" then | |
144 | return RealService["Stepped"] | |
145 | end | |
146 | return RealService[Index2] | |
147 | end | |
148 | end | |
149 | }) | |
150 | else | |
151 | return RealGame:GetService(Service) | |
152 | end | |
153 | end | |
154 | end | |
155 | return function (self,...) | |
156 | return RealGame[Index](RealGame,...) | |
157 | end | |
158 | else | |
159 | if game:GetService(Index) then | |
160 | return game:GetService(Index) | |
161 | end | |
162 | return RealGame[Index] | |
163 | end | |
164 | else | |
165 | return nil | |
166 | end | |
167 | end | |
168 | });Game = game;owner = game:GetService("Players").LocalPlayer;script = {} | |
169 | print("Complete! Running...") | |
170 | ||
171 | ||
172 | --//Paste script below this line. | |
173 | ||
174 | local p = game.Players.LocalPlayer | |
175 | local char = p.Character | |
176 | local hed = char:WaitForChild("Head") | |
177 | local rarm = char:WaitForChild("Right Arm") | |
178 | local larm = char:WaitForChild("Left Arm") | |
179 | local torso = char:WaitForChild("Torso") | |
180 | local lleg = char:WaitForChild("Left Leg") | |
181 | local rleg = char:WaitForChild("Right Leg") | |
182 | local root = char:WaitForChild("HumanoidRootPart") | |
183 | local hum = char:WaitForChild("Humanoid") | |
184 | local ChatService = game:GetService("Chat") | |
185 | local mouse = p:GetMouse() | |
186 | local HandCF = CFrame.new(root.Position - Vector3.new(0,3,0)) * CFrame.Angles(math.rad(90), math.rad(0), math.rad(0)) | |
187 | local attack = false --Determining things | |
188 | local running = false --Running mode | |
189 | local anim = "idle" | |
190 | local sine = 0 | |
191 | local add = 0 | |
192 | local soulcrushermode = false | |
193 | local FX = Instance.new("Folder", char) | |
194 | FX.Name = "SpecialFX" | |
195 | local maincolor = BrickColor.new("Pink") | |
196 | local SuperExplosion = "rbxassetid://1417056081" | |
197 | ||
198 | hum.WalkSpeed = 29 | |
199 | hum.MaxHealth = "inf" | |
200 | hum.Health = "inf" | |
201 | ||
202 | script.Name = "Created by iIceSniper, And SonicSydney Converted it And Edited." | |
203 | script.Parent = p.PlayerGui | |
204 | ||
205 | --// Useful Part-Creating Functions \\-- | |
206 | ||
207 | --Sound Variables-- | |
208 | local SuperExplosion = "rbxassetid://1417056081" | |
209 | --// Music | |
210 | local normalsong = "rbxassetid://1409668861" | |
211 | ||
212 | newWeld = function(wp0, wp1, wc0x, wc0y, wc0z) | |
213 | local wld = Instance.new("Weld", wp1) | |
214 | wld.Part0 = wp0 | |
215 | wld.Part1 = wp1 | |
216 | wld.C0 = CFrame.new(wc0x, wc0y, wc0z) | |
217 | end | |
218 | ||
219 | local song = Instance.new("Sound", char) | |
220 | song.SoundId = normalsong | |
221 | song.Volume = 1 | |
222 | song.Pitch = 1 | |
223 | song.Playing = true | |
224 | song.Looped = true | |
225 | ||
226 | newWeld(torso, larm, -1.5, 0.5, 0) | |
227 | larm.Weld.C1 = CFrame.new(0, 0.5, 0) | |
228 | newWeld(torso, rarm, 1.5, 0.5, 0) | |
229 | rarm.Weld.C1 = CFrame.new(0, 0.5, 0) | |
230 | newWeld(torso, hed, 0, 1.5, 0) | |
231 | newWeld(torso, lleg, -0.5, -1, 0) | |
232 | lleg.Weld.C1 = CFrame.new(0, 1, 0) | |
233 | newWeld(torso, rleg, 0.5, -1, 0) | |
234 | rleg.Weld.C1 = CFrame.new(0, 1, 0) | |
235 | newWeld(root, torso, 0, -1, 0) | |
236 | torso.Weld.C1 = CFrame.new(0, -1, 0) | |
237 | ||
238 | function Lerp(c1,c2,al) | |
239 | local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()} | |
240 | local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()} | |
241 | for i,v in pairs(com1) do | |
242 | com1[i] = v+(com2[i]-v)*al | |
243 | end | |
244 | return CFrame.new(com1[1],com1[2],com1[3]) * CFrame.Angles(select(4,unpack(com1))) | |
245 | end | |
246 | ||
247 | function FindNearestTorso(Position,Distance,SinglePlayer) | |
248 | if SinglePlayer then return(SinglePlayer.Torso.CFrame.p -Position).magnitude < Distance end | |
249 | local List = {} | |
250 | for i,v in pairs(workspace:GetChildren())do | |
251 | if v:IsA("Model")then | |
252 | if v:findFirstChild("Torso")then | |
253 | if v ~= char then | |
254 | if(v.Torso.Position -Position).magnitude <= Distance then | |
255 | table.insert(List,v) | |
256 | end | |
257 | end | |
258 | end | |
259 | end | |
260 | end | |
261 | return List | |
262 | end | |
263 | ||
264 | CV="Maroon" | |
265 | ||
266 | local txt = Instance.new("BillboardGui", char) | |
267 | txt.Adornee = hed | |
268 | txt.Name = "_status" | |
269 | txt.Size = UDim2.new(2, 0, 1.2, 0) | |
270 | txt.StudsOffset = Vector3.new(-9, 8, 0) | |
271 | local text = Instance.new("TextLabel", txt) | |
272 | text.Size = UDim2.new(10, 0, 7, 0) | |
273 | text.FontSize = "Size24" | |
274 | text.TextScaled = true | |
275 | text.TextTransparency = 0 | |
276 | text.BackgroundTransparency = 1 | |
277 | text.TextTransparency = 0 | |
278 | text.Font = "Arcade" | |
279 | text.TextStrokeColor3 = Color3.new(1,1,1) | |
280 | ||
281 | v=Instance.new("Part") | |
282 | v.Name = "ColorBrick" | |
283 | v.Parent=char | |
284 | v.FormFactor="Symmetric" | |
285 | v.Anchored=true | |
286 | v.CanCollide=false | |
287 | v.BottomSurface="Smooth" | |
288 | v.TopSurface="Smooth" | |
289 | v.Size=Vector3.new(10,5,3) | |
290 | v.Transparency=1 | |
291 | v.CFrame=torso.CFrame | |
292 | v.BrickColor=BrickColor.new(CV) | |
293 | v.Transparency=1 | |
294 | text.TextColor3 = Color3.new(0.9,0,1) | |
295 | v.Shape="Block" | |
296 | - | text.Text = "Sonic's UI" |
296 | + | text.Text = "e" |
297 | ||
298 | for i,v in pairs(char:GetChildren()) do | |
299 | if v.Name == "Head" or v.Name == "Torso" or v.Name == "Torso" or v.Name == "Left Arm" or v.Name == "Right Arm" or v.Name == "Left Leg" or v.Name == "Right Leg" then | |
300 | local Glow1 = Color3.new(0.9,0,1) --98, 37, 209 | |
301 | local Glow2 = Color3.new(1,1,1) | |
302 | ||
303 | local GlowParticle = Instance.new("ParticleEmitter",v) | |
304 | GlowParticle.LightEmission = 1 | |
305 | GlowParticle.Color = ColorSequence.new(Glow1,Glow2) | |
306 | GlowParticle.Size = NumberSequence.new(0,2) | |
307 | ||
308 | GlowParticle.Texture = "http://www.roblox.com/asset/?id=467188845" | |
309 | GlowParticle.Transparency = NumberSequence.new(0,1) | |
310 | GlowParticle.LockedToPart = true | |
311 | GlowParticle.Lifetime = NumberRange.new(0.5) | |
312 | GlowParticle.Rate= 300 | |
313 | GlowParticle.Speed =NumberRange.new(0) | |
314 | end end | |
315 | ||
316 | GroundWave = function() | |
317 | local HandCF = CFrame.new(root.Position - Vector3.new(0,3,0)) * CFrame.Angles(math.rad(90), math.rad(0), math.rad(0)) | |
318 | local wave = Instance.new("Part", torso) | |
319 | wave.BrickColor = maincolor | |
320 | wave.Anchored = true | |
321 | wave.CanCollide = false | |
322 | wave.Locked = true | |
323 | wave.Size = Vector3.new(1, 1, 1) | |
324 | wave.TopSurface = "Smooth" | |
325 | wave.BottomSurface = "Smooth" | |
326 | wave.Transparency = 0.35 | |
327 | wave.CFrame = HandCF | |
328 | wm = Instance.new("SpecialMesh", wave) | |
329 | wm.MeshId = "rbxassetid://3270017" | |
330 | coroutine.wrap(function() | |
331 | for i = 1, 14, 1 do | |
332 | wm.Scale = Vector3.new(1 + i*1.1, 1 + i*1.1, 1) | |
333 | wave.Size = wm.Scale | |
334 | wave.CFrame = HandCF | |
335 | wave.Transparency = i/14 | |
336 | wait() | |
337 | end | |
338 | wait() | |
339 | wave:Destroy() | |
340 | end)() | |
341 | end | |
342 | ||
343 | r = game:GetService("RunService").RenderStepped | |
344 | Activated = true | |
345 | custommath={25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-49,-50,-51,-52,-53,-54,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-65,-66,-67,-68,-69,-70,-71,-72,-73,-74,-75,-76,-77,-78,-79,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-97,-98,-99,-100} | |
346 | Debri = coroutine.wrap(function() | |
347 | repeat | |
348 | local p = Instance.new('Part',torso) | |
349 | p.formFactor = 'Custom' | |
350 | p.Size = Vector3.new(1,1,1) | |
351 | p.BrickColor = maincolor | |
352 | p.CanCollide = false | |
353 | p.Transparency = 0 | |
354 | p.Anchored = true | |
355 | p.Locked=true | |
356 | p.Material = 'Neon' | |
357 | s = math.random(1,40)/10 | |
358 | local m = Instance.new("BlockMesh",p) | |
359 | m.Scale = Vector3.new(s,s,s) | |
360 | p.CFrame = torso.CFrame*CFrame.new(custommath[math.random(1,#custommath)]/10,-math.random(5,7),custommath[math.random(1,#custommath)]/10)*CFrame.Angles(math.random(),math.random(),math.random()) | |
361 | spawn(function() | |
362 | while r:wait() do | |
363 | if p.Transparency >= 1 then p:Destroy() break end | |
364 | p.CFrame = p.CFrame*CFrame.Angles(math.rad(2),math.rad(2),math.rad(2))+Vector3.new(0,0.2,0) | |
365 | p.Transparency = p.Transparency+0.01 | |
366 | end | |
367 | end) | |
368 | wait(.3) | |
369 | until Activated == false | |
370 | end) | |
371 | Debri() | |
372 | ||
373 | spawn(function() | |
374 | while wait(2) | |
375 | do | |
376 | GroundWave() | |
377 | end | |
378 | end) | |
379 | ||
380 | function FindNearestTorso(Position,Distance,SinglePlayer) | |
381 | if SinglePlayer then return(SinglePlayer.Torso.CFrame.p -Position).magnitude < Distance end | |
382 | local List = {} | |
383 | for i,v in pairs(workspace:GetChildren())do | |
384 | if v:IsA("Model")then | |
385 | if v:findFirstChild("Torso")then | |
386 | if v ~= char then | |
387 | if(v.Torso.Position -Position).magnitude <= Distance then | |
388 | table.insert(List,v) | |
389 | end | |
390 | end | |
391 | end | |
392 | end | |
393 | end | |
394 | return List | |
395 | end | |
396 | ||
397 | function ExplodeMassen(rad,par) | |
398 | local expart = Instance.new("Part",workspace) | |
399 | local expart2 = Instance.new("Part",workspace) | |
400 | local partMesh = Instance.new("SpecialMesh",expart) | |
401 | partMesh.MeshType = "Sphere" | |
402 | local partMesh2 = Instance.new("SpecialMesh",expart2) | |
403 | partMesh2.MeshType = "Sphere" | |
404 | local expld = Instance.new("Explosion", workspace) | |
405 | local plode = Instance.new("Sound",workspace) | |
406 | plode.SoundId = "rbxassetid://579687077" | |
407 | plode.Volume = 1 | |
408 | plode.Pitch = 0.85 | |
409 | plode.Looped = false | |
410 | plode:Play() | |
411 | local plodez = Instance.new("Sound",workspace) | |
412 | plodez.SoundId = "rbxassetid://288641686" | |
413 | plodez.Volume = 1 | |
414 | plodez.Pitch = 0.75 | |
415 | plodez.Looped = false | |
416 | plodez:Play() | |
417 | local plodeza = Instance.new("Sound",workspace) | |
418 | plodeza.SoundId = "rbxassetid://197161452" | |
419 | plodeza.Volume = 0.85 | |
420 | plodeza.Pitch = 0.65 | |
421 | plodeza.Looped = false | |
422 | plodeza:Play() | |
423 | local plodezar = Instance.new("Sound",workspace) | |
424 | plodezar.SoundId = "rbxassetid://197161452" | |
425 | plodezar.Volume = 0.85 | |
426 | plodezar.Pitch = 0.25 | |
427 | plodezar.Looped = false | |
428 | plodezar:Play() | |
429 | expld.BlastRadius = rad | |
430 | expld.BlastPressure = 1000000000 --Rip objects around it x-x | |
431 | expld.Position = par.Position | |
432 | partMesh.Scale = Vector3.new(rad,rad,rad) | |
433 | expart.Size = Vector3.new(1,1,1)*1.5 | |
434 | expart.Transparency = 0 | |
435 | expart.Anchored = true | |
436 | expart.Material = "Neon" | |
437 | expart.BrickColor = BrickColor.new("Baby blue") | |
438 | expart.CFrame = par.CFrame | |
439 | partMesh2.Scale = Vector3.new(rad,rad,rad) | |
440 | expart2.Size = Vector3.new(1.15,1.15,1.15)*1.5 | |
441 | expart2.Transparency = 0.5 | |
442 | expart2.Anchored = true | |
443 | expart2.Material = "Neon" | |
444 | expart2.BrickColor = maincolor | |
445 | expart2.CFrame = par.CFrame | |
446 | local value = 1*rad/10 | |
447 | par:Destroy() | |
448 | for i = 0, 300 do | |
449 | partMesh.Scale = partMesh.Scale + Vector3.new(value,value,value) | |
450 | expart.CFrame = expart.CFrame | |
451 | partMesh2.Scale = partMesh2.Scale + Vector3.new(value,value,value) | |
452 | expart2.CFrame = expart.CFrame | |
453 | value = value - 0.0175*rad/10 | |
454 | if value <= 0 then | |
455 | expart.Transparency = expart.Transparency + 0.0125 | |
456 | expart2.Transparency = expart2.Transparency + 0.0125 | |
457 | value = 0.25 | |
458 | end | |
459 | wait() | |
460 | end | |
461 | plode.Parent = nil | |
462 | expart.Parent = nil | |
463 | expart2.Parent = nil | |
464 | expld.Parent = nil | |
465 | end | |
466 | ||
467 | local spirit1 = Instance.new("Part",char) | |
468 | spirit1.CanCollide = false | |
469 | spirit1.Size = Vector3.new(1,1,1) | |
470 | spirit1.Transparency = 1 | |
471 | spirit1.Position = Vector3.new(999,999,999) | |
472 | spirit1mesh = Instance.new("SpecialMesh",spirit1) | |
473 | spirit1mesh.MeshType = "Sphere" | |
474 | spirit1mesh.Scale = Vector3.new(1,1,1) | |
475 | partweld7 = Instance.new("Weld",spirit1) | |
476 | partweld7.Part0 = torso | |
477 | partweld7.Part1 = spirit1 | |
478 | partweld7.C0 = CFrame.new(0,40,0) | |
479 | ||
480 | function EnergyBomb() | |
481 | local hito = false | |
482 | local sloc = Instance.new("Part",workspace) | |
483 | local msh = Instance.new("SpecialMesh",sloc) | |
484 | msh.MeshType = "Sphere" | |
485 | sloc.Size = Vector3.new(25,25,25) | |
486 | sloc.Transparency = 0 | |
487 | sloc.BrickColor = maincolor | |
488 | sloc.Position = spirit1.Position + Vector3.new(0,50,0) | |
489 | sloc.CanCollide = false | |
490 | sloc.Shape = "Ball" | |
491 | sloc.Anchored = true | |
492 | sloc.Material = "Neon" | |
493 | local s = Instance.new("Sound",char) | |
494 | s.SoundId = "rbxassetid://289315275" | |
495 | s.Pitch = 1 | |
496 | s.Volume = 2.75 | |
497 | s.Looped = false | |
498 | s:Play() | |
499 | local s2 = Instance.new("Sound",char) | |
500 | s2.SoundId = "rbxassetid://671759140" | |
501 | s2.Pitch = 0.425 | |
502 | s2.Volume = 1 | |
503 | s2.Looped = false | |
504 | s2:Play() | |
505 | for i = 0 , 75 do | |
506 | sloc.Transparency = sloc.Transparency - 0.035 | |
507 | msh.Scale = msh.Scale + Vector3.new(.05,.05,.05) | |
508 | wait() | |
509 | end | |
510 | wait(2) | |
511 | local sen = Instance.new("Sound",char) | |
512 | sen.SoundId = "rbxassetid://289315275" | |
513 | sen.Pitch = 1 | |
514 | sen.Volume = 2.75 | |
515 | sen.Looped = false | |
516 | sen:Play() | |
517 | local tick = Instance.new("Sound",char) | |
518 | tick.SoundId = "rbxassetid://446876721" | |
519 | tick.Volume = 2.5 | |
520 | tick.Pitch = 0.5 | |
521 | tick:Play() | |
522 | msh.Scale = msh.Scale - Vector3.new(1,1,1) | |
523 | sloc.Transparency = sloc.Transparency + 0.015 | |
524 | local spart = Instance.new("Part",workspace) | |
525 | local msh2 = Instance.new("SpecialMesh",spart) | |
526 | msh2.MeshType = "Sphere" | |
527 | spart.Size = Vector3.new(25,25,25) | |
528 | spart.Shape = "Ball" | |
529 | spart.BrickColor = maincolor | |
530 | spart.Material = "Neon" | |
531 | spart.Transparency = 0 | |
532 | spart.Anchored = false | |
533 | msh2.Scale = Vector3.new(4.875,4.875,4.875) | |
534 | spart.Rotation = hed.Rotation | |
535 | spart.CanCollide = false | |
536 | spart.Position = sloc.Position + Vector3.new(math.random(-0,0),math.random(-0,0),math.random(-0,0)) | |
537 | local bv = Instance.new("BodyVelocity") | |
538 | bv.maxForce = Vector3.new(1e9, 1e9, 1e9) | |
539 | bv.velocity = mouse.Hit.lookVector * 125 | |
540 | bv.Parent = spart | |
541 | sloc:Destroy() | |
542 | wait() | |
543 | local pewdiepie=spart.Touched:connect(function(hit) | |
544 | ExplodeMassen(100,spart) | |
545 | end) | |
546 | sloc:Destroy() | |
547 | tick:Destroy() | |
548 | s:Destroy() | |
549 | sen:Destroy() | |
550 | s2:Destroy() | |
551 | end | |
552 | ||
553 | function AuraBall() | |
554 | attack = true | |
555 | for i = 1, 20 do | |
556 | wait() | |
557 | hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)), 0.3)--head | |
558 | torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, 10, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)--torso | |
559 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(-180),math.rad(0),math.rad(20)), 0.3)--rarm | |
560 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.5,0)*CFrame.Angles(math.rad(-180),math.rad(0),math.rad(-20)), 0.3)--larm | |
561 | lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-20)), 0.3)--lleg | |
562 | rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(20)), 0.3)--rleg | |
563 | end | |
564 | hed.Anchored = true | |
565 | EnergyBomb() | |
566 | hed.Anchored = false | |
567 | for i = 1,40 do | |
568 | torso.Weld.C0=torso.Weld.C0:lerp(CFrame.new(0,0+-math.cos(sine/14)/7,0)*CFrame.Angles(math.rad(0),0,0),0.05) | |
569 | rleg.Weld.C0=rleg.Weld.C0:lerp(CFrame.new(.5,-1,0)*CFrame.Angles(math.rad(0),0,0.15+math.sin(sine/14)/20),0.25) | |
570 | lleg.Weld.C0=lleg.Weld.C0:lerp(CFrame.new(-.5,-1,0)*CFrame.Angles(math.rad(0),0,-0.15+-math.sin(sine/14)/20),0.25) | |
571 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.3,0.6,-0.2)*CFrame.Angles(math.rad(160),math.rad(0),math.rad(90)), 0.5)--arm | |
572 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.3,0.6,-.2)*CFrame.Angles(math.rad(140),math.rad(0),math.rad(-90)), 0.5)--arm | |
573 | hed.Weld.C0=hed.Weld.C0:lerp(CFrame.new(0,1.5,-0.15)*CFrame.Angles(math.rad(-20),0,0),0.25) | |
574 | wait() | |
575 | end | |
576 | attack = false | |
577 | end | |
578 | ||
579 | function LaserEyes() | |
580 | ||
581 | end | |
582 | ||
583 | local theme = 2 | |
584 | function ChangeThemes() | |
585 | if theme == 1 then | |
586 | theme = 2 | |
587 | song.SoundId = "rbxassetid://2631079584" | |
588 | song:Stop() | |
589 | wait() | |
590 | song:Play() | |
591 | elseif theme == 2 then | |
592 | theme = 3 | |
593 | song.SoundId = "rbxassetid://2559753891" | |
594 | song:Stop() | |
595 | wait() | |
596 | song:Play() | |
597 | elseif theme == 3 then | |
598 | theme = 4 | |
599 | song.SoundId = "rbxassetid://981914802" | |
600 | song:Stop() | |
601 | wait() | |
602 | song:Play() | |
603 | elseif theme == 4 then | |
604 | theme = 5 | |
605 | song.SoundId = "rbxassetid://1987979024" | |
606 | song.Volume = 3 | |
607 | song:Stop() | |
608 | wait() | |
609 | song:Play() | |
610 | elseif theme == 5 then | |
611 | theme = 1 | |
612 | song.SoundId = "rbxassetid://1409668861" | |
613 | song.Volume = 1 | |
614 | song:Stop() | |
615 | wait() | |
616 | song:Play() | |
617 | end | |
618 | end | |
619 | ||
620 | function newRay(start,face,range,wat) | |
621 | local rey=Ray.new(start.p,(face.p-start.p).Unit*range) | |
622 | local hit,pos=game.Workspace:FindPartOnRayWithIgnoreList(rey,wat) | |
623 | return rey,hit,pos | |
624 | end | |
625 | ||
626 | function nooutline(part) | |
627 | part.TopSurface,part.BottomSurface,part.LeftSurface,part.RightSurface,part.FrontSurface,part.BackSurface = 10,10,10,10,10,10 | |
628 | end | |
629 | ||
630 | function MegaCrater(cfremz, thepart, amt) | |
631 | for j = 1, amt do | |
632 | do | |
633 | local pr = Instance.new("Part") | |
634 | nooutline(pr) | |
635 | pr.Name = "debrisobeb" | |
636 | pr.Anchored = true | |
637 | pr.BrickColor = thepart.BrickColor | |
638 | pr.CanCollide = true | |
639 | pr.Material = thepart.Material | |
640 | pr.Transparency = thepart.Transparency | |
641 | pr.Size = Vector3.new(math.random(16, 24), math.random(12, 16), math.random(16, 24)) | |
642 | pr.CFrame = cfremz * CFrame.Angles(0, math.rad(amt * j), 0) * CFrame.new(0, -5, math.random(18, 22)) * CFrame.Angles(math.rad(math.random(-30, -15)), math.rad(math.random(0, 1)), math.rad(math.random(0, 1))) | |
643 | pr.Parent = workspace | |
644 | game.Debris:AddItem(pr, 25) | |
645 | delay(15, function() | |
646 | if pr then | |
647 | pr.CanCollide = false | |
648 | pr.Anchored = false | |
649 | end | |
650 | end) | |
651 | end | |
652 | end | |
653 | for c = 1, amt do | |
654 | do | |
655 | local pr2 = Instance.new("Part") | |
656 | nooutline(pr2) | |
657 | pr2.Name = "moredebr" | |
658 | pr2.Anchored = false | |
659 | pr2.BrickColor = thepart.BrickColor | |
660 | pr2.CanCollide = false | |
661 | pr2.Material = thepart.Material | |
662 | pr2.Transparency = thepart.Transparency | |
663 | pr2.Size = Vector3.new(math.random(8, 18), math.random(6, 18), math.random(8, 18)) | |
664 | pr2.CFrame = cfremz * CFrame.Angles(0, math.rad(30 * c), 0) * CFrame.new(0, -5, math.random(18, 22)) * CFrame.Angles(math.rad(math.random(-30, -15)), math.rad(math.random(0, 1)), math.rad(math.random(0, 1))) | |
665 | pr2.Parent = workspace | |
666 | pr2.Velocity = Vector3.new(math.random(-75, 75), math.random(120, 240), math.random(-75, 75)) | |
667 | pr2.RotVelocity = Vector3.new(math.random(-35, 35), math.random(-35, 35), math.random(-35, 35)) | |
668 | game.Debris:AddItem(pr2, 45) | |
669 | delay(2, function() | |
670 | pr2.CanCollide = true | |
671 | wait(10) | |
672 | if pr2 then | |
673 | pr2.CanCollide = false | |
674 | end | |
675 | end) | |
676 | end | |
677 | end | |
678 | end | |
679 | ||
680 | local acos = math.acos | |
681 | local sqrt = math.sqrt | |
682 | local Vec3 = Vector3.new | |
683 | local fromAxisAngle = CFrame.fromAxisAngle | |
684 | ||
685 | function ApplyTrig(Num,Func) | |
686 | local Min,Max = Func(0),Func(1) | |
687 | local i = Func(Num) | |
688 | return (i-Min)/(Max-Min) | |
689 | end | |
690 | ||
691 | function hito(partoz, magn, dmg, debtim) | |
692 | for _, guy in pairs(workspace:GetChildren()) do | |
693 | if guy:FindFirstChild("Humanoid") and guy:FindFirstChild("Head") and guy ~= char and magn > (guy:FindFirstChild("Head").Position - partoz.Position).magnitude and guy:FindFirstChild("Head"):FindFirstChild("alabo") == nil then | |
694 | do | |
695 | local humz = guy:FindFirstChild("Humanoid") | |
696 | local hed = guy:FindFirstChild("Head") | |
697 | humz:TakeDamage(dmg) | |
698 | local db = Instance.new("StringValue") | |
699 | db.Name = "alabo" | |
700 | db.Parent = hed | |
701 | delay(debtim, function() | |
702 | db:Destroy() | |
703 | end) | |
704 | end | |
705 | end | |
706 | end | |
707 | end | |
708 | ||
709 | local function toAxisAngle(CFr) | |
710 | local X,Y,Z,R00,R01,R02,R10,R11,R12,R20,R21,R22 = CFr:components() | |
711 | local Angle = math.acos((R00+R11+R22-1)/2) | |
712 | local A = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2 | |
713 | A = A == 0 and 0.00001 or A | |
714 | local B = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2 | |
715 | B = B == 0 and 0.00001 or B | |
716 | local C = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2 | |
717 | C = C == 0 and 0.00001 or C | |
718 | local x = (R21-R12)/sqrt(A) | |
719 | local y = (R02-R20)/sqrt(B) | |
720 | local z = (R10-R01)/sqrt(C) | |
721 | return Vec3(x,y,z),Angle | |
722 | end | |
723 | ||
724 | function so(id,par,vol,pit) | |
725 | local sou = Instance.new("Sound",par) | |
726 | sou.Volume=vol | |
727 | sou.Pitch=pit | |
728 | sou.SoundId=id | |
729 | sou:play() | |
730 | end | |
731 | ||
732 | function LerpCFrame(CFrame1,CFrame2,Num) | |
733 | local Vec,Ang = toAxisAngle(CFrame1:inverse()*CFrame2) | |
734 | return CFrame1*fromAxisAngle(Vec,Ang*Num) + (CFrame2.p-CFrame1.p)*Num | |
735 | end | |
736 | ||
737 | function Crater(Torso,Radius) | |
738 | spawn(function() | |
739 | local Ray = Ray.new(Torso.Position,Vector3.new(0,-1,0)*10) | |
740 | local Ignore = {} | |
741 | for i,v in pairs(game:GetService("Players"):GetPlayers()) do | |
742 | if v.Character ~= nil then | |
743 | Ignore[#Ignore+1] = v.Character | |
744 | end | |
745 | end | |
746 | local Hit,Pos,SurfaceNorm = workspace:FindPartOnRayWithIgnoreList(Ray,Ignore) | |
747 | if Hit == nil then return end | |
748 | local Parts = {} | |
749 | for i = 1,360,10 do | |
750 | local P = Instance.new("Part",Torso.Parent) | |
751 | P.Anchored = true | |
752 | P.FormFactor = "Custom" | |
753 | P.BrickColor = Hit.BrickColor | |
754 | P.Material = Hit.Material | |
755 | P.TopSurface = "Smooth" | |
756 | P.BottomSurface = "Smooth" | |
757 | P.Size = Vector3.new(5,10,10)*(math.random(80,100)/100) | |
758 | P.CFrame = ((CFrame.new(Pos,Pos+SurfaceNorm)*CFrame.Angles(math.rad(90),0,0))-Vector3.new(0,7,0))*CFrame.Angles(math.rad(math.random(-50,50)),math.rad(math.random(-50,50)),math.rad(math.random(-50,50))) | |
759 | Parts[#Parts+1] = {P,P.CFrame,((CFrame.new(Pos,Pos+SurfaceNorm)*CFrame.Angles(math.rad(90),0,0))-Vector3.new(0,1,0))*CFrame.Angles(0,math.rad(i),0)*CFrame.new(0,0,-Radius)*CFrame.Angles(math.rad(math.random(-50,-20)),math.rad(math.random(-15,15)),math.rad(math.random(-15,15))),P.Size} | |
760 | if math.random(0,5) == 0 then -- rubble | |
761 | local P = Instance.new("Part",Torso.Parent) | |
762 | P.Anchored = true | |
763 | P.FormFactor = "Custom" | |
764 | P.BrickColor = Hit.BrickColor | |
765 | P.Material = Hit.Material | |
766 | P.TopSurface = "Smooth" | |
767 | P.BottomSurface = "Smooth" | |
768 | P.Size = Vector3.new(2,2,2)*(math.random(80,100)/100) | |
769 | P.CFrame = ((CFrame.new(Pos,Pos+SurfaceNorm)*CFrame.Angles(math.rad(90),0,0))-Vector3.new(0,2.5,0))*CFrame.Angles(math.rad(math.random(-50,50)),math.rad(math.random(-50,50)),math.rad(math.random(-50,50))) | |
770 | Parts[#Parts+1] = {P,P.CFrame,(CFrame.new(Pos,Pos+SurfaceNorm)*CFrame.Angles(math.rad(90),0,0))*CFrame.Angles(0,math.rad(i),0)*CFrame.new(0,0,-Radius-8)*CFrame.Angles(math.rad(math.random(-90,90)),math.rad(math.random(-90,90)),math.rad(math.random(-90,90))),P.Size} | |
771 | end | |
772 | end | |
773 | for i = 0,1,0.05 do | |
774 | for i2,v in pairs(Parts) do | |
775 | v[1].CFrame = LerpCFrame(v[2],v[3],ApplyTrig(i,math.cos)) | |
776 | end | |
777 | wait(0.02) | |
778 | end | |
779 | for i,v in pairs(Parts) do | |
780 | if v[1].Size.X > 2.1 then | |
781 | v[1].CFrame = v[1].CFrame+Vector3.new(0,2,0) | |
782 | end | |
783 | v[1].Anchored = false | |
784 | end | |
785 | for i = 0,1,0.05 do | |
786 | for i2,v in pairs(Parts) do | |
787 | v[1].Transparency = i | |
788 | if i == 1 then | |
789 | v[1]:Destroy() | |
790 | elseif i >= 0.25 then | |
791 | v[1].CanCollide = false | |
792 | end | |
793 | end | |
794 | wait(0.02) | |
795 | end | |
796 | Parts = nil | |
797 | end) | |
798 | end | |
799 | ||
800 | function KABOOMZ2() | |
801 | local effspwn = Instance.new("Part") | |
802 | coroutine.resume(coroutine.create(function() | |
803 | local sound1 = Instance.new("Sound") | |
804 | sound1.SoundId = "rbxassetid://138137702" | |
805 | sound1.MaxDistance = 300 | |
806 | sound1.EmitterSize = 20 | |
807 | sound1.Volume = 2.5 | |
808 | sound1.Pitch = 0.65 | |
809 | sound1.Parent = effspwn | |
810 | local sound2 = Instance.new("Sound") | |
811 | sound2.SoundId = "rbxassetid://157878578" | |
812 | sound2.MaxDistance = 300 | |
813 | sound2.EmitterSize = 20 | |
814 | sound2.Volume = 1 | |
815 | sound2.Pitch = 0.7 | |
816 | sound2.Parent = effspwn | |
817 | local sound3 = Instance.new("Sound") | |
818 | sound3.SoundId = "rbxassetid://138250406" | |
819 | sound2.MaxDistance = 400 | |
820 | sound2.EmitterSize = 30 | |
821 | sound2.Volume = 0.5 | |
822 | sound2.Pitch = 0.5 | |
823 | sound2.Parent = effspwn | |
824 | sound2:Play() | |
825 | wait() | |
826 | sound1:Play() | |
827 | sound3:Play() | |
828 | end)) | |
829 | local model = Instance.new("Model") | |
830 | game.Debris:AddItem(model, 20) | |
831 | model.Name = "smasheffects" | |
832 | model.Parent = workspace | |
833 | effspwn.Name = "spwnr" | |
834 | effspwn.Size = Vector3.new(1, 1, 1) | |
835 | effspwn.Anchored = true | |
836 | effspwn.CanCollide = false | |
837 | effspwn.Transparency = 1 | |
838 | effspwn.CFrame = root.CFrame * CFrame.Angles(math.rad(180), 0, 0) | |
839 | effspwn.Parent = model | |
840 | Crater(torso,60) | |
841 | Crater(torso,120) | |
842 | for i,v in pairs(FindNearestTorso(torso.CFrame.p,50))do | |
843 | if v:FindFirstChild('Humanoid') then | |
844 | v.Humanoid:TakeDamage(math.random(10000020,10000030)) | |
845 | v.Humanoid.PlatformStand = true | |
846 | v:FindFirstChild("Torso").Velocity = hed.CFrame.lookVector * 200 | |
847 | end | |
848 | end | |
849 | coroutine.resume(coroutine.create(function() | |
850 | local shok = Instance.new("Part") | |
851 | shok.Name = "whoosh" | |
852 | shok.BrickColor = maincolor | |
853 | shok.CFrame = effspwn.CFrame * CFrame.Angles(math.rad(-90), math.rad(0), math.rad(0)) | |
854 | shok.Size = Vector3.new(1, 1, 1) | |
855 | shok.Anchored = true | |
856 | shok.Material = "Neon" | |
857 | shok.Transparency = 0.1 | |
858 | shok.CanCollide = false | |
859 | shok.Parent = model | |
860 | game.Debris:AddItem(shok, 12) | |
861 | local mesh = Instance.new("SpecialMesh") | |
862 | mesh.MeshType = "FileMesh" | |
863 | mesh.MeshId = "rbxassetid://437347603" | |
864 | mesh.Scale = Vector3.new(0.8, 0.8, 0.3) | |
865 | mesh.Parent = shok | |
866 | for e = 1, 8 do | |
867 | wait() | |
868 | mesh.Scale = mesh.Scale + Vector3.new(0.24, 0.24, 0.22) | |
869 | shok.Transparency = shok.Transparency + 0.035 | |
870 | shok.CFrame = shok.CFrame:lerp(shok.CFrame * CFrame.new(0, 0, -22), 0.4) | |
871 | shok.CFrame = shok.CFrame * CFrame.Angles(math.rad(0), math.rad(0), math.rad(29)) | |
872 | hito(shok, 10, math.huge, 3) | |
873 | end | |
874 | for e = 1, 16 do | |
875 | wait() | |
876 | mesh.Scale = mesh.Scale + Vector3.new(0.13, 0.13, 0.12) | |
877 | shok.Transparency = shok.Transparency + 0.11 | |
878 | shok.CFrame = shok.CFrame:lerp(shok.CFrame * CFrame.new(0, 0, -10), 0.4) | |
879 | shok.CFrame = shok.CFrame * CFrame.Angles(math.rad(0), math.rad(0), math.rad(15)) | |
880 | hito(shok, 10, math.huge, 3) | |
881 | ||
882 | end | |
883 | end)) | |
884 | coroutine.resume(coroutine.create(function() | |
885 | local shok = Instance.new("Part") | |
886 | shok.Name = "wring1" | |
887 | shok.BrickColor = maincolor | |
888 | shok.CFrame = effspwn.CFrame * CFrame.Angles(math.rad(-90), math.rad(0), math.rad(0)) | |
889 | shok.Size = Vector3.new(1, 1, 1) | |
890 | shok.Anchored = true | |
891 | shok.Material = "Neon" | |
892 | shok.Transparency = 0.25 | |
893 | shok.CanCollide = false | |
894 | shok.Parent = model | |
895 | game.Debris:AddItem(shok, 12) | |
896 | local mesh = Instance.new("SpecialMesh") | |
897 | mesh.MeshType = "FileMesh" | |
898 | mesh.MeshId = "rbxassetid://3270017" | |
899 | mesh.Scale = Vector3.new(0.1, 0.1, 0.05) | |
900 | mesh.Parent = shok | |
901 | for e = 1, 30 do | |
902 | wait() | |
903 | mesh.Scale = mesh.Scale + Vector3.new(2.6, 2.6, 3) | |
904 | shok.Transparency = shok.Transparency + 0.002 | |
905 | shok.CFrame = shok.CFrame:lerp(shok.CFrame * CFrame.new(0, 0, -1), 0.4) | |
906 | shok.CFrame = shok.CFrame * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-2)) | |
907 | end | |
908 | for e = 1, 38 do | |
909 | wait() | |
910 | mesh.Scale = mesh.Scale + Vector3.new(2.6, 2.6, 0.1) | |
911 | shok.Transparency = shok.Transparency + 0.002 | |
912 | shok.CFrame = shok.CFrame:lerp(shok.CFrame * CFrame.new(0, 0, -0.12), 0.4) | |
913 | shok.CFrame = shok.CFrame * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-2)) | |
914 | end | |
915 | for e = 1, 24 do | |
916 | wait() | |
917 | mesh.Scale = mesh.Scale + Vector3.new(2.6, 2.6, 0.1) | |
918 | shok.Transparency = shok.Transparency + 0.03 | |
919 | shok.CFrame = shok.CFrame:lerp(shok.CFrame * CFrame.new(0, 0, -0.12), 0.4) | |
920 | shok.CFrame = shok.CFrame * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-2)) | |
921 | end | |
922 | end)) | |
923 | coroutine.resume(coroutine.create(function() | |
924 | local shok = Instance.new("Part") | |
925 | shok.Name = "wring2" | |
926 | shok.BrickColor = maincolor | |
927 | shok.CFrame = effspwn.CFrame * CFrame.new(0, 12, 0) * CFrame.Angles(math.rad(-90), math.rad(0), math.rad(0)) | |
928 | shok.Size = Vector3.new(1, 1, 1) | |
929 | shok.Anchored = true | |
930 | shok.Material = "Neon" | |
931 | shok.Transparency = 0.25 | |
932 | shok.CanCollide = false | |
933 | shok.Parent = model | |
934 | game.Debris:AddItem(shok, 12) | |
935 | local mesh = Instance.new("SpecialMesh") | |
936 | mesh.MeshType = "FileMesh" | |
937 | mesh.MeshId = "rbxassetid://3270017" | |
938 | mesh.Scale = Vector3.new(12, 12, 0.05) | |
939 | mesh.Parent = shok | |
940 | for e = 1, 30 do | |
941 | wait() | |
942 | mesh.Scale = mesh.Scale + Vector3.new(2.8, 2.8, 3) | |
943 | shok.Transparency = shok.Transparency + 0.002 | |
944 | shok.CFrame = shok.CFrame:lerp(shok.CFrame * CFrame.new(0, 0, -1), 0.4) | |
945 | shok.CFrame = shok.CFrame * CFrame.Angles(math.rad(0), math.rad(0), math.rad(2)) | |
946 | end | |
947 | for e = 1, 38 do | |
948 | wait() | |
949 | mesh.Scale = mesh.Scale + Vector3.new(2.8, 2.8, 0.1) | |
950 | shok.Transparency = shok.Transparency + 0.002 | |
951 | shok.CFrame = shok.CFrame:lerp(shok.CFrame * CFrame.new(0, 0, -0.12), 0.4) | |
952 | shok.CFrame = shok.CFrame * CFrame.Angles(math.rad(0), math.rad(0), math.rad(2)) | |
953 | end | |
954 | for e = 1, 24 do | |
955 | wait() | |
956 | mesh.Scale = mesh.Scale + Vector3.new(2.8, 2.8, 0.1) | |
957 | shok.Transparency = shok.Transparency + 0.03 | |
958 | shok.CFrame = shok.CFrame:lerp(shok.CFrame * CFrame.new(0, 0, -0.12), 0.4) | |
959 | shok.CFrame = shok.CFrame * CFrame.Angles(math.rad(0), math.rad(0), math.rad(2)) | |
960 | end | |
961 | end)) | |
962 | coroutine.resume(coroutine.create(function() | |
963 | local shok = Instance.new("Part") | |
964 | shok.Name = "coil1" | |
965 | shok.BrickColor = maincolor | |
966 | shok.CFrame = effspwn.CFrame * CFrame.new(0, 12, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
967 | shok.Size = Vector3.new(1, 1, 1) | |
968 | shok.Anchored = true | |
969 | shok.Material = "Neon" | |
970 | shok.Transparency = 0.25 | |
971 | shok.CanCollide = false | |
972 | shok.Parent = model | |
973 | game.Debris:AddItem(shok, 12) | |
974 | local mesh = Instance.new("SpecialMesh") | |
975 | mesh.MeshType = "FileMesh" | |
976 | mesh.MeshId = "http://www.roblox.com/asset/?id=1051557" | |
977 | mesh.Scale = Vector3.new(12, 12, 12) | |
978 | mesh.Parent = shok | |
979 | for e = 1, 15 do | |
980 | wait() | |
981 | mesh.Scale = mesh.Scale + Vector3.new(1.5, 2.8, 1.5) | |
982 | shok.Transparency = shok.Transparency + 0.004 | |
983 | shok.CFrame = shok.CFrame:lerp(shok.CFrame * CFrame.new(0, 0, -1), 0.4) | |
984 | shok.CFrame = shok.CFrame * CFrame.Angles(math.rad(0), math.rad(35), math.rad(0)) | |
985 | end | |
986 | for e = 1, 16 do | |
987 | wait() | |
988 | mesh.Scale = mesh.Scale + Vector3.new(1.5, 2.8, 1.5) | |
989 | shok.Transparency = shok.Transparency + 0.004 | |
990 | shok.CFrame = shok.CFrame:lerp(shok.CFrame * CFrame.new(0, 0, -0.12), 0.4) | |
991 | shok.CFrame = shok.CFrame * CFrame.Angles(math.rad(0), math.rad(35), math.rad(0)) | |
992 | end | |
993 | for e = 1, 12 do | |
994 | wait() | |
995 | mesh.Scale = mesh.Scale + Vector3.new(1.5, 2.8, 1.5) | |
996 | shok.Transparency = shok.Transparency + 0.06 | |
997 | shok.CFrame = shok.CFrame:lerp(shok.CFrame * CFrame.new(0, 0, -0.12), 0.4) | |
998 | shok.CFrame = shok.CFrame * CFrame.Angles(math.rad(0), math.rad(35), math.rad(0)) | |
999 | end | |
1000 | end)) | |
1001 | coroutine.resume(coroutine.create(function() | |
1002 | local shok = Instance.new("Part") | |
1003 | shok.Name = "coil2" | |
1004 | shok.BrickColor = maincolor | |
1005 | shok.CFrame = effspwn.CFrame * CFrame.new(0, 6, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
1006 | shok.Size = Vector3.new(1, 1, 1) | |
1007 | shok.Anchored = true | |
1008 | shok.Material = "Neon" | |
1009 | shok.Transparency = 0.25 | |
1010 | shok.CanCollide = false | |
1011 | shok.Parent = model | |
1012 | game.Debris:AddItem(shok, 12) | |
1013 | local mesh = Instance.new("SpecialMesh") | |
1014 | mesh.MeshType = "FileMesh" | |
1015 | mesh.MeshId = "http://www.roblox.com/asset/?id=1051557" | |
1016 | mesh.Scale = Vector3.new(6, 12, 6) | |
1017 | mesh.Parent = shok | |
1018 | for e = 1, 15 do | |
1019 | wait() | |
1020 | mesh.Scale = mesh.Scale + Vector3.new(1.1, 2.4, 1.1) | |
1021 | shok.Transparency = shok.Transparency + 0.005 | |
1022 | shok.CFrame = shok.CFrame:lerp(shok.CFrame * CFrame.new(0, 0, -1), 0.4) | |
1023 | shok.CFrame = shok.CFrame * CFrame.Angles(math.rad(0), math.rad(-60), math.rad(0)) | |
1024 | end | |
1025 | for e = 1, 16 do | |
1026 | wait() | |
1027 | mesh.Scale = mesh.Scale + Vector3.new(1.1, 2.4, 1.1) | |
1028 | shok.Transparency = shok.Transparency + 0.005 | |
1029 | shok.CFrame = shok.CFrame:lerp(shok.CFrame * CFrame.new(0, 0, -0.12), 0.4) | |
1030 | shok.CFrame = shok.CFrame * CFrame.Angles(math.rad(0), math.rad(-60), math.rad(0)) | |
1031 | end | |
1032 | for e = 1, 12 do | |
1033 | wait() | |
1034 | mesh.Scale = mesh.Scale + Vector3.new(1.1, 2.4, 1.1) | |
1035 | shok.Transparency = shok.Transparency + 0.09 | |
1036 | shok.CFrame = shok.CFrame:lerp(shok.CFrame * CFrame.new(0, 0, -0.12), 0.4) | |
1037 | shok.CFrame = shok.CFrame * CFrame.Angles(math.rad(0), math.rad(-60), math.rad(0)) | |
1038 | end | |
1039 | end)) | |
1040 | coroutine.resume(coroutine.create(function() | |
1041 | local shok = Instance.new("Part") | |
1042 | shok.Name = "shokwve" | |
1043 | shok.BrickColor = maincolor | |
1044 | shok.Position = effspwn.Position + Vector3.new(0, 5, 0) | |
1045 | shok.Size = Vector3.new(1, 1, 1) | |
1046 | shok.Anchored = true | |
1047 | shok.Material = "Neon" | |
1048 | shok.Transparency = 0.6 | |
1049 | shok.CanCollide = false | |
1050 | shok.Parent = model | |
1051 | game.Debris:AddItem(shok, 12) | |
1052 | local mesh = Instance.new("SpecialMesh") | |
1053 | mesh.MeshType = "FileMesh" | |
1054 | mesh.MeshId = "rbxassetid://489415447" | |
1055 | mesh.Scale = Vector3.new(1, 1, 1) | |
1056 | mesh.Parent = shok | |
1057 | for e = 1, 12 do | |
1058 | wait() | |
1059 | mesh.Scale = mesh.Scale + Vector3.new(2, 2, 2) | |
1060 | shok.Transparency = shok.Transparency + 0.002 | |
1061 | end | |
1062 | for e = 1, 32 do | |
1063 | wait() | |
1064 | mesh.Scale = mesh.Scale + Vector3.new(0.5, 0.5, 0.5) | |
1065 | shok.Transparency = shok.Transparency + 0.002 | |
1066 | end | |
1067 | for e = 1, 24 do | |
1068 | wait() | |
1069 | mesh.Scale = mesh.Scale + Vector3.new(0.5, 0.5, 0.5) | |
1070 | shok.Transparency = shok.Transparency + 0.03 | |
1071 | end | |
1072 | end)) | |
1073 | coroutine.resume(coroutine.create(function() | |
1074 | local shok = Instance.new("Part") | |
1075 | shok.Name = "shock2" | |
1076 | shok.BrickColor = maincolor | |
1077 | shok.CFrame = effspwn.CFrame * CFrame.new(0, 6, 0) * CFrame.Angles(math.rad(0), math.rad(90), math.rad(0)) | |
1078 | shok.Size = Vector3.new(1, 1, 1) | |
1079 | shok.Anchored = true | |
1080 | shok.Material = "Neon" | |
1081 | shok.Transparency = 0.35 | |
1082 | shok.CanCollide = false | |
1083 | shok.Parent = model | |
1084 | game.Debris:AddItem(shok, 12) | |
1085 | local mesh = Instance.new("SpecialMesh") | |
1086 | mesh.MeshType = "FileMesh" | |
1087 | mesh.MeshId = "rbxassetid://489415447" | |
1088 | mesh.Scale = Vector3.new(12, 12, 12) | |
1089 | mesh.Parent = shok | |
1090 | for e = 1, 15 do | |
1091 | wait() | |
1092 | mesh.Scale = mesh.Scale + Vector3.new(1.5, 2.8, 1.5) | |
1093 | shok.Transparency = shok.Transparency + 0.004 | |
1094 | shok.CFrame = shok.CFrame * CFrame.Angles(math.rad(0), math.rad(35), math.rad(0)) | |
1095 | end | |
1096 | for e = 1, 16 do | |
1097 | wait() | |
1098 | mesh.Scale = mesh.Scale + Vector3.new(1.5, 2.8, 1.5) | |
1099 | shok.Transparency = shok.Transparency + 0.004 | |
1100 | shok.CFrame = shok.CFrame * CFrame.Angles(math.rad(0), math.rad(35), math.rad(0)) | |
1101 | end | |
1102 | for e = 1, 12 do | |
1103 | wait() | |
1104 | mesh.Scale = mesh.Scale + Vector3.new(1.5, 2.8, 1.5) | |
1105 | shok.Transparency = shok.Transparency + 0.06 | |
1106 | shok.CFrame = shok.CFrame * CFrame.Angles(math.rad(0), math.rad(35), math.rad(0)) | |
1107 | end | |
1108 | end)) | |
1109 | coroutine.resume(coroutine.create(function() | |
1110 | local shok = Instance.new("Part") | |
1111 | shok.Name = "shock3" | |
1112 | shok.BrickColor = maincolor | |
1113 | shok.CFrame = effspwn.CFrame * CFrame.new(0, 6, 0) * CFrame.Angles(math.rad(0), math.rad(90), math.rad(0)) | |
1114 | shok.Size = Vector3.new(1, 1, 1) | |
1115 | shok.Anchored = true | |
1116 | shok.Material = "Neon" | |
1117 | shok.Transparency = 0.35 | |
1118 | shok.CanCollide = false | |
1119 | shok.Parent = model | |
1120 | game.Debris:AddItem(shok, 12) | |
1121 | local mesh = Instance.new("SpecialMesh") | |
1122 | mesh.MeshType = "FileMesh" | |
1123 | mesh.MeshId = "rbxassetid://489415447" | |
1124 | mesh.Scale = Vector3.new(12, 12, 12) | |
1125 | mesh.Parent = shok | |
1126 | for e = 1, 15 do | |
1127 | wait() | |
1128 | mesh.Scale = mesh.Scale + Vector3.new(0.5, 2.6, 0.5) | |
1129 | shok.Transparency = shok.Transparency + 0.004 | |
1130 | shok.CFrame = shok.CFrame:lerp(shok.CFrame * CFrame.new(0, 2, 0), 0.4) | |
1131 | shok.CFrame = shok.CFrame * CFrame.Angles(math.rad(0), math.rad(-16), math.rad(0)) | |
1132 | end | |
1133 | for e = 1, 16 do | |
1134 | wait() | |
1135 | mesh.Scale = mesh.Scale + Vector3.new(0.5, 2.6, 0.5) | |
1136 | shok.Transparency = shok.Transparency + 0.004 | |
1137 | shok.CFrame = shok.CFrame:lerp(shok.CFrame * CFrame.new(0, 2, 0), 0.4) | |
1138 | shok.CFrame = shok.CFrame * CFrame.Angles(math.rad(0), math.rad(-16), math.rad(0)) | |
1139 | end | |
1140 | for e = 1, 12 do | |
1141 | wait() | |
1142 | mesh.Scale = mesh.Scale + Vector3.new(0.5, -1, 0.5) | |
1143 | shok.Transparency = shok.Transparency + 0.06 | |
1144 | shok.CFrame = shok.CFrame:lerp(shok.CFrame * CFrame.new(0, 2, 0), 0.4) | |
1145 | shok.CFrame = shok.CFrame * CFrame.Angles(math.rad(0), math.rad(-16), math.rad(0)) | |
1146 | end | |
1147 | end)) | |
1148 | end | |
1149 | ||
1150 | function FindNearestTorso(Position,Distance,SinglePlayer) | |
1151 | if SinglePlayer then return(SinglePlayer.Torso.CFrame.p -Position).magnitude < Distance end | |
1152 | local List = {} | |
1153 | for i,v in pairs(workspace:GetChildren())do | |
1154 | if v:IsA("Model")then | |
1155 | if v:findFirstChild("Torso")then | |
1156 | if v ~= char then | |
1157 | if(v.Torso.Position -Position).magnitude <= Distance then | |
1158 | table.insert(List,v) | |
1159 | end | |
1160 | end | |
1161 | end | |
1162 | end | |
1163 | end | |
1164 | return List | |
1165 | end | |
1166 | ||
1167 | function weld(a, b, acf) | |
1168 | local w = Instance.new("Weld", a) | |
1169 | w.Part0 = a | |
1170 | w.Part1 = b | |
1171 | w.C0 = acf | |
1172 | end | |
1173 | ||
1174 | function FuryBlast() | |
1175 | local rs = game:GetService("RunService").RenderStepped | |
1176 | if attack == false then | |
1177 | attack = true | |
1178 | sp = Instance.new("Part",rarm) | |
1179 | sp.Anchored = true | |
1180 | sp.CanCollide = false | |
1181 | sp.Locked = true | |
1182 | sp.Transparency = 1 | |
1183 | sp.Material = "Neon" | |
1184 | sp.Size = Vector3.new(1,1,1) | |
1185 | sp.TopSurface = "SmoothNoOutlines" | |
1186 | sp.BottomSurface = "SmoothNoOutlines" | |
1187 | sp.BrickColor = maincolor | |
1188 | spm = Instance.new("SpecialMesh",sp) | |
1189 | spm.MeshType = "Sphere" | |
1190 | spm.Scale = Vector3.new(21,21,21) | |
1191 | sp2 = Instance.new("Part", rarm) | |
1192 | sp2.Name = "Energy" | |
1193 | sp2.BrickColor = maincolor | |
1194 | sp2.Size = Vector3.new(1, 1, 1) | |
1195 | sp2.Shape = "Ball" | |
1196 | sp2.CanCollide = false | |
1197 | sp2.Anchored = true | |
1198 | sp2.Locked = true | |
1199 | sp2.TopSurface = 0 | |
1200 | sp2.BottomSurface = 0 | |
1201 | sp2.Transparency = 1 | |
1202 | spm2 = Instance.new("SpecialMesh",sp2) | |
1203 | spm2.MeshId = "rbxassetid://9982590" | |
1204 | spm2.Scale = Vector3.new(2,2,2) | |
1205 | for i = 1, 20 do | |
1206 | spm.Scale = spm.Scale - Vector3.new(1,1,1) | |
1207 | sp.CFrame = root.CFrame*CFrame.new(0,1,-2) | |
1208 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.62,0)*CFrame.Angles(math.rad(-6),math.rad(-6),math.rad(8)), 0.4) | |
1209 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.62,0)*CFrame.Angles(math.rad(-6),math.rad(6),math.rad(-8)), 0.4) | |
1210 | hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(0),0), 0.4) | |
1211 | torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(0, math.rad(0), math.rad(0)), 0.4) | |
1212 | lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(0, 0, math.rad(-8)), 0.4) | |
1213 | rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(0, 0, math.rad(8)), 0.4) | |
1214 | game:GetService("RunService").Stepped:wait() | |
1215 | end | |
1216 | for i = 1, 100, 20 do game:GetService("RunService").Stepped:wait() | |
1217 | sp.CFrame = root.CFrame*CFrame.new(0,1,-2) | |
1218 | end | |
1219 | sp.Transparency = 0 | |
1220 | sp2.Transparency = 0.84 | |
1221 | for i = 1, 20 do | |
1222 | --spm.Scale = spm.Scale - Vector3.new(1,1,1) | |
1223 | sp.CFrame = rarm.CFrame*CFrame.new(0,-1,0) | |
1224 | sp2.CFrame = sp.CFrame * CFrame.new(0,0,0) * CFrame.Angles(math.rad(-i), math.rad(-i), math.rad(i)) | |
1225 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.55,0)*CFrame.Angles(math.rad(110),math.rad(-6),math.rad(140)), 0.4) | |
1226 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.55,0)*CFrame.Angles(math.rad(80),math.rad(6),math.rad(-40)), 0.2) | |
1227 | hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(0),math.rad(30),0), 0.2) | |
1228 | torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-30), math.rad(0)), 0.3) | |
1229 | lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(20), 0, math.rad(-14)), 0.2) | |
1230 | rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(-16), 0, math.rad(8)), 0.2) | |
1231 | game:GetService("RunService").Stepped:wait() | |
1232 | end | |
1233 | for i = 1, 2880, 50 do | |
1234 | game:GetService("RunService").Stepped:wait() | |
1235 | sp.CFrame = rarm.CFrame*CFrame.new(0,-1,0) | |
1236 | sp2.CFrame = rarm.CFrame * CFrame.new(0,-1,0) * CFrame.Angles(math.rad(-i/10), math.rad(-i/10), math.rad(i/10)) | |
1237 | game:GetService("RunService").Stepped:wait() | |
1238 | end | |
1239 | sp:Destroy() | |
1240 | sp2:Destroy() | |
1241 | local X = Instance.new("Part",char) | |
1242 | local O = Instance.new("ObjectValue",X) | |
1243 | O.Name = "creator" | |
1244 | X.Locked = true | |
1245 | X.Name = "Shell" | |
1246 | X.Anchored = false | |
1247 | X.CanCollide = false | |
1248 | X.Transparency = 0 | |
1249 | X.Reflectance = 0 | |
1250 | X.BottomSurface = 0 | |
1251 | X.TopSurface = 0 | |
1252 | X.Shape = 0 | |
1253 | local V = Instance.new("ObjectValue",X) | |
1254 | V.Value = char | |
1255 | V.Name = "creator" | |
1256 | X.BrickColor = maincolor | |
1257 | X.Size = Vector3.new(2,2,2) | |
1258 | X.Material = "Neon" | |
1259 | local Z = Instance.new("SpecialMesh",X) | |
1260 | Z.MeshType = "Sphere" | |
1261 | Z.Scale = Vector3.new(0.5,0.5,1) | |
1262 | X.CFrame = rarm.CFrame*CFrame.new(-3,0,0) | |
1263 | local bv = Instance.new("BodyVelocity",X) | |
1264 | bv.maxForce = Vector3.new(99999,99999,99999) | |
1265 | X.CFrame = CFrame.new(X.Position,mouse.Hit.p) | |
1266 | bv.velocity = X.CFrame.lookVector*65 | |
1267 | ||
1268 | Explode = X.Touched:connect(function(hit) | |
1269 | if hit ~= char and hit.Name ~= "Shell" then | |
1270 | local cf = X.CFrame | |
1271 | bv:Destroy() | |
1272 | X.Anchored = true | |
1273 | Z:Remove() | |
1274 | Explode:disconnect() | |
1275 | X.Size = Vector3.new(3,3,3) | |
1276 | X.Touched:connect(function(hit) end) | |
1277 | X.CanCollide = false | |
1278 | local part3 = Instance.new("Part", rarm) | |
1279 | part3.Anchored=true | |
1280 | part3.CanCollide=false | |
1281 | part3.Locked = true | |
1282 | part3.TopSurface = "SmoothNoOutlines" | |
1283 | part3.BottomSurface = "SmoothNoOutlines" | |
1284 | part3.FormFactor='Custom' | |
1285 | part3.Size=Vector3.new(1,1, 1) | |
1286 | part3.CFrame=X.CFrame | |
1287 | part3.Transparency=0 | |
1288 | part3.BrickColor=maincolor | |
1289 | local mesh3 = Instance.new("SpecialMesh",part3) | |
1290 | mesh3.MeshType = "Sphere" | |
1291 | mesh3.Scale = Vector3.new(1,1,1) | |
1292 | --debris:AddItem(X,8) | |
1293 | local part4 = Instance.new("Part", rarm) | |
1294 | part4.Material = "Neon" | |
1295 | part4.Anchored=true | |
1296 | part4.CanCollide=false | |
1297 | part4.Locked = true | |
1298 | part4.TopSurface = "SmoothNoOutlines" | |
1299 | part4.BottomSurface = "SmoothNoOutlines" | |
1300 | part4.FormFactor='Custom' | |
1301 | part4.Size=Vector3.new(1,1, 1) | |
1302 | part4.CFrame=X.CFrame | |
1303 | part4.Transparency=0 | |
1304 | part4.BrickColor=BrickColor.new("Really black") | |
1305 | local mesh4 = Instance.new("SpecialMesh",part4) | |
1306 | mesh4.MeshType = "Sphere" | |
1307 | mesh4.Scale = Vector3.new(.5,.5,.5) | |
1308 | local part7 = Instance.new("Part", rarm) | |
1309 | part7.Material = "Neon" | |
1310 | part7.Anchored=true | |
1311 | part7.CanCollide=false | |
1312 | part7.Locked = true | |
1313 | part7.TopSurface = "SmoothNoOutlines" | |
1314 | part7.BottomSurface = "SmoothNoOutlines" | |
1315 | part7.FormFactor='Custom' | |
1316 | part7.Size=Vector3.new(1,1, 1) | |
1317 | part7.CFrame=X.CFrame | |
1318 | part7.Transparency=0 | |
1319 | part7.BrickColor=maincolor | |
1320 | local mesh7 = Instance.new("SpecialMesh",part7) | |
1321 | mesh7.MeshType = "Sphere" | |
1322 | mesh7.Scale = Vector3.new(0.1, 0.1, 0.1) | |
1323 | for i,v in pairs(FindNearestTorso(X.CFrame.p,140))do | |
1324 | if v:FindFirstChild('Humanoid') then | |
1325 | v.Humanoid:TakeDamage(math.random(math.huge,math.huge)) | |
1326 | v.Humanoid.PlatformStand = true | |
1327 | v:FindFirstChild("Torso").Velocity = hed.CFrame.lookVector * 100 | |
1328 | end | |
1329 | end | |
1330 | ||
1331 | local acos = math.acos | |
1332 | local sqrt = math.sqrt | |
1333 | local Vec3 = Vector3.new | |
1334 | local fromAxisAngle = CFrame.fromAxisAngle | |
1335 | ||
1336 | local function toAxisAngle(CFr) | |
1337 | local X,Y,Z,R00,R01,R02,R10,R11,R12,R20,R21,R22 = CFr:components() | |
1338 | local Angle = math.acos((R00+R11+R22-1)/2) | |
1339 | local A = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2 | |
1340 | A = A == 0 and 0.00001 or A | |
1341 | local B = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2 | |
1342 | B = B == 0 and 0.00001 or B | |
1343 | local C = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2 | |
1344 | C = C == 0 and 0.00001 or C | |
1345 | local x = (R21-R12)/sqrt(A) | |
1346 | local y = (R02-R20)/sqrt(B) | |
1347 | local z = (R10-R01)/sqrt(C) | |
1348 | return Vec3(x,y,z),Angle | |
1349 | end | |
1350 | ||
1351 | function ApplyTrig(Num,Func) | |
1352 | local Min,Max = Func(0),Func(1) | |
1353 | local i = Func(Num) | |
1354 | return (i-Min)/(Max-Min) | |
1355 | end | |
1356 | ||
1357 | function LerpCFrame(CFrame1,CFrame2,Num) | |
1358 | local Vec,Ang = toAxisAngle(CFrame1:inverse()*CFrame2) | |
1359 | return CFrame1*fromAxisAngle(Vec,Ang*Num) + (CFrame2.p-CFrame1.p)*Num | |
1360 | end | |
1361 | ROW = function(out, trans, s, wt, t, ang, plus) | |
1362 | for i = 1, 360, 360/t do | |
1363 | local c = Instance.new("Part", game.Workspace) | |
1364 | c.FormFactor = 3 | |
1365 | c.TopSurface = 0 | |
1366 | c.BottomSurface = 0 | |
1367 | c.Size = s | |
1368 | c.Anchored = true | |
1369 | c.CanCollide = wt | |
1370 | c.Material=workspace.Base.Material | |
1371 | c.Transparency = trans | |
1372 | c.BrickColor = workspace.Base.BrickColor | |
1373 | c.CFrame = CFrame.new(X.CFrame.x,0,X.CFrame.z) * CFrame.Angles(0, math.rad(i + plus), 0) * CFrame.new(0, 0, out) * ang | |
1374 | c.Locked=true | |
1375 | game.Debris:AddItem(c,15) | |
1376 | end | |
1377 | end | |
1378 | ||
1379 | Part = function(x,y,z,color,tr,cc,an,parent) | |
1380 | local p = Instance.new('Part',parent) | |
1381 | p.formFactor = 'Custom' | |
1382 | p.Size = Vector3.new(x,y,z) | |
1383 | p.BrickColor = BrickColor.new(color) | |
1384 | p.CanCollide = cc | |
1385 | p.Transparency = tr | |
1386 | p.Anchored = an | |
1387 | p.TopSurface,p.BottomSurface = 0,0 | |
1388 | p.Locked=true | |
1389 | p:BreakJoints() | |
1390 | return p end | |
1391 | ||
1392 | Mesh = function(par,num,x,y,z) | |
1393 | local msh = _ | |
1394 | if num == 1 then msh = Instance.new("CylinderMesh",par) | |
1395 | elseif num == 2 then msh = Instance.new("SpecialMesh",par) msh.MeshType = 3 | |
1396 | elseif num == 3 then msh = Instance.new("BlockMesh",par) | |
1397 | elseif num == 4 then msh = Instance.new("SpecialMesh",par) msh.MeshType = "Torso" | |
1398 | elseif type(num) == 'string' then msh = Instance.new("SpecialMesh",par) msh.MeshId = num | |
1399 | end msh.Scale = Vector3.new(x,y,z) | |
1400 | return msh end | |
1401 | ||
1402 | function explosion(col1,col2,cfr,sz,rng,dmg) | |
1403 | local a= Part(1,1,1,col1,.5,false,true,workspace) | |
1404 | local a2= Part(1,1,1,col2,.5,false,true,workspace) | |
1405 | local a3= Part(1,1,1,col2,.5,false,true,workspace) | |
1406 | v1,v2,v3=sz.x,sz.y,sz.z | |
1407 | local m= Mesh(a,'http://www.roblox.com/asset/?id=1185246',v1,v2,v3) | |
1408 | local m2= Mesh(a2,3,v1/3,v2/3,v3/3) | |
1409 | local m3= Mesh(a3,3,v1/3,v2/3,v3/3) | |
1410 | a.CFrame=cfr | |
1411 | a2.CFrame=cfr*CFrame.Angles(math.random(),math.random(),math.random()) | |
1412 | a3.CFrame=cfr*CFrame.Angles(math.random(),math.random(),math.random()) | |
1413 | ||
1414 | Spawn(function() | |
1415 | while wait() do | |
1416 | if a.Transparency >= 1 then a:Destroy() a2:Destroy() a3:Destroy() break end | |
1417 | m.Scale=m.Scale+Vector3.new(.1,0.1,0.1) | |
1418 | m2.Scale=m2.Scale+Vector3.new(.1,0.1,0.1) | |
1419 | m3.Scale=m3.Scale+Vector3.new(.1,0.1,0.1) | |
1420 | a.Transparency=a.Transparency+0.05 | |
1421 | a2.Transparency=a2.Transparency+0.05 | |
1422 | a3.Transparency=a3.Transparency+0.05 | |
1423 | end | |
1424 | end) | |
1425 | end | |
1426 | ||
1427 | ROW(12, 0, Vector3.new(34.5, 30, 3), true, 8, CFrame.Angles(math.rad(math.random (30,60)), 0, math.rad (math.random(-30,30))), 0) | |
1428 | z = Instance.new("Sound",X) | |
1429 | z.SoundId = SuperExplosion | |
1430 | z.Pitch = 1 | |
1431 | z.Volume = 1999 | |
1432 | wait(0.1) | |
1433 | z:Play() | |
1434 | ||
1435 | local part=Instance.new('Part',rarm) | |
1436 | part.Anchored=true | |
1437 | part.CanCollide=false | |
1438 | part.Locked = true | |
1439 | part.FormFactor='Custom' | |
1440 | part.Size=Vector3.new(1,1,1) | |
1441 | part.CFrame=X.CFrame*CFrame.new(0,0,0) | |
1442 | part.Transparency=0 | |
1443 | part.BrickColor=maincolor | |
1444 | local mesh=Instance.new('SpecialMesh',part) | |
1445 | mesh.MeshId='http://www.roblox.com/asset/?id=20329976' | |
1446 | mesh.Scale=Vector3.new(2,2,2) | |
1447 | local part2=part:clone() | |
1448 | part2.Parent = rarm | |
1449 | part2.BrickColor=maincolor | |
1450 | local part5=part:clone() | |
1451 | part5.Parent = rarm | |
1452 | part5.BrickColor=BrickColor.new("Baby blue") | |
1453 | local part6=part:clone() | |
1454 | part6.Parent = rarm | |
1455 | part6.BrickColor=BrickColor.new("Hot pink") | |
1456 | local mesh2=mesh:clone() | |
1457 | mesh2.Parent=part2 | |
1458 | mesh2.Scale=Vector3.new(3, 3, 3) | |
1459 | local mesh5=mesh:clone() | |
1460 | mesh5.Parent=part5 | |
1461 | mesh5.Scale=Vector3.new(3, 3, 3) | |
1462 | local mesh6=mesh:clone() | |
1463 | mesh6.Parent=part6 | |
1464 | mesh6.Scale=Vector3.new(3, 3, 3) | |
1465 | local blast = Instance.new("Part", rarm) | |
1466 | blast.BrickColor = maincolor | |
1467 | blast.Anchored = true | |
1468 | blast.CanCollide = false | |
1469 | blast.Locked = true | |
1470 | blast.Size = Vector3.new(1, 1, 1) | |
1471 | blast.TopSurface = "Smooth" | |
1472 | blast.BottomSurface = "Smooth" | |
1473 | blast.Transparency = 0 | |
1474 | blast.CFrame = HandCF | |
1475 | local bm = Instance.new("SpecialMesh", blast) | |
1476 | bm.Scale = Vector3.new(5,1,5) | |
1477 | bm.MeshId = "rbxassetid://3270017" | |
1478 | local blast2 = Instance.new("Part", rarm) | |
1479 | blast2.BrickColor = maincolor | |
1480 | blast2.Anchored = true | |
1481 | blast2.CanCollide = false | |
1482 | blast2.Locked = true | |
1483 | blast2.Size = Vector3.new(1, 1, 1) | |
1484 | blast2.TopSurface = "Smooth" | |
1485 | blast2.BottomSurface = "Smooth" | |
1486 | blast2.Transparency = 0 | |
1487 | blast2.CFrame = HandCF | |
1488 | local bm2 = Instance.new("SpecialMesh", blast2) | |
1489 | bm2.Scale = Vector3.new(3,1,3) | |
1490 | bm2.MeshId = "rbxassetid://3270017" | |
1491 | local blast3 = Instance.new("Part", rarm) | |
1492 | blast3.BrickColor = maincolor | |
1493 | blast3.Anchored = true | |
1494 | blast3.CanCollide = false | |
1495 | blast3.Locked = true | |
1496 | blast3.Size = Vector3.new(1, 1, 1) | |
1497 | blast3.TopSurface = "Smooth" | |
1498 | blast3.BottomSurface = "Smooth" | |
1499 | blast3.Transparency = 0 | |
1500 | blast3.CFrame = HandCF | |
1501 | local bm3 = Instance.new("SpecialMesh", blast3) | |
1502 | bm3.Scale = Vector3.new(3,1,3) | |
1503 | bm3.MeshId = "rbxassetid://3270017" | |
1504 | for i = 1,120 do game:GetService("RunService").Stepped:wait() | |
1505 | X.Transparency = X.Transparency + (1/120) | |
1506 | part.Transparency = part.Transparency + (1/120) | |
1507 | part2.Transparency = part2.Transparency + (1/120) | |
1508 | part3.Transparency = part3.Transparency + (1/120) | |
1509 | part4.Transparency = part4.Transparency + (1/120) | |
1510 | part5.Transparency = part5.Transparency + (1/120) | |
1511 | part6.Transparency = part6.Transparency + (1/120) | |
1512 | part7.Transparency = part7.Transparency + (1/120) | |
1513 | blast.Transparency = blast.Transparency + (1/120) | |
1514 | blast2.Transparency = blast2.Transparency + (1/120) | |
1515 | blast3.Transparency = blast3.Transparency + (1/120) | |
1516 | X.Size = X.Size + Vector3.new(.8,.8,.8) | |
1517 | --part3.Size = part3.Size + Vector3.new(3,3,3) | |
1518 | mesh.Scale = mesh.Scale + Vector3.new(1,.2,1) | |
1519 | mesh2.Scale = mesh2.Scale + Vector3.new(1.1,.2,1.1) | |
1520 | mesh3.Scale = mesh3.Scale + Vector3.new(3,3,3) | |
1521 | mesh4.Scale = mesh4.Scale + Vector3.new(1.7,1.7,1.7) | |
1522 | mesh5.Scale = mesh5.Scale + Vector3.new(1.6,.2,1.6) | |
1523 | mesh6.Scale = mesh6.Scale + Vector3.new(2,.2,2) | |
1524 | mesh7.Scale = mesh7.Scale + Vector3.new(4,4,4) | |
1525 | bm.Scale = bm.Scale + Vector3.new(6,6,.2) | |
1526 | bm2.Scale = bm2.Scale + Vector3.new(4,4,.2) | |
1527 | bm3.Scale = bm3.Scale + Vector3.new(4,4,.2) | |
1528 | X.CFrame = cf | |
1529 | part.CFrame=X.CFrame * CFrame.Angles(0,math.rad(i*2),0) | |
1530 | part2.CFrame=X.CFrame * CFrame.Angles(0,math.rad(-i*2),0) | |
1531 | part3.CFrame=X.CFrame | |
1532 | part4.CFrame=X.CFrame | |
1533 | part7.CFrame=X.CFrame | |
1534 | part5.CFrame=X.CFrame * CFrame.Angles(0,math.rad(i*2.6),0) | |
1535 | part6.CFrame=X.CFrame * CFrame.Angles(0,math.rad(-i*2.4),0) | |
1536 | blast.CFrame=X.CFrame * CFrame.Angles(math.rad(90), math.rad(0), math.rad(0)) | |
1537 | blast2.CFrame=X.CFrame * CFrame.Angles(math.rad(-i*4), math.rad(i*4), math.rad(0)) | |
1538 | blast3.CFrame=X.CFrame * CFrame.Angles(math.rad(180+i*4), math.rad(90-i*4), math.rad(0)) | |
1539 | game:GetService("RunService").Stepped:wait() | |
1540 | end | |
1541 | X:Destroy() | |
1542 | part:Destroy() | |
1543 | part2:Destroy() | |
1544 | part3:Destroy() | |
1545 | part4:Destroy() | |
1546 | part5:Destroy() | |
1547 | part6:Destroy() | |
1548 | blast:Destroy() | |
1549 | blast2:Destroy() | |
1550 | blast3:Destroy() | |
1551 | z:Destroy() | |
1552 | end | |
1553 | end) | |
1554 | for i = 1, 20 do | |
1555 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.55,0)*CFrame.Angles(math.rad(70),math.rad(-6),math.rad(-20)), 0.2) | |
1556 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.55,0)*CFrame.Angles(math.rad(-6),math.rad(6),math.rad(-8)), 0.2) | |
1557 | hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(0),math.rad(0),0), 0.2) | |
1558 | torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(30), math.rad(0)), 0.4) | |
1559 | lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(10), 0, math.rad(-8)), 0.2) | |
1560 | rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(-6), 0, math.rad(8)), 0.2) | |
1561 | game:GetService("RunService").Stepped:wait() | |
1562 | end | |
1563 | attack = false | |
1564 | end | |
1565 | end | |
1566 | ||
1567 | function GroundSmash() | |
1568 | attack = true | |
1569 | hum.WalkSpeed = 0 | |
1570 | for i = 1, 20 do | |
1571 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1,0.6,-.2) *CFrame.Angles (math.rad (45),math.rad(0),math.rad(32)), 0.2) | |
1572 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1,1,0)*CFrame.Angles(math.rad (0),math.rad(0),math.rad(-20)), 0.2) | |
1573 | hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,0)*CFrame.Angles(math.rad (- 8),math.rad(-40), math.rad(-8)),0.2) | |
1574 | torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1.5, 0) * CFrame.Angles (math.rad (-50), math.rad(40), math.rad(0)), 0.2) | |
1575 | lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.8, .4, -.6) * CFrame.Angles (math.rad (30), 0, math.rad(20)), 0.2) | |
1576 | rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(1, -1, 0) * CFrame.Angles (math.rad(- 10), math.rad(-40), math.rad(0)), 0.2) | |
1577 | wait() | |
1578 | end | |
1579 | wait(1) | |
1580 | hum.WalkSpeed = 150 | |
1581 | local BV = Instance.new("BodyVelocity", torso) | |
1582 | BV.maxForce = Vector3.new(500000, 500000000, 500000) | |
1583 | BV.P = 10000000000000 | |
1584 | BV.velocity = Vector3.new(0,300,0) | |
1585 | for i = 1, 20 do | |
1586 | hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0, 1.5, 0)*CFrame.Angles(math.rad(20),math.rad(0), math.rad(0)),0.7) | |
1587 | torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1.2, 0) * CFrame.Angles(math.rad(-16), math.rad(0), math.rad(0)), 0.7) | |
1588 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5, 0.5, 0) * CFrame.Angles(math.rad(40), 0, math.rad(-20)), 0.7) | |
1589 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5, 0.5, 0) * CFrame.Angles(math.rad(-40), math.rad(0), math.rad(20)), 0.7) | |
1590 | lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(-10), 0, 0), 0.7) | |
1591 | rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, -0.5) * CFrame.Angles(math.rad(0), 0, 0), 0.7) | |
1592 | wait() | |
1593 | end | |
1594 | torso.BodyVelocity:Destroy() | |
1595 | for i = 1, 30 do | |
1596 | hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0, 1.5, 0)*CFrame.Angles(math.rad(-14),math.rad(0), math.rad(0)),0.3) | |
1597 | torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(-16), math.rad (0), math.rad(0)), 0.3) | |
1598 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5, 0.5, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-10)), 0.3) | |
1599 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5, 0.5, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(10)), 0.3) | |
1600 | lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -.4, -1) * CFrame.Angles(math.rad(20), 0, 0), 0.3) | |
1601 | rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -.8, -.6) * CFrame.Angles(math.rad(-30), 0, 0), 0.3) | |
1602 | wait() | |
1603 | end | |
1604 | if (torso.Velocity*Vector3.new(1, 1, 1)).magnitude > 1 then | |
1605 | for i = 1, 20 do | |
1606 | hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0, 1.5, 0)*CFrame.Angles(math.rad(-18),math.rad(0), math.rad(0)),0.3) | |
1607 | torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(-13), math.rad (0), math.rad(0)), 0.3) | |
1608 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5, 0.5, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-60)), 0.3) | |
1609 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5, 0.5, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(60)), 0.3) | |
1610 | lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -.4, -0.6) * CFrame.Angles(math.rad(10), 0, 0), 0.3) | |
1611 | rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -.8, -.4) * CFrame.Angles(math.rad(-20), 0, 0), 0.3) | |
1612 | wait() | |
1613 | end | |
1614 | end | |
1615 | local ry,ht,ps=nil,nil,nil | |
1616 | while ht==nil do | |
1617 | ry,ht,ps=newRay(root.CFrame*CFrame.new(0,-2,0),root.CFrame*CFrame.new(0,-3,0),4.1,{char}) | |
1618 | wait() | |
1619 | end | |
1620 | local par,loc=workspace:FindPartOnRay(Ray.new(char.Torso.Position,(char.Torso.Position-(char.Torso.Position-Vector3.new(0,2,0))).unit*-500),char) | |
1621 | if par then | |
1622 | local cfremz = CFrame.new(loc) | |
1623 | so("rbxassetid://133680244",torso,10,1) | |
1624 | local effspwn = Instance.new("Part") | |
1625 | local model = Instance.new("Model") | |
1626 | game.Debris:AddItem(model, 20) | |
1627 | model.Name = "smasheffects" | |
1628 | model.Parent = workspace | |
1629 | effspwn.Name = "spwnr" | |
1630 | effspwn.Size = Vector3.new(1, 1, 1) | |
1631 | effspwn.Anchored = true | |
1632 | effspwn.CanCollide = false | |
1633 | effspwn.Transparency = 1 | |
1634 | effspwn.CFrame = rarm.CFrame * CFrame.new(0, -0.7, 0) | |
1635 | effspwn.Parent = model | |
1636 | KABOOMZ2() | |
1637 | MegaCrater(cfremz, par, 50) | |
1638 | end | |
1639 | hum.WalkSpeed = 8 | |
1640 | for i = 1, 25 do | |
1641 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5, 0.6, 0.3) *CFrame.Angles (math.rad(120),math.rad(10),math.rad(32)), 0.2) | |
1642 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.2,1,0)*CFrame.Angles(math.rad(80),math.rad(0),math.rad(-20)), 0.2) | |
1643 | hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,0)*CFrame.Angles(math.rad (-8),math.rad(-40), math.rad(-8)),0.2) | |
1644 | torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1.5, 0) * CFrame.Angles(math.rad(-50), math.rad(40), math.rad(0)), 0.2) | |
1645 | lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.8, 0, -.6) * CFrame.Angles(math.rad(30), 0, math.rad(20)), 0.2) | |
1646 | rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(1, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(-40), math.rad(0)), 0.2) | |
1647 | wait() | |
1648 | end | |
1649 | wait(0.2) | |
1650 | attack = false | |
1651 | end | |
1652 | ||
1653 | --// Attacks \\-- | |
1654 | mouse.KeyDown:connect(function(key) | |
1655 | if attack == false then | |
1656 | if key == "q" then | |
1657 | ||
1658 | end | |
1659 | ||
1660 | if key == "e" then | |
1661 | GroundSmash() | |
1662 | end | |
1663 | ||
1664 | if key == "t" then | |
1665 | AuraBall() | |
1666 | end | |
1667 | ||
1668 | if key == "g" then | |
1669 | game.Chat:Chat(char.Head,"Guten Tag", "Red") | |
1670 | FuryBlast() | |
1671 | end | |
1672 | ||
1673 | if key == "z" then | |
1674 | if running == false then | |
1675 | running = true | |
1676 | hum.WalkSpeed = 75 | |
1677 | elseif running == true then | |
1678 | running = false | |
1679 | hum.WalkSpeed = 29 | |
1680 | end | |
1681 | end | |
1682 | ||
1683 | if key == "m" then | |
1684 | ChangeThemes() | |
1685 | end | |
1686 | end | |
1687 | end) | |
1688 | game:GetService("RunService").RenderStepped:connect(function() | |
1689 | char.Humanoid.FreeFalling:connect(function(f) | |
1690 | if f then | |
1691 | ffing = true | |
1692 | else | |
1693 | ffing = false | |
1694 | end | |
1695 | end) | |
1696 | sine = sine + add | |
1697 | if ffing==true then | |
1698 | anim="jump" | |
1699 | elseif (torso.Velocity*Vector3.new(1, 0, 1)).magnitude < 2 then | |
1700 | anim="idle" | |
1701 | elseif (torso.Velocity*Vector3.new(1, 0, 1)).magnitude < 20 then | |
1702 | anim = "walk" | |
1703 | elseif (torso.Velocity*Vector3.new(1, 0, 1)).magnitude > 20 then | |
1704 | anim = "run" | |
1705 | end | |
1706 | if attack==false then | |
1707 | if anim=="idle" then | |
1708 | add=0.5 | |
1709 | torso.Weld.C0=torso.Weld.C0:lerp(CFrame.new(0,0+-math.cos(sine/14)/7,0)*CFrame.Angles(math.rad(0),0,0),0.05) | |
1710 | rleg.Weld.C0=rleg.Weld.C0:lerp(CFrame.new(.5,-1,0)*CFrame.Angles(math.rad(0),0,0.15+math.sin(sine/14)/20),0.25) | |
1711 | lleg.Weld.C0=lleg.Weld.C0:lerp(CFrame.new(-.5,-1,0)*CFrame.Angles(math.rad(0),0,-0.15+-math.sin(sine/14)/20),0.25) | |
1712 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(0.8,0.6,-0.6)*CFrame.Angles(math.rad(110),math.rad(0),math.rad(-90)), 0.5)--arm | |
1713 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-0.8,0.6,-.6)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(90)), 0.5)--arm | |
1714 | hed.Weld.C0=hed.Weld.C0:lerp(CFrame.new(0,1.5,-0.15)*CFrame.Angles(math.rad(-20),0,0),0.25) | |
1715 | elseif anim=="walk" then | |
1716 | add=0.5 | |
1717 | larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5, 0.5 + 0.05 * math.cos(sine / 3), -math.sin(sine / 6) / 4) * CFrame.Angles(math.sin(sine / 6) / 2.8, -math.sin(sine / 6) / 3, math.rad(-10 - 2 * math.cos(sine / 3))), 0.2) | |
1718 | rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5, 0.5 - 0.05 * math.cos(sine / 3), math.sin(sine / 6) / 4) * CFrame.Angles(-math.sin(sine / 6) / 2.8, -math.sin(sine / 6) / 3, math.rad(10 + 2 * math.cos(sine / 3))), 0.2) | |
1719 | hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0, 1.5, 0) * CFrame.Angles(math.rad(-8 + 2 * math.cos(sine / 3)), math.rad(0), math.rad(0)), 0.2) | |
1720 | lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1 - 0.15 * math.cos(sine / 6) / 5, -0.15 + math.sin(sine / 6) / 5) * CFrame.Angles(math.rad(-14) + -math.sin(sine / 6) / 2.7, 0, 0), 0.4) | |
1721 | rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1 + 0.15 * math.cos(sine / 6) / 5, -0.15 + -math.sin(sine / 6) / 5) * CFrame.Angles(math.rad(-14) + math.sin(sine / 6) / 2.7, 0, 0), 0.4) | |
1722 | torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1 + 0.07 * math.cos(sine / 3), 0) * CFrame.Angles(math.rad(-4 + 1 * math.cos(sine / 3)), 0, math.rad(0)), 0.2) | |
1723 | elseif anim=="run" then | |
1724 | add=0.5 | |
1725 | torso.Weld.C0=torso.Weld.C0:lerp(CFrame.new(0,1+-math.cos(sine/14)/7,0)*CFrame.Angles(math.rad(-70),0,0),0.25) | |
1726 | rleg.Weld.C0=rleg.Weld.C0:lerp(CFrame.new(.5,-1,0)*CFrame.Angles(math.rad(0),0,0.15),0.25) | |
1727 | lleg.Weld.C0=lleg.Weld.C0:lerp(CFrame.new(-.5,-1,0)*CFrame.Angles(math.rad(0),0,-0.15),0.25) | |
1728 | rarm.Weld.C0=rarm.Weld.C0:lerp(CFrame.new(1.5,0.5+-math.cos(sine/14)/7,0)*CFrame.Angles(math.rad(-20)+-math.sin(sine/14)/7,0,-6),0.25) | |
1729 | larm.Weld.C0=larm.Weld.C0:lerp(CFrame.new(-1.5,0.5+-math.cos(sine/14)/7,0)*CFrame.Angles(math.rad(-20)+-math.sin(sine/14)/7,0,6),0.25) | |
1730 | hed.Weld.C0=hed.Weld.C0:lerp(CFrame.new(0,1.5,0.3)*CFrame.Angles(math.rad(70),0,0),0.25) | |
1731 | elseif anim=="jump" then | |
1732 | add=0.5 | |
1733 | torso.Weld.C0=torso.Weld.C0:lerp(CFrame.new(0+-math.cos(sine/14)/7,.5+-math.cos(sine/14)/7,0+-math.cos(sine/14)/7)*CFrame.Angles(math.rad(0),0,0),0.05) | |
1734 | rleg.Weld.C0=rleg.Weld.C0:lerp(CFrame.new(.5,-0.7,-0.5)*CFrame.Angles(math.rad(10),0,0),0.25) | |
1735 | lleg.Weld.C0=lleg.Weld.C0:lerp(CFrame.new(-.5,-1,0.1)*CFrame.Angles(math.rad(-10),0,0),0.25) | |
1736 | rarm.Weld.C0=rarm.Weld.C0:lerp(CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(50),0,90),0.25) | |
1737 | larm.Weld.C0=larm.Weld.C0:lerp(CFrame.new(-1.5,0.5,0)*CFrame.Angles(math.rad(50),0,-90),0.25) | |
1738 | hed.Weld.C0=hed.Weld.C0:lerp(CFrame.new(0,1.5,-0.1)*CFrame.Angles(math.rad(-20),0,0),0.25) | |
1739 | end | |
1740 | end | |
1741 | end) |