SHOW:
|
|
- or go back to the newest paste.
1 | local time = tick() | |
2 | ||
3 | local plr = game:GetService("Players").LocalPlayer | |
4 | local mouse,char = plr:GetMouse(),plr.Character | |
5 | ||
6 | local amountGhosts = 5 | |
7 | ||
8 | for i,v in pairs(game:GetService("Workspace").CurrentCamera:GetChildren()) do v:Destroy() end | |
9 | ||
10 | local toggle,cd,mcd = false,false,false | |
11 | local ghosts = {} | |
12 | local temptab = {} | |
13 | ||
14 | char:WaitForChild("Animate"):Destroy() | |
15 | char.Humanoid:WaitForChild("Animator"):Destroy() | |
16 | ||
17 | local state = "idle" | |
18 | ||
19 | local gt = false | |
20 | ||
21 | local gyro = Instance.new("BodyGyro",char:WaitForChild("HumanoidRootPart")) --Stops the character from glitching out on enter/exit | |
22 | gyro.MaxTorque = Vector3.new(0,0,0) | |
23 | gyro.D = 0 | |
24 | gyro.P = 100000000 | |
25 | ||
26 | ||
27 | local wCol = BrickColor.new("Really red") | |
28 | local wCol2 = BrickColor.new("Really black") | |
29 | local gCol = BrickColor.new("Toothpaste") | |
30 | local gCol2 = BrickColor.new("Institutional white") | |
31 | ||
32 | function searchAll(m,clear) | |
33 | if clear then | |
34 | if clear == true then | |
35 | for i,v in pairs(temptab) do | |
36 | table.remove(temptab,1) | |
37 | end | |
38 | end | |
39 | end | |
40 | for i,v in pairs(m:GetChildren()) do | |
41 | if v then | |
42 | local s = v:Clone() | |
43 | for _,b in pairs(s:GetChildren()) do | |
44 | b:Destroy() | |
45 | end | |
46 | if s:IsA("Part") or s:IsA("WedgePart") or s:IsA("TrussPart") or s:IsA("UnionOperation") then | |
47 | if s.Name ~= "HumanoidRootPart" then | |
48 | s.Anchored = true | |
49 | s.CanCollide = false | |
50 | s.Transparency = 0.95 | |
51 | s.TopSurface = "Smooth" | |
52 | s.BottomSurface = "Smooth" | |
53 | s.FrontSurface = "Smooth" | |
54 | s.RightSurface = "Smooth" | |
55 | s.BackSurface = "Smooth" | |
56 | s.LeftSurface = "Smooth" | |
57 | if s.Material ~= Enum.Material.Neon then | |
58 | if gt == true then | |
59 | s.BrickColor = wCol2 | |
60 | else | |
61 | s.BrickColor = gCol2 | |
62 | end | |
63 | else | |
64 | if gt == true then | |
65 | s.BrickColor = wCol | |
66 | else | |
67 | s.BrickColor = gCol | |
68 | end | |
69 | end | |
70 | for _,c in pairs(v:GetChildren()) do | |
71 | if c:IsA("SpecialMesh") or c:IsA("CylinderMesh") then | |
72 | c:Clone().Parent = s | |
73 | end | |
74 | end | |
75 | local objValue = Instance.new("ObjectValue",s) | |
76 | objValue.Name = "Target" | |
77 | objValue.Value = v | |
78 | table.insert(temptab,s) | |
79 | end | |
80 | --elseif s:IsA("CharacterMesh") then | |
81 | --table.insert(temptab,s) | |
82 | end | |
83 | --searchAll(v) | |
84 | end | |
85 | end | |
86 | return temptab | |
87 | end | |
88 | ||
89 | function CreateGhost() | |
90 | local ghost = Instance.new("Model",game.Workspace) | |
91 | searchAll(char,true) | |
92 | ghost.Name = char.Name.."'s Ghost "..#ghosts..#plr.Name | |
93 | --Instance.new("Humanoid",ghost) | |
94 | for i,v in pairs(temptab) do | |
95 | v:Clone().Parent = ghost | |
96 | end | |
97 | table.insert(ghosts,ghost) | |
98 | end | |
99 | ||
100 | function ClearGhosts() | |
101 | for i,v in pairs(ghosts) do | |
102 | v:Destroy() | |
103 | end | |
104 | for i,v in pairs(ghosts) do | |
105 | table.remove(ghosts,1) | |
106 | end | |
107 | for i,v in pairs(game:GetService("Workspace"):GetChildren()) do | |
108 | if string.sub(v.Name,1,#plr.Name+9) == plr.Name.."'s Ghost " then | |
109 | v:Destroy() | |
110 | end | |
111 | end | |
112 | end | |
113 | ||
114 | Instance.new("ForceField",char).Visible = false | |
115 | ||
116 | local e1 = Instance.new("Part",char) | |
117 | e1.Size = Vector3.new(0.2,0.2,0.2) | |
118 | e1.TopSurface = "Smooth" | |
119 | e1.BottomSurface = "Smooth" | |
120 | e1.Material = "Neon" | |
121 | e1.Transparency = 1 | |
122 | e1.Anchored = true | |
123 | e1.CanCollide = false | |
124 | e1.BrickColor = gCol | |
125 | e1.CFrame = char.Head.CFrame * CFrame.new(0.15,0.1,-0.6) | |
126 | local em1 = Instance.new("SpecialMesh",e1) | |
127 | em1.MeshType = "Sphere" | |
128 | local e2 = Instance.new("Part",char) | |
129 | e2.Size = Vector3.new(0.2,0.2,0.2) | |
130 | e2.TopSurface = "Smooth" | |
131 | e2.BottomSurface = "Smooth" | |
132 | e2.Transparency = 1 | |
133 | e2.Material = "Neon" | |
134 | e2.Anchored = true | |
135 | e2.CanCollide = false | |
136 | e2.BrickColor = gCol | |
137 | e2.CFrame = char.Head.CFrame * CFrame.new(-0.15,0.1,-0.6) | |
138 | local em2 = Instance.new("SpecialMesh",e2) | |
139 | em2.MeshType = "Sphere" | |
140 | ||
141 | toggle = true | |
142 | for i=1,amountGhosts do | |
143 | CreateGhost() | |
144 | end | |
145 | char.Parent = game:GetService("Workspace").CurrentCamera | |
146 | char:FindFirstChild("Head").Transparency = 1 | |
147 | char:FindFirstChild("Torso").Transparency = 1 | |
148 | char:FindFirstChild("Right Arm").Transparency = 1 | |
149 | char:FindFirstChild("Left Arm").Transparency = 1 | |
150 | char:FindFirstChild("Right Leg").Transparency = 1 | |
151 | char:FindFirstChild("Left Leg").Transparency = 1 | |
152 | for i,v in pairs(char:GetChildren()) do | |
153 | if v:IsA("Accessory") then | |
154 | v:FindFirstChild("Handle").Transparency = 1 | |
155 | end | |
156 | end | |
157 | char:FindFirstChild("Head"):FindFirstChild("face"):Destroy() | |
158 | ||
159 | local p1 = Instance.new("Part",workspace) | |
160 | local m1 = Instance.new("SpecialMesh",p1) | |
161 | m1.MeshType = "Sphere" | |
162 | m1.Scale = Vector3.new(5,5,5) | |
163 | p1.Size = Vector3.new(1,1,1) | |
164 | p1.Anchored = true | |
165 | p1.CanCollide = false | |
166 | p1.TopSurface = "Smooth" | |
167 | p1.BottomSurface = "Smooth" | |
168 | p1.BrickColor = gCol | |
169 | p1.Material = "Neon" | |
170 | local p2 = Instance.new("Part",workspace) | |
171 | local m2 = Instance.new("SpecialMesh",p2) | |
172 | m2.MeshType = "Sphere" | |
173 | m2.Scale = Vector3.new(8,8,8) | |
174 | p2.Size = Vector3.new(1,1,1) | |
175 | p2.Anchored = true | |
176 | p2.CanCollide = false | |
177 | p2.TopSurface = "Smooth" | |
178 | p2.BottomSurface = "Smooth" | |
179 | p2.BrickColor = gCol2 | |
180 | p2.Material = "Neon" | |
181 | local p3 = Instance.new("Part",workspace) | |
182 | local m3 = Instance.new("BlockMesh",p3) | |
183 | m3.Scale = Vector3.new(7,7,7) | |
184 | p3.Size = Vector3.new(1,1,1) | |
185 | p3.Transparency = 0.4 | |
186 | p3.Anchored = true | |
187 | p3.CanCollide = false | |
188 | p3.TopSurface = "Smooth" | |
189 | p3.BottomSurface = "Smooth" | |
190 | p3.BrickColor = gCol | |
191 | p3.Material = "Neon" | |
192 | local p4 = Instance.new("Part",workspace) | |
193 | local m4 = Instance.new("BlockMesh",p4) | |
194 | m4.Scale = Vector3.new(10,10,10) | |
195 | p4.Size = Vector3.new(1,1,1) | |
196 | p4.Transparency = 0.4 | |
197 | p4.Anchored = true | |
198 | p4.CanCollide = false | |
199 | p4.TopSurface = "Smooth" | |
200 | p4.BottomSurface = "Smooth" | |
201 | p4.BrickColor = gCol2 | |
202 | p4.Material = "Neon" | |
203 | local currentframe = 0 | |
204 | local frmR | |
205 | ||
206 | frmR = game:GetService("RunService").RenderStepped:connect(function() | |
207 | currentframe = currentframe + 1 | |
208 | if currentframe < 1*60 then | |
209 | p1.CFrame = char:WaitForChild("Torso").CFrame | |
210 | p2.CFrame = char:WaitForChild("Torso").CFrame | |
211 | p3.CFrame = char:WaitForChild("Torso").CFrame * CFrame.Angles(math.rad(math.random(0,360)),math.rad(math.random(0,360)),math.rad(math.random(0,360))) | |
212 | p4.CFrame = char:WaitForChild("Torso").CFrame * CFrame.Angles(math.rad(math.random(0,360)),math.rad(math.random(0,360)),math.rad(math.random(0,360))) | |
213 | m1.Scale = m1.Scale + Vector3.new(0.25,0.25,0.25) | |
214 | m2.Scale = m2.Scale + Vector3.new(0.25,0.25,0.25) | |
215 | m3.Scale = m3.Scale + Vector3.new(0.25,0.25,0.25) | |
216 | m4.Scale = m4.Scale + Vector3.new(0.25,0.25,0.25) | |
217 | p1.Transparency = p1.Transparency + (1/(1*60)) | |
218 | p2.Transparency = p2.Transparency + (1/(1*60)) | |
219 | p3.Transparency = p3.Transparency + (1/(1*60)) | |
220 | p4.Transparency = p4.Transparency + (1/(1*60)) | |
221 | else | |
222 | p1:Destroy() | |
223 | p2:Destroy() | |
224 | p3:Destroy() | |
225 | p4:Destroy() | |
226 | frmR:disconnect() | |
227 | end | |
228 | end) | |
229 | ||
230 | char.Humanoid.MaxHealth = math.huge | |
231 | wait() | |
232 | char.Humanoid.Health = math.huge | |
233 | ||
234 | --[[mouse.KeyDown:connect(function(key) | |
235 | if key == "r" then | |
236 | print("R!") | |
237 | if cd == false then | |
238 | print("No cooldown!") | |
239 | cd = true | |
240 | if toggle == false then | |
241 | print("Entering godmode") | |
242 | toggle = true | |
243 | Instance.new("ForceField",char) | |
244 | for i=1,amountGhosts do | |
245 | CreateGhost() | |
246 | end | |
247 | char.Parent = game:GetService("Workspace").CurrentCamera | |
248 | char:FindFirstChild("Head").Transparency = 1 | |
249 | char:FindFirstChild("Torso").Transparency = 1 | |
250 | char:FindFirstChild("Right Arm").Transparency = 1 | |
251 | char:FindFirstChild("Left Arm").Transparency = 1 | |
252 | char:FindFirstChild("Right Leg").Transparency = 1 | |
253 | char:FindFirstChild("Left Leg").Transparency = 1 | |
254 | for i,v in pairs(char:GetChildren()) do | |
255 | if v:IsA("Accessory") then | |
256 | v:FindFirstChild("Handle").Transparency = 1 | |
257 | end | |
258 | end | |
259 | else | |
260 | print("Exiting godmode") | |
261 | toggle = false | |
262 | for i,v in pairs(ghosts) do | |
263 | v:Destroy() | |
264 | end | |
265 | char.Parent = game:GetService("Workspace") | |
266 | char:FindFirstChild("ForceField"):Destroy() | |
267 | char:FindFirstChild("Head").Transparency = 0 | |
268 | char:FindFirstChild("Torso").Transparency = 0 | |
269 | char:FindFirstChild("Right Arm").Transparency = 0 | |
270 | char:FindFirstChild("Left Arm").Transparency = 0 | |
271 | char:FindFirstChild("Right Leg").Transparency = 0 | |
272 | char:FindFirstChild("Left Leg").Transparency = 0 | |
273 | for i,v in pairs(char:GetChildren()) do | |
274 | if v:IsA("Accessory") then | |
275 | v:FindFirstChild("Handle").Transparency = 0 | |
276 | end | |
277 | end | |
278 | end | |
279 | cd = false | |
280 | end | |
281 | end | |
282 | end)]] | |
283 | ||
284 | mouse.KeyDown:connect(function(key) | |
285 | spawn(function() | |
286 | if key == "f" and toggle == true and mcd == false then | |
287 | if #ghosts < amountGhosts then | |
288 | print(#ghosts.."<") | |
289 | mcd = true | |
290 | ||
291 | ClearGhosts() | |
292 | ||
293 | for i=1,amountGhosts do | |
294 | CreateGhost() | |
295 | end | |
296 | local p1 = Instance.new("Part",workspace) | |
297 | local m1 = Instance.new("SpecialMesh",p1) | |
298 | m1.MeshType = "Sphere" | |
299 | m1.Scale = Vector3.new(7,7,7) | |
300 | p1.Size = Vector3.new(1,1,1) | |
301 | p1.Anchored = true | |
302 | p1.CanCollide = false | |
303 | p1.TopSurface = "Smooth" | |
304 | p1.BottomSurface = "Smooth" | |
305 | if gt == false then | |
306 | p1.BrickColor = gCol | |
307 | else | |
308 | p1.BrickColor = wCol | |
309 | end | |
310 | p1.Material = "Neon" | |
311 | local p2 = Instance.new("Part",workspace) | |
312 | local m2 = Instance.new("SpecialMesh",p2) | |
313 | m2.MeshType = "Sphere" | |
314 | m2.Scale = Vector3.new(9,9,9) | |
315 | p2.Size = Vector3.new(1,1,1) | |
316 | p2.Anchored = true | |
317 | p2.CanCollide = false | |
318 | p2.TopSurface = "Smooth" | |
319 | p2.BottomSurface = "Smooth" | |
320 | if gt == false then | |
321 | p2.BrickColor = gCol2 | |
322 | else | |
323 | p2.BrickColor = wCol2 | |
324 | end | |
325 | p2.Material = "Neon" | |
326 | local currentframe = 0 | |
327 | local frmR | |
328 | ||
329 | frmR = game:GetService("RunService").RenderStepped:connect(function() | |
330 | currentframe = currentframe + 1 | |
331 | if currentframe < 0.25*60 then | |
332 | p1.CFrame = char:WaitForChild("Torso").CFrame | |
333 | p2.CFrame = char:WaitForChild("Torso").CFrame | |
334 | p1.Transparency = p1.Transparency + (1/(0.25*60)) | |
335 | p2.Transparency = p2.Transparency + (1/(0.25*60)) | |
336 | else | |
337 | p1:Destroy() | |
338 | p2:Destroy() | |
339 | mcd = false | |
340 | frmR:disconnect() | |
341 | end | |
342 | end) | |
343 | else | |
344 | mcd = true | |
345 | ||
346 | ClearGhosts() | |
347 | ||
348 | local p1 = Instance.new("Part",workspace) | |
349 | local m1 = Instance.new("SpecialMesh",p1) | |
350 | m1.MeshType = "Sphere" | |
351 | m1.Scale = Vector3.new(7,7,7) | |
352 | p1.Size = Vector3.new(1,1,1) | |
353 | p1.Anchored = true | |
354 | p1.CanCollide = false | |
355 | p1.TopSurface = "Smooth" | |
356 | p1.BottomSurface = "Smooth" | |
357 | if gt == false then | |
358 | p1.BrickColor = gCol | |
359 | else | |
360 | p1.BrickColor = wCol | |
361 | end | |
362 | p1.Material = "Neon" | |
363 | local p2 = Instance.new("Part",workspace) | |
364 | local m2 = Instance.new("SpecialMesh",p2) | |
365 | m2.MeshType = "Sphere" | |
366 | m2.Scale = Vector3.new(9,9,9) | |
367 | p2.Size = Vector3.new(1,1,1) | |
368 | p2.Anchored = true | |
369 | p2.CanCollide = false | |
370 | p2.TopSurface = "Smooth" | |
371 | p2.BottomSurface = "Smooth" | |
372 | if gt == false then | |
373 | p2.BrickColor = gCol2 | |
374 | else | |
375 | p2.BrickColor = wCol2 | |
376 | end | |
377 | p2.Material = "Neon" | |
378 | local currentframe = 0 | |
379 | local frmR | |
380 | ||
381 | frmR = game:GetService("RunService").RenderStepped:connect(function() | |
382 | currentframe = currentframe + 1 | |
383 | if currentframe < 0.25*60 then | |
384 | p1.CFrame = char:WaitForChild("Torso").CFrame | |
385 | p2.CFrame = char:WaitForChild("Torso").CFrame | |
386 | p1.Transparency = p1.Transparency + (1/(0.25*60)) | |
387 | p2.Transparency = p2.Transparency + (1/(0.25*60)) | |
388 | else | |
389 | p1:Destroy() | |
390 | p2:Destroy() | |
391 | mcd = false | |
392 | frmR:disconnect() | |
393 | end | |
394 | end) | |
395 | end | |
396 | elseif key == "g" and toggle == true and mcd == false then | |
397 | if gt == true then | |
398 | gt = false | |
399 | local p1 = Instance.new("Part",workspace) | |
400 | local m1 = Instance.new("SpecialMesh",p1) | |
401 | m1.MeshType = "Sphere" | |
402 | m1.Scale = Vector3.new(5,5,5) | |
403 | p1.Size = Vector3.new(1,1,1) | |
404 | p1.Anchored = true | |
405 | p1.CanCollide = false | |
406 | p1.TopSurface = "Smooth" | |
407 | p1.BottomSurface = "Smooth" | |
408 | p1.BrickColor = gCol | |
409 | p1.Material = "Neon" | |
410 | local p2 = Instance.new("Part",workspace) | |
411 | local m2 = Instance.new("SpecialMesh",p2) | |
412 | m2.MeshType = "Sphere" | |
413 | m2.Scale = Vector3.new(8,8,8) | |
414 | p2.Size = Vector3.new(1,1,1) | |
415 | p2.Anchored = true | |
416 | p2.CanCollide = false | |
417 | p2.TopSurface = "Smooth" | |
418 | p2.BottomSurface = "Smooth" | |
419 | p2.BrickColor = gCol2 | |
420 | p2.Material = "Neon" | |
421 | local p3 = Instance.new("Part",workspace) | |
422 | local m3 = Instance.new("BlockMesh",p3) | |
423 | m3.Scale = Vector3.new(7,7,7) | |
424 | p3.Size = Vector3.new(1,1,1) | |
425 | p3.Transparency = 0.4 | |
426 | p3.Anchored = true | |
427 | p3.CanCollide = false | |
428 | p3.TopSurface = "Smooth" | |
429 | p3.BottomSurface = "Smooth" | |
430 | p3.BrickColor = gCol | |
431 | p3.Material = "Neon" | |
432 | local p4 = Instance.new("Part",workspace) | |
433 | local m4 = Instance.new("BlockMesh",p4) | |
434 | m4.Scale = Vector3.new(10,10,10) | |
435 | p4.Size = Vector3.new(1,1,1) | |
436 | p4.Transparency = 0.4 | |
437 | p4.Anchored = true | |
438 | p4.CanCollide = false | |
439 | p4.TopSurface = "Smooth" | |
440 | p4.BottomSurface = "Smooth" | |
441 | p4.BrickColor = gCol2 | |
442 | p4.Material = "Neon" | |
443 | ||
444 | ClearGhosts() | |
445 | ||
446 | for i=1,amountGhosts do | |
447 | CreateGhost() | |
448 | end | |
449 | ||
450 | local currentframe = 0 | |
451 | local frmR | |
452 | ||
453 | frmR = game:GetService("RunService").RenderStepped:connect(function() | |
454 | currentframe = currentframe + 1 | |
455 | if currentframe < 1*60 then | |
456 | p1.CFrame = char:WaitForChild("Torso").CFrame | |
457 | p2.CFrame = char:WaitForChild("Torso").CFrame | |
458 | p3.CFrame = char:WaitForChild("Torso").CFrame * CFrame.Angles(math.rad(math.random(0,360)),math.rad(math.random(0,360)),math.rad(math.random(0,360))) | |
459 | p4.CFrame = char:WaitForChild("Torso").CFrame * CFrame.Angles(math.rad(math.random(0,360)),math.rad(math.random(0,360)),math.rad(math.random(0,360))) | |
460 | m1.Scale = m1.Scale + Vector3.new(0.25,0.25,0.25) | |
461 | m2.Scale = m2.Scale + Vector3.new(0.25,0.25,0.25) | |
462 | m3.Scale = m3.Scale + Vector3.new(0.25,0.25,0.25) | |
463 | m4.Scale = m4.Scale + Vector3.new(0.25,0.25,0.25) | |
464 | p1.Transparency = p1.Transparency + (1/(1*60)) | |
465 | p2.Transparency = p2.Transparency + (1/(1*60)) | |
466 | p3.Transparency = p3.Transparency + (1/(1*60)) | |
467 | p4.Transparency = p4.Transparency + (1/(1*60)) | |
468 | else | |
469 | p1:Destroy() | |
470 | p2:Destroy() | |
471 | p3:Destroy() | |
472 | p4:Destroy() | |
473 | frmR:disconnect() | |
474 | end | |
475 | end) | |
476 | else | |
477 | gt = true | |
478 | local p1 = Instance.new("Part",workspace) | |
479 | local m1 = Instance.new("SpecialMesh",p1) | |
480 | m1.MeshType = "Sphere" | |
481 | m1.Scale = Vector3.new(5,5,5) | |
482 | p1.Size = Vector3.new(1,1,1) | |
483 | p1.Anchored = true | |
484 | p1.CanCollide = false | |
485 | p1.TopSurface = "Smooth" | |
486 | p1.BottomSurface = "Smooth" | |
487 | p1.BrickColor = wCol | |
488 | p1.Material = "Neon" | |
489 | local p2 = Instance.new("Part",workspace) | |
490 | local m2 = Instance.new("SpecialMesh",p2) | |
491 | m2.MeshType = "Sphere" | |
492 | m2.Scale = Vector3.new(8,8,8) | |
493 | p2.Size = Vector3.new(1,1,1) | |
494 | p2.Anchored = true | |
495 | p2.CanCollide = false | |
496 | p2.TopSurface = "Smooth" | |
497 | p2.BottomSurface = "Smooth" | |
498 | p2.BrickColor = wCol2 | |
499 | p2.Material = "Neon" | |
500 | local p3 = Instance.new("Part",workspace) | |
501 | local m3 = Instance.new("BlockMesh",p3) | |
502 | m3.Scale = Vector3.new(7,7,7) | |
503 | p3.Size = Vector3.new(1,1,1) | |
504 | p3.Transparency = 0.4 | |
505 | p3.Anchored = true | |
506 | p3.CanCollide = false | |
507 | p3.TopSurface = "Smooth" | |
508 | p3.BottomSurface = "Smooth" | |
509 | p3.BrickColor = wCol | |
510 | p3.Material = "Neon" | |
511 | local p4 = Instance.new("Part",workspace) | |
512 | local m4 = Instance.new("BlockMesh",p4) | |
513 | m4.Scale = Vector3.new(10,10,10) | |
514 | p4.Size = Vector3.new(1,1,1) | |
515 | p4.Transparency = 0.4 | |
516 | p4.Anchored = true | |
517 | p4.CanCollide = false | |
518 | p4.TopSurface = "Smooth" | |
519 | p4.BottomSurface = "Smooth" | |
520 | p4.BrickColor = wCol2 | |
521 | p4.Material = "Neon" | |
522 | ||
523 | ClearGhosts() | |
524 | ||
525 | for i=1,amountGhosts do | |
526 | CreateGhost() | |
527 | end | |
528 | ||
529 | local currentframe = 0 | |
530 | local frmR | |
531 | ||
532 | frmR = game:GetService("RunService").RenderStepped:connect(function() | |
533 | currentframe = currentframe + 1 | |
534 | if currentframe < 1*60 then | |
535 | p1.CFrame = char:WaitForChild("Torso").CFrame | |
536 | p2.CFrame = char:WaitForChild("Torso").CFrame | |
537 | p3.CFrame = char:WaitForChild("Torso").CFrame * CFrame.Angles(math.rad(math.random(0,360)),math.rad(math.random(0,360)),math.rad(math.random(0,360))) | |
538 | p4.CFrame = char:WaitForChild("Torso").CFrame * CFrame.Angles(math.rad(math.random(0,360)),math.rad(math.random(0,360)),math.rad(math.random(0,360))) | |
539 | m1.Scale = m1.Scale + Vector3.new(0.25,0.25,0.25) | |
540 | m2.Scale = m2.Scale + Vector3.new(0.25,0.25,0.25) | |
541 | m3.Scale = m3.Scale + Vector3.new(0.25,0.25,0.25) | |
542 | m4.Scale = m4.Scale + Vector3.new(0.25,0.25,0.25) | |
543 | p1.Transparency = p1.Transparency + (1/(1*60)) | |
544 | p2.Transparency = p2.Transparency + (1/(1*60)) | |
545 | p3.Transparency = p3.Transparency + (1/(1*60)) | |
546 | p4.Transparency = p4.Transparency + (1/(1*60)) | |
547 | else | |
548 | p1:Destroy() | |
549 | p2:Destroy() | |
550 | p3:Destroy() | |
551 | p4:Destroy() | |
552 | frmR:disconnect() | |
553 | end | |
554 | end) | |
555 | end | |
556 | end | |
557 | end) | |
558 | end) | |
559 | ||
560 | local frm = 0 | |
561 | ||
562 | local toRemove = {} | |
563 | ||
564 | game:GetService("RunService").RenderStepped:connect(function() | |
565 | frm = frm + 1 | |
566 | if char.Parent == game:GetService("Workspace").CurrentCamera then | |
567 | ||
568 | e1.CFrame = char.Head.CFrame * CFrame.new(0.15,0.1,-0.55) | |
569 | e2.CFrame = char.Head.CFrame * CFrame.new(-0.15,0.1,-0.55) | |
570 | ||
571 | local delay = 0.9 | |
572 | ||
573 | for i,v in pairs(ghosts) do | |
574 | for _,b in pairs(v:GetChildren()) do | |
575 | if b:IsA("Part") or b:IsA("WedgePart") or b:IsA("TrussPart") or b:IsA("UnionOperation") then | |
576 | b.CFrame = b.CFrame:lerp(b:FindFirstChild("Target").Value.CFrame,delay) | |
577 | end | |
578 | end | |
579 | delay = delay - (0.5/(#ghosts+1)) | |
580 | end | |
581 | ||
582 | --[[if math.floor(frm/8) == frm/8 then | |
583 | local isub = 0 | |
584 | for i,v in pairs(ghosts) do | |
585 | if #v:GetChildren() < 6 then | |
586 | v:Destroy() | |
587 | table.remove(ghosts,i - isub) | |
588 | isub = isub + 1 | |
589 | CreateGhost() | |
590 | end | |
591 | end | |
592 | end]] | |
593 | end | |
594 | ||
595 | --Animation states | |
596 | ||
597 | local ray = Ray.new(char.HumanoidRootPart.CFrame.p, Vector3.new(0,-3,0).unit*4) | |
598 | local part,pos,normal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(ray,ghosts,false,true) | |
599 | ||
600 | if state ~= "busy" then | |
601 | if char.HumanoidRootPart.Velocity.Magnitude <= 0.5 then | |
602 | state = "idle" | |
603 | elseif char.HumanoidRootPart.Velocity.Magnitude > 0.5 then | |
604 | state = "running" | |
605 | --[[elseif char.HumanoidRootPart.Velocity.Y < 0.1 and not part then | |
606 | state = "falling" | |
607 | elseif char.HumanoidRootPart.Velocity.Y >= 0.1 and not part then | |
608 | state = "jumping"]] | |
609 | end | |
610 | char.Humanoid.WalkSpeed = 32 | |
611 | char.Humanoid.JumpPower = 70 | |
612 | end | |
613 | ||
614 | --Actual animations | |
615 | ||
616 | if state == "idle" then | |
617 | char.HumanoidRootPart.RootJoint.C0 = char.HumanoidRootPart.RootJoint.C0:lerp(CFrame.new(0,1 + (math.cos(tick())/5),0) * CFrame.Angles(math.rad(80 + math.cos(tick())*4),math.rad(180),math.rad(0)),0.06) | |
618 | char.Torso["Right Hip"].C0 = char.Torso["Right Hip"].C0:lerp(CFrame.new(0.5,-0.1 + (math.cos((tick())*2)/10),-0.2) * CFrame.Angles(math.rad(-20),math.rad(0),math.rad(0)),0.06) | |
619 | char.Torso["Left Hip"].C0 = char.Torso["Left Hip"].C0:lerp(CFrame.new(-0.5,-0.5 + (math.cos((tick()-0.5)*2)/6),0.3) * CFrame.Angles(math.rad(-10),math.rad(0),math.rad(0)),0.06) | |
620 | char.Torso["Right Shoulder"].C0 = char.Torso["Right Shoulder"].C0:lerp(CFrame.new(1.5,0.43 + (math.cos((tick()-0.5)*1.5)/30),-0.6) * CFrame.Angles(math.rad(math.cos((tick())*2)*10),math.rad(0),math.rad(math.cos(tick()/3)*3)),0.06) | |
621 | char.Torso["Left Shoulder"].C0 = char.Torso["Left Shoulder"].C0:lerp(CFrame.new(-1.5,0.3 + (math.cos((tick()-0.5)*1.5)/30),-0.6) * CFrame.Angles(math.rad(-15 + math.cos((tick()))*7),math.rad(0),math.rad(math.cos(tick()/2)*4)),0.06) | |
622 | char.Torso.Neck.C0 = char.Torso.Neck.C0:lerp(CFrame.new(0,1,0) * CFrame.Angles(math.rad(90 + math.cos(tick()*1.5)*6),math.rad(180),math.rad(0)),0.06) | |
623 | elseif state == "running" then | |
624 | char.HumanoidRootPart.RootJoint.C0 = char.HumanoidRootPart.RootJoint.C0:lerp(CFrame.new(0,1 + (math.cos(tick())/5),0) * CFrame.Angles(math.rad(65 + math.cos(tick())*4),math.rad(180),math.rad(-char.HumanoidRootPart.RotVelocity.Y*10)),0.06) | |
625 | char.Torso["Right Hip"].C0 = char.Torso["Right Hip"].C0:lerp(CFrame.new(0.5,-0.1 + (math.cos((tick())*2)/10),-0.2) * CFrame.Angles(math.rad(-20),math.rad(0),math.rad(0)),0.06) | |
626 | char.Torso["Left Hip"].C0 = char.Torso["Left Hip"].C0:lerp(CFrame.new(-0.5,-0.5 + (math.cos((tick()-0.5)*2)/6),0.3) * CFrame.Angles(math.rad(-10),math.rad(0),math.rad(0)),0.06) | |
627 | char.Torso["Right Shoulder"].C0 = char.Torso["Right Shoulder"].C0:lerp(CFrame.new(1.5,0.70 + (math.cos((tick()-0.5)*1.5)/30),-0.4) * CFrame.Angles(math.rad(50 + math.cos((tick())*2)*10),math.rad(0),math.rad(math.cos(tick()/3)*3)),0.06) | |
628 | char.Torso["Left Shoulder"].C0 = char.Torso["Left Shoulder"].C0:lerp(CFrame.new(-1.5,0.3 + (math.cos((tick()-0.5)*1.5)/30),-0.4) * CFrame.Angles(math.rad(-35 + math.cos((tick()))*7),math.rad(0),math.rad(math.cos(tick()/2)*4)),0.06) | |
629 | char.Torso.Neck.C0 = char.Torso.Neck.C0:lerp(CFrame.new(0,1,0) * CFrame.Angles(math.rad(90 + math.cos(tick()*1.5)*6),math.rad(180),math.rad(0)),0.06) | |
630 | end | |
631 | end) | |
632 | ||
633 | char.Humanoid.Died:connect(function() | |
634 | toggle = false | |
635 | ||
636 | ClearGhosts() | |
637 | ||
638 | char.Parent = game.Workspace | |
639 | char.Parent = game:GetService("Workspace") | |
640 | char:FindFirstChild("ForceField"):Destroy() | |
641 | char:FindFirstChild("Head").Transparency = 0 | |
642 | char:FindFirstChild("Torso").Transparency = 0 | |
643 | char:FindFirstChild("Right Arm").Transparency = 0 | |
644 | char:FindFirstChild("Left Arm").Transparency = 0 | |
645 | char:FindFirstChild("Right Leg").Transparency = 0 | |
646 | char:FindFirstChild("Left Leg").Transparency = 0 | |
647 | for i,v in pairs(char:GetChildren()) do | |
648 | if v:IsA("Accessory") then | |
649 | v:FindFirstChild("Handle").Transparency = 0 | |
650 | end | |
651 | end | |
652 | for i,v in pairs(game:GetService("Workspace").CurrentCamera:GetChildren()) do v:Destroy() end | |
653 | plr:LoadCharacter() | |
654 | end) | |
655 | ||
656 | local msgidGlob = 0 | |
657 | local state = true | |
658 | local font = "Arcade" | |
659 | local tcol = Color3.fromRGB(255,217,0) | |
660 | local tscol = Color3.fromRGB(0,0,0) | |
661 | local fsiz = 28 | |
662 | local tr = true | |
663 | local tsr = false | |
664 | local fade = 2 | |
665 | ||
666 | local p = Instance.new("Part",game.Workspace) | |
667 | p.Size = Vector3.new(0.2,0.2,0.2) | |
668 | p.Transparency = 1 | |
669 | p.Anchored = true | |
670 | p.CanCollide = false | |
671 | p.Name = "Msg" | |
672 | p.CFrame = plr.Character:WaitForChild("Head").CFrame + Vector3.new(0,2.25,0) | |
673 | ||
674 | local r = 255 | |
675 | local b = 0 | |
676 | local g = 0 | |
677 | ||
678 | plr.Chatted:connect(function(c) | |
679 | msgidGlob = msgidGlob + 1 | |
680 | local curMsgId = msgidGlob | |
681 | if string.lower(c) == "!disable" then | |
682 | state = false | |
683 | elseif string.lower(c) == "!enable" then | |
684 | state = true | |
685 | elseif string.lower(string.sub(c,1,6)) == "!font " then | |
686 | local old = font | |
687 | font = string.sub(c,7,#c) or old | |
688 | elseif string.lower(string.sub(c,1,8)) == "!tcolor " then | |
689 | if string.lower(string.sub(c,9,#c)) == "rainbow" then | |
690 | tr = true | |
691 | else | |
692 | tr = false | |
693 | local old = tcol | |
694 | tcol = Color3.fromRGB(string.sub(c,9,11),string.sub(c,13,15),string.sub(c,17,19)) or old | |
695 | end | |
696 | elseif string.lower(string.sub(c,1,9)) == "!tscolor " then | |
697 | if string.sub(c,10,#c) == "rainbow" then | |
698 | tsr = true | |
699 | else | |
700 | tsr = false | |
701 | local old = tscol | |
702 | tscol = Color3.fromRGB(string.sub(c,10,12),string.sub(c,14,16),string.sub(c,18,20)) or old | |
703 | end | |
704 | elseif string.lower(string.sub(c,1,6)) == "!size " then | |
705 | local old = fsiz | |
706 | fsiz = string.sub(c,7,#c) or old | |
707 | elseif string.lower(string.sub(c,1,6)) == "!fade " then | |
708 | local old = fade | |
709 | fade = string.sub(c,7,#c) or old | |
710 | end | |
711 | if plr.Character and state == true then | |
712 | if plr.Character:FindFirstChild("Head") then | |
713 | for i,v in pairs(p:GetChildren()) do | |
714 | if v:IsA("BillboardGui") and v.Name == "J2CMSG" then | |
715 | v:Destroy() | |
716 | end | |
717 | end | |
718 | local bbgui = Instance.new("BillboardGui",p) | |
719 | bbgui.Name = "J2CMSG" | |
720 | bbgui.AlwaysOnTop = true | |
721 | bbgui.ExtentsOffsetWorldSpace = Vector3.new(0,4.5,0) | |
722 | bbgui.Size = UDim2.new(0.2,0,0.14,0) | |
723 | local tl = Instance.new("TextLabel",bbgui) | |
724 | tl.BackgroundTransparency = 1 | |
725 | tl.BorderSizePixel = 0 | |
726 | tl.Size = UDim2.new(1,0,10,0) | |
727 | tl.Position = UDim2.new(0,0,-5,0) | |
728 | tl.Font = font or "SciFi" | |
729 | tl.FontSize = "Size"..fsiz or "Size36" | |
730 | tl.TextColor3 = tcol | |
731 | tl.TextScaled = false | |
732 | tl.TextWrapped = false | |
733 | tl.TextStrokeColor3 = tscol | |
734 | tl.TextStrokeTransparency = 0 | |
735 | ||
736 | game:GetService("RunService").RenderStepped:connect(function() | |
737 | if tr then | |
738 | if tl.Parent ~= nil then | |
739 | tl.TextColor3 = Color3.fromRGB(r,g,b) | |
740 | end | |
741 | end | |
742 | end) | |
743 | ||
744 | for i=1,#c do | |
745 | if msgidGlob == curMsgId then | |
746 | tl.Text = string.sub(c,1,i) | |
747 | if string.sub(c,i,i) ~= " " then | |
748 | local s = Instance.new("Sound",p) | |
749 | s.SoundId = "rbxassetid://418252437" | |
750 | s.Volume = 1 | |
751 | s.Pitch = 1 | |
752 | s:Play() | |
753 | game.Debris:AddItem(s,2) | |
754 | end | |
755 | wait() | |
756 | end | |
757 | end | |
758 | wait(fade) | |
759 | if msgidGlob == curMsgId then | |
760 | for i=1,10 do | |
761 | if msgidGlob == curMsgId then | |
762 | tl.TextTransparency = tl.TextTransparency + 0.1 | |
763 | tl.TextStrokeTransparency = tl.TextStrokeTransparency + 0.1 | |
764 | tl.Position = tl.Position + UDim2.new(0,0,0,-3) | |
765 | wait() | |
766 | end | |
767 | end | |
768 | if msgidGlob == curMsgId then | |
769 | bbgui:Destroy() | |
770 | end | |
771 | end | |
772 | end | |
773 | end | |
774 | end) | |
775 | ||
776 | coroutine.resume(coroutine.create(function() | |
777 | while wait() do | |
778 | for i=0,255,10 do g = i wait() end | |
779 | for i=255,0,-10 do r = i wait() end | |
780 | for i=0,255,10 do b = i wait() end | |
781 | for i=255,0,-10 do g = i wait() end | |
782 | for i=0,255,10 do r = i wait() end | |
783 | for i=255,0,-10 do b = i wait() end | |
784 | end | |
785 | end)) | |
786 | ||
787 | game:GetService("RunService").RenderStepped:connect(function() | |
788 | if p.Parent ~= nil then | |
789 | p.CFrame = p.CFrame:lerp(plr.Character:WaitForChild("Head").CFrame + Vector3.new(0,2.25,0),0.16) | |
790 | else | |
791 | p = Instance.new("Part",game.Workspace) | |
792 | p.Size = Vector3.new(0.2,0.2,0.2) | |
793 | p.Transparency = 1 | |
794 | p.Anchored = true | |
795 | p.CanCollide = false | |
796 | p.Name = "Msg" | |
797 | p.CFrame = plr.Character:WaitForChild("Head").CFrame + Vector3.new(0,2.25,0) | |
798 | end | |
799 | end)mouse = plr:GetMouse() | |
800 | --This has to be a local script. | |
801 | function onClicked() | |
802 | local x = Instance.new("Explosion", Workspace)--This means create new explosion in the workspace. | |
803 | x.Position = mouse.Hit.p | |
804 | x.BlastRadius = 5 | |
805 | x.BlastPressure = math.huge | |
806 | end | |
807 | mouse.Button1Down:connect(onClicked) | |
808 | -- how to use? Just Left Click it gonna explode on u click XD | |
809 | ||
810 | print("Ghost loaded! Time elapsed: "..tick() - time) |