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;print("FE Compatibility: by WaverlyCole");InternalData = {} | |
2 | do | |
3 | script.Parent = owner.Character | |
4 | local Event = Instance.new("RemoteEvent");Event.Name = "UserInput" | |
5 | local function NewFakeEvent() | |
6 | local Bind = Instance.new("BindableEvent") | |
7 | local Fake;Fake = {Connections = {}, | |
8 | fakeEvent=true; | |
9 | Connect=function(self,Func) | |
10 | Bind.Event:connect(Func) | |
11 | self.Connections[Bind] = true | |
12 | return setmetatable({Connected = true},{ | |
13 | __index = function (self,Index) | |
14 | if Index:lower() == "disconnect" then | |
15 | return function() Fake.Connections[Bind] = false;self.Connected = false end | |
16 | end | |
17 | return Fake[Index] | |
18 | end; | |
19 | __tostring = function() return "Connection" end; | |
20 | }) | |
21 | end} | |
22 | Fake.connect = Fake.Connect;return Fake; | |
23 | end | |
24 | local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()} | |
25 | local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()} | |
26 | local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...) | |
27 | self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil | |
28 | end};ContextActionService.UnBindAction = ContextActionService.BindAction | |
29 | local function TriggerEvent(self,Event,...) | |
30 | local Trigger = Mouse[Event] | |
31 | if Trigger and Trigger.fakeEvent and Trigger.Connections then | |
32 | for Connection,Active in pairs(Trigger.Connections) do if Active then Connection:Fire(...) end end | |
33 | end | |
34 | end | |
35 | Mouse.TrigEvent = TriggerEvent;UserInputService.TrigEvent = TriggerEvent | |
36 | Event.OnServerEvent:Connect(function(FiredBy,Input) | |
37 | if FiredBy.Name ~= owner.Name then return end | |
38 | if Input.MouseEvent then | |
39 | Mouse.Target = Input.Target;Mouse.Hit = Input.Hit | |
40 | else | |
41 | local Begin = Input.UserInputState == Enum.UserInputState.Begin | |
42 | if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up") end | |
43 | for _,Action in pairs(ContextActionService.Actions) do | |
44 | for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end | |
45 | end | |
46 | Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower()) | |
47 | UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false) | |
48 | end | |
49 | end) | |
50 | InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService | |
51 | Event.Parent = NLS([[ | |
52 | local Player = owner;local Event = script:WaitForChild("UserInput");local UserInputService = game:GetService("UserInputService");local Mouse = Player:GetMouse() | |
53 | local Input = function(Input,gameProcessedEvent) | |
54 | if gameProcessedEvent then return end | |
55 | Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState}) | |
56 | end | |
57 | UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input) | |
58 | local Hit,Target | |
59 | while wait(1/30) do | |
60 | if Hit ~= Mouse.Hit or Target ~= Mouse.Target then | |
61 | Hit,Target = Mouse.Hit,Mouse.Target;Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit}) | |
62 | end | |
63 | end | |
64 | ]],owner.Character) | |
65 | end | |
66 | RealGame = game;game = setmetatable({},{ | |
67 | __index = function (self,Index) | |
68 | local Sandbox = function (Thing) | |
69 | if Thing:IsA("Player") then | |
70 | local RealPlayer = Thing | |
71 | return setmetatable({},{ | |
72 | __index = function (self,Index) | |
73 | local Type = type(RealPlayer[Index]) | |
74 | if Type == "function" then | |
75 | if Index:lower() == "getmouse" or Index:lower() == "mouse" then | |
76 | return function (self)return InternalData["Mouse"] end | |
77 | end | |
78 | return function (self,...)return RealPlayer[Index](RealPlayer,...) end | |
79 | end | |
80 | return RealPlayer[Index] | |
81 | end; | |
82 | __tostring = function(self) return RealPlayer.Name end | |
83 | }) | |
84 | end | |
85 | end | |
86 | if RealGame[Index] then | |
87 | local Type = type(RealGame[Index]) | |
88 | if Type == "function" then | |
89 | if Index:lower() == "getservice" or Index:lower() == "service" then | |
90 | return function (self,Service) | |
91 | local FakeServices = { | |
92 | ["players"] = function() | |
93 | return setmetatable({},{ | |
94 | __index = function (self2,Index2) | |
95 | local RealService = RealGame:GetService(Service) | |
96 | local Type2 = type(Index2) | |
97 | if Type2 == "function" then | |
98 | return function (self,...) return RealService[Index2](RealService,...)end | |
99 | else | |
100 | if Index2:lower() == "localplayer" then return Sandbox(owner) end | |
101 | return RealService[Index2] | |
102 | end | |
103 | end; | |
104 | __tostring = function(self) return RealGame:GetService(Service).Name end | |
105 | }) | |
106 | end; | |
107 | ["contextactionservice"] = function() return InternalData["ContextActionService"] end; | |
108 | ["userinputservice"] = function() return InternalData["UserInputService"] end; | |
109 | ["runservice"] = function() | |
110 | return setmetatable({},{ | |
111 | __index = function(self2,Index2) | |
112 | local RealService = RealGame:GetService(Service) | |
113 | local Type2 = type(Index2) | |
114 | if Type2 == "function" then | |
115 | return function (self,...) return RealService[Index2](RealService,...) end | |
116 | else | |
117 | local RunServices = { | |
118 | ["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return RealGame:GetService("RunService").Stepped:Connect(Function) end end; | |
119 | ["renderstepped"] = function() return RealService["Stepped"] end | |
120 | } | |
121 | if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end | |
122 | return RealService[Index2] | |
123 | end | |
124 | end | |
125 | }) | |
126 | end | |
127 | } | |
128 | if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end | |
129 | return RealGame:GetService(Service) | |
130 | end | |
131 | end | |
132 | return function (self,...) return RealGame[Index](RealGame,...) end | |
133 | else | |
134 | if game:GetService(Index) then return game:GetService(Index) end | |
135 | return RealGame[Index] | |
136 | end | |
137 | end | |
138 | return nil | |
139 | end | |
140 | });Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("Complete! Running...") | |
141 | ||
142 | repeat wait() until game.Players.LocalPlayer and game.Players.LocalPlayer.Character and game.Players.LocalPlayer.Character:findFirstChild('Head') and game.Players.LocalPlayer:GetMouse() | |
143 | local plr = game.Players.LocalPlayer | |
144 | local char = plr.Character | |
145 | local head = char.Head | |
146 | local mouse = plr:GetMouse() | |
147 | local Hum = char.Humanoid | |
148 | local p = game.Players.LocalPlayer | |
149 | ||
150 | local HealthBarParts = Instance.new("Folder", char) | |
151 | HealthBarParts.Name = "BlockdomHealthBar" | |
152 | ||
153 | local Effects = Instance.new("Folder", char) | |
154 | Effects.Name = "BlockdomEffects" | |
155 | ||
156 | local BodyParts = Instance.new("Folder", char) | |
157 | BodyParts.Name = "BlockdomBodyParts" | |
158 | ||
159 | ||
160 | local BlockSpeed = 0.2 -- Lower = Slower, Higher = Faster [0.0001 - 1] | |
161 | ||
162 | ||
163 | local EM = Enum.Material | |
164 | local CF = CFrame | |
165 | local V3 = Vector3 | |
166 | local Ins = Instance | |
167 | local Col = Color3 | |
168 | local UD = UDim | |
169 | local UD2 = UDim2 | |
170 | local mr = math.rad | |
171 | local mra = math.random | |
172 | local mh = math.huge | |
173 | ||
174 | ||
175 | ------------------------------------- | |
176 | local Head = char.Head | |
177 | local RArm = char["Right Arm"] | |
178 | local LArm = char["Left Arm"] | |
179 | local Torso = char.Torso | |
180 | local LLeg = char["Left Leg"] | |
181 | local RLeg = char["Right Leg"] | |
182 | ------------------------------------- | |
183 | ||
184 | ||
185 | local clerp = function(a, b, t) | |
186 | return a:lerp(b, t) | |
187 | end | |
188 | human = char.Humanoid | |
189 | hrp = char.HumanoidRootPart | |
190 | anim = human.Animator | |
191 | RSC0 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0) | |
192 | RSC1 = CFrame.new(-0.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0) | |
193 | LSC0 = CFrame.new(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
194 | LSC1 = CFrame.new(0.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
195 | RHC0 = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0) | |
196 | RHC1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0) | |
197 | LHC0 = CFrame.new(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
198 | LHC1 = CFrame.new(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
199 | NC0 = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0) | |
200 | NC1 = CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0) | |
201 | RJC0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0) | |
202 | RJC1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0) | |
203 | RS = Torso:FindFirstChild("Right Shoulder") | |
204 | LS = Torso:FindFirstChild("Left Shoulder") | |
205 | RH = Torso:FindFirstChild("Right Hip") | |
206 | LH = Torso:FindFirstChild("Left Hip") | |
207 | RJ = hrp:FindFirstChild("RootJoint") | |
208 | NK = Torso:FindFirstChild("Neck") | |
209 | local RunS = game:GetService("RunService") | |
210 | local Mouse = p:GetMouse() | |
211 | local animen = true | |
212 | local Player = game.Players.localPlayer | |
213 | local Character = Player.Character | |
214 | local Humanoid = Character.Humanoid | |
215 | local Mouse = Player:GetMouse() | |
216 | local LeftArm = Character["Left Arm"] | |
217 | local RightArm = Character["Right Arm"] | |
218 | local LeftLeg = Character["Left Leg"] | |
219 | local RightLeg = Character["Right Leg"] | |
220 | local Head = Character.Head | |
221 | local Torso = Character.Torso | |
222 | local Camera = game.Workspace.CurrentCamera | |
223 | local RootPart = Character.HumanoidRootPart | |
224 | local RootJoint = RootPart.RootJoint | |
225 | local Pause = false | |
226 | local attack = false | |
227 | local LOL = false | |
228 | local Anim = 'Idle' | |
229 | local attacktype = 1 | |
230 | local delays = false | |
231 | local play = true | |
232 | local targetted = nil | |
233 | local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude | |
234 | local velocity = RootPart.Velocity.y | |
235 | local sine = 0 | |
236 | local change = 1 | |
237 | local doe = 0 | |
238 | local Create = LoadLibrary("RbxUtility").Create | |
239 | ||
240 | ||
241 | ||
242 | ||
243 | ||
244 | local HealthBase = Instance.new("Part", HealthBarParts) | |
245 | HealthBase.Material = "Neon" | |
246 | HealthBase.Color = Color3.fromRGB(0, 0, 0) | |
247 | HealthBase.Size = Vector3.new(10, 2, 2) | |
248 | HealthBase.CanCollide = false | |
249 | HealthBase.Anchored = true | |
250 | HealthBase.Name = "HealthMain" | |
251 | ||
252 | ||
253 | local Health = Instance.new("Part", HealthBarParts) | |
254 | Health.Material = "Neon" | |
255 | Health.Color = Color3.fromRGB(3, 236, 0) | |
256 | Health.Size = Vector3.new(10.1, 2.1, 2.1) | |
257 | Health.CanCollide = false | |
258 | Health.Anchored = true | |
259 | Health.Name = "Health" | |
260 | ||
261 | ||
262 | local RS = game:GetService("RunService") | |
263 | ||
264 | ||
265 | for _, i in pairs(char:GetChildren()) do | |
266 | if i:IsA("Part") then | |
267 | i.Transparency = 1 | |
268 | end | |
269 | if i.Name == "Health" then | |
270 | i:Destroy() | |
271 | end | |
272 | if i:IsA("Accessory") then | |
273 | i:Destroy() | |
274 | end | |
275 | end | |
276 | char.Head.face:Destroy() | |
277 | Hum.HipHeight = 0.4 | |
278 | ||
279 | ||
280 | ||
281 | ||
282 | ||
283 | ||
284 | local RoarS = Instance.new("Sound", char.Head) | |
285 | RoarS.SoundId = "rbxassetid://889016272" | |
286 | RoarS.Volume = 1 | |
287 | ||
288 | local Punch = Instance.new("Sound", char.Head) | |
289 | Punch.SoundId = "rbxassetid://386946017" | |
290 | Punch.Volume = 1 | |
291 | ||
292 | local Theme = Instance.new("Sound", char.Head) | |
293 | Theme.SoundId = "rbxassetid://145556530" | |
294 | Theme.Volume = 1 | |
295 | Theme.Looped = true | |
296 | Theme.MaxDistance = 90 | |
297 | Theme:Play() | |
298 | ||
299 | ||
300 | ||
301 | ||
302 | ||
303 | ||
304 | local TouchSensor = Instance.new("Part", char) | |
305 | TouchSensor.Size = Vector3.new(0.5,0.5,0.5) | |
306 | TouchSensor.Material = "Neon" | |
307 | TouchSensor.Transparency = 1 | |
308 | TouchSensor.CanCollide = false | |
309 | ||
310 | local TouchSensorWeld = Instance.new("Weld", TouchSensor) | |
311 | TouchSensorWeld.Part0 = char.HumanoidRootPart | |
312 | TouchSensorWeld.Part1 = TouchSensor | |
313 | TouchSensorWeld.C0 = CFrame.new(0,-4,0) | |
314 | ||
315 | local LastMaterial = "Grass" | |
316 | local LastColor = Color3.fromRGB(0,0,0) | |
317 | local LastTrans = 0 | |
318 | ||
319 | TouchSensor.Touched:Connect(function(hit) | |
320 | if hit.Parent:FindFirstChildOfClass("Humanoid") == nil and hit:IsA("Part") and hit.Parent ~= Effects and hit.Parent ~= BodyParts and hit.Parent ~= HealthBarParts then | |
321 | LastMaterial = hit.Material | |
322 | LastColor = hit.Color | |
323 | LastTrans = hit.Transparency | |
324 | end | |
325 | end) | |
326 | ||
327 | local BlockHead = Instance.new("Part", BodyParts) | |
328 | BlockHead.Size = Vector3.new(2,2,2) | |
329 | BlockHead.Material = "Grass" | |
330 | ||
331 | local HeadWeld = Instance.new("Weld", BlockHead) | |
332 | HeadWeld.Part0 = char.Head | |
333 | HeadWeld.Part1 = BlockHead | |
334 | ||
335 | local BlockTorso = Instance.new("Part", BodyParts) | |
336 | BlockTorso.Size = Vector3.new(3,3,3) | |
337 | BlockTorso.Material = "Grass" | |
338 | ||
339 | local TorsoWeld = Instance.new("Weld", BlockTorso) | |
340 | TorsoWeld.Part0 = char.Torso | |
341 | TorsoWeld.Part1 = BlockTorso | |
342 | TorsoWeld.C0 = CFrame.new(0, -1, 0) | |
343 | ||
344 | local BlockLeftArm = Instance.new("Part", BodyParts) | |
345 | BlockLeftArm.Size = Vector3.new(1,1,1) | |
346 | BlockLeftArm.Material = "Grass" | |
347 | ||
348 | local LAWeld = Instance.new("Weld", BlockLeftArm) | |
349 | LAWeld.Part0 = char["Left Arm"] | |
350 | LAWeld.Part1 = BlockLeftArm | |
351 | LAWeld.C0 = CFrame.new(0, -1, 0) | |
352 | ||
353 | local BlockRightArm = Instance.new("Part", BodyParts) | |
354 | BlockRightArm.Size = Vector3.new(1,1,1) | |
355 | BlockRightArm.Material = "Grass" | |
356 | ||
357 | local RAWeld = Instance.new("Weld", BlockRightArm) | |
358 | RAWeld.Part0 = char["Right Arm"] | |
359 | RAWeld.Part1 = BlockRightArm | |
360 | RAWeld.C0 = CFrame.new(0, -1, 0) | |
361 | ||
362 | ||
363 | local BlockLeftLeg = Instance.new("Part", BodyParts) | |
364 | BlockLeftLeg.Size = Vector3.new(1,1,1) | |
365 | BlockLeftLeg.Material = "Grass" | |
366 | ||
367 | local LLWeld = Instance.new("Weld", BlockLeftLeg) | |
368 | LLWeld.Part0 = char["Left Leg"] | |
369 | LLWeld.Part1 = BlockLeftLeg | |
370 | LLWeld.C0 = CFrame.new(0, -1, 0) | |
371 | ||
372 | local BlockRightLeg = Instance.new("Part", BodyParts) | |
373 | BlockRightLeg.Size = Vector3.new(1,1,1) | |
374 | BlockRightLeg.Material = "Grass" | |
375 | ||
376 | local RLWeld = Instance.new("Weld", BlockRightLeg) | |
377 | RLWeld.Part0 = char["Right Leg"] | |
378 | RLWeld.Part1 = BlockRightLeg | |
379 | RLWeld.C0 = CFrame.new(0, -1, 0) | |
380 | ||
381 | ||
382 | local LEye = Instance.new("Part", BlockHead) | |
383 | LEye.Color = Color3.new(1,1,1) | |
384 | LEye.Material = "Neon" | |
385 | LEye.Size = Vector3.new(0.2,0.2,0.2) | |
386 | local LEyeMesh = Instance.new("SpecialMesh", LEye) | |
387 | LEyeMesh.MeshType = "Brick" | |
388 | LEyeMesh.Scale = Vector3.new(1,1,1) | |
389 | local LEyeWeld = Instance.new("Weld", LEye) | |
390 | LEyeWeld.Part0 = BlockHead | |
391 | LEyeWeld.Part1 = LEye | |
392 | LEyeWeld.C0 = CFrame.new(-0.5,0,-1) | |
393 | ||
394 | local REye = Instance.new("Part", BlockHead) | |
395 | REye.Color = Color3.new(1,1,1) | |
396 | REye.Material = "Neon" | |
397 | REye.Size = Vector3.new(0.2,0.2,0.2) | |
398 | local REyeMesh = Instance.new("SpecialMesh", REye) | |
399 | REyeMesh.MeshType = "Brick" | |
400 | REyeMesh.Scale = Vector3.new(1,1,1) | |
401 | local REyeWeld = Instance.new("Weld", REye) | |
402 | REyeWeld.Part0 = BlockHead | |
403 | REyeWeld.Part1 = REye | |
404 | REyeWeld.C0 = CFrame.new(0.5,0,-1) | |
405 | ||
406 | ||
407 | -- EYE MANAGER | |
408 | ||
409 | coroutine.resume(coroutine.create(function() | |
410 | while wait() do | |
411 | for i = 1, 50 do | |
412 | RS.RenderStepped:wait() | |
413 | LEyeMesh.Scale = LEyeMesh.Scale:lerp(Vector3.new(1,0,1), 0.1) | |
414 | REyeMesh.Scale = REyeMesh.Scale:lerp(Vector3.new(1,0,1), 0.1) | |
415 | end | |
416 | for i = 1, 50 do | |
417 | RS.RenderStepped:wait() | |
418 | LEyeMesh.Scale = LEyeMesh.Scale:lerp(Vector3.new(1,1,1), 0.1) | |
419 | REyeMesh.Scale = REyeMesh.Scale:lerp(Vector3.new(1,1,1), 0.1) | |
420 | end | |
421 | wait(2) | |
422 | end | |
423 | end)) | |
424 | ||
425 | local BarrageS = false | |
426 | ||
427 | coroutine.resume(coroutine.create(function() | |
428 | while wait() do | |
429 | for _, o in pairs(BodyParts:GetChildren()) do | |
430 | if o == RArm or o == LArm then | |
431 | if BarrageS == false then | |
432 | o.Material = LastMaterial | |
433 | o.Color = o.Color:lerp(LastColor, 0.1) | |
434 | o.Transparency = LastTrans | |
435 | end | |
436 | else | |
437 | ||
438 | o.Material = LastMaterial | |
439 | o.Color = o.Color:lerp(LastColor, 0.1) | |
440 | o.Transparency = LastTrans | |
441 | end | |
442 | end | |
443 | end | |
444 | end)) | |
445 | ||
446 | coroutine.resume(coroutine.create(function() | |
447 | while wait() do | |
448 | HealthBase.CFrame = HealthBase.CFrame:lerp(char.HumanoidRootPart.CFrame * CFrame.new(0, 9, 0), BlockSpeed) | |
449 | Health.CFrame = Health.CFrame:lerp(HealthBase.CFrame, BlockSpeed*5) | |
450 | Health.Size = Health.Size:lerp(Vector3.new(Hum.Health/Hum.MaxHealth*10.1, 2.1, 2.1), 0.1) | |
451 | end | |
452 | end)) | |
453 | ||
454 | ||
455 | -- REGEN | |
456 | coroutine.resume(coroutine.create(function() | |
457 | while Hum.Health < Hum.MaxHealth do | |
458 | Hum.Health = Hum.Health + 1 | |
459 | local r1 = math.random(-5, 5) | |
460 | local r2 = math.random(-5, 5) | |
461 | local r3 = math.random(-5, 5) | |
462 | local c = math.random(1, 5) | |
463 | local Parto = Instance.new("Part", Effects) | |
464 | Parto.Material = "Neon" | |
465 | Parto.Size = Vector3.new(0.2, 0.2, 0.2) | |
466 | Parto.Shape = "Ball" | |
467 | Parto.Anchored = true | |
468 | Parto.CanCollide = false | |
469 | ||
470 | if c == 1 then | |
471 | Parto.Color = Color3.fromRGB(94, 255, 229) | |
472 | elseif c == 2 then | |
473 | Parto.Color = Color3.fromRGB(48, 255, 62) | |
474 | elseif c == 3 then | |
475 | Parto.Color = Color3.fromRGB(81, 255, 0) | |
476 | elseif c == 4 then | |
477 | Parto.Color = Color3.fromRGB(44, 252, 255) | |
478 | elseif c == 5 then | |
479 | Parto.Color = Color3.fromRGB(58, 180, 255) | |
480 | end | |
481 | ||
482 | Parto.CFrame = Torso.CFrame * CFrame.new(r1, r2, r3) | |
483 | coroutine.resume(coroutine.create(function() | |
484 | for i = 1, 50 do | |
485 | wait() | |
486 | Parto.CFrame = Parto.CFrame:lerp(Torso.CFrame, 0.1) | |
487 | Parto.Transparency = Parto.Transparency + 0.05 | |
488 | if Parto.Transparency >= 1 then | |
489 | Parto:Destroy() | |
490 | end | |
491 | end | |
492 | end)) | |
493 | wait() | |
494 | end | |
495 | end)) | |
496 | ||
497 | local RoarPower = 0 | |
498 | local RoarCharge = false | |
499 | ||
500 | ||
501 | ||
502 | local ChargeKame = false | |
503 | local KamePower = 0 | |
504 | local KameCool = false | |
505 | local beamgo = 6 | |
506 | ||
507 | ||
508 | function FireKame() | |
509 | Base:Destroy() | |
510 | for i = 1,50 do | |
511 | RS.RenderStepped:wait() | |
512 | PlayAnimationFromTable({ | |
513 | CFrame.new(0,0,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(0), mr(0), mr(0)), -- Torso, | |
514 | CFrame.new(0,1.5,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(0), mr(0), 0), ----- Head | |
515 | CFrame.new(1,0.4,-1.2) * CFrame.new(0, 0, 0.2) * CFrame.Angles(mr(90), mr(0), mr(-20)), --- RightArm | |
516 | CFrame.new(-1,0.4,-1.2) * CFrame.new(0, 0, 0.2) * CFrame.Angles(mr(90), mr(0), mr(20)),--LeftArm | |
517 | CFrame.new(0.6,-2,0.2) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(-5), mr(-5), mr(5)), --RightLeg | |
518 | CFrame.new(-0.6,-2,0.2) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(-5), mr(5), mr(-5)), --LeftLeg | |
519 | }, .3, false) | |
520 | end | |
521 | ||
522 | local Base1 = Instance.new("Part", char) | |
523 | Base1.Anchored = true | |
524 | Base1.Material = "Neon" | |
525 | Base1.Size = V3.new(KamePower + 1, KamePower + 1, KamePower + 1) | |
526 | Base1.Shape = "Block" | |
527 | Base1.Color = Color3.fromRGB(255, 81, 0) | |
528 | Base1.CFrame = char.HumanoidRootPart.CFrame * CF.new(0, 0.5, -1.8) | |
529 | Base1.CanCollide = false | |
530 | local Mesh = Instance.new("SpecialMesh", Base1) | |
531 | Mesh.MeshType = "Sphere" | |
532 | ||
533 | local Beam = Instance.new("Part", char) | |
534 | Beam.Anchored = true | |
535 | Beam.Material = "Neon" | |
536 | Beam.Size = V3.new(0, KamePower- 0.8, KamePower- 0.8) | |
537 | Beam.Shape = "Block" | |
538 | Beam.Color = Color3.fromRGB(255, 157, 0) | |
539 | Beam.CFrame = Base1.CFrame * CFrame.Angles(0,mr(180),0) | |
540 | Beam.CanCollide = false | |
541 | local Mesh = Instance.new("SpecialMesh", Beam) | |
542 | Mesh.MeshType = "Cylinder" | |
543 | coroutine.resume(coroutine.create(function() | |
544 | for i = 1,100 do | |
545 | wait() | |
546 | beamgo = beamgo + 10 | |
547 | Beam.CFrame = Base1.CFrame * CFrame.Angles(0,mr(90),0) * CFrame.new(beamgo,0,0) | |
548 | Beam.Size = V3.new(beamgo * 2, KamePower + 0.5, KamePower + 0.5) | |
549 | ||
550 | ||
551 | end | |
552 | end)) | |
553 | ||
554 | ||
555 | Beam.Touched:Connect(function(hit) | |
556 | if hit.Parent:FindFirstChildOfClass("Humanoid") ~= nil then | |
557 | -- Player | |
558 | if hit.Parent.Name == p.Name then return end | |
559 | hit.Parent:BreakJoints() | |
560 | end | |
561 | end) | |
562 | ||
563 | ||
564 | ||
565 | wait(5) | |
566 | ||
567 | for i = 1,200 do | |
568 | RS.RenderStepped:wait() | |
569 | beamgo = beamgo - 1 | |
570 | Beam.Size = Beam.Size - V3.new(0,0.01,0.01) | |
571 | Base1.Size = Base1.Size - V3.new(0.01,0.01,0.01) | |
572 | Beam.Transparency = Beam.Transparency + 0.01 | |
573 | Base1.Transparency = Base1.Transparency + 0.01 | |
574 | if Base1.Transparency >= 1 then | |
575 | Base1:Destroy() | |
576 | Beam:Destroy() | |
577 | end | |
578 | end | |
579 | Hum.WalkSpeed = 16 | |
580 | Hum.JumpPower = 50 | |
581 | KamePower = 0 | |
582 | beamgo = 6 | |
583 | Pause = false | |
584 | end | |
585 | ||
586 | ||
587 | function Kamehameha() | |
588 | if not KameCool then | |
589 | KameCool = true | |
590 | Hum.WalkSpeed = 0 | |
591 | Hum.JumpPower = 0 | |
592 | ||
593 | for i = 1,50 do | |
594 | RS.RenderStepped:wait() | |
595 | PlayAnimationFromTable({ | |
596 | CFrame.new(0,0,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(-5), mr(-60), mr(-5)), -- Torso, | |
597 | CFrame.new(0,1.5,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(5), mr(60), 0), ----- Head | |
598 | CFrame.new(1.5,0,-0.3) * CFrame.new(0, 0, 0.2) * CFrame.Angles(mr(60), mr(15), mr(40)), --- RightArm | |
599 | CFrame.new(-0.5,0.1,-1.2) * CFrame.new(0, 0, 0.2) * CFrame.Angles(mr(140), mr(-35), mr(90)),--LeftArm | |
600 | CFrame.new(0.6,-2,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(5), mr(-5), mr(5)), --RightLeg | |
601 | CFrame.new(-0.6,-2,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(5), mr(60), mr(-5)), --LeftLeg | |
602 | }, .3, false) | |
603 | end | |
604 | Base = Instance.new("Part", char) | |
605 | Base.CanCollide = false | |
606 | Base.Anchored = true | |
607 | Base.Material = "Neon" | |
608 | Base.Size = V3.new(0, 0, 0) | |
609 | Base.Shape = "Ball" | |
610 | Base.Color = Color3.fromRGB(255, 157, 0) | |
611 | Base.CFrame = char.HumanoidRootPart.CFrame * CF.new(2.3, -0.1, 0) | |
612 | coroutine.resume(coroutine.create(function() | |
613 | while wait() and ChargeKame == true do | |
614 | if KamePower >= 1.180 then | |
615 | FireKame() | |
616 | ChargeKame = false | |
617 | else | |
618 | KamePower = KamePower + 0.002 | |
619 | Base.Size = V3.new(KamePower, KamePower, KamePower) | |
620 | end | |
621 | end | |
622 | end)) | |
623 | wait(2) | |
624 | KameCool = false | |
625 | end | |
626 | end | |
627 | ||
628 | ||
629 | ||
630 | ||
631 | ||
632 | function ChargeRoar() | |
633 | Hum.WalkSpeed = 0 | |
634 | Hum.JumpPower = 0 | |
635 | Pause = true | |
636 | ||
637 | local Ball = Instance.new("Part", Effects) | |
638 | Ball.Name = "RoarCharge" | |
639 | Ball.Material = LastMaterial | |
640 | Ball.Color = LastColor | |
641 | Ball.Size = Vector3.new(0,0,0) | |
642 | Ball.Shape = "Ball" | |
643 | Ball.CanCollide = false | |
644 | Ball.Anchored = true | |
645 | Ball.CFrame = Head.CFrame * CFrame.new(0,2,-1) | |
646 | ||
647 | coroutine.resume(coroutine.create(function() | |
648 | while wait() and RoarCharge == true do | |
649 | ||
650 | PlayAnimationFromTable({ | |
651 | CFrame.new(0,0,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(0), mr(0), 0), -- Torso, | |
652 | CFrame.new(0,1.5,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(70), mr(0), 0), ----- Head | |
653 | CFrame.new(1.5,0,0) * CFrame.new(0.3, 0-.1*math.sin(tick()*1), 0) * CFrame.Angles(mr(0),mr(0),mr(10)), --- RightArm | |
654 | CFrame.new(-1.5,0,0) * CFrame.new(-0.3, 0-.1*math.sin(tick()*1), 0) * CFrame.Angles(mr(0), mr(0), mr(-10)),--LeftArm | |
655 | CFrame.new(0.5,-2,0) * CFrame.new(0, 0, 0) * CFrame.Angles(0, mr(20), 0), --RightLeg | |
656 | CFrame.new(-0.5,-2,0) * CFrame.new(-0.4, 0, -0.4) * CFrame.Angles(0, mr(20), mr(-10)), --LeftLeg | |
657 | }, .3, false) | |
658 | ||
659 | RoarPower = RoarPower + 0.01 | |
660 | Ball.Size = Vector3.new(RoarPower, RoarPower, RoarPower) | |
661 | Ball.CFrame = Ball.CFrame * CFrame.new(0,0.005,0) | |
662 | end | |
663 | end)) | |
664 | end | |
665 | ||
666 | ||
667 | function FireRoar() | |
668 | local Ball = Effects.RoarCharge | |
669 | for i = 1, 50 do | |
670 | RS.RenderStepped:wait() | |
671 | Ball.CFrame = Ball.CFrame:lerp(Head.CFrame, 0.1) | |
672 | Ball.Size = Ball.Size:lerp(Vector3.new(0,0,0), 0.1) | |
673 | end | |
674 | ||
675 | for i = 1, 10 do | |
676 | RS.RenderStepped:wait() | |
677 | PlayAnimationFromTable({ | |
678 | CFrame.new(0,0,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(0), mr(0), 0), -- Torso, | |
679 | CFrame.new(0,1.5,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(0), mr(0), 0), ----- Head | |
680 | CFrame.new(1.5,0,0) * CFrame.new(0.3, 0-.1*math.sin(tick()*1), 0) * CFrame.Angles(mr(0),mr(0),mr(10)), --- RightArm | |
681 | CFrame.new(-1.5,0,0) * CFrame.new(-0.3, 0-.1*math.sin(tick()*1), 0) * CFrame.Angles(mr(0), mr(0), mr(-10)),--LeftArm | |
682 | CFrame.new(0.5,-2,0) * CFrame.new(0, 0, 0) * CFrame.Angles(0, mr(20), 0), --RightLeg | |
683 | CFrame.new(-0.5,-2,0) * CFrame.new(-0.4, 0, -0.4) * CFrame.Angles(0, mr(20), mr(-10)), --LeftLeg | |
684 | }, .3, false) | |
685 | end | |
686 | RoarS:Play() | |
687 | Ball:Destroy() | |
688 | ||
689 | for i = 1, 100 do | |
690 | wait(0.1) | |
691 | local rad1 = math.random(-1, 1) | |
692 | local rad2 = math.random(-1, 1) | |
693 | local rad3 = math.random(-1, 1) | |
694 | ||
695 | local color = math.random(1, 2) | |
696 | ||
697 | local Roar = Instance.new("Part", Effects) | |
698 | Roar.Name = "Roar" | |
699 | Roar.Material = "Neon" | |
700 | if RoarPower <= 2 then | |
701 | Roar.Shape = "Ball" | |
702 | Roar.CFrame = Head.CFrame | |
703 | if color == 1 then | |
704 | Roar.Color = Color3.fromRGB(255, 81, 0) | |
705 | elseif color == 2 then | |
706 | Roar.Color = Color3.fromRGB(255, 157, 0) | |
707 | end | |
708 | ||
709 | elseif RoarPower >= 2 then | |
710 | Roar.Shape = "Ball" | |
711 | Roar.CFrame = Head.CFrame | |
712 | if color == 1 then | |
713 | Roar.Color = Color3.fromRGB(255, 0, 0) | |
714 | elseif color == 2 then | |
715 | Roar.Color = Color3.fromRGB(77, 0, 0) | |
716 | end | |
717 | end | |
718 | Roar.Size = Vector3.new(0,0,0) | |
719 | Roar.CanCollide = false | |
720 | Roar.Anchored = true | |
721 | ||
722 | coroutine.resume(coroutine.create(function() | |
723 | for i = 1, 500 do | |
724 | local Touchy = false | |
725 | ||
726 | coroutine.resume(coroutine.create(function() | |
727 | Roar.Touched:Connect(function(hit) | |
728 | if Touchy == false then | |
729 | Touchy = true | |
730 | if hit.Parent:FindFirstChildOfClass("Humanoid") and not hit:IsDescendantOf(char) then | |
731 | hit.Parent.Humanoid:TakeDamage(0.1) | |
732 | end | |
733 | wait(0.5) | |
734 | Touchy = false | |
735 | end | |
736 | end) | |
737 | end)) | |
738 | ||
739 | RS.RenderStepped:wait() | |
740 | Roar.CFrame = Roar.CFrame * CFrame.new(rad1/5,rad2/5,-1) | |
741 | Roar.Size = Roar.Size + Vector3.new(0.5, 0.5, 0.5) | |
742 | Roar.Transparency = Roar.Transparency + 0.007 | |
743 | if Roar.Transparency >= 1 then | |
744 | Roar:Destroy() | |
745 | end | |
746 | end | |
747 | end)) | |
748 | end | |
749 | Hum.WalkSpeed = 16 | |
750 | Hum.JumpPower = 50 | |
751 | Pause = false | |
752 | RoarPower = 0 | |
753 | end | |
754 | ||
755 | ||
756 | ||
757 | ||
758 | function GroundWave2(origin, color, color2) | |
759 | if origin ~= nil then | |
760 | local part = Instance.new("Part", origin) | |
761 | part.Anchored = true | |
762 | part.CanCollide = false | |
763 | part.Color = color | |
764 | part.Size = Vector3.new(1,1,1) | |
765 | part.Transparency = 0.4 | |
766 | part.Material = "Neon" | |
767 | part.CFrame = origin.CFrame | |
768 | local Mesh = Instance.new("SpecialMesh", part) | |
769 | Mesh.MeshType = "Sphere" | |
770 | Mesh.Scale = Vector3.new(1,1,1) | |
771 | ||
772 | local part2 = Instance.new("Part", origin) | |
773 | part2.Anchored = true | |
774 | part2.CanCollide = false | |
775 | part2.Color = color2 | |
776 | part2.Size = Vector3.new(1,1,1) | |
777 | part2.Material = "Neon" | |
778 | part2.CFrame = origin.CFrame | |
779 | local Mesh2 = Instance.new("SpecialMesh", part2) | |
780 | Mesh2.MeshType = "Sphere" | |
781 | Mesh2.Scale = Vector3.new(0.8,0.8,0.8) | |
782 | ||
783 | local Ring = Instance.new("Part", char) | |
784 | Ring.Anchored = true | |
785 | Ring.CanCollide = false | |
786 | Ring.CFrame = part.CFrame | |
787 | local RingMesh = Instance.new("SpecialMesh", Ring) | |
788 | RingMesh.MeshId = "rbxassetid://471124075" | |
789 | RingMesh.Scale = Vector3.new(0,0,0) | |
790 | ||
791 | local Ring2 = Instance.new("Part", char) | |
792 | Ring2.Anchored = true | |
793 | Ring2.CanCollide = false | |
794 | Ring2.CFrame = part.CFrame * CFrame.Angles(0,0,mr(90)) | |
795 | local RingMesh2 = Instance.new("SpecialMesh", Ring2) | |
796 | RingMesh2.MeshId = "rbxassetid://471124075" | |
797 | RingMesh2.Scale = Vector3.new(0.02,0,0.02) | |
798 | ||
799 | coroutine.resume(coroutine.create(function() | |
800 | for i = 1, 120 do | |
801 | RS.RenderStepped:wait() | |
802 | Mesh.Scale = Mesh.Scale + Vector3.new(1, 0.3, 1) | |
803 | part.Transparency = part.Transparency + 0.01 | |
804 | ||
805 | Mesh2.Scale = Mesh2.Scale + Vector3.new(0.8, 0.1, 0.8) | |
806 | part2.Transparency = part2.Transparency + 0.01 | |
807 | if part.Transparency >= 1 then | |
808 | part:Destroy() | |
809 | end | |
810 | ||
811 | if part2.Transparency >= 1 then | |
812 | part2:Destroy() | |
813 | end | |
814 | RingMesh.Scale = RingMesh.Scale + Vector3.new(0.02,0,0.02) | |
815 | Ring.Transparency = Ring.Transparency + 0.02 | |
816 | ||
817 | RingMesh2.Scale = RingMesh2.Scale + Vector3.new(0.02,0,0.02) | |
818 | Ring2.Transparency = Ring2.Transparency + 0.02 | |
819 | if Ring.Transparency >= 1 then | |
820 | Ring:Destroy() | |
821 | Ring2:Destroy() | |
822 | end | |
823 | end | |
824 | end)) | |
825 | ||
826 | end | |
827 | end | |
828 | ||
829 | ||
830 | ||
831 | ||
832 | local BarrCool = false | |
833 | ||
834 | function Barrage() | |
835 | coroutine.resume(coroutine.create(function() | |
836 | while wait() and BarrageS == true do | |
837 | ||
838 | for i = 1, 2 do -- Right Punch | |
839 | RS.RenderStepped:wait() | |
840 | BlockRightArm.Material = "Neon" | |
841 | local color = math.random(1, 2) | |
842 | if color == 1 then | |
843 | BlockRightArm.Color = BlockRightArm.Color:lerp(Color3.fromRGB(255, 81, 0), 0.5) | |
844 | elseif color == 2 then | |
845 | BlockRightArm.Color = BlockRightArm.Color:lerp(Color3.fromRGB(255, 157, 0), 0.5) | |
846 | end | |
847 | ||
848 | BlockRightArm.Touched:Connect(function(hit) | |
849 | if hit.Parent:FindFirstChildOfClass("Humanoid") and not hit:IsDescendantOf(char) then | |
850 | if BarrCool == false and BarrageS == true then | |
851 | BarrCool = true | |
852 | hit.Parent:FindFirstChildOfClass("Humanoid"):TakeDamage(10) | |
853 | GroundWave2(hit, Color3.fromRGB(255, 81, 0), Color3.fromRGB(255, 157, 0)) | |
854 | local Punchy = Punch:Clone() | |
855 | Punchy.Parent = hit | |
856 | Punchy:Play() | |
857 | wait() | |
858 | BarrCool = false | |
859 | end | |
860 | end | |
861 | end) | |
862 | ||
863 | PlayAnimationFromTable({ | |
864 | CFrame.new(0,0,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(0), mr(0), 0), -- Torso, | |
865 | CFrame.new(0,1.5,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(0), mr(0), 0), ----- Head | |
866 | CFrame.new(1.5,0,0) * CFrame.new(0.3, 0, -3) * CFrame.Angles(mr(90),mr(0),mr(-20)), --- RightArm | |
867 | CFrame.new(-1.5,0,0) * CFrame.new(-0.3, 0, 2) * CFrame.Angles(mr(90), mr(0), mr(20)),--LeftArm | |
868 | CFrame.new(0.5,-2,0) * CFrame.new(0, 0, 0) * CFrame.Angles(0, mr(20), 0), --RightLeg | |
869 | CFrame.new(-0.5,-2,0) * CFrame.new(-0.4, 0, -0.4) * CFrame.Angles(0, mr(20), mr(-10)), --LeftLeg | |
870 | }, .5, false) | |
871 | end | |
872 | ||
873 | for i = 1, 2 do -- Left Punch | |
874 | RS.RenderStepped:wait() | |
875 | ||
876 | BlockLeftArm.Material = "Neon" | |
877 | local color = math.random(1, 2) | |
878 | if color == 1 then | |
879 | BlockLeftArm.Color = BlockLeftArm.Color:lerp(Color3.fromRGB(255, 81, 0), 0.5) | |
880 | elseif color == 2 then | |
881 | BlockLeftArm.Color = BlockLeftArm.Color:lerp(Color3.fromRGB(255, 157, 0), 0.5) | |
882 | end | |
883 | ||
884 | BlockLeftArm.Touched:Connect(function(hit) | |
885 | if hit.Parent:FindFirstChildOfClass("Humanoid") and not hit:IsDescendantOf(char) then | |
886 | if BarrCool == false and BarrageS == true then | |
887 | BarrCool = true | |
888 | hit.Parent:FindFirstChildOfClass("Humanoid"):TakeDamage(10) | |
889 | GroundWave2(hit, Color3.fromRGB(255, 81, 0), Color3.fromRGB(255, 157, 0)) | |
890 | local Punchy = Punch:Clone() | |
891 | Punchy.Parent = hit | |
892 | Punchy:Play() | |
893 | wait() | |
894 | BarrCool = false | |
895 | end | |
896 | end | |
897 | end) | |
898 | ||
899 | PlayAnimationFromTable({ | |
900 | CFrame.new(0,0,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(0), mr(0), 0), -- Torso, | |
901 | CFrame.new(0,1.5,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(0), mr(0), 0), ----- Head | |
902 | CFrame.new(1.5,0,0) * CFrame.new(0.3, 0, 2) * CFrame.Angles(mr(90),mr(0),mr(-20)), --- RightArm | |
903 | CFrame.new(-1.5,0,0) * CFrame.new(-0.3, 0, -3) * CFrame.Angles(mr(90), mr(0), mr(20)),--LeftArm | |
904 | CFrame.new(0.5,-2,0) * CFrame.new(0, 0, 0) * CFrame.Angles(0, mr(20), 0), --RightLeg | |
905 | CFrame.new(-0.5,-2,0) * CFrame.new(-0.4, 0, -0.4) * CFrame.Angles(0, mr(20), mr(-10)), --LeftLeg | |
906 | }, .5, false) | |
907 | end | |
908 | ||
909 | end | |
910 | end)) | |
911 | end | |
912 | ||
913 | ||
914 | mouse.KeyDown:Connect(function(k) | |
915 | if k == "e" then | |
916 | RoarCharge = true | |
917 | ChargeRoar() | |
918 | end | |
919 | if k == "r" then | |
920 | Pause = true | |
921 | ChargeKame = true | |
922 | Kamehameha() | |
923 | end | |
924 | if k == "q" then | |
925 | Pause = true | |
926 | BarrageS = true | |
927 | Barrage() | |
928 | end | |
929 | end) | |
930 | ||
931 | mouse.KeyUp:Connect(function(k) | |
932 | if k == "e" then | |
933 | RoarCharge = false | |
934 | FireRoar() | |
935 | end | |
936 | if k == "r" then | |
937 | ChargeKame = false | |
938 | FireKame() | |
939 | end | |
940 | if k == "q" then | |
941 | Pause = false | |
942 | BarrageS = false | |
943 | end | |
944 | end) | |
945 | ||
946 | ||
947 | ||
948 | Humanoid.Animator.Parent = nil | |
949 | Character.Animate.Parent = nil | |
950 | ||
951 | local newMotor = function(part0, part1, c0, c1) | |
952 | local w = Create('Motor'){ | |
953 | Parent = part0, | |
954 | Part0 = part0, | |
955 | Part1 = part1, | |
956 | C0 = c0, | |
957 | C1 = c1, | |
958 | } | |
959 | return w | |
960 | end | |
961 | function clerp(a, b, t) | |
962 | return a:lerp(b, t) | |
963 | end | |
964 | ||
965 | RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14) | |
966 | NeckCF = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) | |
967 | ||
968 | local RW = newMotor(Torso, RightArm, CFrame.new(1.5, 0, 0), CFrame.new(0, 0, 0)) | |
969 | local LW = newMotor(Torso, LeftArm, CFrame.new(-1.5, 0, 0), CFrame.new(0, 0, 0)) | |
970 | local RH = newMotor(Torso, RightLeg, CFrame.new(.5, -2, 0), CFrame.new(0, 0, 0)) | |
971 | local LH = newMotor(Torso, LeftLeg, CFrame.new(-.5, -2, 0), CFrame.new(0, 0, 0)) | |
972 | RootJoint.C1 = CFrame.new(0, 0, 0) | |
973 | RootJoint.C0 = CFrame.new(0, 0, 0) | |
974 | Torso.Neck.C1 = CFrame.new(0, 0, 0) | |
975 | Torso.Neck.C0 = CFrame.new(0, 1.5, 0) | |
976 | ||
977 | local rarmc1 = RW.C1 | |
978 | local larmc1 = LW.C1 | |
979 | local rlegc1 = RH.C1 | |
980 | local llegc1 = LH.C1 | |
981 | ||
982 | local resetc1 = false | |
983 | ||
984 | function PlayAnimationFromTable(table, speed, bool) | |
985 | RootJoint.C0 = clerp(RootJoint.C0, table[1], speed) | |
986 | Torso.Neck.C0 = clerp(Torso.Neck.C0, table[2], speed) | |
987 | RW.C0 = clerp(RW.C0, table[3], speed) | |
988 | LW.C0 = clerp(LW.C0, table[4], speed) | |
989 | RH.C0 = clerp(RH.C0, table[5], speed) | |
990 | LH.C0 = clerp(LH.C0, table[6], speed) | |
991 | if bool == true then | |
992 | if resetc1 == false then | |
993 | resetc1 = true | |
994 | RootJoint.C1 = RootJoint.C1 | |
995 | Torso.Neck.C1 = Torso.Neck.C1 | |
996 | RW.C1 = rarmc1 | |
997 | LW.C1 = larmc1 | |
998 | RH.C1 = rlegc1 | |
999 | LH.C1 = llegc1 | |
1000 | end | |
1001 | end | |
1002 | end | |
1003 | ||
1004 | ArtificialHB = Create("BindableEvent", script){ | |
1005 | Parent = script, | |
1006 | Name = "Heartbeat", | |
1007 | } | |
1008 | ||
1009 | script:WaitForChild("Heartbeat") | |
1010 | ||
1011 | frame = 1 / 30 | |
1012 | tf = 0 | |
1013 | allowframeloss = false | |
1014 | tossremainder = false | |
1015 | lastframe = tick() | |
1016 | script.Heartbeat:Fire() | |
1017 | ||
1018 | game:GetService("RunService").Heartbeat:connect(function(s, p) | |
1019 | tf = tf + s | |
1020 | if tf >= frame then | |
1021 | if allowframeloss then | |
1022 | script.Heartbeat:Fire() | |
1023 | lastframe = tick() | |
1024 | else | |
1025 | for i = 1, math.floor(tf / frame) do | |
1026 | script.Heartbeat:Fire() | |
1027 | end | |
1028 | lastframe = tick() | |
1029 | end | |
1030 | if tossremainder then | |
1031 | tf = 0 | |
1032 | else | |
1033 | tf = tf - frame * math.floor(tf / frame) | |
1034 | end | |
1035 | end | |
1036 | end) | |
1037 | ||
1038 | function swait(num) | |
1039 | if num == 0 or num == nil then | |
1040 | ArtificialHB.Event:wait() | |
1041 | else | |
1042 | for i = 0, num do | |
1043 | ArtificialHB.Event:wait() | |
1044 | end | |
1045 | end | |
1046 | end | |
1047 | ||
1048 | ||
1049 | ||
1050 | ||
1051 | ||
1052 | New = function(Object, Parent, Name, Data) | |
1053 | local Object = Instance.new(Object) | |
1054 | for Index, Value in pairs(Data or {}) do | |
1055 | Object[Index] = Value | |
1056 | end | |
1057 | Object.Parent = Parent | |
1058 | Object.Name = Name | |
1059 | return Object | |
1060 | end | |
1061 | function rayCast(Position, Direction, Range, Ignore) | |
1062 | return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore) | |
1063 | end | |
1064 | ||
1065 | ||
1066 | ||
1067 | ||
1068 | coroutine.wrap(function() | |
1069 | while 1 do | |
1070 | swait() | |
1071 | if doe <= 360 then | |
1072 | doe = doe + 2 | |
1073 | else | |
1074 | doe = 0 | |
1075 | end | |
1076 | end | |
1077 | end)() | |
1078 | while true and (animen == true) do | |
1079 | swait() | |
1080 | ||
1081 | Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude | |
1082 | velocity = RootPart.Velocity.y | |
1083 | sine = sine + change | |
1084 | local hit, pos = rayCast(RootPart.Position, (CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0))).lookVector, 4, Character) | |
1085 | if RootPart.Velocity.y > 1 and hit == nil then | |
1086 | Anim = "Jump" | |
1087 | if Pause == false then | |
1088 | PlayAnimationFromTable({ | |
1089 | CFrame.new(0,0,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(-10), 0, 0), -- Torso, | |
1090 | CFrame.new(0,1.5,0) * CFrame.new(0, 0, 0.3) * CFrame.Angles(mr(50), mr(0), mr(0)), ----- Head | |
1091 | CFrame.new(1.5,0,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(50),0,mr(10)), --- RightArm | |
1092 | CFrame.new(-1.5,0,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(50), 0, mr(-10)),--LeftArm | |
1093 | CFrame.new(0.5,-2,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(-50), 0, mr(-15)), --RightLeg | |
1094 | CFrame.new(-0.5,-2,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(-50), 0, mr(15)), --LeftLeg | |
1095 | }, .3, false) | |
1096 | end | |
1097 | elseif RootPart.Velocity.y < -1 and hit == nil then | |
1098 | Anim = "Fall" | |
1099 | if Pause == false then | |
1100 | PlayAnimationFromTable({ | |
1101 | CFrame.new(0,0,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(-20), mr(0), 0), -- Torso, | |
1102 | CFrame.new(0,1.5,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(-20), mr(0), 0), ----- Head | |
1103 | CFrame.new(1.5,0,0) * CFrame.new(0, 0, 0) * CFrame.Angles(0,0,mr(50)), --- RightArm | |
1104 | CFrame.new(-1.5,0,0) * CFrame.new(0, 0, 0.5) * CFrame.Angles(mr(0), 0, mr(-50)),--LeftArm | |
1105 | CFrame.new(0.5,-2,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(-10), 0, mr(-15)), --RightLeg | |
1106 | CFrame.new(-0.5,-2,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(10), 0, mr(15)), --LeftLeg | |
1107 | }, .3, false) | |
1108 | end | |
1109 | elseif Torsovelocity < 1 and hit ~= nil then | |
1110 | Anim = "Idle" | |
1111 | if Pause == false then | |
1112 | change = 1 | |
1113 | PlayAnimationFromTable({ | |
1114 | CFrame.new(0,0,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(0), mr(0), 0), -- Torso, | |
1115 | CFrame.new(0,1.5,0) * CFrame.new(0, 0, 0) * CFrame.Angles(mr(0), mr(0), 0), ----- Head | |
1116 | CFrame.new(1.5,0,0) * CFrame.new(0.3, 0-.1*math.sin(tick()*1), 0) * CFrame.Angles(mr(0),mr(0),mr(10)), --- RightArm | |
1117 | CFrame.new(-1.5,0,0) * CFrame.new(-0.3, 0-.1*math.sin(tick()*1), 0) * CFrame.Angles(mr(0), mr(0), mr(-10)),--LeftArm | |
1118 | CFrame.new(0.5,-2,0) * CFrame.new(0, 0, 0) * CFrame.Angles(0, mr(20), 0), --RightLeg | |
1119 | CFrame.new(-0.5,-2,0) * CFrame.new(-0.4, 0, -0.4) * CFrame.Angles(0, mr(20), mr(-10)), --LeftLeg | |
1120 | }, .3, false) | |
1121 | end | |
1122 | ||
1123 | elseif Torsovelocity > 2 and hit ~= nil then | |
1124 | Anim = "Walk" | |
1125 | if Pause == false then | |
1126 | PlayAnimationFromTable({ | |
1127 | CFrame.new(0,0,0) * CFrame.new(0, 0-.1*math.sin(tick()*19), 0) * CFrame.Angles(-0.3, 0, 0+RootPart.RotVelocity.Y/30), -- Torso | |
1128 | CFrame.new(0,1.5,0) * CFrame.new(0, 0, 0) * CFrame.Angles(0.2, 0+RootPart.RotVelocity.Y/20, 0), -- Head | |
1129 | CFrame.new(1.3,0.4,0) * CFrame.new(0, 0.2-.1*math.sin(tick()*17), 0.5) * CFrame.Angles(mr(-70),mr(-5),mr(10)), --- RightArm | |
1130 | CFrame.new(-1.3,0.4, 0) * CFrame.new(0, 0.2-.1*math.sin(tick()*17), 0.5) * CFrame.Angles(mr(-70), mr(5), mr(-10)),--LeftArm | |
1131 | CFrame.new(0.5,-2,0) * CFrame.new(0, 0, 0+ 1 * math.cos((sine) / 3)) * CFrame.Angles(math.rad(0 - 80 * math.cos((sine) / 3)), 0, 0-RootPart.RotVelocity.Y/33), | |
1132 | CFrame.new(-0.5,-2,0) * CFrame.new(0, 0, 0- 1 * math.cos((sine) / 3)) * CFrame.Angles(math.rad(0 + 80 * math.cos((sine) / 3)), 0, 0-RootPart.RotVelocity.Y/33), | |
1133 | }, .3, false) | |
1134 | end | |
1135 | end | |
1136 | end |