SHOW:
|
|
- or go back to the newest paste.
1 | - | -- I try to make things looks better, edited by Imkrillinit |
1 | + | --https://github.com/Mokiros/roblox-FE-compatibility |
2 | if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end | |
3 | local Player,game,owner = owner,game | |
4 | local RealPlayer = Player | |
5 | ||
6 | do | |
7 | print("FE Compatibility code V3 by 1000hack") | |
8 | local RealPlayer = RealPlayer | |
9 | script.Parent = RealPlayer.Character | |
10 | ||
11 | --Fake event to make stuff like Mouse.KeyDown work | |
12 | local Disconnect_Function = function(this) | |
13 | this[1].Functions[this[2]] = nil | |
14 | end | |
15 | local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}} | |
16 | local FakeEvent_Metatable = {__index={ | |
17 | Connect = function(this,f) | |
18 | local i = tostring(math.random(0,10000)) | |
19 | while this.Functions[i] do | |
20 | i = tostring(math.random(0,10000)) | |
21 | end | |
22 | this.Functions[i] = f | |
23 | return setmetatable({this,i},Disconnect_Metatable) | |
24 | end | |
25 | }} | |
26 | FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect | |
27 | local function fakeEvent() | |
28 | return setmetatable({Functions={}},FakeEvent_Metatable) | |
29 | end | |
30 | ||
31 | --Creating fake input objects with fake variables | |
32 | local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()} | |
33 | FakeMouse.keyUp = FakeMouse.KeyUp | |
34 | FakeMouse.keyDown = FakeMouse.KeyDown | |
35 | local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()} | |
36 | local CAS = {Actions={},BindAction=function(self,name,fun,touch,...) | |
37 | CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil | |
38 | end} | |
39 | --Merged 2 functions into one by checking amount of arguments | |
40 | - | shirt = Instance.new("Shirt", char) |
40 | + | CAS.UnbindAction = CAS.BindAction |
41 | - | shirt.Name = "Shirt" |
41 | + | |
42 | - | pants = Instance.new("Pants", char) |
42 | + | --This function will trigger the events that have been :Connect()'ed |
43 | - | pants.Name = "Pants" |
43 | + | local function TriggerEvent(self,ev,...) |
44 | - | char.Shirt:Remove() |
44 | + | for _,f in pairs(self[ev].Functions) do |
45 | - | char.Pants:Remove() |
45 | + | f(...) |
46 | - | for i,v in pairs(char:GetChildren()) do if v:IsA("Accessory") then v.Handle:Remove() end end |
46 | + | end |
47 | - | char.Shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=667102257" |
47 | + | |
48 | - | char.Pants.PantsTemplate = "http://www.roblox.com/asset/?id=815144043" |
48 | + | FakeMouse.TriggerEvent = TriggerEvent |
49 | UIS.TriggerEvent = TriggerEvent | |
50 | ||
51 | --Client communication | |
52 | local Event = Instance.new("RemoteEvent") | |
53 | Event.Name = "UserInput_Event" | |
54 | Event.OnServerEvent:Connect(function(plr,io) | |
55 | if plr~=RealPlayer then return end | |
56 | FakeMouse.Target = io.Target | |
57 | FakeMouse.Hit = io.Hit | |
58 | if not io.isMouse then | |
59 | local b = io.UserInputState == Enum.UserInputState.Begin | |
60 | if io.UserInputType == Enum.UserInputType.MouseButton1 then | |
61 | return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up") | |
62 | end | |
63 | if io.UserInputType == Enum.UserInputType.MouseButton2 then | |
64 | return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up") | |
65 | end | |
66 | for _,t in pairs(CAS.Actions) do | |
67 | for _,k in pairs(t.Keys) do | |
68 | if k==io.KeyCode then | |
69 | t.Function(t.Name,io.UserInputState,io) | |
70 | end | |
71 | end | |
72 | end | |
73 | FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower()) | |
74 | UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false) | |
75 | end | |
76 | end) | |
77 | Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event") | |
78 | local Mouse = owner:GetMouse() | |
79 | local UIS = game:GetService("UserInputService") | |
80 | local input = function(io,RobloxHandled) | |
81 | if RobloxHandled then return end | |
82 | --Since InputObject is a client-side instance, we create and pass table instead | |
83 | Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target}) | |
84 | end | |
85 | UIS.InputBegan:Connect(input) | |
86 | UIS.InputEnded:Connect(input) | |
87 | local h,t | |
88 | --Give the server mouse data every second frame, but only if the values changed | |
89 | --If player is not moving their mouse, client won't fire events | |
90 | local HB = game:GetService("RunService").Heartbeat | |
91 | while true do | |
92 | if h~=Mouse.Hit or t~=Mouse.Target then | |
93 | h,t=Mouse.Hit,Mouse.Target | |
94 | Event:FireServer({isMouse=true,Target=t,Hit=h}) | |
95 | end | |
96 | --Wait 2 frames | |
97 | for i=1,2 do | |
98 | HB:Wait() | |
99 | end | |
100 | end]==],script) | |
101 | ||
102 | ----Sandboxed game object that allows the usage of client-side methods and services | |
103 | --Real game object | |
104 | local RealGame = game | |
105 | ||
106 | --Metatable for fake service | |
107 | local FakeService_Metatable = { | |
108 | __index = function(self,k) | |
109 | local s = rawget(self,"_RealService") | |
110 | if s then | |
111 | return typeof(s[k])=="function" | |
112 | and function(_,...)return s[k](s,...)end or s[k] | |
113 | end | |
114 | end, | |
115 | __newindex = function(self,k,v) | |
116 | local s = rawget(self,"_RealService") | |
117 | if s then s[k]=v end | |
118 | end | |
119 | } | |
120 | local function FakeService(t,RealService) | |
121 | t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService | |
122 | return setmetatable(t,FakeService_Metatable) | |
123 | end | |
124 | ||
125 | --Fake game object | |
126 | local FakeGame = { | |
127 | GetService = function(self,s) | |
128 | return rawget(self,s) or RealGame:GetService(s) | |
129 | end, | |
130 | Players = FakeService({ | |
131 | LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player) | |
132 | },"Players"), | |
133 | UserInputService = FakeService(UIS,"UserInputService"), | |
134 | ContextActionService = FakeService(CAS,"ContextActionService"), | |
135 | RunService = FakeService({ | |
136 | _btrs = {}, | |
137 | RenderStepped = RealGame:GetService("RunService").Heartbeat, | |
138 | BindToRenderStep = function(self,name,_,fun) | |
139 | self._btrs[name] = self.Heartbeat:Connect(fun) | |
140 | end, | |
141 | UnbindFromRenderStep = function(self,name) | |
142 | self._btrs[name]:Disconnect() | |
143 | end, | |
144 | },"RunService") | |
145 | } | |
146 | rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer) | |
147 | FakeGame.service = FakeGame.GetService | |
148 | FakeService(FakeGame,game) | |
149 | --Changing owner to fake player object to support owner:GetMouse() | |
150 | game,owner = FakeGame,FakeGame.Players.LocalPlayer | |
151 | -- I try to make things looks better, edited by 1000hack | |
152 | -- Dark Caped Beast | |
153 | print("serious punch is T") | |
154 | print("Consecutive dark punches is B") | |
155 | print("jump is m") | |
156 | print("k is a left punch") | |
157 | print("h is a right punch") | |
158 | print("j is teleport") | |
159 | print("music keys are, g y r q") | |
160 | print("F is to stop all the music") | |
161 | print("serious mode is x, press z to turn it off") | |
162 | p = game.Players.LocalPlayer | |
163 | char = p.Character | |
164 | des = false | |
165 | fling = true | |
166 | dot = false | |
167 | falling = false | |
168 | jump = true | |
169 | multipunch = true | |
170 | tp = true | |
171 | shoot = true | |
172 | jump2 = true | |
173 | punch3 = true | |
174 | punch2 = true | |
175 | hum = char.Humanoid | |
176 | punch = true | |
177 | neckp = char.Torso.Neck.C0 | |
178 | neck = char.Torso.Neck | |
179 | des = false | |
180 | root = char.HumanoidRootPart | |
181 | torso = char.Torso | |
182 | larm = char["Left Arm"] | |
183 | rarm = char["Right Arm"] | |
184 | - | humz:TakeDamage(20000) |
184 | + | |
185 | rleg = char["Right Leg"] | |
186 | char["Body Colors"].HeadColor = BrickColor.new("Pastel brown") | |
187 | char["Body Colors"].TorsoColor = BrickColor.new("Pastel brown") | |
188 | char["Body Colors"].LeftArmColor = BrickColor.new("Pastel brown") | |
189 | char["Body Colors"].RightArmColor = BrickColor.new("Pastel brown") | |
190 | char.Head.face.Texture = "rbxassetid://340355951" | |
191 | local ChatService = game:GetService("Chat") | |
192 | local player = game.Players.LocalPlayer | |
193 | lig = Instance.new("PointLight",player.Character.Torso) | |
194 | lig.Color = Color3.new(0,0,0) | |
195 | lig.Brightness = 10 | |
196 | m = player:GetMouse() | |
197 | bb = Instance.new("BillboardGui",player.Character.Head) | |
198 | bb.Enabled = true | |
199 | function newRay(start,face,range,wat) | |
200 | local rey=Ray.new(start.p,(face.p-start.p).Unit*range) | |
201 | hit,pos = workspace:FindPartOnRayWithIgnoreList(rey,wat) | |
202 | return rey,hit,pos | |
203 | end | |
204 | aa1 = {} | |
205 | torso = game.Players.LocalPlayer.Character.Torso | |
206 | ||
207 | local WorldUp = Vector3.new(0,1,0) | |
208 | function look2(Vec1,Vec2) | |
209 | local Orig = Vec1 | |
210 | Vec1 = Vec1+Vector3.new(0,1,0) | |
211 | Vec2 = Vec2+Vector3.new(0,1,0) | |
212 | local Forward = (Vec2-Vec1).unit | |
213 | local Up = (WorldUp-WorldUp:Dot(Forward)*Forward).unit | |
214 | local Right = Up:Cross(Forward).unit | |
215 | Forward = -Forward | |
216 | Right = -Right | |
217 | return CFrame.new(Orig.X,Orig.Y,Orig.Z,Right.X,Up.X,Forward.X,Right.Y,Up.Y,Forward.Y,Right.Z,Up.Z,Forward.Z) | |
218 | end | |
219 | ||
220 | function look(CFr,Vec2) | |
221 | local A = Vector3.new(0,0,0) | |
222 | local B = CFr:inverse()*Vec2 | |
223 | local CF = look2(A,Vector3.new(A.X,B.Y,B.Z)) | |
224 | if B.Z > 0 then | |
225 | CF = CFr*(CF*CFrame.Angles(0,0,math.pi)) | |
226 | elseif B.Z == 0 then | |
227 | if B.Y > 0 then | |
228 | CF = CFr*CFrame.Angles(math.pi/2,0,0) | |
229 | elseif B.Y < 0 then | |
230 | CF = CFr*CFrame.Angles(-math.pi/2,0,0) | |
231 | else | |
232 | CF = CFr | |
233 | end | |
234 | end | |
235 | local _,_,_,_,X,_,_,Y,_,_,Z,_ = CF:components() | |
236 | local Up = Vector3.new(X,Y,Z) | |
237 | local Forward = (Vec2-CFr.p).unit | |
238 | local Right = Up:Cross(Forward) | |
239 | Forward = -Forward | |
240 | Right = -Right | |
241 | return CFrame.new(CFr.X,CFr.Y,CFr.Z,Right.X,Up.X,Forward.X,Right.Y,Up.Y,Forward.Y,Right.Z,Up.Z,Forward.Z) | |
242 | end | |
243 | ||
244 | function simulate(j,d,m,r,t) | |
245 | local joint = j | |
246 | for i,v in ipairs(t) do | |
247 | if v[1]:FindFirstChild("Weld") then | |
248 | local stiff = m.CFrame.lookVector*0.03 | |
249 | if i > 1 then joint = t[i-1][1].CFrame*CFrame.new(0,0,d*.5) end | |
250 | local dir = (v[2].p-(joint.p+Vector3.new(0,0.2,0)+stiff)).unit | |
251 | local dis = (v[2].p-(joint.p+Vector3.new(0,0.2,0)+stiff)).magnitude | |
252 | local pos = joint.p+(dir*(d*0.5)) | |
253 | --if v[1].CFrame.y<=workspace.Base.CFrame.y then pos = joint.p+(dir*(d*.5)) end | |
254 | local inv = v[1].Weld.Part0.CFrame | |
255 | local rel1 = inv:inverse()*pos | |
256 | local rel2 = inv:inverse()*(pos-(dir*dis)) | |
257 | local cf = look(CFrame.new(rel1),rel2)--CFrame.new(pos,pos-(dir*dis))*CFrame.fromEulerAnglesXYZ(r.x,r.y,r.z) | |
258 | v[1].Weld.C0 = cf | |
259 | v[2] = inv*cf | |
260 | --v[1].CFrame = cf | |
261 | end | |
262 | end | |
263 | end | |
264 | ------------------------------------------------ | |
265 | function lerpz(joint, prop, cfrmz, alp) | |
266 | joint[prop] = joint[prop]:lerp(cfrmz, alp) | |
267 | end | |
268 | ------------------------------------------------ | |
269 | function sqe() | |
270 | - | Aura.Rate = 100 |
270 | + | |
271 | local model = Instance.new("Model") | |
272 | game.Debris:AddItem(model, 5) | |
273 | model.Name = "smasheffects" | |
274 | model.Parent = workspace | |
275 | effspwn.Name = "spwnr" | |
276 | effspwn.Size = Vector3.new(1, 1, 1) | |
277 | effspwn.Anchored = true | |
278 | effspwn.CanCollide = false | |
279 | effspwn.Transparency = 1 | |
280 | effspwn.CFrame = (larm.CFrame + Vector3.new(math.random(-5,5),-0.45,math.random(-5,5))) * CFrame.fromEulerAnglesXYZ(math.random(0,math.rad(0)),math.random(0,math.rad(0)),math.random(0,math.rad(0))) | |
281 | effspwn.Parent = model | |
282 | ||
283 | coroutine.resume(coroutine.create(function() | |
284 | local shok = Instance.new("Part") | |
285 | shok.Name = "whoosh" | |
286 | shok.BrickColor = BrickColor.new("Really black") | |
287 | shok.CFrame = effspwn.CFrame * CFrame.Angles(math.rad(-90), math.rad(0), math.rad(0)) | |
288 | shok.Size = Vector3.new(1, 1, 1) | |
289 | shok.Anchored = true | |
290 | shok.Material = "Neon" | |
291 | shok.Transparency = 0.1 | |
292 | shok.CanCollide = false | |
293 | shok.Parent = model | |
294 | game.Debris:AddItem(shok, 6) | |
295 | local mesh = Instance.new("SpecialMesh") | |
296 | mesh.MeshType = "FileMesh" | |
297 | mesh.MeshId = "rbxassetid://437347603" | |
298 | mesh.Scale = Vector3.new(0.08, 0.08, 0.2) | |
299 | mesh.Parent = shok | |
300 | for e = 1, 6 do | |
301 | wait() | |
302 | mesh.Scale = mesh.Scale + Vector3.new(0.02, 0.03, 0.1) | |
303 | shok.Transparency = shok.Transparency + 0.1 | |
304 | shok.CFrame = shok.CFrame:lerp(shok.CFrame * CFrame.new(0, 0, -1), 0.4) | |
305 | shok.CFrame = shok.CFrame * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-29)) | |
306 | hito(shok, 8, 9999, 3) | |
307 | end | |
308 | for e = 1, 6 do | |
309 | wait() | |
310 | mesh.Scale = mesh.Scale + Vector3.new(0.02, 0.03, 0.1) | |
311 | shok.Transparency = shok.Transparency + 0.09 | |
312 | shok.CFrame = shok.CFrame:lerp(shok.CFrame * CFrame.new(0, 0, -2), 0.4) | |
313 | shok.CFrame = shok.CFrame * CFrame.Angles(math.rad(0), math.rad(0), math.rad(30)) | |
314 | hito(shok, 8, 9999, 3) | |
315 | end | |
316 | end)) | |
317 | end | |
318 | ------------------------------------------------------------------------- | |
319 | function hito(partoz, magn, dmg, debtim) | |
320 | for _, guy in pairs(workspace:GetChildren()) do | |
321 | 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 | |
322 | do | |
323 | local humz = guy:FindFirstChild("Humanoid") | |
324 | local hed = guy:FindFirstChild("Head") | |
325 | humz:Destroy() | |
326 | local db = Instance.new("StringValue") | |
327 | db.Name = "alabo" | |
328 | db.Parent = hed | |
329 | delay(debtim, function() | |
330 | db:Destroy() | |
331 | end) | |
332 | end | |
333 | end | |
334 | end | |
335 | end | |
336 | ------------------------------------------------------------------------- | |
337 | GroundWave1 = function() | |
338 | local HandCF = torso.CFrame * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) + torso.CFrame.lookVector * 0.8 | |
339 | local Colors = {"Really black", "Really black"} | |
340 | local wave = Instance.new("Part", char) | |
341 | wave.BrickColor = BrickColor.new(Colors[math.random(1,#Colors)]) | |
342 | wave.Anchored = true | |
343 | wave.Name = "Wave" | |
344 | wave.CanCollide = false | |
345 | wave.Locked = true | |
346 | wave.Size = Vector3.new(0.2, 0.2, 0.2) | |
347 | wave.TopSurface = "Smooth" | |
348 | wave.BottomSurface = "Smooth" | |
349 | wave.Transparency = 0.35 | |
350 | wave.CFrame = HandCF | |
351 | wm = Instance.new("SpecialMesh",wave) | |
352 | wm.MeshId = "rbxassetid://3270017" | |
353 | coroutine.wrap(function() | |
354 | for i = 1, 30, 1 do | |
355 | wm.Scale = Vector3.new(6 + i*2, 2 + i*2, 2+ i*2) | |
356 | wave.Size = wm.Scale | |
357 | wave.CFrame = HandCF | |
358 | wave.Transparency = i/30 | |
359 | wait() | |
360 | end | |
361 | wait() | |
362 | wave:Destroy() | |
363 | end)() | |
364 | end | |
365 | ---------------------------------------------------------------------------- | |
366 | --Serious mode aura. | |
367 | ||
368 | InForm = false | |
369 | local mouse = player:GetMouse() | |
370 | local Player = game.Players.LocalPlayer | |
371 | local Char = Player.Character | |
372 | local Torso = Char.Torso | |
373 | ||
374 | function Serious() | |
375 | for X = 1, 1 do wait() | |
376 | local Effect = Instance.new("Part") | |
377 | Effect.Name = "Effect" | |
378 | Effect.Parent = Torso | |
379 | Effect.CFrame = Torso.CFrame | |
380 | Effect.BrickColor = BrickColor.new("White") | |
381 | Effect.Shape = "Ball" | |
382 | Effect.Size = Vector3.new(1, 1, 1) | |
383 | Effect.Anchored = true | |
384 | Effect.Material = "Neon" | |
385 | Effect.CanCollide = false | |
386 | for loop = 1, 25 do wait() | |
387 | Effect.CFrame = Torso.CFrame | |
388 | Effect.Size = Effect.Size + Vector3.new(0.5) | |
389 | - | wait(0.05) |
389 | + | |
390 | end | |
391 | end | |
392 | ||
393 | repeat | |
394 | Torso:FindFirstChild("Effect"):Remove() | |
395 | until Torso:FindFirstChild("Effect") == nil | |
396 | ||
397 | ||
398 | local Color1 = Color3.new(255, 0, 0) | |
399 | local Color2 = Color3.new(255, 0, 0) | |
400 | ||
401 | local Aura = Instance.new('ParticleEmitter') | |
402 | Aura.Name = "Aura" | |
403 | Aura.Texture = "rbxassetid://660852712" | |
404 | Aura.Parent = Torso | |
405 | Aura.LightEmission = 1 | |
406 | Aura.Transparency = NumberSequence.new(0.8) | |
407 | Aura.Color = ColorSequence.new(Color1, Color2) | |
408 | Aura.Size = NumberSequence.new(3.5) | |
409 | Aura.LockedToPart = false | |
410 | Aura.Lifetime = NumberRange.new(0.3) | |
411 | Aura.Rate = 50 | |
412 | Aura.Speed = NumberRange.new(8) | |
413 | Aura.EmissionDirection = "Top" | |
414 | ||
415 | InForm = true | |
416 | end | |
417 | ||
418 | ||
419 | function Base() | |
420 | InForm = false | |
421 | local Effect = Instance.new("Part") | |
422 | Effect.Name = "Effect" | |
423 | Effect.Parent = Torso | |
424 | Effect.CFrame = Torso.CFrame | |
425 | Effect.BrickColor = BrickColor.new("White") | |
426 | Effect.Shape = "Ball" | |
427 | Effect.Size = Vector3.new(8, 8, 8) | |
428 | Effect.Anchored = true | |
429 | Effect.Material = "Neon" | |
430 | Effect.CanCollide = false | |
431 | for loop = 1, 25 do wait() | |
432 | Effect.CFrame = Torso.CFrame | |
433 | Effect.Size = Effect.Size + Vector3.new(-0.5) | |
434 | Effect.Transparency = Effect.Transparency + 0.04 | |
435 | end | |
436 | repeat | |
437 | Torso:FindFirstChild("Effect"):Remove() | |
438 | until Torso:FindFirstChild("Effect") == nil | |
439 | ||
440 | for i, v in pairs(Torso:GetChildren()) do | |
441 | if v:IsA('ParticleEmitter') then | |
442 | v:Remove() | |
443 | end | |
444 | end | |
445 | end | |
446 | mouse.KeyUp:connect(function(key) | |
447 | if key == "x" and InForm == false then | |
448 | Serious() | |
449 | end | |
450 | end) | |
451 | mouse.KeyUp:connect(function(key) | |
452 | if key == "z" and InForm == true then | |
453 | Base() | |
454 | end | |
455 | end) | |
456 | ------------------------------------------------------------------------------- | |
457 | for i = 1,8 do | |
458 | local p = Instance.new("Part",char) | |
459 | p.Anchored = false | |
460 | p.BrickColor = BrickColor.new("Really black") | |
461 | p.CanCollide = false | |
462 | p.FormFactor="Custom" | |
463 | p.Material = "Neon" | |
464 | p.TopSurface = "SmoothNoOutlines" | |
465 | p.BottomSurface = "SmoothNoOutlines" | |
466 | p.RightSurface = "SmoothNoOutlines" | |
467 | p.LeftSurface = "SmoothNoOutlines" | |
468 | p.FrontSurface = "SmoothNoOutlines" | |
469 | p.BackSurface = "SmoothNoOutlines" | |
470 | ||
471 | p.Size = Vector3.new(2,.2,0.2) | |
472 | p:BreakJoints() -- sometimes the parts are stuck to something so you have to breakjoints them | |
473 | - | hum.WalkSpeed = 16 |
473 | + | |
474 | mesh.Scale = Vector3.new(1,1,4) | |
475 | local w = Instance.new("Motor6D",p) | |
476 | w.Part0 = aa1[i-1] and aa1[i-1][1] or torso | |
477 | w.Part1 = p | |
478 | w.Name = "Weld" | |
479 | --table.insert(aa1,p) | |
480 | aa1[i] = {p,p.CFrame} | |
481 | ||
482 | end | |
483 | game:service"RunService".Stepped:connect(function() | |
484 | simulate(torso.CFrame*CFrame.new(0,0.9,.5),.6,torso,Vector3.new(),aa1) | |
485 | end) | |
486 | soka = Instance.new("Sound",char) | |
487 | soka.SoundId = "http://www.roblox.com/asset/?id = 447199232" | |
488 | soka.Volume = 3 | |
489 | boom = Instance.new("Sound",char) | |
490 | boom.SoundId = "http://www.roblox.com/asset/?id = 447041606" | |
491 | boom.Volume = 3 | |
492 | boom2 = Instance.new("Sound",char) | |
493 | boom2.SoundId = "http://www.roblox.com/asset/?id = 449025737" | |
494 | boom2.Volume = 3 | |
495 | boom3 = Instance.new("Sound",char) | |
496 | boom3.SoundId = "http://www.roblox.com/asset/?id = 450719019" | |
497 | boom3.Volume = 3 | |
498 | woosh = Instance.new("Sound",char) | |
499 | woosh.Volume = 5 | |
500 | woosh.SoundId = "http://www.roblox.com/asset/?id = 210946558" | |
501 | tps = Instance.new("Sound",char) | |
502 | tps.SoundId = "http://www.roblox.com/asset/?id = 449860746" | |
503 | tps.Volume = 1 | |
504 | asd = Instance.new("Sound",char) | |
505 | asd.SoundId = "http://www.roblox.com/asset/?id = 447310433" | |
506 | asd.Volume =1 | |
507 | asd1 = Instance.new("Sound",char) | |
508 | asd1.SoundId = "http://www.roblox.com/asset/?id = 358280695" | |
509 | ||
510 | asd2 = Instance.new("Sound",char) | |
511 | asd2.SoundId = "http://www.roblox.com/asset/?id = 572466594" | |
512 | asd2.Looped = true | |
513 | asd2.Volume = 5 | |
514 | asd3 = Instance.new("Sound",char) | |
515 | asd3.SoundId = "http://www.roblox.com/asset/?id = 378387996" | |
516 | asd3.Volume = 5 | |
517 | asd3.Looped = true | |
518 | asd4 = Instance.new("Sound",char) | |
519 | asd4.SoundId = "http://www.roblox.com/asset/?id = 413040330" | |
520 | asd4.Volume = 5 | |
521 | asd4.Looped = true | |
522 | asd5 = Instance.new("Sound",char) | |
523 | - | ChatService:Chat(char.Head ,"Dark...") |
523 | + | |
524 | asd5.Looped = true | |
525 | asd6 = Instance.new("Sound",char) | |
526 | asd6.SoundId = "http://www.roblox.com/asset/?id = 401258325" | |
527 | asd6.Looped = true | |
528 | function play(play) | |
529 | asd:Play() | |
530 | - | wait(0.3) |
530 | + | |
531 | --asd1:Play() | |
532 | end | |
533 | ------------------------- | |
534 | function stream(origin,dir,length,size) | |
535 | local parts = {} | |
536 | for i = 1,length do | |
537 | local p = Instance.new("Part",char) | |
538 | p.Anchored = true | |
539 | p.Transparency = 0.5 | |
540 | p.TopSurface = 0 | |
541 | p.BottomSurface = 0 | |
542 | p.CanCollide = false | |
543 | p.Material = "Neon" | |
544 | p.BrickColor = BrickColor.new("Really black") | |
545 | p.Size = Vector3.new(50,50,50) -- for now | |
546 | p.CFrame = CFrame.new(origin+dir*i*size)*CFrame.Angles(math.random()*math.pi,math.random()*math.pi,math.random()*math.pi) | |
547 | parts[i] = {p,CFrame.Angles(math.random()*math.pi/5,math.random()*math.pi/5,math.random()*math.pi/5)} | |
548 | game:GetService("Debris"):AddItem(p,3) | |
549 | end | |
550 | spawn(function() | |
551 | while parts do | |
552 | for i,v in pairs(parts) do | |
553 | if v[1].Parent == char then | |
554 | v[1].CFrame = v[1].CFrame*v[2] | |
555 | else | |
556 | parts = nil | |
557 | break | |
558 | end | |
559 | end | |
560 | wait(0.02) | |
561 | end | |
562 | end) | |
563 | end | |
564 | m.KeyDown:connect(function(k) | |
565 | if k == "g" then | |
566 | asd2:Play() | |
567 | ||
568 | ||
569 | end | |
570 | end) | |
571 | ||
572 | m.KeyDown:connect(function(k) | |
573 | if k == "r" then | |
574 | ||
575 | asd4:Play() | |
576 | end | |
577 | end) | |
578 | m.KeyDown:connect(function(k) | |
579 | if k == "q" then | |
580 | ||
581 | asd3:Play() | |
582 | end | |
583 | end) | |
584 | mouse = p:GetMouse() | |
585 | m.KeyDown:connect(function(k) | |
586 | if k:byte() == 48 then | |
587 | ||
588 | hum.WalkSpeed = 200 | |
589 | GroundWave1() | |
590 | boom:Play() | |
591 | end | |
592 | end) | |
593 | m.KeyDown:connect(function(k) | |
594 | if k:byte() == 50 then | |
595 | ||
596 | soka:Play() | |
597 | end | |
598 | end) | |
599 | m.KeyDown:connect(function(k) | |
600 | if k:byte() == 52 then | |
601 | ||
602 | char.Head.face.Texture = "rbxassetid://340355951" | |
603 | end | |
604 | end) | |
605 | m.KeyDown:connect(function(k) | |
606 | if k:byte() == 51 then | |
607 | ||
608 | char.Head.face.Texture = "rbxassetid://340355951" | |
609 | end | |
610 | end) | |
611 | m.KeyUp:connect(function(k) | |
612 | if k:byte() == 48 then | |
613 | ||
614 | hum.WalkSpeed = 20 | |
615 | end | |
616 | end) | |
617 | p.Chatted:connect(function(m) | |
618 | if m == "Ok." then | |
619 | soka:Play() | |
620 | end | |
621 | end) | |
622 | m.KeyDown:connect(function(key) | |
623 | if key == "j" then | |
624 | if tp == true then | |
625 | tp = false | |
626 | tps:Play() | |
627 | char.Head.face.Parent = game.Lighting | |
628 | for i,v in pairs(char:GetChildren()) do if v:IsA("Part") then v.Transparency = 0.7 | |
629 | end | |
630 | ||
631 | end | |
632 | wait(0.2) | |
633 | for i,v in pairs(char:GetChildren()) do if v:IsA("Part") then v.Transparency = 0 | |
634 | end | |
635 | ||
636 | end | |
637 | char.HumanoidRootPart.CFrame = mouse.Hit * CFrame.new(0, 3, 0) | |
638 | char.HumanoidRootPart.Transparency = 1 | |
639 | game.Lighting.face.Parent = char.Head | |
640 | wait(0.1) | |
641 | ||
642 | tp = true | |
643 | ||
644 | ||
645 | end | |
646 | end | |
647 | end) | |
648 | ||
649 | ||
650 | m.KeyDown:connect(function(key) | |
651 | if key == "t" then | |
652 | - | wait(0.1) |
652 | + | |
653 | punch2 = false | |
654 | - | wait(0.3) |
654 | + | |
655 | ||
656 | local ChatService = game:GetService("Chat") | |
657 | ||
658 | neck.C0 = neck.C0 * CFrame.Angles(0.3,0,0) | |
659 | ChatService:Chat(char.Head, "...") | |
660 | wait(0.5) | |
661 | local ChatService = game:GetService("Chat") | |
662 | ||
663 | ||
664 | ChatService:Chat(char.Head ,"just a punch") | |
665 | wait(0.5) | |
666 | local ChatService = game:GetService("Chat") | |
667 | ||
668 | ||
669 | ChatService:Chat(char.Head, "PUNCH!") | |
670 | neck.C0 = neckp | |
671 | wait() | |
672 | org = char.Torso["Left Shoulder"].C0 | |
673 | char.Torso["Left Shoulder"].C0 = char.Torso["Left Shoulder"].C0 * CFrame.new(-0.3,0,0) * CFrame.Angles(0,0,math.rad(-90)) | |
674 | char.Torso["Left Shoulder"].C0 = char.Torso["Left Shoulder"].C0 * CFrame.new(-0.3,0,0) * CFrame.Angles(0,0,math.rad(-0)) | |
675 | wait() | |
676 | killbrick2 = Instance.new("Part",char) | |
677 | killbrick2.Size = Vector3.new(80,80,9000) | |
678 | killbrick2.Transparency = 1 | |
679 | ||
680 | killbrick2.CanCollide = true | |
681 | wait(0) | |
682 | killbrick2.CanCollide = false | |
683 | ||
684 | killbrick2.Anchored = true | |
685 | ||
686 | killbrick2.CFrame = char.Torso.CFrame * CFrame.new(0,0,-1005) | |
687 | ||
688 | killbrick2.Touched:connect(function(h) | |
689 | local x = h.Parent:FindFirstChild("Humanoid")-- lol | |
690 | if x then | |
691 | if x.Parent.Name == game.Players.LocalPlayer.Name then | |
692 | safe = true | |
693 | else safe = false | |
694 | - | killbrick.Touched:connect(function(h) |
694 | + | |
695 | - | local x = h.Parent:FindFirstChildOfClass("Humanoid") |
695 | + | |
696 | - | local stop = h.Parent.Torso.Velocity |
696 | + | |
697 | h.Parent.Torso.Velocity = CFrame.new(char.Torso.Position,h.Parent.Torso.Position).lookVector * 900 | |
698 | local bodyforc = Instance.new("BodyForce", h.Parent.Torso) | |
699 | boom:Play() | |
700 | bodyforc.force = Vector3.new(0, h.Parent.Torso:GetMass() * 196.1, 0) | |
701 | ||
702 | ||
703 | - | if fling == true then |
703 | + | |
704 | - | force = 90000 |
704 | + | |
705 | wait() | |
706 | safe = true | |
707 | - | if fling == false then |
707 | + | |
708 | - | force = 20000 |
708 | + | |
709 | end | |
710 | - | ChatService:Chat(char.Head, "Dark Punch!") |
710 | + | |
711 | ||
712 | ||
713 | ||
714 | ||
715 | - | |
715 | + | |
716 | ||
717 | ||
718 | ||
719 | local rng = Instance.new("Part", char) | |
720 | rng.Anchored = true | |
721 | rng.BrickColor = BrickColor.new("Really black") | |
722 | rng.CanCollide = false | |
723 | - | x:TakeDamage(12000) |
723 | + | |
724 | rng.Name = "Ring" | |
725 | rng.Size = Vector3.new(3, 3, 3) | |
726 | rng.Transparency = 0.8 | |
727 | rng.TopSurface = 0 | |
728 | rng.BottomSurface = 0 | |
729 | rng.CFrame = char["Left Arm"].CFrame * CFrame.new(0,-2,0) | |
730 | rng.CFrame = rng.CFrame * CFrame.Angles(math.rad(90), math.rad(0), math.rad(0)) | |
731 | local rngm = Instance.new("SpecialMesh", rng) | |
732 | rngm.MeshId = "http://www.roblox.com/asset/?id=9982590" | |
733 | rngm.Scale = Vector3.new(3, 3, 3) | |
734 | ||
735 | local rng1 = Instance.new("Part", char) | |
736 | rng1.Anchored = true | |
737 | rng1.BrickColor = BrickColor.new("Really black") | |
738 | rng1.CanCollide = false | |
739 | rng1.FormFactor = 3 | |
740 | rng1.Name = "Ring" | |
741 | rng1.Size = Vector3.new(3, 3, 3) | |
742 | rng1.Transparency = 0.8 | |
743 | rng1.TopSurface = 0 | |
744 | rng1.BottomSurface = 0 | |
745 | rng1.CFrame = char["Left Arm"].CFrame * CFrame.new(0,-2,0) | |
746 | rng1.CFrame = rng1.CFrame * CFrame.Angles(math.rad(90), math.rad(0), math.rad(0)) | |
747 | local rngm1 = Instance.new("SpecialMesh", rng1) | |
748 | rngm1.MeshId = "http://www.roblox.com/asset/?id=9982590" | |
749 | rngm1.Scale = Vector3.new(3, 3, 3) | |
750 | ||
751 | local p = (torso.CFrame*CFrame.new(-20,0,3)) | |
752 | stream(p.p,((p*Vector3.new(-0.7,0,1))-p.p).unit,90,5) | |
753 | local p = (torso.CFrame*CFrame.new(20,0,3)) | |
754 | stream(p.p,((p*Vector3.new(0.7,0,1))-p.p).unit,90,5) | |
755 | ||
756 | local rng2 = Instance.new("Part", char) | |
757 | rng2.Anchored = true | |
758 | rng2.BrickColor = BrickColor.new("Really black") | |
759 | rng2.CanCollide = false | |
760 | rng2.FormFactor = 3 | |
761 | rng2.Name = "Ring" | |
762 | rng2.Size = Vector3.new(3, 3, 3) | |
763 | rng2.Transparency = 0.8 | |
764 | rng2.TopSurface = 0 | |
765 | rng2.BottomSurface = 0 | |
766 | rng2.CFrame = char["Left Arm"].CFrame * CFrame.new(0,-2,0) | |
767 | rng2.CFrame = rng2.CFrame * CFrame.Angles(math.rad(90), math.rad(0), math.rad(0)) | |
768 | local rngm2 = Instance.new("SpecialMesh", rng2) | |
769 | rngm2.MeshId = "http://www.roblox.com/asset/?id=9982590" | |
770 | rngm2.Scale = Vector3.new(3, 3, 3) | |
771 | wait() | |
772 | ||
773 | boom3:Play() | |
774 | coroutine.wrap(function() | |
775 | for i = 1, 35, 0.5 do | |
776 | ||
777 | ||
778 | ||
779 | ||
780 | ||
781 | rngm.Scale = Vector3.new(50 + i*2, 50 + i*2, 50+ i*2) | |
782 | rngm1.Scale = Vector3.new(50 + i*2, 50 + i*2, 50+ i*2) | |
783 | rngm2.Scale = Vector3.new(50 + i*2, 50 + i*2, 50+ i*2) | |
784 | rng.Transparency = i/35 | |
785 | rng1.Transparency = i/35 | |
786 | rng2.Transparency = i/35 | |
787 | - | if key == "h" then |
787 | + | |
788 | - | if punch3 == true then |
788 | + | |
789 | - | punch3 = false |
789 | + | |
790 | - | eh = char.Torso["Right Shoulder"].C0 |
790 | + | |
791 | - | char.Torso["Right Shoulder"].C0 = char.Torso["Right Shoulder"].C0 * CFrame.new(0.3,0,0) * CFrame.Angles(0,0,math.rad(90)) |
791 | + | |
792 | - | killbrick3 = Instance.new("Part",char) |
792 | + | |
793 | - | killbrick3.Size = Vector3.new(4,1,4) |
793 | + | |
794 | - | killbrick3.Transparency = 1 |
794 | + | wait() |
795 | - | killbrick3:BreakJoints() |
795 | + | |
796 | - | killbrick3.CanCollide = false |
796 | + | wait() |
797 | - | local wel = Instance.new("Weld",killbrick3) |
797 | + | |
798 | - | wel.Part0 = killbrick3 |
798 | + | |
799 | - | wel.Part1 = char["Right Arm"] |
799 | + | |
800 | ||
801 | ||
802 | end)() | |
803 | - | killbrick3.Touched:connect(function(h) |
803 | + | |
804 | - | local x = h.Parent:FindFirstChildOfClass("Humanoid") |
804 | + | |
805 | - | local stop = h.Parent.Torso.Velocity |
805 | + | |
806 | end | |
807 | ||
808 | ||
809 | wait() | |
810 | ||
811 | ||
812 | - | if fling == true then |
812 | + | |
813 | - | force = 90000 |
813 | + | |
814 | ||
815 | ||
816 | - | if fling == false then |
816 | + | |
817 | - | force = 20000 |
817 | + | |
818 | ||
819 | - | ChatService:Chat(char.Head, "Take this!") |
819 | + | |
820 | ||
821 | if key == "k" then | |
822 | if punch == true then | |
823 | punch = false | |
824 | - | |
824 | + | |
825 | char.Torso["Left Shoulder"].C0 = char.Torso["Left Shoulder"].C0 * CFrame.new(-0.3,0,0) * CFrame.Angles(0,0,math.rad(-90)) | |
826 | killbrick = Instance.new("Part",char) | |
827 | killbrick.Size = Vector3.new(4,1,4) | |
828 | killbrick.Transparency = 1 | |
829 | killbrick:BreakJoints() | |
830 | killbrick.CanCollide = false | |
831 | - | wait(0.2) |
831 | + | |
832 | - | x:TakeDamage(8000) |
832 | + | |
833 | wel.Part1 = char["Left Arm"] | |
834 | wel.C0 = CFrame.new(0,1,0) | |
835 | force = 30000 | |
836 | ||
837 | ||
838 | h.Parent.Torso.Velocity = CFrame.new(char.Torso.Position,h.Parent.Torso.Position).lookVector * 50000 | |
839 | local bodyforc = Instance.new("BodyForce", h.Parent.Torso) | |
840 | boom:Play() | |
841 | bodyforc.force = Vector3.new(0, h.Parent.Torso:GetMass() * 196.1, 0) | |
842 | ||
843 | ||
844 | wait() | |
845 | x:BreakJoints() | |
846 | wait() | |
847 | safe = true | |
848 | bodyforc:Remove() | |
849 | h.Parent.Torso.Velocity = stop | |
850 | end | |
851 | end | |
852 | ||
853 | local rng = Instance.new("Part", char) | |
854 | rng.Anchored = true | |
855 | rng.BrickColor = BrickColor.new("Really black") | |
856 | rng.CanCollide = false | |
857 | rng.FormFactor = 3 | |
858 | rng.Name = "Ring" | |
859 | rng.Size = Vector3.new(1, 1, 1) | |
860 | rng.Transparency = 0.8 | |
861 | rng.TopSurface = 0 | |
862 | rng.BottomSurface = 0 | |
863 | rng.CFrame = char["Left Arm"].CFrame * CFrame.new(0,-2,0) | |
864 | rng.CFrame = rng.CFrame * CFrame.Angles(math.rad(90), math.rad(0), math.rad(0)) | |
865 | local rngm = Instance.new("SpecialMesh", rng) | |
866 | rngm.MeshId = "http://www.roblox.com/asset/?id=9982590" | |
867 | rngm.Scale = Vector3.new(3, 3, 3) | |
868 | wait(0.1) | |
869 | ||
870 | boom2:Play() | |
871 | coroutine.wrap(function() | |
872 | for i = 1, 10, .4 do | |
873 | rngm.Scale = Vector3.new(2 + i*2, 2 + i*2, 2 + i*2) | |
874 | rng.Transparency = i/10 | |
875 | wait() | |
876 | end | |
877 | wait() | |
878 | rng:Destroy() | |
879 | killbrick:Remove() | |
880 | char.Torso["Left Shoulder"].C0 = org | |
881 | wait() | |
882 | ||
883 | punch = true | |
884 | wait() | |
885 | end)() | |
886 | ||
887 | ||
888 | ||
889 | end | |
890 | ||
891 | ||
892 | ||
893 | ||
894 | ||
895 | end | |
896 | ||
897 | ||
898 | h.Parent.Torso.Velocity = CFrame.new(char.Torso.Position,h.Parent.Torso.Position).lookVector * 50000 | |
899 | local bodyforc = Instance.new("BodyForce", h.Parent.Torso) | |
900 | boom:Play() | |
901 | bodyforc.force = Vector3.new(0, h.Parent.Torso:GetMass() * 196.1, 0) | |
902 | ||
903 | ||
904 | wait(0.000001) | |
905 | x:BreakJoints() | |
906 | wait() | |
907 | safe = true | |
908 | bodyforc:Remove() | |
909 | h.Parent.Torso.Velocity = stop | |
910 | end | |
911 | end | |
912 | end) | |
913 | ||
914 | ||
915 | ||
916 | ||
917 | ||
918 | ||
919 | ||
920 | ||
921 | ||
922 | ||
923 | local rng = Instance.new("Part", char) | |
924 | rng.Anchored = true | |
925 | rng.BrickColor = BrickColor.new("Really black") | |
926 | rng.CanCollide = false | |
927 | rng.FormFactor = 3 | |
928 | rng.Name = "Ring" | |
929 | rng.Size = Vector3.new(1, 1, 1) | |
930 | rng.Transparency = 0.8 | |
931 | rng.TopSurface = 0 | |
932 | rng.BottomSurface = 0 | |
933 | rng.CFrame = char["Right Arm"].CFrame * CFrame.new(0,-2,0) | |
934 | rng.CFrame = rng.CFrame * CFrame.Angles(math.rad(90), math.rad(0), math.rad(0)) | |
935 | local rngm = Instance.new("SpecialMesh", rng) | |
936 | rngm.MeshId = "http://www.roblox.com/asset/?id=9982590" | |
937 | rngm.Scale = Vector3.new(3, 3, 3) | |
938 | wait() | |
939 | ||
940 | boom2:Play() | |
941 | coroutine.wrap(function() | |
942 | for i = 1, 10, .4 do | |
943 | - | wait(1) |
943 | + | |
944 | rng.Transparency = i/10 | |
945 | wait() | |
946 | end | |
947 | wait() | |
948 | rng:Destroy() | |
949 | killbrick3:Remove() | |
950 | char.Torso["Right Shoulder"].C0 = eh | |
951 | wait() | |
952 | ||
953 | punch3 = true | |
954 | wait() | |
955 | end)() | |
956 | ||
957 | ||
958 | ||
959 | end | |
960 | ||
961 | ||
962 | wait() | |
963 | ||
964 | ||
965 | end | |
966 | end) | |
967 | ||
968 | ||
969 | ||
970 | ||
971 | ||
972 | ||
973 | ||
974 | ||
975 | ||
976 | ||
977 | ||
978 | ||
979 | m.KeyDown:connect(function(key) | |
980 | - | wait(0.03) |
980 | + | |
981 | if jump == true then | |
982 | jump = false | |
983 | ||
984 | ||
985 | local rng = Instance.new("Part", char) | |
986 | rng.Anchored = true | |
987 | - | wait(0.3) |
987 | + | |
988 | rng.CanCollide = false | |
989 | rng.FormFactor = 3 | |
990 | rng.Name = "Ring" | |
991 | rng.Size = Vector3.new(3, 3, 3) | |
992 | rng.Transparency = 0.35 | |
993 | rng.TopSurface = 0 | |
994 | rng.BottomSurface = 0 | |
995 | rng.Position = torso.Position - Vector3.new(0,2,0) | |
996 | rng.CFrame = rng.CFrame * CFrame.Angles(math.rad(90), math.rad(0), math.rad(0)) | |
997 | local rngm = Instance.new("SpecialMesh", rng) | |
998 | rngm.MeshId = "http://www.roblox.com/asset/?id=9982590" | |
999 | rngm.Scale = Vector3.new(3, 3, 3) | |
1000 | wait(0.0001) | |
1001 | BV = Instance.new("BodyVelocity", torso) | |
1002 | BV.maxForce = Vector3.new(0,20000,0) | |
1003 | - | game:GetService("RunService").RenderStepped:connect(function() |
1003 | + | |
1004 | - | hum.MaxHealth = hum.MaxHealth * math.huge |
1004 | + | |
1005 | - | hum.Health = hum.MaxHealth * math.huge |
1005 | + | |
1006 | - | end) |
1006 | + | |
1007 | for i = 1, 60, 2 do | |
1008 | rngm.Scale = Vector3.new(2 + i*2, 2 + i*2, 2 + i*2) | |
1009 | rng.Transparency = i/60 | |
1010 | wait() | |
1011 | end | |
1012 | wait() | |
1013 | rng:Destroy() | |
1014 | ||
1015 | hum.WalkSpeed = 50 | |
1016 | wait() | |
1017 | ||
1018 | for i,v in pairs(torso:GetChildren()) do if v:IsA("BodyVelocity") then | |
1019 | v:Destroy() local jumping2 = true falling = true wait(0.3) jumping2 = false falling = false wait(1.7) jump = true hum.WalkSpeed = 16 falling = false | |
1020 | end end | |
1021 | wait() | |
1022 | end)() | |
1023 | ||
1024 | ||
1025 | ||
1026 | end | |
1027 | ||
1028 | ||
1029 | wait(.1) | |
1030 | ||
1031 | ||
1032 | end | |
1033 | end) | |
1034 | ||
1035 | ||
1036 | mouse.KeyDown:connect(function(key) | |
1037 | if key == "b" then | |
1038 | multipunch = true | |
1039 | boom:Play() | |
1040 | local ChatService = game:GetService("Chat") | |
1041 | ||
1042 | neck.C0 = neck.C0 * CFrame.Angles(0,0,0) | |
1043 | ChatService:Chat(char.Head, "Consecutive Dark Punches.") | |
1044 | wait() | |
1045 | local ChatService = game:GetService("Chat") | |
1046 | sss = char.Torso["Left Shoulder"].C0 | |
1047 | char.Torso["Left Shoulder"].C0 = char.Torso["Left Shoulder"].C0 * CFrame.new(-0.3,0,0) * CFrame.Angles(0,0,math.rad(-90)) | |
1048 | char.Torso["Right Shoulder"].C0 = char.Torso["Left Shoulder"].C0 * CFrame.new(-0.3,0,0) * CFrame.Angles(0,0,math.rad(-55)) | |
1049 | coroutine.resume(coroutine.create(function() | |
1050 | local s = 0 | |
1051 | repeat | |
1052 | s = s + 1 | |
1053 | sqe() | |
1054 | wait() | |
1055 | until not multipunch | |
1056 | end)) | |
1057 | mouse.KeyUp:connect(function(key) | |
1058 | if key == "b" then | |
1059 | multipunch = false | |
1060 | char.Torso["Left Shoulder"].C0 = sss | |
1061 | wait() | |
1062 | multipunch = true | |
1063 | wait() | |
1064 | end | |
1065 | end) | |
1066 | end | |
1067 | end) | |
1068 | m.KeyDown:connect(function(k) | |
1069 | if k == "f" then | |
1070 | asd3:Stop() | |
1071 | asd2:Stop() | |
1072 | asd4:Stop() | |
1073 | asd6:Stop() | |
1074 | asd5:Stop() | |
1075 | end | |
1076 | end) | |
1077 | hum.MaxHealth = math.huge | |
1078 | hum.Health = math.huge | |
1079 | end |