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 | -- [ GlitchMaster ] -- | |
143 | -- [ Cucumber Quest ] -- | |
144 | wait() | |
145 | LoudVolume = false | |
146 | Music = true | |
147 | script.Name = "GlitchMaster" | |
148 | Player = game.Players.LocalPlayer | |
149 | c = game.Players.LocalPlayer.Character | |
150 | Head = c.Head | |
151 | anim = c.Humanoid.Animator | |
152 | rage = false | |
153 | Battle = false | |
154 | p = game.Players.LocalPlayer | |
155 | Music = false | |
156 | PhaseEnabled = true | |
157 | TeleportEnabled = true | |
158 | c.Archivable = true | |
159 | WholeBody = c:clone() | |
160 | local Effects = {} | |
161 | attack = false | |
162 | local attacking = false | |
163 | vt = Vector3.new | |
164 | bc = BrickColor.new | |
165 | br = BrickColor.random | |
166 | it = Instance.new | |
167 | cf = CFrame.new | |
168 | euler = CFrame.fromEulerAnglesXYZ | |
169 | angles = CFrame.Angles | |
170 | matr = math.random | |
171 | mouse = Player:GetMouse() | |
172 | ||
173 | ||
174 | local S10 = Instance.new("Sound") local S11 = Instance.new("ParticleEmitter") | |
175 | ||
176 | c.Humanoid.WalkSpeed = 24 c.Humanoid.JumpPower = 50 | |
177 | ||
178 | RSC0 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0) | |
179 | RSC1 = CFrame.new(-0.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0) | |
180 | LSC0 = CFrame.new(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
181 | LSC1 = CFrame.new(0.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
182 | RHC0 = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0) | |
183 | RHC1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0) | |
184 | LHC0 = CFrame.new(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
185 | LHC1 = CFrame.new(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
186 | NC0 = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0) | |
187 | NC1 = CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0) | |
188 | RJC0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0) | |
189 | RJC1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0) | |
190 | RS = c.Torso:FindFirstChild("Right Shoulder") | |
191 | LS = c.Torso:FindFirstChild("Left Shoulder") | |
192 | RH = c.Torso:FindFirstChild("Right Hip") | |
193 | LH = c.Torso:FindFirstChild("Left Hip") | |
194 | RJ = c.HumanoidRootPart:FindFirstChild("RootJoint") | |
195 | N = c.Torso:FindFirstChild("Neck") | |
196 | cf = CFrame.new | |
197 | ang = CFrame.Angles | |
198 | rd = math.rad | |
199 | rd2 = math.random | |
200 | ||
201 | function swait(num) | |
202 | if num==0 or num==nil then | |
203 | game:service'RunService'.Heartbeat:wait(0) | |
204 | else | |
205 | for i=0,num do | |
206 | game:service'RunService'.Heartbeat:wait(0) | |
207 | end | |
208 | end | |
209 | end | |
210 | ||
211 | function AnimDis() | |
212 | if c.Animate.Disabled == false then | |
213 | c.Animate.Disabled = true | |
214 | anim.Parent = nil | |
215 | else | |
216 | anim.Parent = c.Humanoid | |
217 | c.Animate.Disabled = false | |
218 | end | |
219 | end | |
220 | function lerpz(joint, prop, cfrmz, alp) | |
221 | joint[prop] = joint[prop]:lerp(cfrmz, alp) | |
222 | end | |
223 | function resetlerp() | |
224 | RJ.C0 = RJC0 | |
225 | RJ.C1 = RJC1 | |
226 | N.C0 = NC0 | |
227 | N.C1 = NC1 | |
228 | RS.C0 = RSC0 | |
229 | RS.C1 = RSC1 | |
230 | LS.C0 = LSC0 | |
231 | LS.C1 = LSC1 | |
232 | RH.C0 = RHC0 | |
233 | RH.C1 = RHC1 | |
234 | LH.C0 = LHC0 | |
235 | LH.C1 = LHC1 | |
236 | end | |
237 | ||
238 | game:GetService('UserInputService').InputBegan:connect(function(InputObj) | |
239 | if InputObj.KeyCode == Enum.KeyCode.Slash then | |
240 | local finishEvent = nil | |
241 | isTyping = true | |
242 | finishEvent = game:GetService('UserInputService').InputBegan:connect(function(InputObj) | |
243 | if InputObj.KeyCode == Enum.KeyCode.Return or InputObj.UserInputType == Enum.UserInputType.MouseButton1 then | |
244 | isTyping = false | |
245 | finishEvent:disconnect() | |
246 | end | |
247 | end) | |
248 | end | |
249 | end) | |
250 | ||
251 | function VirusDestroy(H) | |
252 | spawn(function() | |
253 | for i = 1,1000 do | |
254 | H.Transparency = H.Transparency + 1/1000 | |
255 | swait() | |
256 | end | |
257 | game.Debris:AddItem(H,3)H.Anchored = true | |
258 | end) | |
259 | end | |
260 | ||
261 | function HitInfect(Part) | |
262 | Part.Touched:connect(function(Hit) | |
263 | if Hit.Size.Y <= 30 and Hit.Size.X <= 30 and Hit.Size.Z <= 30 and Hit.Transparency < 1 and Hit:findFirstChild("Glitch")== nil and Hit.Parent ~= c then | |
264 | local S = S10:clone() S.Parent = Hit S.Volume = 0.1 S.SoundId = "rbxassetid://606774093" S.Looped = true S:Play() | |
265 | Hit.Material = "Sand" Hit.BrickColor = BrickColor.new("Really black") HitInfect(Hit) VirusDestroy(Hit) | |
266 | for i = 1,2 do | |
267 | local tra = S11:clone() tra.Parent = Hit | |
268 | tra.Texture = "rbxassetid://744949545" | |
269 | tra.LightEmission = 0 | |
270 | if i == 1 then | |
271 | tra.Color = ColorSequence.new(Color3.new(0/255,255/255,0/255)) | |
272 | tra.ZOffset = 2.5 | |
273 | else | |
274 | tra.Color = ColorSequence.new(Color3.new(0/255,0/255,0/255)) | |
275 | tra.ZOffset = 3 | |
276 | end | |
277 | local PSize = (Hit.Size.Y+Hit.Size.X+Hit.Size.Z)/20 | |
278 | tra.Lifetime = NumberRange.new(1,3) | |
279 | tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.1,PSize,0),NumberSequenceKeypoint.new(1,0,0)}) | |
280 | tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)}) | |
281 | tra.Speed = NumberRange.new(0.5) tra.VelocitySpread = 360 tra.Name = "Glitch" | |
282 | tra.LockedToPart = true | |
283 | tra.Rate = 15 | |
284 | tra.VelocityInheritance = 0.2 | |
285 | if Hit:findFirstChild("Mesh") and Hit.Name ~= "Head" then | |
286 | if Hit:findFirstChild("Mesh"):IsA("SpecialMesh") then | |
287 | Hit.Mesh.TextureId = "rbxassetid://64619306" | |
288 | end | |
289 | elseif Hit.Name ~= "Head" then | |
290 | local M = Instance.new("SpecialMesh",Hit)M.MeshId = "rbxassetid://9856898" M.TextureId = "rbxassetid://64619306" | |
291 | M.Scale = Vector3.new(Hit.Size.X*2,Hit.Size.Y*2,Hit.Size.Z*2) | |
292 | end | |
293 | end | |
294 | end | |
295 | end) | |
296 | end | |
297 | function Virusify(Hit) | |
298 | local S = S10:clone() S.Parent = Hit S.Volume = 0.1 S.SoundId = "rbxassetid://606774093" S.Looped = true S:Play() | |
299 | Hit.Material = "Sand" Hit.BrickColor = BrickColor.new("Really black") | |
300 | for i = 1,2 do | |
301 | local tra = S11:clone() tra.Parent = Hit | |
302 | tra.Texture = "rbxassetid://744949545" | |
303 | tra.LightEmission = 0 | |
304 | if i == 1 then | |
305 | tra.Name = "Glitch" | |
306 | tra.Color = ColorSequence.new(Color3.new(0/255,255/255,0/255)) | |
307 | tra.ZOffset = 2.5 | |
308 | else | |
309 | tra.Name = "Glitch2" | |
310 | tra.Color = ColorSequence.new(Color3.new(0/255,0/255,0/255)) | |
311 | tra.ZOffset = 3 | |
312 | end | |
313 | local PSize = (Hit.Size.Y+Hit.Size.X+Hit.Size.Z)/20 | |
314 | tra.Lifetime = NumberRange.new(1,3) | |
315 | tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.1,PSize*0.75,0),NumberSequenceKeypoint.new(1,0,0)}) | |
316 | tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)}) | |
317 | tra.Speed = NumberRange.new(0.5) tra.VelocitySpread = 360 | |
318 | tra.LockedToPart = true | |
319 | tra.Rate = 15+(Hit.Size.Y+Hit.Size.X+Hit.Size.Z)*5 | |
320 | tra.VelocityInheritance = 0.2 | |
321 | if Hit:findFirstChild("Mesh") and Hit.Name ~= "Head" then | |
322 | if Hit:findFirstChild("Mesh"):IsA("SpecialMesh") then | |
323 | Hit.Mesh.TextureId = "rbxassetid://64619306" | |
324 | end | |
325 | elseif Hit.Name ~= "Head" then | |
326 | local M = Instance.new("SpecialMesh",Hit)M.MeshId = "rbxassetid://9856898" M.TextureId = "rbxassetid://64619306" | |
327 | M.Scale = Vector3.new(Hit.Size.X*2,Hit.Size.Y*2,Hit.Size.Z*2) | |
328 | end | |
329 | end | |
330 | end | |
331 | ||
332 | function Virusify2(Hit) | |
333 | Hit.Material = "Sand" Hit.BrickColor = BrickColor.new("Really black") | |
334 | for i = 1,2 do | |
335 | local tra = S11:clone() tra.Parent = Hit | |
336 | tra.Texture = "rbxassetid://744949545" | |
337 | tra.LightEmission = 0 | |
338 | if i == 1 then | |
339 | tra.Name = "Glitch" | |
340 | tra.Color = ColorSequence.new(Color3.new(0/255,255/255,0/255)) | |
341 | tra.ZOffset = 2.5 | |
342 | else | |
343 | tra.Name = "Glitch2" | |
344 | tra.Color = ColorSequence.new(Color3.new(0/255,0/255,0/255)) | |
345 | tra.ZOffset = 3 | |
346 | end | |
347 | local PSize = (Hit.Size.Y)/4 | |
348 | tra.Lifetime = NumberRange.new(0.5) | |
349 | tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.1,1,0),NumberSequenceKeypoint.new(1,0,0)}) | |
350 | tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)}) | |
351 | tra.Speed = NumberRange.new(0.5) tra.VelocitySpread = 360 | |
352 | tra.LockedToPart = true | |
353 | tra.Rate = 50 | |
354 | tra.VelocityInheritance = 0.2 | |
355 | if Hit:findFirstChild("Mesh") and Hit.Name ~= "Head" then | |
356 | if Hit:findFirstChild("Mesh"):IsA("SpecialMesh") then | |
357 | Hit.Mesh.TextureId = "rbxassetid://64619306" | |
358 | end | |
359 | elseif Hit.Name ~= "Head" then | |
360 | local M = Instance.new("SpecialMesh",Hit)M.MeshId = "rbxassetid://9856898" M.TextureId = "rbxassetid://64619306" | |
361 | M.Scale = Vector3.new(Hit.Size.X*2,Hit.Size.Y*2,Hit.Size.Z*2) | |
362 | end | |
363 | end | |
364 | end | |
365 | ||
366 | function Virusify3(Hit) | |
367 | local S = S10:clone() S.Parent = Hit S.Volume = 0.1 S.SoundId = "rbxassetid://606774093" S.Looped = true S:Play() | |
368 | Hit.Material = "Sand" Hit.BrickColor = BrickColor.new("Really black") | |
369 | for i2 = 1,2 do | |
370 | for i = 1,2 do | |
371 | local tra = S11:clone() tra.Parent = Hit | |
372 | tra.Texture = "rbxassetid://744949545" | |
373 | tra.LightEmission = 0 | |
374 | if i == 1 then | |
375 | tra.Name = "Glitch" | |
376 | tra.Color = ColorSequence.new(Color3.new(0/255,255/255,0/255)) | |
377 | tra.ZOffset = 2.5 | |
378 | else | |
379 | tra.Name = "Glitch2" | |
380 | tra.Color = ColorSequence.new(Color3.new(0/255,0/255,0/255)) | |
381 | tra.ZOffset = 3 | |
382 | end | |
383 | if i2 == 1 then | |
384 | tra.LockedToPart = true | |
385 | else | |
386 | tra.LockedToPart = false | |
387 | end | |
388 | local PSize = (Hit.Size.Y+Hit.Size.X+Hit.Size.Z)/20 | |
389 | tra.Lifetime = NumberRange.new(1,3) | |
390 | tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.1,PSize*0.75,0),NumberSequenceKeypoint.new(1,0,0)}) | |
391 | tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)}) | |
392 | tra.Speed = NumberRange.new(0.5) tra.VelocitySpread = 360 | |
393 | tra.Rate = 35+(Hit.Size.Y+Hit.Size.X+Hit.Size.Z)*5 | |
394 | tra.VelocityInheritance = 0.2 | |
395 | if Hit:findFirstChild("Mesh") and Hit.Name ~= "Head" then | |
396 | if Hit:findFirstChild("Mesh"):IsA("SpecialMesh") then | |
397 | Hit.Mesh.TextureId = "rbxassetid://64619306" | |
398 | end | |
399 | elseif Hit.Name ~= "Head" then | |
400 | local M = Instance.new("SpecialMesh",Hit)M.MeshId = "rbxassetid://9856898" M.TextureId = "rbxassetid://64619306" | |
401 | M.Scale = Vector3.new(Hit.Size.X*2,Hit.Size.Y*2,Hit.Size.Z*2) | |
402 | end | |
403 | end | |
404 | end | |
405 | end | |
406 | ||
407 | local S = Instance.new("Sound",c.HumanoidRootPart)S.Volume = 0.4 S.SoundId = "rbxassetid://606774093" S.Looped = true S:Play() | |
408 | ||
409 | for i,v in pairs(c:children()) do | |
410 | if v.ClassName == "Accessory" then | |
411 | v:remove() | |
412 | end | |
413 | end | |
414 | ||
415 | if c:findFirstChild("Body Colors") then | |
416 | c:findFirstChild("Body Colors"):remove() | |
417 | end | |
418 | for i,v in pairs (c:children()) do | |
419 | if v.ClassName == "Part" then | |
420 | if v.Name ~= "HumanoidRootPart" then | |
421 | HitInfect(v) | |
422 | v.Material = "Sand" v.BrickColor = BrickColor.new("Really black") | |
423 | for i2 = 1,2 do | |
424 | for i = 1,2 do | |
425 | local tra = S11:clone() tra.Parent = v | |
426 | tra.Texture = "rbxassetid://744949545" | |
427 | tra.LightEmission = 0 | |
428 | if i == 1 then | |
429 | tra.Color = ColorSequence.new(Color3.new(0/255,255/255,0/255)) | |
430 | tra.ZOffset = 2.5 | |
431 | else | |
432 | tra.Color = ColorSequence.new(Color3.new(0/255,0/255,0/255)) | |
433 | tra.ZOffset = 3 | |
434 | end | |
435 | tra.Rate = 15 | |
436 | tra.Lifetime = NumberRange.new(1,3) | |
437 | tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.1,0.15,0),NumberSequenceKeypoint.new(1,0,0)}) | |
438 | tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)}) | |
439 | tra.Speed = NumberRange.new(0.5) tra.VelocitySpread = 360 tra.Name = "Glitch" | |
440 | if i2 == 1 then | |
441 | tra.LockedToPart = true | |
442 | tra.Rate = 10 | |
443 | else | |
444 | tra.LockedToPart = false | |
445 | tra.ZOffset = tra.ZOffset - 2.25 | |
446 | end | |
447 | tra.VelocityInheritance = 0.2 | |
448 | end | |
449 | if v.Name ~= "Head" then | |
450 | local M = Instance.new("SpecialMesh",v)M.MeshId = "rbxassetid://9856898" M.TextureId = "rbxassetid://64619306" | |
451 | M.Scale = Vector3.new(v.Size.X*2,v.Size.Y*2,v.Size.Z*2) | |
452 | end | |
453 | end | |
454 | end | |
455 | end | |
456 | end | |
457 | c.Head.Transparency = 1 | |
458 | local P = Instance.new("Part",c)P.Size = Vector3.new(1,1,1)P.Anchored = false P.CanCollide = false P.Name = "HeadPart" | |
459 | local W = Instance.new("Weld",P)W.Part0 = P W.Part1 = c.Head | |
460 | local HM = Instance.new("SpecialMesh",P)HM.MeshId = "rbxassetid://539723444" HM.TextureId = "rbxassetid://64619306" HM.Scale = Vector3.new(0.97,0.97,0.97) | |
461 | wait() | |
462 | c.Head:FindFirstChild("face").Texture = "" | |
463 | if c:findFirstChild("Shirt")~=nil then | |
464 | c:findFirstChild("Shirt"):remove() | |
465 | end | |
466 | if c:findFirstChild("Pants")~=nil then | |
467 | c:findFirstChild("Pants"):remove() | |
468 | end | |
469 | ||
470 | local flying = false | |
471 | local deb = true | |
472 | local ctrl = {f = 0, b = 0, l = 0, r = 0} | |
473 | local lastctrl = {f = 0, b = 0, l = 0, r = 0} | |
474 | local maxspeed = 25 | |
475 | local speed = 0 | |
476 | ||
477 | function Fly() | |
478 | local bg = Instance.new("BodyGyro", c.HumanoidRootPart) | |
479 | bg.P = 100000 bg.D = 100 | |
480 | bg.maxTorque = Vector3.new(math.huge, 0, math.huge) | |
481 | bg.cframe = c.HumanoidRootPart.CFrame | |
482 | local bv = Instance.new("BodyVelocity", c.HumanoidRootPart) | |
483 | bv.velocity = Vector3.new(0,0.1,0) | |
484 | bv.maxForce = Vector3.new(math.huge, math.huge, math.huge) | |
485 | repeat wait() | |
486 | c.Humanoid.PlatformStand = true | |
487 | if ctrl.l + ctrl.r ~= 0 or ctrl.f + ctrl.b ~= 0 then | |
488 | speed = speed+1+(speed/maxspeed) | |
489 | if speed > maxspeed then | |
490 | speed = maxspeed | |
491 | end | |
492 | elseif not (ctrl.l + ctrl.r ~= 0 or ctrl.f + ctrl.b ~= 0) and speed ~= 0 then | |
493 | speed = speed-1 | |
494 | if speed < 0 then | |
495 | speed = 0 | |
496 | end | |
497 | end | |
498 | if (ctrl.l + ctrl.r) ~= 0 or (ctrl.f + ctrl.b) ~= 0 then | |
499 | bv.velocity = ((game.Workspace.CurrentCamera.CoordinateFrame.lookVector * (ctrl.f+ctrl.b)) + ((game.Workspace.CurrentCamera.CoordinateFrame * CFrame.new(ctrl.l+ctrl.r,(ctrl.f+ctrl.b)*.2,0).p) - game.Workspace.CurrentCamera.CoordinateFrame.p))*speed | |
500 | lastctrl = {f = ctrl.f, b = ctrl.b, l = ctrl.l, r = ctrl.r} | |
501 | elseif (ctrl.l + ctrl.r) == 0 and (ctrl.f + ctrl.b) == 0 and speed ~= 0 then | |
502 | bv.velocity = ((game.Workspace.CurrentCamera.CoordinateFrame.lookVector * (lastctrl.f+lastctrl.b)) + ((game.Workspace.CurrentCamera.CoordinateFrame * CFrame.new(lastctrl.l+lastctrl.r,(lastctrl.f+lastctrl.b)*.2,0).p) - game.Workspace.CurrentCamera.CoordinateFrame.p))*speed | |
503 | else | |
504 | bv.velocity = Vector3.new(0,0.1,0) | |
505 | end | |
506 | until not flying | |
507 | ctrl = {f = 0, b = 0, l = 0, r = 0} | |
508 | lastctrl = {f = 0, b = 0, l = 0, r = 0} | |
509 | speed = 0 | |
510 | bv:Destroy() | |
511 | c.Humanoid.PlatformStand = false | |
512 | end | |
513 | ||
514 | Cloud = false | |
515 | function CloudForm() | |
516 | if Cloud == false then | |
517 | S.Volume = 1 | |
518 | attack = true Cloud = true | |
519 | for i = 1,10 do | |
520 | lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.1) | |
521 | lerpz(N, "C0", NC0 * cf(0, 0, -1) * ang(rd(0), rd(0), rd(0)), 0.1) | |
522 | lerpz(RS, "C0", RSC0 * cf(0, 0, -2) * ang(rd(0), rd(0), rd(0)), 0.1) | |
523 | lerpz(RS, "C1", RSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.1) | |
524 | lerpz(LS, "C0", LSC0 * cf(0, 0, -2) * ang(rd(0), rd(0), rd(0)), 0.1) | |
525 | lerpz(LS, "C1", LSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.1) | |
526 | lerpz(RH, "C0", RHC0 * cf(0, 2.2, 0) * ang(rd(0), rd(0), rd(0)), 0.1) | |
527 | lerpz(RH, "C1", RHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.1) | |
528 | lerpz(LH, "C0", LHC0 * cf(0, 2.2, 0) * ang(rd(0), rd(0), rd(0)), 0.1) | |
529 | lerpz(LH, "C1", LHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.1) | |
530 | swait() | |
531 | end | |
532 | lerpz(RJ, "C0", RJC0 * cf(0, 0, 2500) * ang(rd(0), rd(0), rd(0)), 1) | |
533 | local Cl = Instance.new("Part",c)Cl.Size = Vector3.new(10,10,10) Cl.CanCollide = false Cl.Anchored = false Cl.CFrame = c.HumanoidRootPart.CFrame | |
534 | Cl.CustomPhysicalProperties = PhysicalProperties.new(0,0.3,0.5) | |
535 | Cl.Material = "Sand" Cl.BrickColor = BrickColor.new("Really black") Cl.Name = "Cloud" | |
536 | HitInfect(Cl) | |
537 | for i2 = 1,2 do | |
538 | for i = 1,2 do | |
539 | local tra = S11:clone() tra.Parent = CL | |
540 | tra.Texture = "rbxassetid://744949545" | |
541 | tra.LightEmission = 0 | |
542 | if i == 1 then | |
543 | tra.Color = ColorSequence.new(Color3.new(0/255,255/255,0/255)) | |
544 | tra.ZOffset = 2.5 | |
545 | else | |
546 | tra.Color = ColorSequence.new(Color3.new(0/255,0/255,0/255)) | |
547 | tra.ZOffset = 3 | |
548 | end | |
549 | tra.Lifetime = NumberRange.new(1,3) | |
550 | tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.1,1,0),NumberSequenceKeypoint.new(1,0,0)}) | |
551 | tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)}) | |
552 | tra.Speed = NumberRange.new(0.5) tra.VelocitySpread = 360 tra.Name = "Glitch" | |
553 | if i2 == 1 then | |
554 | tra.LockedToPart = true | |
555 | tra.Speed = NumberRange.new(0.5) | |
556 | else | |
557 | tra.LockedToPart = false | |
558 | tra.Speed = NumberRange.new(4) | |
559 | end | |
560 | tra.Rate = 250 | |
561 | tra.VelocityInheritance = 0.2 | |
562 | end | |
563 | end | |
564 | local W = Instance.new("Weld",c.HumanoidRootPart)W.Part0 = c.HumanoidRootPart W.Part1 = Cl | |
565 | local M = Instance.new("SpecialMesh",Cl)M.MeshId = "rbxassetid://9856898" M.TextureId = "rbxassetid://64619306" | |
566 | for i = 1,80 do | |
567 | M.Scale = Vector3.new(i/4,i/4,i/4) | |
568 | c.HumanoidRootPart.CFrame = c.HumanoidRootPart.CFrame*CFrame.new(0,3,0) | |
569 | swait() | |
570 | end | |
571 | flying = true attack = false | |
572 | Fly() | |
573 | else | |
574 | attack = true S.Volume = 0.4 | |
575 | if c:findFirstChild("Cloud") ~= nil then | |
576 | lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) | |
577 | if c.HumanoidRootPart:findFirstChild("Smile")~= nil then | |
578 | for i = 1,20 do | |
579 | c.HumanoidRootPart.Smile.ImageLabel.ImageTransparency = c.HumanoidRootPart.Smile.ImageLabel.ImageTransparency + 0.05 | |
580 | swait() | |
581 | end | |
582 | c.HumanoidRootPart.Smile:remove() | |
583 | end | |
584 | for i,v in pairs(c:findFirstChild("Cloud"):children()) do | |
585 | if v.Name == "Glitch" then | |
586 | v.Enabled = false | |
587 | end | |
588 | end | |
589 | for i = 1,80 do | |
590 | c:findFirstChild("Cloud").Mesh.Scale = c:findFirstChild("Cloud").Mesh.Scale - Vector3.new(0.25,0.25,0.25) | |
591 | swait() | |
592 | end | |
593 | game.Debris:AddItem(c:findFirstChild("Cloud"),2) | |
594 | Cloud = false end flying = false | |
595 | wait(2) | |
596 | attack = false | |
597 | end | |
598 | end | |
599 | ||
600 | function CloudFace() | |
601 | if c.HumanoidRootPart:findFirstChild("Smile")~= nil then | |
602 | for i = 1,20 do | |
603 | c.HumanoidRootPart.Smile.ImageLabel.ImageTransparency = c.HumanoidRootPart.Smile.ImageLabel.ImageTransparency + 0.05 | |
604 | swait() | |
605 | end | |
606 | c.HumanoidRootPart.Smile:remove() | |
607 | else | |
608 | local BillBoard = Instance.new("BillboardGui",c.HumanoidRootPart)BillBoard.Name = "Smile" BillBoard.AlwaysOnTop = true BillBoard.Size = UDim2.new(10,0,10,0) | |
609 | local Im = Instance.new("ImageLabel",BillBoard) Im.BackgroundTransparency = 1 Im.Size = UDim2.new(1,0,1,0)Im.Image = "rbxassetid://915081021" | |
610 | end | |
611 | end | |
612 | ||
613 | ||
614 | function VirusExplosion(Pos) | |
615 | for i = 1,10 do | |
616 | for i2 = 1,8 do | |
617 | local V = Instance.new("Part")V.Size = Vector3.new(1+i*20,0.5,10)V.Anchored = true V.CanCollide = false | |
618 | V.CFrame = Pos*CFrame.Angles(0,math.rad(45*i2),0) Virusify2(V) VirusFade(V) | |
619 | V.CFrame = V.CFrame*CFrame.new(0,3,2*i)HitInfect(V) V.Parent = game.Workspace | |
620 | end | |
621 | swait() | |
622 | end | |
623 | end | |
624 | ||
625 | function VirusFade(H) | |
626 | spawn(function() | |
627 | for i = 1,10 do | |
628 | H.Transparency = H.Transparency + 1/10 | |
629 | swait() | |
630 | end | |
631 | H:findFirstChild("Glitch").Enabled = false H:findFirstChild("Glitch2").Enabled = false | |
632 | game.Debris:AddItem(H,0.2) | |
633 | end) | |
634 | end | |
635 | ||
636 | function VirusFade2(H) | |
637 | spawn(function() | |
638 | for i = 1,25 do | |
639 | H.Transparency = H.Transparency + 1/25 | |
640 | swait() | |
641 | end | |
642 | H:findFirstChild("Glitch").Enabled = false H:findFirstChild("Glitch2").Enabled = false | |
643 | game.Debris:AddItem(H,4) | |
644 | end) | |
645 | end | |
646 | ||
647 | function HammerSlam() | |
648 | c.HumanoidRootPart.Anchored = true | |
649 | attack = true | |
650 | AnimDis() | |
651 | for i = 1,15 do | |
652 | lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(20), rd(0), rd(0)), 0.2)-- Y, X, Z | |
653 | lerpz(N, "C0", NC0 * cf(0, 0, 0) * ang(rd(20), rd(0), rd(0)), 0.2) -- Y, X, Z | |
654 | lerpz(RS, "C0", RSC0 * cf(0, 0, 0) * ang(rd(0), rd(45), rd(65)), 0.2) -- Z, X, Y | |
655 | lerpz(LS, "C0", LSC0 * cf(0, 0, 0) * ang(rd(0), rd(-45), rd(-65)), 0.2) -- Z, X, Y | |
656 | lerpz(RH, "C0", RHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(45)), 0.2) | |
657 | lerpz(LH, "C0", LHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(-45)), 0.2) | |
658 | swait() | |
659 | end | |
660 | local H = Instance.new("Part",c)H.Size = Vector3.new(1,1,15)H.CanCollide = false | |
661 | local H2 = Instance.new("Part",c)H2.Size = Vector3.new(5,10,5)H2.CanCollide = false | |
662 | local W = Instance.new("Weld",c["Torso"])W.Part0 = c["Torso"] W.Part1 = H W.C0 = CFrame.new(0,-2,0) | |
663 | local W2 = Instance.new("Weld",H2)W2.Part0 = H2 W2.Part1 = H W2.C0 = CFrame.new(0,0,-4) | |
664 | Virusify(H) Virusify(H2)HitInfect(H)HitInfect(H2) | |
665 | for i = 1,45 do | |
666 | W.C0 = CFrame.new(0,2,4)*CFrame.Angles(math.rad(5),0,0) | |
667 | lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(-20), rd(0), rd(0)), 0.2)-- Y, X, Z | |
668 | lerpz(N, "C0", NC0 * cf(0, 0, 0) * ang(rd(-20), rd(0), rd(0)), 0.2) -- Y, X, Z | |
669 | lerpz(RS, "C0", RSC0 * cf(0, 0, 0) * ang(rd(0), rd(-45), rd(220)), 0.2) -- Z, X, Y | |
670 | lerpz(LS, "C0", LSC0 * cf(0, 0, 0) * ang(rd(0), rd(45), rd(-220)), 0.2) -- Z, X, Y | |
671 | lerpz(RH, "C0", RHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(-45)), 0.2) | |
672 | lerpz(LH, "C0", LHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(45)), 0.2) | |
673 | swait() | |
674 | end | |
675 | W.C0 = CFrame.new(0,3,-8)*CFrame.Angles(math.rad(200),0,0) | |
676 | for i = 1,15 do | |
677 | lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(20), rd(0), rd(0)), 0.5)-- Y, X, Z | |
678 | lerpz(N, "C0", NC0 * cf(0, 0, 0) * ang(rd(20), rd(0), rd(0)), 0.5) -- Y, X, Z | |
679 | lerpz(RS, "C0", RSC0 * cf(0, 0, 0) * ang(rd(0), rd(45), rd(65)), 0.5) -- Z, X, Y | |
680 | lerpz(LS, "C0", LSC0 * cf(0, 0, 0) * ang(rd(0), rd(-45), rd(-65)), 0.5) -- Z, X, Y | |
681 | lerpz(RH, "C0", RHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(45)), 0.5) | |
682 | lerpz(LH, "C0", LHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(-45)), 0.5) | |
683 | swait() | |
684 | end | |
685 | local S = Instance.new("Sound",H2)S.Volume = 2 S.SoundId = "rbxassetid://211062246" S:Play() | |
686 | for i = 1,45 do | |
687 | for i2 = 1,8 do | |
688 | local V = Instance.new("Part")V.Size = Vector3.new(10+i*4,1,10)V.Anchored = true V.CanCollide = false | |
689 | V.CFrame = H2.CFrame*CFrame.Angles(0,math.rad(45*i2),0) Virusify2(V) VirusFade(V) | |
690 | V.CFrame = V.CFrame*CFrame.new(0,3,5*i)HitInfect(V) V.Parent = game.Workspace | |
691 | end | |
692 | swait() | |
693 | end | |
694 | H.Anchored = true H2.Anchored = true | |
695 | W:remove() W2:remove() | |
696 | c.HumanoidRootPart.Anchored = false | |
697 | AnimDis() | |
698 | attack = false | |
699 | spawn(function() | |
700 | wait(3) H.Transparency = 1 H2.Transparency = 1 | |
701 | H:findFirstChild("Glitch").Enabled = false H2:findFirstChild("Glitch").Enabled = false | |
702 | H:findFirstChild("Glitch2").Enabled = false H2:findFirstChild("Glitch2").Enabled = false | |
703 | game.Debris:AddItem(H,4) game.Debris:AddItem(H2,4) | |
704 | end) | |
705 | end | |
706 | ||
707 | function Missiles() | |
708 | attack = true | |
709 | local Mis = Instance.new("Part",game.Workspace)Mis.Name = "GlitchMissle" Mis.Size = Vector3.new(2,2,12) Mis.CFrame = c.HumanoidRootPart.CFrame Virusify3(Mis) | |
710 | Mis.CFrame = CFrame.new(Mis.CFrame:toWorldSpace(CFrame.new(0,0,0)).p,mouse.hit.p+Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20))) | |
711 | Mis.CanCollide = false local BV = Instance.new("BodyVelocity",Mis)BV.Velocity = Mis.CFrame.lookVector*150 BV.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
712 | local hit = false | |
713 | Mis.Touched:connect(function(Hit) | |
714 | if Hit.Parent ~= c then | |
715 | if hit == false then hit = true | |
716 | Mis.Anchored = true VirusFade2(Mis) | |
717 | VirusExplosion(CFrame.new(Mis.Position)) | |
718 | end | |
719 | end | |
720 | end) | |
721 | wait(0.1) | |
722 | attack = false | |
723 | end | |
724 | ||
725 | mouse.KeyDown:connect(function(key) | |
726 | if c.Humanoid.Health <= 0 then return end | |
727 | if attack == true then return end | |
728 | if Cloud == true then | |
729 | if key == "f" then | |
730 | CloudFace() | |
731 | end | |
732 | if key == "z" then | |
733 | Missiles() | |
734 | end | |
735 | elseif Cloud == false then | |
736 | if key == "z" then | |
737 | HammerSlam() | |
738 | end | |
739 | end | |
740 | if key == "m" then | |
741 | CloudForm() | |
742 | end | |
743 | end) | |
744 | ||
745 | local LastPos = c.HumanoidRootPart.CFrame | |
746 | local Resetting = false | |
747 | function Reset() | |
748 | if Resetting == false then Resetting = true | |
749 | c.Parent = nil | |
750 | c.Humanoid.Health = math.huge c.Humanoid.MaxHealth = math.huge | |
751 | for i,v in pairs(c:children()) do if v.ClassName == "Part" then v:remove() end end | |
752 | local Tors = Instance.new("Part",c)Tors.Name = "Torso" Tors.Size = Vector3.new(2,2,1) Virusify(Tors) | |
753 | local Hed = Instance.new("Part",c)Hed.Name = "Head" Hed.Size = Vector3.new(2,1,1) Virusify(Hed) Hed.Transparency = 1 | |
754 | makejoint(c.Torso, NC0, NC1, c.Torso, c.Head, "Neck") | |
755 | local Hum = Instance.new("Part",c)Hum.Name = "HumanoidRootPart" Hum.Size = Vector3.new(2,2,1) Hum.Transparency = 1 | |
756 | makejoint(c.HumanoidRootPart, RJC0, RJC1, c.HumanoidRootPart, c.Torso, "RootJoint") | |
757 | local P = Instance.new("Part",c)P.Size = Vector3.new(1,1,1)P.Anchored = false P.CanCollide = false P.Name = "HeadPart" | |
758 | local W = Instance.new("Weld",P)W.Part0 = P W.Part1 = c.Head | |
759 | local HM = Instance.new("SpecialMesh",P)HM.MeshId = "rbxassetid://539723444" HM.TextureId = "rbxassetid://64619306" HM.Scale = Vector3.new(0.97,0.97,0.97) | |
760 | local RiArm = Instance.new("Part",c)RiArm.Name = "Right Arm" RiArm.Size = Vector3.new(1,2,1) Virusify(RiArm) | |
761 | makejoint(c.Torso, RSC0, RSC1, c.Torso, RiArm, "Right Shoulder") | |
762 | local LeArm = Instance.new("Part",c)LeArm.Name = "Left Arm" LeArm.Size = Vector3.new(1,2,1) Virusify(LeArm) | |
763 | makejoint(c.Torso, LSC0, LSC1, c.Torso, LeArm, "Left Shoulder") | |
764 | local RiLeg = Instance.new("Part",c)RiLeg.Name = "Right Leg" RiLeg.Size = Vector3.new(1,2,1) Virusify(RiLeg) | |
765 | makejoint(c.Torso, RHC0, RHC1, c.Torso, RiLeg, "Right Hip") | |
766 | local LeLeg = Instance.new("Part",c)LeLeg.Name = "Left Leg" LeLeg.Size = Vector3.new(1,2,1) Virusify(LeLeg) | |
767 | makejoint(c.Torso, LHC0, LHC1, c.Torso, LeLeg, "Left Hip") | |
768 | c.HumanoidRootPart.CFrame = LastPos*CFrame.new(math.random(-5,5),0,math.random(-5,5)) | |
769 | Resetting = false c.Humanoid.Died:connect(Reset) c.Parent = game.Workspace | |
770 | end | |
771 | end | |
772 | c.Humanoid.Died:connect(Reset) | |
773 | ||
774 | function onKeyPress(inputObject, gameProcessedEvent) | |
775 | if isTyping == true then return end | |
776 | if inputObject.KeyCode == Enum.KeyCode.W then ctrl.f = 1 end | |
777 | if inputObject.KeyCode == Enum.KeyCode.S then ctrl.b = -1 end | |
778 | if inputObject.KeyCode == Enum.KeyCode.A then ctrl.l = -1 end | |
779 | if inputObject.KeyCode == Enum.KeyCode.D then ctrl.r = 1 end | |
780 | end | |
781 | game:GetService("UserInputService").InputBegan:connect(onKeyPress) | |
782 | ||
783 | function onKeyLift(inputObject, gameProcessedEvent) | |
784 | if isTyping == true then return end | |
785 | if inputObject.KeyCode == Enum.KeyCode.W then ctrl.f = 0 end | |
786 | if inputObject.KeyCode == Enum.KeyCode.S then ctrl.b = 0 end | |
787 | if inputObject.KeyCode == Enum.KeyCode.A then ctrl.l = 0 end | |
788 | if inputObject.KeyCode == Enum.KeyCode.D then ctrl.r = 0 end | |
789 | end | |
790 | game:GetService("UserInputService").InputEnded:connect(onKeyLift) | |
791 | ||
792 | WholeBody = c:clone() | |
793 | ||
794 | function makejoint(paren, co, ci, parto, parti, nam)local gloo = Instance.new("Motor6D")gloo.Name = nam gloo.C0 = co gloo.C1 = ci gloo.Part0 = parto gloo.Part1 = parti gloo.Parent = paren end | |
795 | idletime = 0 | |
796 | sine = 0 | |
797 | game:GetService("RunService").RenderStepped:connect(function() | |
798 | c.Humanoid.MaxHealth = c.Humanoid.MaxHealth + math.huge c.Humanoid.Health = c.Humanoid.Health + math.huge | |
799 | if Resetting == false then | |
800 | if c:findFirstChild("Head")== nil or c:findFirstChild("Torso")== nil or c:findFirstChild("HumanoidRootPart")== nil or c.HumanoidRootPart:findFirstChild("RootJoint")== nil then | |
801 | Reset() | |
802 | else | |
803 | LastPos = c.HumanoidRootPart.CFrame | |
804 | end | |
805 | if c.Torso:findFirstChild("Right Shoulder") == nil or c:findFirstChild("Right Arm")== nil then print("RA") | |
806 | local BodyPart = Instance.new("Part",c)BodyPart.Name = "Right Arm" BodyPart.Size = Vector3.new(1,2,1) Virusify(BodyPart) | |
807 | makejoint(c.Torso, RSC0, RSC1, c.Torso, BodyPart, "Right Shoulder") | |
808 | end | |
809 | if c.Torso:findFirstChild("Left Shoulder") == nil or c:findFirstChild("Left Arm")== nil then print("LA") | |
810 | local BodyPart = Instance.new("Part",c)BodyPart.Name = "Left Arm" BodyPart.Size = Vector3.new(1,2,1) Virusify(BodyPart) | |
811 | makejoint(c.Torso, LSC0, LSC1, c.Torso, BodyPart, "Left Shoulder") | |
812 | end | |
813 | if c.Torso:findFirstChild("Right Hip") == nil or c:findFirstChild("Right Leg")== nil then print("RL") | |
814 | local BodyPart = Instance.new("Part",c)BodyPart.Name = "Right Leg" BodyPart.Size = Vector3.new(1,2,1) Virusify(BodyPart) | |
815 | makejoint(c.Torso, RHC0, RHC1, c.Torso, BodyPart, "Right Hip") | |
816 | end | |
817 | if c.Torso:findFirstChild("Left Hip") == nil or c:findFirstChild("Left Leg")== nil then print("LL") | |
818 | local BodyPart = Instance.new("Part",c)BodyPart.Name = "Left Leg" BodyPart.Size = Vector3.new(1,2,1) Virusify(BodyPart) | |
819 | makejoint(c.Torso, LHC0, LHC1, c.Torso, BodyPart, "Left Hip") | |
820 | end | |
821 | local r = math.random(1,15) | |
822 | if r == 1 then S.PlaybackSpeed = math.random(1,50)/10 end | |
823 | if attack == false and Cloud == false then | |
824 | local r2 = math.random(1,50) | |
825 | if r2 == 1 then | |
826 | lerpz(RJ, "C0", RJC0 * cf(math.random(-5,5)/10, math.random(-5,5)/10, math.random(-5,5)/10) * ang(rd(0), rd(0), rd(0)), 1)-- Y, X, Z | |
827 | lerpz(N, "C0", NC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) -- Y, X, Z | |
828 | lerpz(RS, "C0", RSC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) -- Z, X, Y | |
829 | lerpz(RS, "C1", RSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) -- Z, X, Y | |
830 | lerpz(LS, "C0", LSC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) -- Z, X, Y | |
831 | lerpz(LS, "C1", LSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) -- Z, X, Y | |
832 | lerpz(RH, "C0", RHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) | |
833 | lerpz(RH, "C1", RHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) | |
834 | lerpz(LH, "C0", LHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) | |
835 | lerpz(LH, "C1", LHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) | |
836 | end | |
837 | lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5)-- Y, X, Z | |
838 | lerpz(N, "C0", NC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) -- Y, X, Z | |
839 | lerpz(RS, "C0", RSC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) -- Z, X, Y | |
840 | lerpz(RS, "C1", RSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) -- Z, X, Y | |
841 | lerpz(LS, "C0", LSC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) -- Z, X, Y | |
842 | lerpz(LS, "C1", LSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) -- Z, X, Y | |
843 | lerpz(RH, "C0", RHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) | |
844 | lerpz(RH, "C1", RHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) | |
845 | lerpz(LH, "C0", LHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) | |
846 | lerpz(LH, "C1", LHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) | |
847 | end | |
848 | end | |
849 | end) |