Thefrozen106

Sun is a deadly laser (Can kill anything except Shadow)

Sep 30th, 2017
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 46.18 KB | None | 0 0
  1. --[[
  2. SUN IS A DEADLY LASER SCRIPT
  3. { NOT ANYMORE THERE'S A BLANKET! }
  4. Created by Minty_Latios (ROBLOX)
  5. MintyLatios (V3rmillion)
  6. Minty Latios#1938
  7.  
  8.  
  9. --]]
  10. wait(1 / 60)
  11. Effects = { }
  12. local Player = game.Players.localPlayer
  13. local Character = Player.Character
  14. local Humanoid = Character.Humanoid
  15. local Mouse = Player:GetMouse()
  16. local LeftArm = Character["Left Arm"]
  17. local RightArm = Character["Right Arm"]
  18. local LeftLeg = Character["Left Leg"]
  19. local RightLeg = Character["Right Leg"]
  20. local Head = Character.Head
  21. local Torso = Character.Torso
  22. local Camera = game.Workspace.CurrentCamera
  23. local RootPart = Character.HumanoidRootPart
  24. local RootJoint = RootPart.RootJoint
  25. local attack = false
  26. local Anim = 'Idle'
  27. local attacktype = 1
  28. local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
  29. local velocity = RootPart.Velocity.y
  30. local sine = 0
  31. local change = 1
  32. local Create = LoadLibrary("RbxUtility").Create
  33.  
  34. local m = Create("Model"){
  35. Parent = Character,
  36. Name = "WeaponModel",
  37. }
  38.  
  39. Humanoid.Animator.Parent = nil
  40. Character.Animate.Parent = nil
  41.  
  42. local newMotor = function(part0, part1, c0, c1)
  43. local w = Create('Motor'){
  44. Parent = part0,
  45. Part0 = part0,
  46. Part1 = part1,
  47. C0 = c0,
  48. C1 = c1,
  49. }
  50. return w
  51. end
  52.  
  53. function clerp(a, b, t)
  54. return a:lerp(b, t)
  55. end
  56.  
  57. RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14)
  58. NeckCF = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  59.  
  60. local RW = newMotor(Torso, RightArm, CFrame.new(1.5, 0, 0), CFrame.new(0, 0, 0))
  61. local LW = newMotor(Torso, LeftArm, CFrame.new(-1.5, 0, 0), CFrame.new(0, 0, 0))
  62. local RH = newMotor(Torso, RightLeg, CFrame.new(.5, -2, 0), CFrame.new(0, 0, 0))
  63. local LH = newMotor(Torso, LeftLeg, CFrame.new(-.5, -2, 0), CFrame.new(0, 0, 0))
  64. RootJoint.C1 = CFrame.new(0, 0, 0)
  65. RootJoint.C0 = CFrame.new(0, 0, 0)
  66. Torso.Neck.C1 = CFrame.new(0, 0, 0)
  67. Torso.Neck.C0 = CFrame.new(0, 1.5, 0)
  68.  
  69. local rarmc1 = RW.C1
  70. local larmc1 = LW.C1
  71. local rlegc1 = RH.C1
  72. local llegc1 = LH.C1
  73.  
  74. local resetc1 = false
  75.  
  76. function PlayAnimationFromTable(table, speed, bool)
  77. RootJoint.C0 = clerp(RootJoint.C0, table[1], speed)
  78. Torso.Neck.C0 = clerp(Torso.Neck.C0, table[2], speed)
  79. RW.C0 = clerp(RW.C0, table[3], speed)
  80. LW.C0 = clerp(LW.C0, table[4], speed)
  81. RH.C0 = clerp(RH.C0, table[5], speed)
  82. LH.C0 = clerp(LH.C0, table[6], speed)
  83. if bool == true then
  84. if resetc1 == false then
  85. resetc1 = true
  86. RootJoint.C1 = RootJoint.C1
  87. Torso.Neck.C1 = Torso.Neck.C1
  88. RW.C1 = rarmc1
  89. LW.C1 = larmc1
  90. RH.C1 = rlegc1
  91. LH.C1 = llegc1
  92. end
  93. end
  94. end
  95.  
  96. ArtificialHB = Create("BindableEvent", script){
  97. Parent = script,
  98. Name = "Heartbeat",
  99. }
  100.  
  101. script:WaitForChild("Heartbeat")
  102.  
  103. frame = 1 / 30
  104. tf = 0
  105. allowframeloss = false
  106. tossremainder = false
  107. lastframe = tick()
  108. script.Heartbeat:Fire()
  109.  
  110. game:GetService("RunService").Heartbeat:connect(function(s, p)
  111. tf = tf + s
  112. if tf >= frame then
  113. if allowframeloss then
  114. script.Heartbeat:Fire()
  115. lastframe = tick()
  116. else
  117. for i = 1, math.floor(tf / frame) do
  118. script.Heartbeat:Fire()
  119. end
  120. lastframe = tick()
  121. end
  122. if tossremainder then
  123. tf = 0
  124. else
  125. tf = tf - frame * math.floor(tf / frame)
  126. end
  127. end
  128. end)
  129.  
  130. function swait(num)
  131. if num == 0 or num == nil then
  132. ArtificialHB.Event:wait()
  133. else
  134. for i = 0, num do
  135. ArtificialHB.Event:wait()
  136. end
  137. end
  138. end
  139.  
  140. function RemoveOutlines(part)
  141. part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
  142. end
  143.  
  144. CFuncs = {
  145. ["Part"] = {
  146. Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
  147. local Part = Create("Part"){
  148. Parent = Parent,
  149. Reflectance = Reflectance,
  150. Transparency = Transparency,
  151. CanCollide = false,
  152. Locked = true,
  153. BrickColor = BrickColor.new(tostring(BColor)),
  154. Name = Name,
  155. Size = Size,
  156. Material = Material,
  157. }
  158. RemoveOutlines(Part)
  159. return Part
  160. end;
  161. };
  162.  
  163. ["Mesh"] = {
  164. Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
  165. local Msh = Create(Mesh){
  166. Parent = Part,
  167. Offset = OffSet,
  168. Scale = Scale,
  169. }
  170. if Mesh == "SpecialMesh" then
  171. Msh.MeshType = MeshType
  172. Msh.MeshId = MeshId
  173. end
  174. return Msh
  175. end;
  176. };
  177.  
  178. ["Mesh"] = {
  179. Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
  180. local Msh = Create(Mesh){
  181. Parent = Part,
  182. Offset = OffSet,
  183. Scale = Scale,
  184. }
  185. if Mesh == "SpecialMesh" then
  186. Msh.MeshType = MeshType
  187. Msh.MeshId = MeshId
  188. end
  189. return Msh
  190. end;
  191. };
  192.  
  193. ["Weld"] = {
  194. Create = function(Parent, Part0, Part1, C0, C1)
  195. local Weld = Create("Weld"){
  196. Parent = Parent,
  197. Part0 = Part0,
  198. Part1 = Part1,
  199. C0 = C0,
  200. C1 = C1,
  201. }
  202. return Weld
  203. end;
  204. };
  205.  
  206. ["Sound"] = {
  207. Create = function(id, par, vol, pit)
  208. coroutine.resume(coroutine.create(function()
  209. local S = Create("Sound"){
  210. Volume = vol,
  211. Pitch = pit or 1,
  212. SoundId = id,
  213. Parent = par or workspace,
  214. }
  215. wait()
  216. S:play()
  217. game:GetService("Debris"):AddItem(S, 6)
  218. end))
  219. end;
  220. };
  221.  
  222. ["ParticleEmitter"] = {
  223. Create = function(Parent, Color1, Color2, LightEmission, Size, Texture, Transparency, ZOffset, Accel, Drag, LockedToPart, VelocityInheritance, EmissionDirection, Enabled, LifeTime, Rate, Rotation, RotSpeed, Speed, VelocitySpread)
  224. local fp = Create("ParticleEmitter"){
  225. Parent = Parent,
  226. Color = ColorSequence.new(Color1, Color2),
  227. LightEmission = LightEmission,
  228. Size = Size,
  229. Texture = Texture,
  230. Transparency = Transparency,
  231. ZOffset = ZOffset,
  232. Acceleration = Accel,
  233. Drag = Drag,
  234. LockedToPart = LockedToPart,
  235. VelocityInheritance = VelocityInheritance,
  236. EmissionDirection = EmissionDirection,
  237. Enabled = Enabled,
  238. Lifetime = LifeTime,
  239. Rate = Rate,
  240. Rotation = Rotation,
  241. RotSpeed = RotSpeed,
  242. Speed = Speed,
  243. VelocitySpread = VelocitySpread,
  244. }
  245. return fp
  246. end;
  247. };
  248.  
  249. CreateTemplate = {
  250.  
  251. };
  252. }
  253.  
  254. function rayCast(Position, Direction, Range, Ignore)
  255. return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore)
  256. end
  257.  
  258. FindNearestTorso = function(pos)
  259. local list = (game.Workspace:children())
  260. local torso = nil
  261. local dist = 1000
  262. local temp, human, temp2 = nil, nil, nil
  263. for x = 1, #list do
  264. temp2 = list[x]
  265. if temp2.className == "Model" and temp2.Name ~= Character.Name then
  266. temp = temp2:findFirstChild("Torso")
  267. human = temp2:findFirstChild("Humanoid")
  268. if temp ~= nil and human ~= nil and human.Health > 0 and (temp.Position - pos).magnitude < dist then
  269. local dohit = true
  270. if dohit == true then
  271. torso = temp
  272. dist = (temp.Position - pos).magnitude
  273. end
  274. end
  275. end
  276. end
  277. return torso, dist
  278. end
  279.  
  280. function Damage(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
  281. if hit.Parent == nil then
  282. return
  283. end
  284. local h = hit.Parent:FindFirstChild("Humanoid")
  285. for _, v in pairs(hit.Parent:children()) do
  286. if v:IsA("Humanoid") then
  287. h = v
  288. end
  289. end
  290. if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
  291. if hit.Parent:findFirstChild("DebounceHit") ~= nil then
  292. if hit.Parent.DebounceHit.Value == true then
  293. return
  294. end
  295. end
  296. local c = Create("ObjectValue"){
  297. Name = "creator",
  298. Value = game:service("Players").LocalPlayer,
  299. Parent = h,
  300. }
  301. game:GetService("Debris"):AddItem(c, .5)
  302. if HitSound ~= nil and HitPitch ~= nil then
  303. CFuncs.Sound.Create(HitSound, hit, 1, HitPitch)
  304. end
  305. local Damage = math.random(minim, maxim)
  306. local blocked = false
  307. local block = hit.Parent:findFirstChild("Block")
  308. if block ~= nil then
  309. if block.className == "IntValue" then
  310. if block.Value > 0 then
  311. blocked = true
  312. block.Value = block.Value - 1
  313. print(block.Value)
  314. end
  315. end
  316. end
  317. if blocked == false then
  318. h.Health = h.Health - Damage
  319. ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, BrickColor.new("Really black").Color)
  320. else
  321. h.Health = h.Health - (Damage / 2)
  322. ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, BrickColor.new("Really black").Color)
  323. end
  324. if Type == "Knockdown" then
  325. local hum = hit.Parent.Humanoid
  326. hum.PlatformStand = true
  327. coroutine.resume(coroutine.create(function(HHumanoid)
  328. swait(1)
  329. HHumanoid.PlatformStand = false
  330. end), hum)
  331. local angle = (hit.Position - (Property.Position + Vector3.new(0, 0, 0))).unit
  332. local bodvol = Create("BodyVelocity"){
  333. velocity = angle * knockback,
  334. P = 5000,
  335. maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  336. Parent = hit,
  337. }
  338. local rl = Create("BodyAngularVelocity"){
  339. P = 3000,
  340. maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
  341. angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
  342. Parent = hit,
  343. }
  344. game:GetService("Debris"):AddItem(bodvol, .5)
  345. game:GetService("Debris"):AddItem(rl, .5)
  346. elseif Type == "Normal" then
  347. local vp = Create("BodyVelocity"){
  348. P = 500,
  349. maxForce = Vector3.new(math.huge, 0, math.huge),
  350. velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05,
  351. }
  352. if knockback > 0 then
  353. vp.Parent = hit.Parent.Torso
  354. end
  355. game:GetService("Debris"):AddItem(vp, .5)
  356. elseif Type == "Up" then
  357. local bodyVelocity = Create("BodyVelocity"){
  358. velocity = Vector3.new(0, 20, 0),
  359. P = 5000,
  360. maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  361. Parent = hit,
  362. }
  363. game:GetService("Debris"):AddItem(bodyVelocity, .5)
  364. elseif Type == "DarkUp" then
  365. coroutine.resume(coroutine.create(function()
  366. for i = 0, 1, 0.1 do
  367. swait()
  368. Effects.Block.Create(BrickColor.new("Black"), hit.Parent.Torso.CFrame, 5, 5, 5, 1, 1, 1, .08, 1)
  369. end
  370. end))
  371. local bodyVelocity = Create("BodyVelocity"){
  372. velocity = Vector3.new(0, 20, 0),
  373. P = 5000,
  374. maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  375. Parent = hit,
  376. }
  377. game:GetService("Debris"):AddItem(bodyVelocity, 1)
  378. elseif Type == "Snare" then
  379. local bp = Create("BodyPosition"){
  380. P = 2000,
  381. D = 100,
  382. maxForce = Vector3.new(math.huge, math.huge, math.huge),
  383. position = hit.Parent.Torso.Position,
  384. Parent = hit.Parent.Torso,
  385. }
  386. game:GetService("Debris"):AddItem(bp, 1)
  387. elseif Type == "Freeze" then
  388. local BodPos = Create("BodyPosition"){
  389. P = 50000,
  390. D = 1000,
  391. maxForce = Vector3.new(math.huge, math.huge, math.huge),
  392. position = hit.Parent.Torso.Position,
  393. Parent = hit.Parent.Torso,
  394. }
  395. local BodGy = Create("BodyGyro") {
  396. maxTorque = Vector3.new(4e+005, 4e+005, 4e+005) * math.huge ,
  397. P = 20e+003,
  398. Parent = hit.Parent.Torso,
  399. cframe = hit.Parent.Torso.CFrame,
  400. }
  401. hit.Parent.Torso.Anchored = true
  402. coroutine.resume(coroutine.create(function(Part)
  403. swait(1.5)
  404. Part.Anchored = false
  405. end), hit.Parent.Torso)
  406. game:GetService("Debris"):AddItem(BodPos, 3)
  407. game:GetService("Debris"):AddItem(BodGy, 3)
  408. end
  409. local debounce = Create("BoolValue"){
  410. Name = "DebounceHit",
  411. Parent = hit.Parent,
  412. Value = true,
  413. }
  414. game:GetService("Debris"):AddItem(debounce, Delay)
  415. c = Create("ObjectValue"){
  416. Name = "creator",
  417. Value = Player,
  418. Parent = h,
  419. }
  420. game:GetService("Debris"):AddItem(c, .5)
  421. end
  422. end
  423.  
  424. function ShowDamage(Pos, Text, Time, Color)
  425. local Rate = (1 / 30)
  426. local Pos = (Pos or Vector3.new(0, 0, 0))
  427. local Text = (Text or "")
  428. local Time = (Time or 2)
  429. local Color = (Color or Color3.new(1, 0, 1))
  430. local EffectPart = CFuncs.Part.Create(workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", Vector3.new(0, 0, 0))
  431. EffectPart.Anchored = true
  432. local BillboardGui = Create("BillboardGui"){
  433. Size = UDim2.new(3, 0, 3, 0),
  434. Adornee = EffectPart,
  435. Parent = EffectPart,
  436. }
  437. local TextLabel = Create("TextLabel"){
  438. BackgroundTransparency = 1,
  439. Size = UDim2.new(1, 0, 1, 0),
  440. Text = Text,
  441. Font = "SciFi",
  442. TextColor3 = Color,
  443. TextScaled = true,
  444. Parent = BillboardGui,
  445. }
  446. game.Debris:AddItem(EffectPart, (Time))
  447. EffectPart.Parent = game:GetService("Workspace")
  448. delay(0, function()
  449. local Frames = (Time / Rate)
  450. for Frame = 1, Frames do
  451. wait(Rate)
  452. local Percent = (Frame / Frames)
  453. EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
  454. TextLabel.TextTransparency = Percent
  455. end
  456. if EffectPart and EffectPart.Parent then
  457. EffectPart:Destroy()
  458. end
  459. end)
  460. end
  461.  
  462. function MagnitudeDamage(Part, Magnitude, MinimumDamage, MaximumDamage, KnockBack, Type, HitSound, HitPitch)
  463. for _, c in pairs(workspace:children()) do
  464. local hum = c:findFirstChild("Humanoid")
  465. if hum ~= nil then
  466. local head = c:findFirstChild("Torso")
  467. if head ~= nil then
  468. local targ = head.Position - Part.Position
  469. local mag = targ.magnitude
  470. if mag <= Magnitude and c.Name ~= Player.Name then
  471. Damage(head, head, MinimumDamage, MaximumDamage, KnockBack, Type, RootPart, .1, "rbxassetid://" .. HitSound, HitPitch)
  472. end
  473. end
  474. end
  475. end
  476. end
  477.  
  478. EffectModel = Create("Model"){
  479. Parent = Character,
  480. Name = "Effects",
  481. }
  482.  
  483. Humanoid.WalkSpeed = 0
  484. Humanoid.JumpPower = 0
  485.  
  486. CFuncs['Sound'].Create("rbxassetid://836740253",Character,10,1)
  487. attack = true
  488.  
  489. New = function(Object, Parent, Name, Data)
  490. local Object = Instance.new(Object)
  491. for Index, Value in pairs(Data or {}) do
  492. Object[Index] = Value
  493. end
  494. Object.Parent = Parent
  495. Object.Name = Name
  496. return Object
  497. end
  498.  
  499. Deadly = New("Model",Torso,"Deadly",{})
  500. Sun = New("Part",Deadly,"Sun",{BrickColor = BrickColor.new("New Yeller"),Material = Enum.Material.Neon,Size = Vector3.new(0.5, 0.5, 0.5),CFrame = CFrame.new(-128.325043, 6.92500401, -88.5550079, 1, 0, 0, 0, 1, 0, 0, 0, 1),CanCollide = false,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,Color = Color3.new(1, 1, 0),})
  501. SunWeld = New("Weld",Sun,"Weld",{Part0 = Sun,Part1 = Torso,C0 = CFrame.new(0,10,-10)})
  502. Mesh = New("SpecialMesh",Sun,"Mesh",{Scale = Vector3.new(25, 25, 25),MeshType = Enum.MeshType.Sphere,})
  503.  
  504.  
  505. wait(2.4)
  506. for i = 0, 5, .1 do
  507. swait()
  508. PlayAnimationFromTable({
  509. CFrame.new(0, -0, 0, 1, 0, -0, 0, 1, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  510. CFrame.new(7.62939453e-06, 1.49997127, 0, 1, 0, -0, 0, 1, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  511. CFrame.new(1.49998116, 1.30000138, -0, -0.925471961, -0.378816098, -0, 0.378816068, -0.925472021, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  512. CFrame.new(-1.49998665, -7.67409801e-07, 0, 0.996534884, 0.083175458, -0, -0.0831753537, 0.996536195, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  513. CFrame.new(0.500002444, -1.99997056, 0, 0.997888863, -0.0649460033, -0, 0.0649460033, 0.997888863, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  514. CFrame.new(-0.499981999, -1.99997056, 0, 0.998180926, 0.0602900013, -0, -0.0602900013, 0.998180926, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  515. }, .1, false)
  516. SunWeld.C0 = clerp(SunWeld.C0, CFrame.new(0,-15,-10), 0.1)
  517. end
  518. wait(0.5)
  519. Humanoid.WalkSpeed = 19
  520. Humanoid.JumpPower = 75
  521. attack = false
  522.  
  523. Effects = {
  524. Block = {
  525. Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type)
  526. local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  527. prt.Anchored = true
  528. prt.CFrame = cframe
  529. local msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  530. game:GetService("Debris"):AddItem(prt, 10)
  531. if Type == 1 or Type == nil then
  532. table.insert(Effects, {
  533. prt,
  534. "Block1",
  535. delay,
  536. x3,
  537. y3,
  538. z3,
  539. msh
  540. })
  541. elseif Type == 2 then
  542. table.insert(Effects, {
  543. prt,
  544. "Block2",
  545. delay,
  546. x3,
  547. y3,
  548. z3,
  549. msh
  550. })
  551. end
  552. end;
  553. };
  554.  
  555. Cylinder = {
  556. Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  557. local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  558. prt.Anchored = true
  559. prt.CFrame = cframe
  560. local msh = CFuncs.Mesh.Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  561. game:GetService("Debris"):AddItem(prt, 10)
  562. table.insert(Effects, {
  563. prt,
  564. "Cylinder",
  565. delay,
  566. x3,
  567. y3,
  568. z3,
  569. msh
  570. })
  571. end;
  572. };
  573. Head = {
  574. Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  575. local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
  576. prt.Anchored = true
  577. prt.CFrame = cframe
  578. local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Head", "nil", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  579. game:GetService("Debris"):AddItem(prt, 10)
  580. table.insert(Effects, {
  581. prt,
  582. "Cylinder",
  583. delay,
  584. x3,
  585. y3,
  586. z3,
  587. msh
  588. })
  589. end;
  590. };
  591.  
  592. Sphere = {
  593. Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  594. local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  595. prt.Anchored = true
  596. prt.CFrame = cframe
  597. local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  598. game:GetService("Debris"):AddItem(prt, 10)
  599. table.insert(Effects, {
  600. prt,
  601. "Cylinder",
  602. delay,
  603. x3,
  604. y3,
  605. z3,
  606. msh
  607. })
  608. end;
  609. };
  610.  
  611. Elect = {
  612. Create = function(cff, x, y, z)
  613. local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, BrickColor.new("Lime green"), "Part", Vector3.new(1, 1, 1))
  614. prt.Anchored = true
  615. prt.CFrame = cff * CFrame.new(math.random(-x, x), math.random(-y, y), math.random(-z, z))
  616. prt.CFrame = CFrame.new(prt.Position)
  617. game:GetService("Debris"):AddItem(prt, 2)
  618. local xval = math.random() / 2
  619. local yval = math.random() / 2
  620. local zval = math.random() / 2
  621. local msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(xval, yval, zval))
  622. table.insert(Effects, {
  623. prt,
  624. "Elec",
  625. 0.1,
  626. x,
  627. y,
  628. z,
  629. xval,
  630. yval,
  631. zval
  632. })
  633. end;
  634.  
  635. };
  636.  
  637. Ring = {
  638. Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  639. local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  640. prt.Anchored = true
  641. prt.CFrame = cframe
  642. local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://3270017", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  643. game:GetService("Debris"):AddItem(prt, 10)
  644. table.insert(Effects, {
  645. prt,
  646. "Cylinder",
  647. delay,
  648. x3,
  649. y3,
  650. z3,
  651. msh
  652. })
  653. end;
  654. };
  655.  
  656.  
  657. Wave = {
  658. Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  659. local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  660. prt.Anchored = true
  661. prt.CFrame = cframe
  662. local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://20329976", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  663. game:GetService("Debris"):AddItem(prt, 10)
  664. table.insert(Effects, {
  665. prt,
  666. "Cylinder",
  667. delay,
  668. x3,
  669. y3,
  670. z3,
  671. msh
  672. })
  673. end;
  674. };
  675.  
  676. Break = {
  677. Create = function(brickcolor, cframe, x1, y1, z1)
  678. local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
  679. prt.Anchored = true
  680. prt.CFrame = cframe * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
  681. local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  682. local num = math.random(10, 50) / 1000
  683. game:GetService("Debris"):AddItem(prt, 10)
  684. table.insert(Effects, {
  685. prt,
  686. "Shatter",
  687. num,
  688. prt.CFrame,
  689. math.random() - math.random(),
  690. 0,
  691. math.random(50, 100) / 100
  692. })
  693. end;
  694. };
  695.  
  696. Fire = {
  697. Create = function(brickcolor, cframe, x1, y1, z1, delay)
  698. local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
  699. prt.Anchored = true
  700. prt.CFrame = cframe
  701. msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  702. game:GetService("Debris"):AddItem(prt, 10)
  703. table.insert(Effects, {
  704. prt,
  705. "Fire",
  706. delay,
  707. 1,
  708. 1,
  709. 1,
  710. msh
  711. })
  712. end;
  713. };
  714.  
  715. FireWave = {
  716. Create = function(brickcolor, cframe, x1, y1, z1)
  717. local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 1, brickcolor, "Effect", Vector3.new())
  718. prt.Anchored = true
  719. prt.CFrame = cframe
  720. msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  721. local d = Create("Decal"){
  722. Parent = prt,
  723. Texture = "rbxassetid://26356434",
  724. Face = "Top",
  725. }
  726. local d = Create("Decal"){
  727. Parent = prt,
  728. Texture = "rbxassetid://26356434",
  729. Face = "Bottom",
  730. }
  731. game:GetService("Debris"):AddItem(prt, 10)
  732. table.insert(Effects, {
  733. prt,
  734. "FireWave",
  735. 1,
  736. 30,
  737. math.random(400, 600) / 100,
  738. msh
  739. })
  740. end;
  741. };
  742.  
  743. Lightning = {
  744. Create = function(p0, p1, tym, ofs, col, th, tra, last)
  745. local magz = (p0 - p1).magnitude
  746. local curpos = p0
  747. local trz = {
  748. -ofs,
  749. ofs
  750. }
  751. for i = 1, tym do
  752. local li = CFuncs.Part.Create(EffectModel, "Neon", 0, tra or 0.4, col, "Ref", Vector3.new(th, th, magz / tym))
  753. local ofz = Vector3.new(trz[math.random(1, 2)], trz[math.random(1, 2)], trz[math.random(1, 2)])
  754. local trolpos = CFrame.new(curpos, p1) * CFrame.new(0, 0, magz / tym).p + ofz
  755. li.Material = "Neon"
  756. if tym == i then
  757. local magz2 = (curpos - p1).magnitude
  758. li.Size = Vector3.new(th, th, magz2)
  759. li.CFrame = CFrame.new(curpos, p1) * CFrame.new(0, 0, -magz2 / 2)
  760. table.insert(Effects, {
  761. li,
  762. "Disappear",
  763. last
  764. })
  765. else
  766. do
  767. do
  768. li.CFrame = CFrame.new(curpos, trolpos) * CFrame.new(0, 0, magz / tym / 2)
  769. curpos = li.CFrame * CFrame.new(0, 0, magz / tym / 2).p
  770. game.Debris:AddItem(li, 10)
  771. table.insert(Effects, {
  772. li,
  773. "Disappear",
  774. last
  775. })
  776. end
  777. end
  778. end
  779. end
  780. end
  781. };
  782.  
  783. EffectTemplate = {
  784.  
  785. };
  786. }
  787.  
  788. function supernova()
  789. attack = true
  790. for i = 0, 1, 0.1 do
  791. swait()
  792. PlayAnimationFromTable({
  793. CFrame.new(0, -0, 0, 1, 0, -0, 0, 1, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  794. CFrame.new(7.62939453e-06, 1.49997127, 0, 1, 0, -0, 0, 1, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  795. CFrame.new(1.49998248, 1.03999865, 1.31132779e-07, -0.874934673, -0.48424086, -8.74230253e-08, 0.48424086, -0.874934673, 2.16521015e-13, -7.64895418e-08, -4.23336139e-08, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  796. CFrame.new(-1.45997405, 1.03999221, 0, -0.85547322, 0.5178473, -0, -0.517847538, -0.855473042, 0, 0, -0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  797. CFrame.new(0.500002444, -1.99997056, 0, 0.997888863, -0.0649460033, -0, 0.0649460033, 0.997888863, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  798. CFrame.new(-0.499981999, -1.99997056, 0, 0.998180926, 0.0602900013, -0, -0.0602900013, 0.998180926, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  799. }, .3, false)
  800. end
  801. wait(.5)
  802. for i = 0, 5, .1 do
  803. Mesh.Scale = Mesh.Scale + Vector3.new(2,2,2)
  804. swait()
  805. end
  806. --
  807. coroutine.wrap(function()
  808. repeat swait()
  809. Mesh.Scale = Mesh.Scale + Vector3.new(2,2,2)
  810. until nil
  811. end)()
  812. --CFuncs['Sound'].Create("rbxassetid://265492506",Character,10,1)
  813. local a = Instance.new("ColorCorrectionEffect",game:service'Lighting')
  814. a.TintColor = Color3.new(1,1,1)
  815. local b = Instance.new("BlurEffect",game:service'Lighting')
  816. b.Size = 0
  817.  
  818. for i = 1,0,-.1 do
  819. b.Size = b.Size + .5
  820. a.TintColor = Color3.new(1,1,i)
  821. wait()
  822. end
  823. wait(1)
  824.  
  825.  
  826. for i = 1,0,-.1 do
  827. a.TintColor = Color3.new(1,i,0)
  828. b.Size = b.Size + 1
  829. wait()
  830. end
  831.  
  832. wait(1)
  833.  
  834. for i = 1,0,-.1 do
  835. a.TintColor = Color3.new(i,0,0)
  836. wait()
  837. end
  838. wait(1)
  839.  
  840. coroutine.wrap(function()
  841. for i,v in next, workspace:children() do
  842. if v:IsA"Model" or v:IsA"Part" then
  843. if v:FindFirstChildOfClass"Humanoid"then
  844. v:BreakJoints()
  845. end
  846. end
  847. end
  848. end)()
  849. wait(1)
  850.  
  851. for i = 0,1,.1 do
  852. a.TintColor = Color3.new(1,1,i)
  853. b.Size = b.Size - 2
  854. wait()
  855. end
  856.  
  857. a:destroy()
  858. game:service'Debris':AddItem(b,3)
  859. end
  860. function attackone()
  861. CFuncs['Sound'].Create("rbxassetid://811841430",Character,10,1)
  862. local a = Instance.new("Part",Character)
  863. a.Name = "Lazer"
  864. a.Anchored = true
  865. a.CanCollide = false
  866. a.BrickColor = BrickColor.new"New Yeller"
  867. local ray = Ray.new(
  868. Sun.CFrame.p, -- origin
  869. (Mouse.Hit.p - Sun.CFrame.p).unit * 500 -- direction
  870. )
  871. local ignore = Character
  872. local hit, position, normal = workspace:FindPartOnRay(ray, ignore)
  873. if hit then
  874. local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
  875.  
  876. if not humanoid then
  877. humanoid = hit.Parent.Parent:FindFirstChildOfClass("Humanoid")
  878. end
  879. if humanoid then
  880. if humanoid.Parent:IsA"Model" then
  881. humanoid.Parent:BreakJoints()
  882. end
  883. end
  884. end
  885. a.BottomSurface = 10
  886. a.TopSurface = 10
  887. local distance = (Sun.CFrame.p - position).magnitude
  888. a.Size = Vector3.new(1, 1, distance)
  889. a.CFrame = CFrame.new(Sun.CFrame.p, position) * CFrame.new(0, 0, -distance / 2)
  890. game:GetService("Debris"):AddItem(a, 0.1)
  891. end
  892.  
  893. Mouse.Button1Down:connect(function()
  894. if attack == false and attacktype == 1 then
  895. attackone()
  896. end
  897. end)
  898.  
  899.  
  900. Mouse.KeyDown:connect(function(k)
  901. if attack == false and k == 'v' then
  902. supernova()
  903. end
  904. end)
  905. while true do
  906. swait()
  907. for i, v in pairs(Character:GetChildren()) do
  908. if v:IsA("Part") then
  909. v.Material = "SmoothPlastic"
  910. elseif v:IsA("Accessory") then
  911. v:WaitForChild("Handle").Material = "SmoothPlastic"
  912. end
  913. end
  914. Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
  915. velocity = RootPart.Velocity.y
  916. sine = sine + change
  917. local hit, pos = rayCast(RootPart.Position, (CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0))).lookVector, 4, Character)
  918. if RootPart.Velocity.y > 1 and hit == nil then
  919. Anim = "Jump"
  920. if attack == false then
  921. PlayAnimationFromTable({
  922. CFrame.new(0, 0, 0, 1, -2.21689355e-12, -5.11591203e-13, -2.21689355e-12, 1, 7.74860496e-07, -5.11591203e-13, 7.74860496e-07, 1.00000048) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  923. CFrame.new(-0.0579944476, 1.48445117, -0.000906195492, 0.999631822, -0.0259140469, -0.00804444961, 0.0262291897, 0.998776913, 0.0419151038, 0.0069484422, -0.0421099029, 0.999089062) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  924. CFrame.new(1.68067598, 0.167780995, 5.50026158e-08, 0.965881884, -0.258982956, -3.41060513e-13, 0.258982956, 0.965881884, 4.47034836e-07, 8.49010675e-08, 3.16640808e-07, 1.00000024) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  925. CFrame.new(-1.67620921, 0.188169807, -3.04922651e-07, 0.95698452, 0.290146649, -2.61441073e-07, -0.290146649, 0.95698452, -1.0069979e-05, -2.89639524e-06, 1.04542296e-05, 1.00000024) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  926. CFrame.new(0.537238836, -1.93797374, 0.176598221, 0.998698533, -0.0506777391, -0.00574572897, 0.0510024093, 0.992341697, 0.112511501, -6.35704041e-08, -0.112657718, 0.993634105) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  927. CFrame.new(-0.536944568, -1.94808352, 0.126473114, 0.998626292, 0.0520468242, 0.00521374354, -0.0523067154, 0.993665218, 0.0995327011, -3.84102691e-07, -0.099668026, 0.995023906) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  928. }, .3, false)
  929. end
  930. elseif RootPart.Velocity.y < -1 and hit == nil then
  931. Anim = "Fall"
  932. if attack == false then
  933. PlayAnimationFromTable({
  934. CFrame.new(0, 0, 0, 1, -2.21689355e-12, -5.11591203e-13, -2.21689355e-12, 1, 7.74860496e-07, -5.11591203e-13, 7.74860496e-07, 1.00000048) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  935. CFrame.new(-0.0576509275, 1.50532985, -0.129091382, 0.999631822, -0.0231846143, -0.0140984114, 0.0262298863, 0.958684564, 0.283279002, 0.00694822101, -0.283544153, 0.958935201) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  936. CFrame.new(1.68622994, 0.21415168, 7.02040666e-08, 0.881990671, -0.471266806, -3.41060513e-13, 0.471266806, 0.881990671, 4.47034836e-07, 1.54493137e-07, 2.89139166e-07, 1.00000024) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  937. CFrame.new(-1.72513735, 0.240890861, 2.54038241e-07, 0.814108491, 0.58071363, -2.61430017e-07, -0.580713034, 0.814108849, -1.00698489e-05, -6.08482924e-06, 8.98058715e-06, 1.00000024) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  938. CFrame.new(0.536720514, -1.92783141, 0.223740995, 0.998698533, -0.0498600565, -0.0107376017, 0.0510031059, 0.976314366, 0.210260883, -3.04512355e-07, -0.210534185, 0.977587521) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  939. CFrame.new(-0.535922825, -1.92850935, 0.222419083, 0.99863112, 0.0512506701, 0.0104565797, -0.0523065142, 0.978474379, 0.199629858, -3.7062793e-07, -0.199902818, 0.97981596) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  940. }, .3, false)
  941. end
  942. elseif Torsovelocity < 1 and hit ~= nil then
  943. Anim = "Idle"
  944. if attack == false then
  945. change = 1
  946. PlayAnimationFromTable({
  947. CFrame.new(0, -0, 0, 1, 0, -0, 0, 1, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  948. CFrame.new(7.62939453e-06, 1.49997127, 0, 1, 0, -0, 0, 1, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(math.sin(sine/22)/12,0,0),
  949. CFrame.new(0.429973245, 0.490001738, -0.460011989, 0.0975494087, 0.994276762, -0.0435587466, 0.0559796244, -0.0491798446, -0.997221529, -0.993656218, 0.0948399603, -0.0604567304) * CFrame.new(0, 0, math.sin(sine/16)/14) * CFrame.Angles(0, math.sin(sine/16)/10, math.sin(sine/16)/10),
  950. CFrame.new(-0.320005357, 0.480002224, -0.539992452, 0.357028693, -0.930425704, -0.0826981664, -0.130211353, 0.0380947962, -0.990754068, 0.924973309, 0.364495993, -0.107551016) * CFrame.new(0, 0, math.sin(sine/16)/14) * CFrame.Angles(0, -math.sin(sine/16)/10, -math.sin(sine/16)/10),
  951. CFrame.new(0.500002444, -1.99997056, 0, 0.997888863, -0.0649460033, -0, 0.0649460033, 0.997888863, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  952. CFrame.new(-0.499981999, -1.99997056, 0, 0.998180926, 0.0602900013, -0, -0.0602900013, 0.998180926, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  953. }, .3, false)
  954.  
  955. end
  956. elseif Torsovelocity > 2 and hit ~= nil then
  957. Anim = "Walk"
  958. if attack == false then
  959. PlayAnimationFromTable({
  960. CFrame.new(0, 0, 0, 1, -2.21689355e-12, -5.11591203e-13, -2.21689355e-12, 1, 7.74860496e-07, -5.11591203e-13, 7.74860496e-07, 1.00000048) * CFrame.new(0, 0- .08 * math.cos((sine) / 3), 0) * CFrame.Angles(0, 0, 0),
  961. CFrame.new(-0.0595112406, 1.55331731, -0.0425721854, 0.999631822, -0.0248252042, -0.010953242, 0.0262294486, 0.987443328, 0.155781403, 0.00694842171, -0.156010598, 0.987731278) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
  962. CFrame.new(0.429973245, 0.490001738, -0.460011989, 0.0975494087, 0.994276762, -0.0435587466, 0.0559796244, -0.0491798446, -0.997221529, -0.993656218, 0.0948399603, -0.0604567304) * CFrame.new(0, 0, math.sin(sine/16)/14) * CFrame.Angles(0, math.sin(sine/16)/10, math.sin(sine/16)/10),
  963. CFrame.new(-0.320005357, 0.480002224, -0.539992452, 0.357028693, -0.930425704, -0.0826981664, -0.130211353, 0.0380947962, -0.990754068, 0.924973309, 0.364495993, -0.107551016) * CFrame.new(0, 0, math.sin(sine/16)/14) * CFrame.Angles(0, -math.sin(sine/16)/10, -math.sin(sine/16)/10),
  964. CFrame.new(0.540300786, -1.99793816, -9.82598067e-07, 0.998698533, -0.0510031395, 6.36324955e-07, 0.0510031395, 0.998698533, -1.00461093e-05, -8.35937328e-08, 1.08393433e-05, 1.00000024) * CFrame.new(0, 0, 0+ .5 * math.cos((sine) / 6)) * CFrame.Angles(math.rad(0 - 30 * math.cos((sine) / 6)), 0, 0),
  965. CFrame.new(-0.539563596, -1.99794078, 1.12228372e-06, 0.998635888, 0.0523072146, -1.77852357e-07, -0.0523072146, 0.998635888, -1.00715051e-05, -3.89727461e-07, 1.08406466e-05, 1.00000024) * CFrame.new(0, 0, 0- .5 * math.cos((sine) / 6)) * CFrame.Angles(math.rad(0 + 30 * math.cos((sine) / 6)), 0, 0),
  966. }, .3, false)
  967. end
  968. end
  969. if 0 < #Effects then
  970. for e = 1, #Effects do
  971. if Effects[e] ~= nil then
  972. local Thing = Effects[e]
  973. if Thing ~= nil then
  974. local Part = Thing[1]
  975. local Mode = Thing[2]
  976. local Delay = Thing[3]
  977. local IncX = Thing[4]
  978. local IncY = Thing[5]
  979. local IncZ = Thing[6]
  980. if Thing[2] == "Shoot" then
  981. local Look = Thing[1]
  982. local move = 30
  983. if Thing[8] == 3 then
  984. move = 10
  985. end
  986. local hit, pos = rayCast(Thing[4], Thing[1], move, m)
  987. if Thing[10] ~= nil then
  988. da = pos
  989. cf2 = CFrame.new(Thing[4], Thing[10].Position)
  990. cfa = CFrame.new(Thing[4], pos)
  991. tehCF = cfa:lerp(cf2, 0.2)
  992. Thing[1] = tehCF.lookVector
  993. end
  994. local mag = (Thing[4] - pos).magnitude
  995. Effects["Head"].Create(Torso.BrickColor, CFrame.new((Thing[4] + pos) / 2, pos) * CFrame.Angles(1.57, 0, 0), 1, mag * 5, 1, 0.5, 0, 0.5, 0.2)
  996. if Thing[8] == 2 then
  997. Effects["Ring"].Create(Torso.BrickColor, CFrame.new((Thing[4] + pos) / 2, pos) * CFrame.Angles(1.57, 0, 0) * CFrame.fromEulerAnglesXYZ(1.57, 0, 0), 1, 1, 0.1, 0.5, 0.5, 0.1, 0.1, 1)
  998. end
  999. Thing[4] = Thing[4] + Look * move
  1000. Thing[3] = Thing[3] - 1
  1001. if 2 < Thing[5] then
  1002. Thing[5] = Thing[5] - 0.3
  1003. Thing[6] = Thing[6] - 0.3
  1004. end
  1005. if hit ~= nil then
  1006. Thing[3] = 0
  1007. if Thing[8] == 1 or Thing[8] == 3 then
  1008. Damage(hit, hit, Thing[5], Thing[6], Thing[7], "Normal", RootPart, 0, "", 1)
  1009. else
  1010. if Thing[8] == 2 then
  1011. Damage(hit, hit, Thing[5], Thing[6], Thing[7], "Normal", RootPart, 0, "", 1)
  1012. if (hit.Parent:findFirstChild("Humanoid")) ~= nil or (hit.Parent.Parent:findFirstChild("Humanoid")) ~= nil then
  1013. ref = CFuncs.Part.Create(workspace, "Neon", 0, 1, BrickColor.new("Really red"), "Reference", Vector3.new())
  1014. ref.Anchored = true
  1015. ref.CFrame = CFrame.new(pos)
  1016. CFuncs["Sound"].Create("161006093", ref, 1, 1.2)
  1017. game:GetService("Debris"):AddItem(ref, 0.2)
  1018. Effects["Block"].Create(Torso.BrickColor, CFrame.new(ref.Position) * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)), 1, 1, 1, 10, 10, 10, 0.1, 2)
  1019. Effects["Ring"].Create(BrickColor.new("Bright yellow"), CFrame.new(ref.Position) * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)), 1, 1, 0.1, 4, 4, 0.1, 0.1)
  1020. MagnitudeDamage(ref, 15, Thing[5] / 1.5, Thing[6] / 1.5, 0, "Normal", "", 1)
  1021. end
  1022. end
  1023. end
  1024. ref = CFuncs.Part.Create(workspace, "Neon", 0, 1, BrickColor.new("Really red"), "Reference", Vector3.new())
  1025. ref.Anchored = true
  1026. ref.CFrame = CFrame.new(pos)
  1027. Effects["Sphere"].Create(Torso.BrickColor, CFrame.new(pos), 5, 5, 5, 1, 1, 1, 0.07)
  1028. game:GetService("Debris"):AddItem(ref, 1)
  1029. end
  1030. if Thing[3] <= 0 then
  1031. table.remove(Effects, e)
  1032. end
  1033. end
  1034. do
  1035. do
  1036. if Thing[2] == "FireWave" then
  1037. if Thing[3] <= Thing[4] then
  1038. Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(0, 1, 0)
  1039. Thing[3] = Thing[3] + 1
  1040. Thing[6].Scale = Thing[6].Scale + Vector3.new(Thing[5], 0, Thing[5])
  1041. else
  1042. Part.Parent = nil
  1043. table.remove(Effects, e)
  1044. end
  1045. end
  1046. if Thing[2] ~= "Shoot" and Thing[2] ~= "Wave" and Thing[2] ~= "FireWave" then
  1047. if Thing[1].Transparency <= 1 then
  1048. if Thing[2] == "Block1" then
  1049. Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
  1050. Mesh = Thing[7]
  1051. Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
  1052. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1053. else
  1054. if Thing[2] == "Block2" then
  1055. Thing[1].CFrame = Thing[1].CFrame
  1056. Mesh = Thing[7]
  1057. Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
  1058. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1059. else
  1060. if Thing[2] == "Fire" then
  1061. Thing[1].CFrame = CFrame.new(Thing[1].Position) + Vector3.new(0, 0.2, 0)
  1062. Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
  1063. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1064. else
  1065. if Thing[2] == "Cylinder" then
  1066. Mesh = Thing[7]
  1067. Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
  1068. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1069. else
  1070. if Thing[2] == "Blood" then
  1071. Mesh = Thing[7]
  1072. Thing[1].CFrame = Thing[1].CFrame * CFrame.new(0, 0.5, 0)
  1073. Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
  1074. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1075. else
  1076. if Thing[2] == "Elec" then
  1077. Mesh = Thing[10]
  1078. Mesh.Scale = Mesh.Scale + Vector3.new(Thing[7], Thing[8], Thing[9])
  1079. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1080. else
  1081. if Thing[2] == "Disappear" then
  1082. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1083. else
  1084. if Thing[2] == "Shatter" then
  1085. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1086. Thing[4] = Thing[4] * CFrame.new(0, Thing[7], 0)
  1087. Thing[1].CFrame = Thing[4] * CFrame.fromEulerAnglesXYZ(Thing[6], 0, 0)
  1088. Thing[6] = Thing[6] + Thing[5]
  1089. end
  1090. end
  1091. end
  1092. end
  1093. end
  1094. end
  1095. end
  1096. end
  1097. else
  1098. Part.Parent = nil
  1099. table.remove(Effects, e)
  1100. end
  1101. end
  1102. end
  1103. end
  1104. end
  1105. end
  1106. end
  1107. end
  1108. end
  1109.  
  1110. local verlet = {}
  1111. verlet.step_time = 1 / 50
  1112. verlet.gravity = Vector3.new(0, -10, 0)
  1113.  
  1114. local char = game.Players.LocalPlayer.Character
  1115. local torso = char:WaitForChild("Torso")
  1116. local parts = {}
  1117. local render = game:GetService("RunService").RenderStepped
  1118.  
  1119. wait(2)
  1120.  
  1121. local point = {}
  1122. local link = {}
  1123. local rope = {}
  1124.  
  1125. local function ccw(A,B,C)
  1126. return (C.y-A.y) * (B.x-A.x) > (B.y-A.y) * (C.x-A.x)
  1127. end
  1128.  
  1129. local function intersect(A,B,C,D)
  1130. return ccw(A,C,D) ~= ccw(B,C,D) and ccw(A,B,C) ~= ccw(A,B,D)
  1131. end
  1132.  
  1133. local function vec2(v)
  1134. return Vector2.new(v.x, v.z)
  1135. end
  1136.  
  1137. function point:step()
  1138. if not self.fixed then
  1139. local derivative = (self.position - self.last_position) * 0.95
  1140. self.last_position = self.position
  1141. self.position = self.position + derivative + (self.velocity * verlet.step_time ^ 2)
  1142. --[[local torsoP = torso.CFrame * CFrame.new(-1, 0, 0.5)
  1143. local torsoE = torso.CFrame * CFrame.new(1, 0, 0.5)
  1144. local pointE = self.position + torso.CFrame.lookVector * 100
  1145. local doIntersect = intersect(vec2(torsoP.p), vec2(torsoE.p), vec2(self.position), vec2(pointE))
  1146. if not doIntersect then
  1147. self.postition = self.position - torso.CFrame.lookVector * 10
  1148. end]]
  1149. end
  1150. end
  1151.  
  1152. function link:step()
  1153. for i = 1, 1 do
  1154. local distance = self.point1.position - self.point2.position
  1155. local magnitude = distance.magnitude
  1156. local differance = (self.length - magnitude) / magnitude
  1157. local translation = ((self.point1.fixed or self.point2.fixed) and 1 or 0.6) * distance * differance
  1158. if not self.point1.fixed then
  1159. self.point1.position = self.point1.position + translation
  1160. end
  1161. if not self.point2.fixed then
  1162. self.point2.position = self.point2.position - translation
  1163. end
  1164. end
  1165. end
  1166.  
  1167. function verlet.new(class, a, b, c)
  1168. if class == "Point" then
  1169. local new = {}
  1170. setmetatable(new, {__index = point})
  1171. new.class = class
  1172. new.position = a or Vector3.new()
  1173. new.last_position = new.position
  1174. new.velocity = verlet.gravity
  1175. new.fixed = false
  1176. return new
  1177. elseif class == "Link" then
  1178. local new = {}
  1179. setmetatable(new, {__index = link})
  1180. new.class = class
  1181. new.point1 = a
  1182. new.point2 = b
  1183. new.length = c or (a.position - b.position).magnitude
  1184. return new
  1185. elseif class == "Rope" then
  1186. local new = {}
  1187. setmetatable(new, {__index = link})
  1188. new.class = class
  1189. new.start_point = a
  1190. new.finish_point = b
  1191. new.points = {}
  1192. new.links = {}
  1193. local inc = (b - a) / 10
  1194. for i = 0, 10 do
  1195. table.insert(new.points, verlet.new("Point", a + (i * inc)))
  1196. end
  1197. for i = 2, #new.points do
  1198. table.insert(new.links, verlet.new("Link", new.points[i - 1], new.points[i]))
  1199. end
  1200. return new
  1201. end
  1202. end
  1203.  
  1204. local tris = {}
  1205. local triParts = {}
  1206.  
  1207. local function GetDiscoColor(hue)
  1208. local section = hue % 1 * 3
  1209. local secondary = 0.5 * math.pi * (section % 1)
  1210. if section < 1 then
  1211. return Color3.new(1, 1 - math.cos(secondary), 1 - math.sin(secondary))
  1212. elseif section < 2 then
  1213. return Color3.new(1 - math.sin(secondary), 1, 1 - math.cos(secondary))
  1214. else
  1215. return Color3.new(1 - math.cos(secondary), 1 - math.sin(secondary), 1)
  1216. end
  1217. end
  1218.  
  1219. local function setupPart(part)
  1220. part.Anchored = true
  1221. part.FormFactor = 3
  1222. part.CanCollide = false
  1223. part.TopSurface = 10
  1224. part.BottomSurface = 10
  1225. part.LeftSurface = 10
  1226. part.RightSurface = 10
  1227. part.FrontSurface = 10
  1228. part.BackSurface = 10
  1229. part.Material = "Neon"
  1230. local m = Instance.new("SpecialMesh", part)
  1231. m.MeshType = "Wedge"
  1232. m.Scale = Vector3.new(0.2, 1, 1)
  1233. return part
  1234. end
  1235.  
  1236. local function CFrameFromTopBack(at, top, back)
  1237. local right = top:Cross(back)
  1238. return CFrame.new(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  1239. end
  1240.  
  1241. local function drawTri(parent, a, b, c)
  1242. local this = {}
  1243. local mPart1 = table.remove(triParts, 1) or setupPart(Instance.new("Part"))
  1244. local mPart2 = table.remove(triParts, 1) or setupPart(Instance.new("Part"))
  1245. function this:Set(a, b, c)
  1246. local ab, bc, ca = b-a, c-b, a-c
  1247. local abm, bcm, cam = ab.magnitude, bc.magnitude, ca.magnitude
  1248. local edg1 = math.abs(0.5 + ca:Dot(ab)/(abm*abm))
  1249. local edg2 = math.abs(0.5 + ab:Dot(bc)/(bcm*bcm))
  1250. local edg3 = math.abs(0.5 + bc:Dot(ca)/(cam*cam))
  1251. if edg1 < edg2 then
  1252. if edg1 >= edg3 then
  1253. a, b, c = c, a, b
  1254. ab, bc, ca = ca, ab, bc
  1255. abm = cam
  1256. end
  1257. else
  1258. if edg2 < edg3 then
  1259. a, b, c = b, c, a
  1260. ab, bc, ca = bc, ca, ab
  1261. abm = bcm
  1262. else
  1263. a, b, c = c, a, b
  1264. ab, bc, ca = ca, ab, bc
  1265. abm = cam
  1266. end
  1267. end
  1268.  
  1269. local len1 = -ca:Dot(ab)/abm
  1270. local len2 = abm - len1
  1271. local width = (ca + ab.unit*len1).magnitude
  1272.  
  1273. local maincf = CFrameFromTopBack(a, ab:Cross(bc).unit, -ab.unit)
  1274.  
  1275. if len1 > 0.2 then
  1276. mPart1.Parent = parent
  1277. mPart1.Size = Vector3.new(0.2, width, len1)
  1278. mPart1.CFrame = maincf*CFrame.Angles(math.pi,0,math.pi/2)*CFrame.new(0,width/2,len1/2)
  1279. else
  1280. mPart1.Parent = nil
  1281. end
  1282.  
  1283. if len2 > 0.2 then
  1284. mPart2.Parent = parent
  1285. mPart2.Size = Vector3.new(0.2, width, len2)
  1286. mPart2.CFrame = maincf*CFrame.Angles(math.pi,math.pi,-math.pi/2)*CFrame.new(0,width/2,-len1 - len2/2)
  1287. else
  1288. mPart2.Parent = nil
  1289. end
  1290. end
  1291. function this:SetProperty(prop, value)
  1292. mPart1[prop] = value
  1293. mPart2[prop] = value
  1294. end
  1295. this:Set(a, b, c)
  1296. function this:Destroy()
  1297. mPart1:Destroy()
  1298. mPart2:Destroy()
  1299. end
  1300. this.p1 = mPart1
  1301. this.p2 = mPart2
  1302. this.p1.BrickColor = BrickColor.new(GetDiscoColor(math.noise(0.5, 0.5, this.p1.CFrame.Y * 0.5 + time())))
  1303. this.p2.BrickColor = BrickColor.new(GetDiscoColor(math.noise(0.5, 0.5, this.p2.CFrame.Y * 0.5 + time())))
  1304. return this
  1305. end
  1306.  
  1307. function verlet.draw(object, id)
  1308. if object.class == "Point" then
  1309. local part = parts[id]
  1310. part.BrickColor = BrickColor.new(1, 1, 1)
  1311. part.Transparency = 0
  1312. part.formFactor = 3
  1313. part.Anchored = true
  1314. part.CanCollide = false
  1315. part.TopSurface = 0
  1316. part.BottomSurface = 0
  1317. part.Size = Vector3.new(0.35, 0.35, 0.35)
  1318. part.Material = "Neon"
  1319. part.CFrame = CFrame.new(object.position)
  1320. part.Parent = torso
  1321. return part
  1322. elseif object.class == "Link" then
  1323. local part = parts[id]
  1324. local dist = (object.point1.position - object.point2.position).magnitude
  1325. part.Size = Vector3.new(0.2, 0.2, dist)
  1326. part.CFrame = CFrame.new(object.point1.position, object.point2.position) * CFrame.new(0, 0, dist * -0.5)
  1327. part.Parent = torso
  1328. return part
  1329. end
  1330. end
  1331.  
  1332. function verlet.clear()
  1333. for _, v in pairs(workspace:GetChildren()) do
  1334. if v.Name == "Part" then
  1335. v:Destroy()
  1336. end
  1337. end
  1338. end
  1339.  
  1340. local points = {}
  1341. local links = {}
  1342.  
  1343. for x = 0, 2 do
  1344. points[x] = {}
  1345. for y = 0, 3 do
  1346. points[x][y] = verlet.new("Point", torso.Position + Vector3.new(x * 0.8 - 2, 2 - y * 0.8, 5 + y * 0.4))
  1347. points[x][y].fixed = y == 0
  1348. end
  1349. end
  1350.  
  1351. for x = 1, 2 do
  1352. for y = 0, 3 do
  1353. links[#links + 1] = verlet.new("Link", points[x][y], points[x - 1][y], 1 + y * 0.08)
  1354. end
  1355. end
  1356.  
  1357. for x = 0, 2 do
  1358. for y = 1, 3 do
  1359. links[#links + 1] = verlet.new("Link", points[x][y], points[x][y - 1], 1.2 + y * 0.03)
  1360. end
  1361. end
  1362.  
  1363. render:connect(function()
  1364. for x = 0, 2 do
  1365. for y = 0, 3 do
  1366. if y == 0 then
  1367. points[x][y].position = (torso.CFrame * CFrame.new(x * 1 - 1, 1, 0.5)).p
  1368. else
  1369. points[x][y]:step()
  1370. end
  1371. end
  1372. end
  1373. for i = 1, #links do
  1374. links[i]:step()
  1375. end
  1376. for i = 1, #tris do
  1377. triParts[#triParts + 1] = tris[i].p1
  1378. triParts[#triParts + 1] = tris[i].p2
  1379. end
  1380. tris = {}
  1381. for x = 1, 2 do
  1382. for y = 1, 3 do
  1383. tris[#tris + 1] = drawTri(torso, points[x - 1][y - 1].position, points[x - 1][y].position, points[x][y - 1].position)
  1384. tris[#tris + 1] = drawTri(torso, points[x][y].position, points[x - 1][y].position, points[x][y - 1].position)
  1385. end
  1386. end
  1387. end)
Add Comment
Please, Sign In to add comment