SHOW:
|
|
- or go back to the newest paste.
1 | print("jacktheboy654 made this") | |
2 | - | -- [ GlitchMaster ] -- |
2 | + | if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end |
3 | - | -- [ Cucumber Quest ] -- |
3 | + | local Player,game,owner = owner,game |
4 | local RealPlayer = Player | |
5 | do | |
6 | print("FE Compatibility code by Mokiros") | |
7 | script.Parent = Player.Character | |
8 | ||
9 | --RemoteEvent for communicating | |
10 | local Event = Instance.new("RemoteEvent") | |
11 | Event.Name = "UserInput_Event" | |
12 | ||
13 | --Fake event to make stuff like Mouse.KeyDown work | |
14 | local function fakeEvent() | |
15 | local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end} | |
16 | t.connect = t.Connect | |
17 | return t | |
18 | end | |
19 | ||
20 | --Creating fake input objects with fake variables | |
21 | local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()} | |
22 | local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()} | |
23 | local CAS = {Actions={},BindAction=function(self,name,fun,touch,...) | |
24 | CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil | |
25 | end} | |
26 | --Merged 2 functions into one by checking amount of arguments | |
27 | CAS.UnbindAction = CAS.BindAction | |
28 | ||
29 | --This function will trigger the events that have been :Connect()'ed | |
30 | local function te(self,ev,...) | |
31 | local t = m[ev] | |
32 | if t and t._fakeEvent and t.Function then | |
33 | t.Function(...) | |
34 | end | |
35 | end | |
36 | m.TrigEvent = te | |
37 | UIS.TrigEvent = te | |
38 | ||
39 | Event.OnServerEvent:Connect(function(plr,io) | |
40 | if plr~=Player then return end | |
41 | m.Target = io.Target | |
42 | m.Hit = io.Hit | |
43 | if not io.isMouse then | |
44 | local b = io.UserInputState == Enum.UserInputState.Begin | |
45 | if io.UserInputType == Enum.UserInputType.MouseButton1 then | |
46 | return m:TrigEvent(b and "Button1Down" or "Button1Up") | |
47 | end | |
48 | for _,t in pairs(CAS.Actions) do | |
49 | for _,k in pairs(t.Keys) do | |
50 | if k==io.KeyCode then | |
51 | t.Function(t.Name,io.UserInputState,io) | |
52 | end | |
53 | end | |
54 | end | |
55 | m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower()) | |
56 | UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false) | |
57 | end | |
58 | end) | |
59 | Event.Parent = NLS([==[ | |
60 | local Player = game:GetService("Players").LocalPlayer | |
61 | local Event = script:WaitForChild("UserInput_Event") | |
62 | ||
63 | local Mouse = Player:GetMouse() | |
64 | local UIS = game:GetService("UserInputService") | |
65 | local input = function(io,a) | |
66 | if a then return end | |
67 | --Since InputObject is a client-side instance, we create and pass table instead | |
68 | Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target}) | |
69 | end | |
70 | UIS.InputBegan:Connect(input) | |
71 | UIS.InputEnded:Connect(input) | |
72 | ||
73 | local h,t | |
74 | --Give the server mouse data 30 times every second, but only if the values changed | |
75 | --If player is not moving their mouse, client won't fire events | |
76 | while wait(1/30) do | |
77 | if h~=Mouse.Hit or t~=Mouse.Target then | |
78 | h,t=Mouse.Hit,Mouse.Target | |
79 | Event:FireServer({isMouse=true,Target=t,Hit=h}) | |
80 | end | |
81 | end]==],Player.Character) | |
82 | local _rg = game | |
83 | local function FakeService(t,RealService) | |
84 | t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService | |
85 | return setmetatable(t,{ | |
86 | __index = function(self,k) | |
87 | local s = rawget(self,"_RealService") | |
88 | if s then return s[k] end | |
89 | end, | |
90 | __newindex = function(self,k,v) | |
91 | local s = rawget(self,"_RealService") | |
92 | if s then s[k]=v end | |
93 | end, | |
94 | }) | |
95 | end | |
96 | local g = FakeService({ | |
97 | GetService = function(self,s) | |
98 | return self[s] | |
99 | end, | |
100 | Players = FakeService({ | |
101 | LocalPlayer = FakeService({GetMouse=function(self)return m end},Player) | |
102 | },"Players"), | |
103 | UserInputService = FakeService(UIS,"UserInputService"), | |
104 | ContextActionService = FakeService(CAS,"ContextActionService"), | |
105 | RunService = FakeService({RenderStepped=game:GetService("RunService").Heartbeat},"RunService") | |
106 | },game) | |
107 | rawset(g.Players,"localPlayer",g.Players.LocalPlayer) | |
108 | getmetatable(g).__index=function(self,s) | |
109 | return _rg:GetService(s) or typeof(_rg[s])=="function" | |
110 | and function(_,...)return _rg[s](_rg,...)end or _rg[s] | |
111 | end | |
112 | game = g | |
113 | owner = g.Players.LocalPlayer | |
114 | end | |
115 | ||
116 | ||
117 | wait() | |
118 | LoudVolume = false | |
119 | Music = true | |
120 | script.Name = "GlitchMaster" | |
121 | Player = game.Players.LocalPlayer | |
122 | c = game.Players.LocalPlayer.Character | |
123 | Head = c.Head | |
124 | anim = c.Humanoid.Animator | |
125 | rage = false | |
126 | Battle = false | |
127 | p = game.Players.LocalPlayer | |
128 | Music = false | |
129 | PhaseEnabled = true | |
130 | TeleportEnabled = true | |
131 | c.Archivable = true | |
132 | WholeBody = c:clone() | |
133 | local Effects = {} | |
134 | attack = false | |
135 | local attacking = false | |
136 | vt = Vector3.new | |
137 | bc = BrickColor.new | |
138 | br = BrickColor.random | |
139 | it = Instance.new | |
140 | cf = CFrame.new | |
141 | euler = CFrame.fromEulerAnglesXYZ | |
142 | angles = CFrame.Angles | |
143 | matr = math.random | |
144 | mouse = Player:GetMouse() | |
145 | ||
146 | ||
147 | local S10 = Instance.new("Sound") local S11 = Instance.new("ParticleEmitter") | |
148 | ||
149 | c.Humanoid.WalkSpeed = 24 c.Humanoid.JumpPower = 50 | |
150 | ||
151 | RSC0 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0) | |
152 | RSC1 = CFrame.new(-0.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0) | |
153 | LSC0 = CFrame.new(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
154 | LSC1 = CFrame.new(0.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
155 | RHC0 = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0) | |
156 | RHC1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0) | |
157 | LHC0 = CFrame.new(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
158 | LHC1 = CFrame.new(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
159 | NC0 = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0) | |
160 | NC1 = CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0) | |
161 | RJC0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0) | |
162 | RJC1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0) | |
163 | RS = c.Torso:FindFirstChild("Right Shoulder") | |
164 | LS = c.Torso:FindFirstChild("Left Shoulder") | |
165 | RH = c.Torso:FindFirstChild("Right Hip") | |
166 | LH = c.Torso:FindFirstChild("Left Hip") | |
167 | RJ = c.HumanoidRootPart:FindFirstChild("RootJoint") | |
168 | N = c.Torso:FindFirstChild("Neck") | |
169 | cf = CFrame.new | |
170 | ang = CFrame.Angles | |
171 | rd = math.rad | |
172 | rd2 = math.random | |
173 | ||
174 | function swait(num) | |
175 | if num==0 or num==nil then | |
176 | game:service'RunService'.Heartbeat:wait(0) | |
177 | else | |
178 | for i=0,num do | |
179 | game:service'RunService'.Heartbeat:wait(0) | |
180 | end | |
181 | end | |
182 | end | |
183 | ||
184 | function AnimDis() | |
185 | if c.Animate.Disabled == false then | |
186 | c.Animate.Disabled = true | |
187 | anim.Parent = nil | |
188 | else | |
189 | anim.Parent = c.Humanoid | |
190 | c.Animate.Disabled = false | |
191 | end | |
192 | end | |
193 | function lerpz(joint, prop, cfrmz, alp) | |
194 | joint[prop] = joint[prop]:lerp(cfrmz, alp) | |
195 | end | |
196 | function resetlerp() | |
197 | RJ.C0 = RJC0 | |
198 | RJ.C1 = RJC1 | |
199 | N.C0 = NC0 | |
200 | N.C1 = NC1 | |
201 | RS.C0 = RSC0 | |
202 | RS.C1 = RSC1 | |
203 | LS.C0 = LSC0 | |
204 | LS.C1 = LSC1 | |
205 | RH.C0 = RHC0 | |
206 | RH.C1 = RHC1 | |
207 | LH.C0 = LHC0 | |
208 | LH.C1 = LHC1 | |
209 | end | |
210 | ||
211 | game:GetService('UserInputService').InputBegan:connect(function(InputObj) | |
212 | if InputObj.KeyCode == Enum.KeyCode.Slash then | |
213 | local finishEvent = nil | |
214 | isTyping = true | |
215 | finishEvent = game:GetService('UserInputService').InputBegan:connect(function(InputObj) | |
216 | if InputObj.KeyCode == Enum.KeyCode.Return or InputObj.UserInputType == Enum.UserInputType.MouseButton1 then | |
217 | isTyping = false | |
218 | finishEvent:disconnect() | |
219 | end | |
220 | end) | |
221 | end | |
222 | end) | |
223 | ||
224 | function VirusDestroy(H) | |
225 | spawn(function() | |
226 | for i = 1,1000 do | |
227 | H.Transparency = H.Transparency + 1/1000 | |
228 | swait() | |
229 | end | |
230 | game.Debris:AddItem(H,3)H.Anchored = true | |
231 | end) | |
232 | end | |
233 | ||
234 | function HitInfect(Part) | |
235 | Part.Touched:connect(function(Hit) | |
236 | 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 | |
237 | local S = S10:clone() S.Parent = Hit S.Volume = 0.1 S.SoundId = "rbxassetid://606774093" S.Looped = true S:Play() | |
238 | Hit.Material = "Sand" Hit.BrickColor = BrickColor.new("Really black") HitInfect(Hit) VirusDestroy(Hit) | |
239 | for i = 1,2 do | |
240 | local tra = S11:clone() tra.Parent = Hit | |
241 | tra.Texture = "rbxassetid://744949545" | |
242 | tra.LightEmission = 0 | |
243 | if i == 1 then | |
244 | tra.Color = ColorSequence.new(Color3.new(0/255,255/255,0/255)) | |
245 | tra.ZOffset = 2.5 | |
246 | else | |
247 | tra.Color = ColorSequence.new(Color3.new(0/255,0/255,0/255)) | |
248 | tra.ZOffset = 3 | |
249 | end | |
250 | local PSize = (Hit.Size.Y+Hit.Size.X+Hit.Size.Z)/20 | |
251 | tra.Lifetime = NumberRange.new(1,3) | |
252 | tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.1,PSize,0),NumberSequenceKeypoint.new(1,0,0)}) | |
253 | tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)}) | |
254 | tra.Speed = NumberRange.new(0.5) tra.VelocitySpread = 360 tra.Name = "Glitch" | |
255 | tra.LockedToPart = true | |
256 | tra.Rate = 15 | |
257 | tra.VelocityInheritance = 0.2 | |
258 | if Hit:findFirstChild("Mesh") and Hit.Name ~= "Head" then | |
259 | if Hit:findFirstChild("Mesh"):IsA("SpecialMesh") then | |
260 | Hit.Mesh.TextureId = "rbxassetid://64619306" | |
261 | end | |
262 | elseif Hit.Name ~= "Head" then | |
263 | local M = Instance.new("SpecialMesh",Hit)M.MeshId = "rbxassetid://9856898" M.TextureId = "rbxassetid://64619306" | |
264 | M.Scale = Vector3.new(Hit.Size.X*2,Hit.Size.Y*2,Hit.Size.Z*2) | |
265 | end | |
266 | end | |
267 | end | |
268 | end) | |
269 | end | |
270 | function Virusify(Hit) | |
271 | local S = S10:clone() S.Parent = Hit S.Volume = 0.1 S.SoundId = "rbxassetid://606774093" S.Looped = true S:Play() | |
272 | Hit.Material = "Sand" Hit.BrickColor = BrickColor.new("Really black") | |
273 | for i = 1,2 do | |
274 | local tra = S11:clone() tra.Parent = Hit | |
275 | tra.Texture = "rbxassetid://744949545" | |
276 | tra.LightEmission = 0 | |
277 | if i == 1 then | |
278 | tra.Name = "Glitch" | |
279 | tra.Color = ColorSequence.new(Color3.new(0/255,255/255,0/255)) | |
280 | tra.ZOffset = 2.5 | |
281 | else | |
282 | tra.Name = "Glitch2" | |
283 | tra.Color = ColorSequence.new(Color3.new(0/255,0/255,0/255)) | |
284 | tra.ZOffset = 3 | |
285 | end | |
286 | local PSize = (Hit.Size.Y+Hit.Size.X+Hit.Size.Z)/20 | |
287 | tra.Lifetime = NumberRange.new(1,3) | |
288 | tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.1,PSize*0.75,0),NumberSequenceKeypoint.new(1,0,0)}) | |
289 | tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)}) | |
290 | tra.Speed = NumberRange.new(0.5) tra.VelocitySpread = 360 | |
291 | tra.LockedToPart = true | |
292 | tra.Rate = 15+(Hit.Size.Y+Hit.Size.X+Hit.Size.Z)*5 | |
293 | tra.VelocityInheritance = 0.2 | |
294 | if Hit:findFirstChild("Mesh") and Hit.Name ~= "Head" then | |
295 | if Hit:findFirstChild("Mesh"):IsA("SpecialMesh") then | |
296 | Hit.Mesh.TextureId = "rbxassetid://64619306" | |
297 | end | |
298 | elseif Hit.Name ~= "Head" then | |
299 | local M = Instance.new("SpecialMesh",Hit)M.MeshId = "rbxassetid://9856898" M.TextureId = "rbxassetid://64619306" | |
300 | M.Scale = Vector3.new(Hit.Size.X*2,Hit.Size.Y*2,Hit.Size.Z*2) | |
301 | end | |
302 | end | |
303 | end | |
304 | ||
305 | function Virusify2(Hit) | |
306 | Hit.Material = "Sand" Hit.BrickColor = BrickColor.new("Really black") | |
307 | for i = 1,2 do | |
308 | local tra = S11:clone() tra.Parent = Hit | |
309 | tra.Texture = "rbxassetid://744949545" | |
310 | tra.LightEmission = 0 | |
311 | if i == 1 then | |
312 | tra.Name = "Glitch" | |
313 | tra.Color = ColorSequence.new(Color3.new(0/255,255/255,0/255)) | |
314 | tra.ZOffset = 2.5 | |
315 | else | |
316 | tra.Name = "Glitch2" | |
317 | tra.Color = ColorSequence.new(Color3.new(0/255,0/255,0/255)) | |
318 | tra.ZOffset = 3 | |
319 | end | |
320 | local PSize = (Hit.Size.Y)/4 | |
321 | tra.Lifetime = NumberRange.new(0.5) | |
322 | tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.1,1,0),NumberSequenceKeypoint.new(1,0,0)}) | |
323 | tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)}) | |
324 | tra.Speed = NumberRange.new(0.5) tra.VelocitySpread = 360 | |
325 | tra.LockedToPart = true | |
326 | tra.Rate = 50 | |
327 | tra.VelocityInheritance = 0.2 | |
328 | if Hit:findFirstChild("Mesh") and Hit.Name ~= "Head" then | |
329 | if Hit:findFirstChild("Mesh"):IsA("SpecialMesh") then | |
330 | Hit.Mesh.TextureId = "rbxassetid://64619306" | |
331 | end | |
332 | elseif Hit.Name ~= "Head" then | |
333 | local M = Instance.new("SpecialMesh",Hit)M.MeshId = "rbxassetid://9856898" M.TextureId = "rbxassetid://64619306" | |
334 | M.Scale = Vector3.new(Hit.Size.X*2,Hit.Size.Y*2,Hit.Size.Z*2) | |
335 | end | |
336 | end | |
337 | end | |
338 | ||
339 | function Virusify3(Hit) | |
340 | local S = S10:clone() S.Parent = Hit S.Volume = 0.1 S.SoundId = "rbxassetid://606774093" S.Looped = true S:Play() | |
341 | Hit.Material = "Sand" Hit.BrickColor = BrickColor.new("Really black") | |
342 | for i2 = 1,2 do | |
343 | for i = 1,2 do | |
344 | local tra = S11:clone() tra.Parent = Hit | |
345 | tra.Texture = "rbxassetid://744949545" | |
346 | tra.LightEmission = 0 | |
347 | if i == 1 then | |
348 | tra.Name = "Glitch" | |
349 | tra.Color = ColorSequence.new(Color3.new(0/255,255/255,0/255)) | |
350 | tra.ZOffset = 2.5 | |
351 | else | |
352 | tra.Name = "Glitch2" | |
353 | tra.Color = ColorSequence.new(Color3.new(0/255,0/255,0/255)) | |
354 | tra.ZOffset = 3 | |
355 | end | |
356 | if i2 == 1 then | |
357 | tra.LockedToPart = true | |
358 | else | |
359 | tra.LockedToPart = false | |
360 | end | |
361 | local PSize = (Hit.Size.Y+Hit.Size.X+Hit.Size.Z)/20 | |
362 | tra.Lifetime = NumberRange.new(1,3) | |
363 | tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.1,PSize*0.75,0),NumberSequenceKeypoint.new(1,0,0)}) | |
364 | tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)}) | |
365 | tra.Speed = NumberRange.new(0.5) tra.VelocitySpread = 360 | |
366 | tra.Rate = 35+(Hit.Size.Y+Hit.Size.X+Hit.Size.Z)*5 | |
367 | tra.VelocityInheritance = 0.2 | |
368 | if Hit:findFirstChild("Mesh") and Hit.Name ~= "Head" then | |
369 | if Hit:findFirstChild("Mesh"):IsA("SpecialMesh") then | |
370 | Hit.Mesh.TextureId = "rbxassetid://64619306" | |
371 | end | |
372 | elseif Hit.Name ~= "Head" then | |
373 | local M = Instance.new("SpecialMesh",Hit)M.MeshId = "rbxassetid://9856898" M.TextureId = "rbxassetid://64619306" | |
374 | M.Scale = Vector3.new(Hit.Size.X*2,Hit.Size.Y*2,Hit.Size.Z*2) | |
375 | end | |
376 | end | |
377 | end | |
378 | end | |
379 | ||
380 | local S = Instance.new("Sound",c.HumanoidRootPart)S.Volume = 0.4 S.SoundId = "rbxassetid://606774093" S.Looped = true S:Play() | |
381 | ||
382 | for i,v in pairs(c:children()) do | |
383 | if v.ClassName == "Accessory" then | |
384 | v:remove() | |
385 | end | |
386 | end | |
387 | ||
388 | if c:findFirstChild("Body Colors") then | |
389 | c:findFirstChild("Body Colors"):remove() | |
390 | end | |
391 | for i,v in pairs (c:children()) do | |
392 | if v.ClassName == "Part" then | |
393 | if v.Name ~= "HumanoidRootPart" then | |
394 | HitInfect(v) | |
395 | v.Material = "Sand" v.BrickColor = BrickColor.new("Really black") | |
396 | for i2 = 1,2 do | |
397 | for i = 1,2 do | |
398 | local tra = S11:clone() tra.Parent = v | |
399 | tra.Texture = "rbxassetid://744949545" | |
400 | tra.LightEmission = 0 | |
401 | if i == 1 then | |
402 | tra.Color = ColorSequence.new(Color3.new(0/255,255/255,0/255)) | |
403 | tra.ZOffset = 2.5 | |
404 | else | |
405 | tra.Color = ColorSequence.new(Color3.new(0/255,0/255,0/255)) | |
406 | tra.ZOffset = 3 | |
407 | end | |
408 | tra.Rate = 15 | |
409 | tra.Lifetime = NumberRange.new(1,3) | |
410 | tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.1,0.15,0),NumberSequenceKeypoint.new(1,0,0)}) | |
411 | tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)}) | |
412 | tra.Speed = NumberRange.new(0.5) tra.VelocitySpread = 360 tra.Name = "Glitch" | |
413 | if i2 == 1 then | |
414 | tra.LockedToPart = true | |
415 | tra.Rate = 10 | |
416 | else | |
417 | tra.LockedToPart = false | |
418 | tra.ZOffset = tra.ZOffset - 2.25 | |
419 | end | |
420 | tra.VelocityInheritance = 0.2 | |
421 | end | |
422 | if v.Name ~= "Head" then | |
423 | local M = Instance.new("SpecialMesh",v)M.MeshId = "rbxassetid://9856898" M.TextureId = "rbxassetid://64619306" | |
424 | M.Scale = Vector3.new(v.Size.X*2,v.Size.Y*2,v.Size.Z*2) | |
425 | end | |
426 | end | |
427 | end | |
428 | end | |
429 | end | |
430 | c.Head.Transparency = 1 | |
431 | local P = Instance.new("Part",c)P.Size = Vector3.new(1,1,1)P.Anchored = false P.CanCollide = false P.Name = "HeadPart" | |
432 | local W = Instance.new("Weld",P)W.Part0 = P W.Part1 = c.Head | |
433 | local HM = Instance.new("SpecialMesh",P)HM.MeshId = "rbxassetid://539723444" HM.TextureId = "rbxassetid://64619306" HM.Scale = Vector3.new(0.97,0.97,0.97) | |
434 | wait() | |
435 | c.Head:FindFirstChild("face").Texture = "" | |
436 | if c:findFirstChild("Shirt")~=nil then | |
437 | c:findFirstChild("Shirt"):remove() | |
438 | end | |
439 | if c:findFirstChild("Pants")~=nil then | |
440 | c:findFirstChild("Pants"):remove() | |
441 | end | |
442 | ||
443 | local flying = false | |
444 | local deb = true | |
445 | local ctrl = {f = 0, b = 0, l = 0, r = 0} | |
446 | local lastctrl = {f = 0, b = 0, l = 0, r = 0} | |
447 | local maxspeed = 25 | |
448 | local speed = 0 | |
449 | ||
450 | function Fly() | |
451 | local bg = Instance.new("BodyGyro", c.HumanoidRootPart) | |
452 | bg.P = 100000 bg.D = 100 | |
453 | bg.maxTorque = Vector3.new(math.huge, 0, math.huge) | |
454 | bg.cframe = c.HumanoidRootPart.CFrame | |
455 | local bv = Instance.new("BodyVelocity", c.HumanoidRootPart) | |
456 | bv.velocity = Vector3.new(0,0.1,0) | |
457 | bv.maxForce = Vector3.new(math.huge, math.huge, math.huge) | |
458 | repeat wait() | |
459 | c.Humanoid.PlatformStand = true | |
460 | if ctrl.l + ctrl.r ~= 0 or ctrl.f + ctrl.b ~= 0 then | |
461 | speed = speed+1+(speed/maxspeed) | |
462 | if speed > maxspeed then | |
463 | speed = maxspeed | |
464 | end | |
465 | elseif not (ctrl.l + ctrl.r ~= 0 or ctrl.f + ctrl.b ~= 0) and speed ~= 0 then | |
466 | speed = speed-1 | |
467 | if speed < 0 then | |
468 | speed = 0 | |
469 | end | |
470 | end | |
471 | if (ctrl.l + ctrl.r) ~= 0 or (ctrl.f + ctrl.b) ~= 0 then | |
472 | 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 | |
473 | lastctrl = {f = ctrl.f, b = ctrl.b, l = ctrl.l, r = ctrl.r} | |
474 | elseif (ctrl.l + ctrl.r) == 0 and (ctrl.f + ctrl.b) == 0 and speed ~= 0 then | |
475 | 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 | |
476 | else | |
477 | bv.velocity = Vector3.new(0,0.1,0) | |
478 | end | |
479 | until not flying | |
480 | ctrl = {f = 0, b = 0, l = 0, r = 0} | |
481 | lastctrl = {f = 0, b = 0, l = 0, r = 0} | |
482 | speed = 0 | |
483 | bv:Destroy() | |
484 | c.Humanoid.PlatformStand = false | |
485 | end | |
486 | ||
487 | Cloud = false | |
488 | function CloudForm() | |
489 | if Cloud == false then | |
490 | S.Volume = 1 | |
491 | attack = true Cloud = true | |
492 | for i = 1,10 do | |
493 | lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.1) | |
494 | lerpz(N, "C0", NC0 * cf(0, 0, -1) * ang(rd(0), rd(0), rd(0)), 0.1) | |
495 | lerpz(RS, "C0", RSC0 * cf(0, 0, -2) * ang(rd(0), rd(0), rd(0)), 0.1) | |
496 | lerpz(RS, "C1", RSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.1) | |
497 | lerpz(LS, "C0", LSC0 * cf(0, 0, -2) * ang(rd(0), rd(0), rd(0)), 0.1) | |
498 | lerpz(LS, "C1", LSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.1) | |
499 | lerpz(RH, "C0", RHC0 * cf(0, 2.2, 0) * ang(rd(0), rd(0), rd(0)), 0.1) | |
500 | lerpz(RH, "C1", RHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.1) | |
501 | lerpz(LH, "C0", LHC0 * cf(0, 2.2, 0) * ang(rd(0), rd(0), rd(0)), 0.1) | |
502 | lerpz(LH, "C1", LHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.1) | |
503 | swait() | |
504 | end | |
505 | lerpz(RJ, "C0", RJC0 * cf(0, 0, 2500) * ang(rd(0), rd(0), rd(0)), 1) | |
506 | local Cl = Instance.new("Part",c)Cl.Size = Vector3.new(10,10,10) Cl.CanCollide = false Cl.Anchored = false Cl.CFrame = c.HumanoidRootPart.CFrame | |
507 | Cl.CustomPhysicalProperties = PhysicalProperties.new(0,0.3,0.5) | |
508 | Cl.Material = "Sand" Cl.BrickColor = BrickColor.new("Really black") Cl.Name = "Cloud" | |
509 | HitInfect(Cl) | |
510 | for i2 = 1,2 do | |
511 | for i = 1,2 do | |
512 | local tra = S11:clone() tra.Parent = CL | |
513 | tra.Texture = "rbxassetid://744949545" | |
514 | tra.LightEmission = 0 | |
515 | if i == 1 then | |
516 | tra.Color = ColorSequence.new(Color3.new(0/255,255/255,0/255)) | |
517 | tra.ZOffset = 2.5 | |
518 | else | |
519 | tra.Color = ColorSequence.new(Color3.new(0/255,0/255,0/255)) | |
520 | tra.ZOffset = 3 | |
521 | end | |
522 | tra.Lifetime = NumberRange.new(1,3) | |
523 | tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.1,1,0),NumberSequenceKeypoint.new(1,0,0)}) | |
524 | tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)}) | |
525 | tra.Speed = NumberRange.new(0.5) tra.VelocitySpread = 360 tra.Name = "Glitch" | |
526 | if i2 == 1 then | |
527 | tra.LockedToPart = true | |
528 | tra.Speed = NumberRange.new(0.5) | |
529 | else | |
530 | tra.LockedToPart = false | |
531 | tra.Speed = NumberRange.new(4) | |
532 | end | |
533 | tra.Rate = 250 | |
534 | tra.VelocityInheritance = 0.2 | |
535 | end | |
536 | end | |
537 | local W = Instance.new("Weld",c.HumanoidRootPart)W.Part0 = c.HumanoidRootPart W.Part1 = Cl | |
538 | local M = Instance.new("SpecialMesh",Cl)M.MeshId = "rbxassetid://9856898" M.TextureId = "rbxassetid://64619306" | |
539 | for i = 1,80 do | |
540 | M.Scale = Vector3.new(i/4,i/4,i/4) | |
541 | c.HumanoidRootPart.CFrame = c.HumanoidRootPart.CFrame*CFrame.new(0,3,0) | |
542 | swait() | |
543 | end | |
544 | flying = true attack = false | |
545 | Fly() | |
546 | else | |
547 | attack = true S.Volume = 0.4 | |
548 | if c:findFirstChild("Cloud") ~= nil then | |
549 | lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) | |
550 | if c.HumanoidRootPart:findFirstChild("Smile")~= nil then | |
551 | for i = 1,20 do | |
552 | c.HumanoidRootPart.Smile.ImageLabel.ImageTransparency = c.HumanoidRootPart.Smile.ImageLabel.ImageTransparency + 0.05 | |
553 | swait() | |
554 | end | |
555 | c.HumanoidRootPart.Smile:remove() | |
556 | end | |
557 | for i,v in pairs(c:findFirstChild("Cloud"):children()) do | |
558 | if v.Name == "Glitch" then | |
559 | v.Enabled = false | |
560 | end | |
561 | end | |
562 | for i = 1,80 do | |
563 | c:findFirstChild("Cloud").Mesh.Scale = c:findFirstChild("Cloud").Mesh.Scale - Vector3.new(0.25,0.25,0.25) | |
564 | swait() | |
565 | end | |
566 | game.Debris:AddItem(c:findFirstChild("Cloud"),2) | |
567 | Cloud = false end flying = false | |
568 | wait(2) | |
569 | attack = false | |
570 | end | |
571 | end | |
572 | ||
573 | function CloudFace() | |
574 | if c.HumanoidRootPart:findFirstChild("Smile")~= nil then | |
575 | for i = 1,20 do | |
576 | c.HumanoidRootPart.Smile.ImageLabel.ImageTransparency = c.HumanoidRootPart.Smile.ImageLabel.ImageTransparency + 0.05 | |
577 | swait() | |
578 | end | |
579 | c.HumanoidRootPart.Smile:remove() | |
580 | else | |
581 | local BillBoard = Instance.new("BillboardGui",c.HumanoidRootPart)BillBoard.Name = "Smile" BillBoard.AlwaysOnTop = true BillBoard.Size = UDim2.new(10,0,10,0) | |
582 | local Im = Instance.new("ImageLabel",BillBoard) Im.BackgroundTransparency = 1 Im.Size = UDim2.new(1,0,1,0)Im.Image = "rbxassetid://915081021" | |
583 | end | |
584 | end | |
585 | ||
586 | ||
587 | function VirusExplosion(Pos) | |
588 | for i = 1,10 do | |
589 | for i2 = 1,8 do | |
590 | local V = Instance.new("Part")V.Size = Vector3.new(1+i*20,0.5,10)V.Anchored = true V.CanCollide = false | |
591 | V.CFrame = Pos*CFrame.Angles(0,math.rad(45*i2),0) Virusify2(V) VirusFade(V) | |
592 | V.CFrame = V.CFrame*CFrame.new(0,3,2*i)HitInfect(V) V.Parent = game.Workspace | |
593 | end | |
594 | swait() | |
595 | end | |
596 | end | |
597 | ||
598 | function VirusFade(H) | |
599 | spawn(function() | |
600 | for i = 1,10 do | |
601 | H.Transparency = H.Transparency + 1/10 | |
602 | swait() | |
603 | end | |
604 | H:findFirstChild("Glitch").Enabled = false H:findFirstChild("Glitch2").Enabled = false | |
605 | game.Debris:AddItem(H,0.2) | |
606 | end) | |
607 | end | |
608 | ||
609 | function VirusFade2(H) | |
610 | spawn(function() | |
611 | for i = 1,25 do | |
612 | H.Transparency = H.Transparency + 1/25 | |
613 | swait() | |
614 | end | |
615 | H:findFirstChild("Glitch").Enabled = false H:findFirstChild("Glitch2").Enabled = false | |
616 | game.Debris:AddItem(H,4) | |
617 | end) | |
618 | end | |
619 | ||
620 | function HammerSlam() | |
621 | c.HumanoidRootPart.Anchored = true | |
622 | attack = true | |
623 | AnimDis() | |
624 | for i = 1,15 do | |
625 | lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(20), rd(0), rd(0)), 0.2)-- Y, X, Z | |
626 | lerpz(N, "C0", NC0 * cf(0, 0, 0) * ang(rd(20), rd(0), rd(0)), 0.2) -- Y, X, Z | |
627 | lerpz(RS, "C0", RSC0 * cf(0, 0, 0) * ang(rd(0), rd(45), rd(65)), 0.2) -- Z, X, Y | |
628 | lerpz(LS, "C0", LSC0 * cf(0, 0, 0) * ang(rd(0), rd(-45), rd(-65)), 0.2) -- Z, X, Y | |
629 | lerpz(RH, "C0", RHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(45)), 0.2) | |
630 | lerpz(LH, "C0", LHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(-45)), 0.2) | |
631 | swait() | |
632 | end | |
633 | local H = Instance.new("Part",c)H.Size = Vector3.new(1,1,15)H.CanCollide = false | |
634 | local H2 = Instance.new("Part",c)H2.Size = Vector3.new(5,10,5)H2.CanCollide = false | |
635 | local W = Instance.new("Weld",c["Torso"])W.Part0 = c["Torso"] W.Part1 = H W.C0 = CFrame.new(0,-2,0) | |
636 | local W2 = Instance.new("Weld",H2)W2.Part0 = H2 W2.Part1 = H W2.C0 = CFrame.new(0,0,-4) | |
637 | Virusify(H) Virusify(H2)HitInfect(H)HitInfect(H2) | |
638 | for i = 1,45 do | |
639 | W.C0 = CFrame.new(0,2,4)*CFrame.Angles(math.rad(5),0,0) | |
640 | lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(-20), rd(0), rd(0)), 0.2)-- Y, X, Z | |
641 | lerpz(N, "C0", NC0 * cf(0, 0, 0) * ang(rd(-20), rd(0), rd(0)), 0.2) -- Y, X, Z | |
642 | lerpz(RS, "C0", RSC0 * cf(0, 0, 0) * ang(rd(0), rd(-45), rd(220)), 0.2) -- Z, X, Y | |
643 | lerpz(LS, "C0", LSC0 * cf(0, 0, 0) * ang(rd(0), rd(45), rd(-220)), 0.2) -- Z, X, Y | |
644 | lerpz(RH, "C0", RHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(-45)), 0.2) | |
645 | lerpz(LH, "C0", LHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(45)), 0.2) | |
646 | swait() | |
647 | end | |
648 | W.C0 = CFrame.new(0,3,-8)*CFrame.Angles(math.rad(200),0,0) | |
649 | for i = 1,15 do | |
650 | lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(20), rd(0), rd(0)), 0.5)-- Y, X, Z | |
651 | lerpz(N, "C0", NC0 * cf(0, 0, 0) * ang(rd(20), rd(0), rd(0)), 0.5) -- Y, X, Z | |
652 | lerpz(RS, "C0", RSC0 * cf(0, 0, 0) * ang(rd(0), rd(45), rd(65)), 0.5) -- Z, X, Y | |
653 | lerpz(LS, "C0", LSC0 * cf(0, 0, 0) * ang(rd(0), rd(-45), rd(-65)), 0.5) -- Z, X, Y | |
654 | lerpz(RH, "C0", RHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(45)), 0.5) | |
655 | lerpz(LH, "C0", LHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(-45)), 0.5) | |
656 | swait() | |
657 | end | |
658 | local S = Instance.new("Sound",H2)S.Volume = 2 S.SoundId = "rbxassetid://211062246" S:Play() | |
659 | for i = 1,45 do | |
660 | for i2 = 1,8 do | |
661 | local V = Instance.new("Part")V.Size = Vector3.new(10+i*4,1,10)V.Anchored = true V.CanCollide = false | |
662 | V.CFrame = H2.CFrame*CFrame.Angles(0,math.rad(45*i2),0) Virusify2(V) VirusFade(V) | |
663 | V.CFrame = V.CFrame*CFrame.new(0,3,5*i)HitInfect(V) V.Parent = game.Workspace | |
664 | end | |
665 | swait() | |
666 | end | |
667 | H.Anchored = true H2.Anchored = true | |
668 | W:remove() W2:remove() | |
669 | c.HumanoidRootPart.Anchored = false | |
670 | AnimDis() | |
671 | attack = false | |
672 | spawn(function() | |
673 | wait(3) H.Transparency = 1 H2.Transparency = 1 | |
674 | H:findFirstChild("Glitch").Enabled = false H2:findFirstChild("Glitch").Enabled = false | |
675 | H:findFirstChild("Glitch2").Enabled = false H2:findFirstChild("Glitch2").Enabled = false | |
676 | game.Debris:AddItem(H,4) game.Debris:AddItem(H2,4) | |
677 | end) | |
678 | end | |
679 | ||
680 | function Missiles() | |
681 | attack = true | |
682 | local Mis = Instance.new("Part",game.Workspace)Mis.Name = "GlitchMissle" Mis.Size = Vector3.new(2,2,12) Mis.CFrame = c.HumanoidRootPart.CFrame Virusify3(Mis) | |
683 | 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))) | |
684 | 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) | |
685 | local hit = false | |
686 | Mis.Touched:connect(function(Hit) | |
687 | if Hit.Parent ~= c then | |
688 | if hit == false then hit = true | |
689 | Mis.Anchored = true VirusFade2(Mis) | |
690 | VirusExplosion(CFrame.new(Mis.Position)) | |
691 | end | |
692 | end | |
693 | end) | |
694 | wait(0.1) | |
695 | attack = false | |
696 | end | |
697 | ||
698 | mouse.KeyDown:connect(function(key) | |
699 | if c.Humanoid.Health <= 0 then return end | |
700 | if attack == true then return end | |
701 | if Cloud == true then | |
702 | if key == "f" then | |
703 | CloudFace() | |
704 | end | |
705 | if key == "z" then | |
706 | Missiles() | |
707 | end | |
708 | elseif Cloud == false then | |
709 | if key == "z" then | |
710 | HammerSlam() | |
711 | end | |
712 | end | |
713 | if key == "m" then | |
714 | CloudForm() | |
715 | end | |
716 | end) | |
717 | ||
718 | local LastPos = c.HumanoidRootPart.CFrame | |
719 | local Resetting = false | |
720 | function Reset() | |
721 | if Resetting == false then Resetting = true | |
722 | c.Parent = nil | |
723 | c.Humanoid.Health = math.huge c.Humanoid.MaxHealth = math.huge | |
724 | for i,v in pairs(c:children()) do if v.ClassName == "Part" then v:remove() end end | |
725 | local Tors = Instance.new("Part",c)Tors.Name = "Torso" Tors.Size = Vector3.new(2,2,1) Virusify(Tors) | |
726 | local Hed = Instance.new("Part",c)Hed.Name = "Head" Hed.Size = Vector3.new(2,1,1) Virusify(Hed) Hed.Transparency = 1 | |
727 | makejoint(c.Torso, NC0, NC1, c.Torso, c.Head, "Neck") | |
728 | local Hum = Instance.new("Part",c)Hum.Name = "HumanoidRootPart" Hum.Size = Vector3.new(2,2,1) Hum.Transparency = 1 | |
729 | makejoint(c.HumanoidRootPart, RJC0, RJC1, c.HumanoidRootPart, c.Torso, "RootJoint") | |
730 | local P = Instance.new("Part",c)P.Size = Vector3.new(1,1,1)P.Anchored = false P.CanCollide = false P.Name = "HeadPart" | |
731 | local W = Instance.new("Weld",P)W.Part0 = P W.Part1 = c.Head | |
732 | local HM = Instance.new("SpecialMesh",P)HM.MeshId = "rbxassetid://539723444" HM.TextureId = "rbxassetid://64619306" HM.Scale = Vector3.new(0.97,0.97,0.97) | |
733 | local RiArm = Instance.new("Part",c)RiArm.Name = "Right Arm" RiArm.Size = Vector3.new(1,2,1) Virusify(RiArm) | |
734 | makejoint(c.Torso, RSC0, RSC1, c.Torso, RiArm, "Right Shoulder") | |
735 | local LeArm = Instance.new("Part",c)LeArm.Name = "Left Arm" LeArm.Size = Vector3.new(1,2,1) Virusify(LeArm) | |
736 | makejoint(c.Torso, LSC0, LSC1, c.Torso, LeArm, "Left Shoulder") | |
737 | local RiLeg = Instance.new("Part",c)RiLeg.Name = "Right Leg" RiLeg.Size = Vector3.new(1,2,1) Virusify(RiLeg) | |
738 | makejoint(c.Torso, RHC0, RHC1, c.Torso, RiLeg, "Right Hip") | |
739 | local LeLeg = Instance.new("Part",c)LeLeg.Name = "Left Leg" LeLeg.Size = Vector3.new(1,2,1) Virusify(LeLeg) | |
740 | makejoint(c.Torso, LHC0, LHC1, c.Torso, LeLeg, "Left Hip") | |
741 | c.HumanoidRootPart.CFrame = LastPos*CFrame.new(math.random(-5,5),0,math.random(-5,5)) | |
742 | Resetting = false c.Humanoid.Died:connect(Reset) c.Parent = game.Workspace | |
743 | end | |
744 | end | |
745 | c.Humanoid.Died:connect(Reset) | |
746 | ||
747 | function onKeyPress(inputObject, gameProcessedEvent) | |
748 | if isTyping == true then return end | |
749 | if inputObject.KeyCode == Enum.KeyCode.W then ctrl.f = 1 end | |
750 | if inputObject.KeyCode == Enum.KeyCode.S then ctrl.b = -1 end | |
751 | if inputObject.KeyCode == Enum.KeyCode.A then ctrl.l = -1 end | |
752 | if inputObject.KeyCode == Enum.KeyCode.D then ctrl.r = 1 end | |
753 | end | |
754 | game:GetService("UserInputService").InputBegan:connect(onKeyPress) | |
755 | ||
756 | function onKeyLift(inputObject, gameProcessedEvent) | |
757 | if isTyping == true then return end | |
758 | if inputObject.KeyCode == Enum.KeyCode.W then ctrl.f = 0 end | |
759 | if inputObject.KeyCode == Enum.KeyCode.S then ctrl.b = 0 end | |
760 | if inputObject.KeyCode == Enum.KeyCode.A then ctrl.l = 0 end | |
761 | if inputObject.KeyCode == Enum.KeyCode.D then ctrl.r = 0 end | |
762 | end | |
763 | game:GetService("UserInputService").InputEnded:connect(onKeyLift) | |
764 | ||
765 | WholeBody = c:clone() | |
766 | ||
767 | 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 | |
768 | idletime = 0 | |
769 | sine = 0 | |
770 | game:GetService("RunService").RenderStepped:connect(function() | |
771 | c.Humanoid.MaxHealth = c.Humanoid.MaxHealth + math.huge c.Humanoid.Health = c.Humanoid.Health + math.huge | |
772 | if Resetting == false then | |
773 | if c:findFirstChild("Head")== nil or c:findFirstChild("Torso")== nil or c:findFirstChild("HumanoidRootPart")== nil or c.HumanoidRootPart:findFirstChild("RootJoint")== nil then | |
774 | Reset() | |
775 | else | |
776 | LastPos = c.HumanoidRootPart.CFrame | |
777 | end | |
778 | if c.Torso:findFirstChild("Right Shoulder") == nil or c:findFirstChild("Right Arm")== nil then print("RA") | |
779 | local BodyPart = Instance.new("Part",c)BodyPart.Name = "Right Arm" BodyPart.Size = Vector3.new(1,2,1) Virusify(BodyPart) | |
780 | makejoint(c.Torso, RSC0, RSC1, c.Torso, BodyPart, "Right Shoulder") | |
781 | end | |
782 | if c.Torso:findFirstChild("Left Shoulder") == nil or c:findFirstChild("Left Arm")== nil then print("LA") | |
783 | local BodyPart = Instance.new("Part",c)BodyPart.Name = "Left Arm" BodyPart.Size = Vector3.new(1,2,1) Virusify(BodyPart) | |
784 | makejoint(c.Torso, LSC0, LSC1, c.Torso, BodyPart, "Left Shoulder") | |
785 | end | |
786 | if c.Torso:findFirstChild("Right Hip") == nil or c:findFirstChild("Right Leg")== nil then print("RL") | |
787 | local BodyPart = Instance.new("Part",c)BodyPart.Name = "Right Leg" BodyPart.Size = Vector3.new(1,2,1) Virusify(BodyPart) | |
788 | makejoint(c.Torso, RHC0, RHC1, c.Torso, BodyPart, "Right Hip") | |
789 | end | |
790 | if c.Torso:findFirstChild("Left Hip") == nil or c:findFirstChild("Left Leg")== nil then print("LL") | |
791 | local BodyPart = Instance.new("Part",c)BodyPart.Name = "Left Leg" BodyPart.Size = Vector3.new(1,2,1) Virusify(BodyPart) | |
792 | makejoint(c.Torso, LHC0, LHC1, c.Torso, BodyPart, "Left Hip") | |
793 | end | |
794 | local r = math.random(1,15) | |
795 | if r == 1 then S.PlaybackSpeed = math.random(1,50)/10 end | |
796 | if attack == false and Cloud == false then | |
797 | local r2 = math.random(1,50) | |
798 | if r2 == 1 then | |
799 | 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 | |
800 | lerpz(N, "C0", NC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) -- Y, X, Z | |
801 | lerpz(RS, "C0", RSC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) -- Z, X, Y | |
802 | lerpz(RS, "C1", RSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) -- Z, X, Y | |
803 | lerpz(LS, "C0", LSC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) -- Z, X, Y | |
804 | lerpz(LS, "C1", LSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) -- Z, X, Y | |
805 | lerpz(RH, "C0", RHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) | |
806 | lerpz(RH, "C1", RHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) | |
807 | lerpz(LH, "C0", LHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) | |
808 | lerpz(LH, "C1", LHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) | |
809 | end | |
810 | lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5)-- Y, X, Z | |
811 | lerpz(N, "C0", NC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) -- Y, X, Z | |
812 | lerpz(RS, "C0", RSC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) -- Z, X, Y | |
813 | lerpz(RS, "C1", RSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) -- Z, X, Y | |
814 | lerpz(LS, "C0", LSC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) -- Z, X, Y | |
815 | lerpz(LS, "C1", LSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) -- Z, X, Y | |
816 | lerpz(RH, "C0", RHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) | |
817 | lerpz(RH, "C1", RHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) | |
818 | lerpz(LH, "C0", LHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) | |
819 | lerpz(LH, "C1", LHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) | |
820 | end | |
821 | end | |
822 | end) |