LuanHackingPro

Storm Script Rare

Nov 29th, 2015
452
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.42 KB | None | 0 0
  1. local modelName="Storm Maker"
  2. repeat wait() until game.Players.LocalPlayer and game.Players.LocalPlayer.Character
  3. local player=game.Players.LocalPlayer
  4. local char=player.Character
  5.  
  6.  
  7. local humanoid=char.Humanoid
  8. local head=char.Head
  9. local torso=char.Torso
  10. local LA=char:findFirstChild("Left Arm")
  11. local RA=char:findFirstChild("Right Arm")
  12. local LL=char:findFirstChild("Left Leg")
  13. local RL=char:findFirstChild("Right Leg")
  14.  
  15.  
  16. local LS=torso:findFirstChild("Left Shoulder")
  17. local RS=torso:findFirstChild("Right Shoulder")
  18. local LH=torso:findFirstChild("Left Hip")
  19. local RH=torso:findFirstChild("Right Hip")
  20. LS.Part0=torso RS.Part0=torso LH.Part0=torso RH.Part0=torso
  21.  
  22.  
  23. local s=function(f) Spawn(f) end
  24. local c=function(f) coroutine.resume(coroutine.create(f)) end
  25. pcall(function() player.Backpack[modelName]:remove() end)
  26. pcall(function() char["CharacterParts"]:remove() end)
  27. pcall(function() char[modelName]:remove() end)
  28. pcall(function() player.PlayerGui[modelName]:remove() end)
  29. pcall(function() for i, v in pairs(char:children()) do if v:isA("BasePart") then v.Transparency=0 end end end)
  30.  
  31. local model=Instance.new("Model", char) model.Name="CharacterParts"
  32. local model2=Instance.new("Model", char) model2.Name=modelName
  33. local bin=Instance.new("HopperBin", player.Backpack) bin.Name=modelName
  34. local gui=Instance.new("ScreenGui") gui.Name=modelName
  35. local skincolor="Really black"
  36. local body={}
  37. local animate={}
  38. local obj={}
  39. local onTrail=false
  40. local onKey=false
  41. local onHit=false
  42. local onBlock=false
  43. local onHold=false
  44. local onClick=false
  45. local onClick2=false
  46. local onAttack=false
  47. local onCast=false
  48. local cast=0
  49. local colorSet={
  50. Handle="Dark orange";
  51. Blade="Mid gray";
  52. Extra="Bright blue";
  53. }
  54. local combo=0
  55. local dmg=math.random(5, 10)
  56. local m
  57.  
  58. local add={
  59. Part=function(par, a, c, col, t, s, cf, ms)
  60. local p=Instance.new("Part", par) pcall(function() p.TopSurface="Smooth" p.BottomSurface="Smooth" p.formFactor="Custom" p.Anchored=a p.CanCollide=c p.BrickColor=BrickColor.new(col) p.Transparency=t p.Size=s p.CFrame=cf or CFrame.new() end)
  61. local m=Instance.new("BlockMesh", p) pcall(function() m.Scale=ms or Vector3.new(1, 1, 1) end)
  62. return p
  63. end;
  64. Wedge=function(par, a, c, col, t, s, cf, ms)
  65. local p=Instance.new("WedgePart", par) pcall(function() p.TopSurface="Smooth" p.BottomSurface="Smooth" p.formFactor="Custom" p.Anchored=a p.CanCollide=c p.BrickColor=BrickColor.new(col) p.Transparency=t p.Size=s p.CFrame=cf or CFrame.new() end)
  66. local m=Instance.new("SpecialMesh", p) pcall(function() m.Scale=ms or Vector3.new(1, 1, 1) m.MeshType="Wedge" end)
  67. return p
  68. end;
  69. Gui=function(ins, par, bc, bg, tc, fs, text, t, s, pos)
  70. local g=Instance.new(ins, par) pcall(function() g.BorderColor=BrickColor.new(bc) g.BackgroundColor=BrickColor.new(bg) g.TextColor=BrickColor.new(tc) g.FontSize=fs g.Font="ArialBold" g.Text=text g.BackgroundTransparency=t g.Size=s g.Position=pos end)
  71. return g
  72. end;
  73. Weld=function(par, p1, cf)
  74. local w=Instance.new("Weld", par) pcall(function() w.Part0=w.Parent or par w.Part1=p1 w.C1=cf or CFrame.new() end)
  75. return w
  76. end;
  77. Mesh=function(ins, par, s, of, t, id, tid)
  78. local m=Instance.new(ins, par) pcall(function() m.Scale=s or Vector3.new(1, 1, 1) m.Offset=of or Vector3.new() m.MeshId=id or "" m.TextureId=tid or "" m.MeshType=t end)
  79. return m
  80. end;
  81. Sound=function(parent, id, pitch, volume)
  82. local s=Instance.new("Sound", parent) pcall(function() s.SoundId=id s.Volume=volume s.Pitch=pitch end)
  83. return s
  84. end;
  85. }
  86.  
  87.  
  88. local Sounds={
  89. Slash="rbxasset://sounds//swordslash.wav";
  90. Hit="http://www.roblox.com/asset/?id=11113679 ";
  91. Equip="rbxasset://sounds/unsheath.wav";
  92. Charge="http://www.roblox.com/asset/?id=2101137";
  93. ElectricShortage="http://roblox.com/asset/?id=10209481";
  94. Elec="http://www.roblox.com/asset/?id=2800815";
  95. ElectricSound="http://www.roblox.com/asset/?id=10756118";
  96. Abscond="http://www.roblox.com/asset/?id=2767090";
  97. }
  98.  
  99.  
  100. local Decals={
  101. SlashDecal="http://www.roblox.com/asset/?id=25539335";
  102. }
  103.  
  104.  
  105. local Meshes={
  106. Charge="http://www.roblox.com/asset/?id=20329976";
  107. Noob="http://www.roblox.com/asset/?id=29515710";
  108. Ring="http://www.roblox.com/asset/?id=3270017";
  109. Crown="http://www.roblox.com/asset/?id=1323306";
  110. }
  111.  
  112.  
  113. body.Torso=add.Part(model2, false, false, skincolor, 1, Vector3.new(2, 2, 1), nil)
  114. body.TorsoW=add.Weld(body.Torso, torso, nil)
  115. function createParts()
  116. for i, v in pairs(char:children()) do if v:isA("CharacterMesh") then v:remove() end end
  117. torso.Transparency=1 body.Torso.Transparency=0
  118.  
  119. gui.Parent=player.PlayerGui
  120. body.Head=add.Part(model, false, false, skincolor, 1, Vector3.new(1, 1, 1), nil)
  121. body.LA, body.RA=add.Part(model, false, false, skincolor, 1, Vector3.new(1, 1, 1), nil), add.Part(model, false, false, skincolor, 1, Vector3.new(1, 1, 1), nil)
  122. body.LL, body.RL=add.Part(model, false, false, skincolor, 1, Vector3.new(1, 1, 1), nil), add.Part(model, false, false, skincolor, 1, Vector3.new(1, 1, 1), nil)
  123.  
  124.  
  125. body.HeadW=add.Weld(body.Head, body.Torso, CFrame.new(0, 1.5, 0))
  126. body.LAW, body.RAW=add.Weld(body.LA, body.Torso, CFrame.new(-1.5, .5, 0)), add.Weld(body.RA, body.Torso, CFrame.new(1.5, .5, 0))
  127. body.LLW, body.RLW=add.Weld(body.LL, body.Torso, CFrame.new(-.5, -1.5, 0)), add.Weld(body.RL, body.Torso, CFrame.new(.5, -1.5, 0))
  128.  
  129.  
  130. add.Weld(body.Head, head, nil)
  131. add.Weld(LA, body.LA, CFrame.new(0, -.5, 0))
  132. add.Weld(RA, body.RA, CFrame.new(0, -.5, 0))
  133. LH.Part0=body.Torso
  134. RH.Part0=body.Torso
  135.  
  136.  
  137. body.Part=add.Part(model, false, false, "White", 0, Vector3.new(.2, 1, .2))
  138. add.Weld(body.Part, body.Torso, CFrame.new(.25, 0, -.45))
  139. body.Part=add.Part(model, false, false, "White", 0, Vector3.new(.7, .2, .2))
  140. add.Weld(body.Part, body.Torso, CFrame.new(0, -.5, -.45))
  141.  
  142.  
  143. animate={
  144. ["Head"]=function(cf)
  145. body.HeadW.C1=CFrame.new(0, 1.5, 0)*cf
  146. end;
  147. ["Torso"]=function(cf)
  148. body.TorsoW.C1=(cf or CFrame.new()*CFrame.Angles(0, 0, 0))
  149. end;
  150. ["LA"]=function(cf)
  151. body.LAW.C1=CFrame.new(-1.5, .5, 0)*(cf or CFrame.new()*CFrame.Angles(0, 0, 0))
  152. end;
  153. ["RA"]=function(cf)
  154. body.RAW.C1=CFrame.new(1.5, .5, 0)*(cf or CFrame.new()*CFrame.Angles(0, 0, 0))
  155. end;
  156. ["LL"]=function(cf)
  157. LLW=add.Weld(LL, body.LL, CFrame.new(0, -1, 0))
  158. body.LLW.C1=CFrame.new(-.5, -1, 0)*(cf or CFrame.new()*CFrame.Angles(0, 0, 0))
  159. c(function()
  160. wait()
  161. LLW:remove()
  162. end)
  163. end;
  164. ["RL"]=function(cf)
  165. RLW=add.Weld(RL, body.RL, CFrame.new(0, -1, 0))
  166. body.RLW.C1=CFrame.new(.5, -1, 0)*(cf or CFrame.new()*CFrame.Angles(0, 0, 0))
  167. c(function()
  168. wait()
  169. RLW:remove()
  170. end)
  171. end;
  172. }
  173.  
  174. obj.AL=add.Gui("TextLabel", gui, "Really black", "Really black", "White", "Size18", "Attack(ClickPLAYER)", 0, UDim2.new(0, 150, 0, 50), UDim2.new(0, 0, 0, 150))
  175. obj.AL2=add.Gui("TextLabel", obj.AL, "Really black", "Really black", "White", "Size18", "StaticRemnant(Z)", 0, UDim2.new(1, 0, 1, 0), UDim2.new(0, 0, 1, 0))
  176. obj.AL3=add.Gui("TextLabel", obj.AL2, "Really black", "Really black", "White", "Size18", "ElectricVortex(X)", 0, UDim2.new(1, 0, 1, 0), UDim2.new(0, 0, 1, 0))
  177. obj.AL4=add.Gui("TextLabel", obj.AL3, "Really black", "Really black", "White", "Size18", "BallLightning(C)", 0, UDim2.new(1, 0, 1, 0), UDim2.new(0, 0, 1, 0))
  178.  
  179. for i, v in pairs(model2:children()) do
  180. if i~=1 then return end
  181. end
  182. end
  183.  
  184.  
  185. function removeParts()
  186. pcall(function()
  187. if torso then
  188. LS.Part0=torso
  189. RS.Part0=torso LH.Part0=torso
  190. RH.Part0=torso
  191. torso.Transparency=0
  192. body.Torso.Transparency=1
  193. end
  194. player.PlayerGui[modelName]:remove()
  195. for i, v in pairs(model:children()) do
  196. v:remove()
  197. end
  198. end)
  199. end
  200. function play(soundid, pitch, vol)
  201. local sound=add.Sound(workspace, soundid, pitch or 1, volume or 1)
  202. sound:play()
  203. s(function() wait(5) sound:remove() end)
  204. end
  205. function fade(part, incr)
  206. if part:isA("BasePart") then
  207. for i=part.Transparency, 1, incr do wait() part.Transparency=i end
  208. elseif part:isA("Model") then
  209. for i, v in pairs(part:children() or part) do
  210. if v:isA("BasePart") then
  211. for i=part.Transparency, 1, incr do wait() v.Transparency=i end
  212. end
  213. end
  214. end
  215. end
  216. function appear(part, incr)
  217. if part:isA("BasePart") then
  218. for i=part.Transparency, 0, -incr do wait() part.Transparency=i end
  219. elseif part:isA("Model") then
  220. for i, v in pairs(part:children() or part) do
  221. if v:isA("BasePart") then
  222. for i=part.Transparency, 0, -incr do wait() v.Transparency=i end
  223. end
  224. end
  225. end
  226. end
  227. function computePos(pos, pos2)
  228. local pos3=Vector3.new(pos2.x, pos.y, pos2.z)
  229. return CFrame.new(pos, pos3)
  230. end
  231. function rayCast(pos, dir, max, ingore)
  232. return workspace:findPartOnRay(Ray.new(pos, dir.unit*(max or 9999)), ignore)
  233. end
  234. function nearPos(pos, dis)
  235. local temp
  236. local distance=dis
  237. for i, v in pairs(workspace:children()) do
  238. if v:isA("Model") then
  239. temp=v:findFirstChild("Torso")
  240. local humanoid=v:findFirstChild("Humanoid")
  241. if temp and humanoid and v~=char and (temp.CFrame.p-pos).magnitude<distance then
  242. distance=(temp.CFrame.p-pos).magnitude
  243. return temp.Parent
  244. end
  245. end
  246. end
  247. end
  248. function lightningGen(startPos, endPos, col)
  249. local magnitude=(startPos-endPos).magnitude
  250. local distance=(startPos+endPos)/2
  251. local pattern=add.Part(workspace, true, false, "White", 1, Vector3.new(.2, .2, magnitude), CFrame.new(distance, startPos))
  252. local startPosProx=startPos
  253. for i=1, 9 do
  254. local startPosProx2=startPosProx local random=Vector3.new(math.random(-1, 1), math.random(-1, 1), math.random(-1, 1))
  255. local findSize=pattern.Size.z/10 local findOffSet=pattern.CFrame.lookVector*-1
  256. local compute=i*findSize*findOffSet local newStartPos=startPos
  257. local newEndPos=CFrame.new(random+compute+newStartPos).p
  258. local magnitude=(startPosProx2-newEndPos).magnitude
  259. local distance=(startPosProx2+newEndPos)/2
  260. local lightning=add.Part(workspace, true, false, col or "Bright yellow", 0, Vector3.new(.2, .2, magnitude), CFrame.new(distance, startPosProx2))
  261. s(function()
  262. fade(lightning, .1) lightning:remove()
  263. end)
  264. startPosProx=newEndPos
  265. end
  266. pattern:remove()
  267. end
  268. function trail(pos, cf, col, thick)
  269. onTrail=true
  270. s(function()
  271. local old=(pos.CFrame*(cf or CFrame.new())).p
  272. while onTrail do wait()
  273. local new=(pos.CFrame*(cf or CFrame.new())).p
  274. local mag=(old-new).magnitude
  275. local dis=(old+new)/2 local trail=add.Part(char, true, false, col or "White", 0, Vector3.new(1, mag, 1), CFrame.new(dis, new)*CFrame.Angles(math.pi/2, 0, 0))
  276. trail.Name="Effect" local tMesh=add.Mesh("CylinderMesh", trail, Vector3.new(thick or 1, 1, thick or 1), nil, nil)
  277. old=new
  278. s(function()
  279. for i=1, 0, -.1 do wait() tMesh.Scale=tMesh.Scale*Vector3.new(i, 1, i) end trail:remove()
  280. end)
  281. s(function()
  282. fade(trail, .1)
  283. end)
  284. end
  285. end)
  286. end
  287. function stickHit(from, to)
  288. local stickW=add.Weld(from, to, to.CFrame:inverse()*from.CFrame)
  289. stickW.C0=from.CFrame:inverse()*from.CFrame
  290. return stickW
  291. end
  292. function glowMesh(prt, size, speed)
  293. local glow=prt:clone() add.Weld(prt, glow)
  294. glow.Parent=workspace
  295. glow.Anchored=false
  296. glow.CanCollide=false
  297. for i, v in pairs(glow:children()) do
  298. if v:isA("SpecialMesh") or v:isA("BlockMesh") or v:isA("CylinderMesh") then
  299. s(function()
  300. for i=0, size, speed do wait() v.Scale=v.Scale+Vector3.new(i, i, i) end
  301. end)
  302. s(function()
  303. fade(glow, .1) glow:remove()
  304. end)
  305. end
  306. end
  307. end
  308. function charge(prt, cf, col, start, endval, incr)
  309. local aura=add.Part(workspace, false, false, col or "Bright yellow", 0, Vector3.new(1, 1, 1), cf or torso.CFrame)
  310. local auraM=add.Mesh("SpecialMesh", aura, Vector3.new(start, .5, start), nil, "File") auraM.MeshId=Meshes.Charge
  311. add.Weld(aura, prt or torso, cf*CFrame.Angles(0, math.rad(math.random(-45, 45)), 0))
  312. s(function()
  313. for i=start, endval, incr do wait()
  314. auraM.Scale=Vector3.new(i, auraM.Scale.y, i)
  315. end
  316. aura:remove()
  317. end)
  318. s(function()
  319. fade(aura, .1)
  320. end)
  321. end
  322. function makeCircle(prt, prts, dis, incr)
  323. local radius=dis+(prts+incr)
  324. for i=1, prts do
  325. local prt2=prt:clone()
  326. prt2.Parent=model
  327. local x = math.sin((360/prts + 360/prts*i)/(180/math.pi))*radius
  328. local y = 0
  329. local z = math.cos((360/prts + 360/prts*i)/(180/math.pi))*radius
  330. prt2.CFrame=prt.CFrame:toWorldSpace(CFrame.new(x,y,z))
  331. prt:remove()
  332. return prt2
  333. end
  334. end
  335. function antiExplosion(model)
  336. local ffs={}
  337. for i, v in pairs(model:children()) do
  338. pcall(function()
  339. local ff2=Instance.new("ForceField", v.Handle)
  340. table.insert(ffs, ff2) end)
  341. if v:isA("BasePart") then
  342. local ff=Instance.new("ForceField", v)
  343. table.insert(ffs, ff)
  344. end
  345. end
  346. return ffs
  347. end
  348. function dmgHit(prt)
  349. prt.Touched:connect(function(h)
  350. if onKey==true and h.Parent:findFirstChild("Humanoid") and onHit==false and h.Parent~=char then
  351. onHit=true print("dmg")
  352. local fakeM=Instance.new("Model", workspace)
  353. fakeM.Name=-dmg
  354. local hHuman=h.Parent:findFirstChild("Humanoid")
  355. hHuman.Health=hHuman.Health-dmg
  356. local hTorso=h.Parent:findFirstChild("Torso")
  357. local fakeH=Instance.new("Humanoid", fakeM) fakeH.MaxHealth=0 fakeH.Health=0
  358. local label=add.Part(fakeM, true, false, "Bright red", 0, Vector3.new(.5, .5, .5), h.CFrame*CFrame.new(math.random(-4, 4), 4, math.random(-4, 4))) label.Name="Head"
  359. game.Debris:addItem(fakeM, 1)
  360. wait(.1)
  361. onHit=false
  362. end
  363. end)
  364. end
  365. function blockHit(prt)
  366. prt.Touched:connect(function(h)
  367. if onBlock==true and onKey==true and not h.Parent:findFirstChild("Humanoid") and onHit==false and h.Parent~=char then
  368. onHit=true
  369. play(Sounds.Hit, 1, 1)
  370. print'Blocked'
  371. local bp=Instance.new("BodyPosition", h) bp.maxForce=Vector3.new(math.huge, math.huge, math.huge) bp.position=(CFrame.new(torso.CFrame.p, h.CFrame.p)*CFrame.new(0, 0, -math.random(100, 200))).p
  372. local bg=Instance.new("BodyGyro", h) bg.maxTorque=Vector3.new(math.huge, math.huge, math.huge) bg.cframe=CFrame.new(h.CFrame.p, torso.CFrame.p)
  373. game.Debris:addItem(bp, .2) game.Debris:addItem(bg, .2)
  374. wait(.1)
  375. onHit=false
  376. end
  377. end)
  378. end
  379. function idle()
  380. animate.LA(CFrame.Angles(0, 0, -math.rad(15)))
  381. animate.RA(CFrame.Angles(0, 0, math.rad(15)))
  382. end
  383. function StaticRemnant()
  384. casted()
  385. play(Sounds.ElectricShortage, 1, 1)
  386. play(Sounds.Abscond, 1, 1)
  387. local trans=.5
  388. local color="Bright blue"
  389. local rem=add.Part(workspace, true, false, color, .25, Vector3.new(4, 4, 4), torso.CFrame*CFrame.new(0, -.2, 0))
  390. local remM=add.Mesh("SpecialMesh", rem, Vector3.new(7, 7, 7), nil, nil, Meshes.Noob)
  391. s(function()
  392. while wait() do
  393. for i=.25, .5, .01 do wait()
  394. rem.Transparency=i
  395. remM.Scale=remM.Scale+Vector3.new(i*.05, i*.05, i*.05)
  396. end
  397. for i=.5, .25, -.01 do wait()
  398. rem.Transparency=i
  399. remM.Scale=remM.Scale-Vector3.new(i*.05, i*.05, i*.05)
  400. end
  401. end
  402. end)
  403. rem.Touched:connect(function(h)
  404. if h.Parent:findFirstChild("Humanoid") and onHit==false and h.Parent~=char then
  405. onHit=true
  406. play(Sounds.ElectricSound, 1, 1)
  407. local blast=add.Part(workspace, true, false, color, .25, Vector3.new(4, 4, 1), rem.CFrame*CFrame.new(0, -3, 0)*CFrame.Angles(math.rad(90), 0, 0))
  408. local blastM=add.Mesh("SpecialMesh", blast, blast.Size, nil, nil, Meshes.Ring)
  409. local blast2=add.Part(workspace, true, false, color, .25, Vector3.new(4, 1, 4), rem.CFrame*CFrame.new(0, -3, 0))
  410. local blast2M=add.Mesh("SpecialMesh", blast2, blast.Size, nil, nil, Meshes.Charge)
  411. s(function()
  412. for i=blast.Size.x, 12, 1 do wait()
  413. blastM.Scale=Vector3.new(i, i, i)
  414. blast2M.Scale=Vector3.new(i, i*.2, i)
  415. end
  416. blast:remove()
  417. blast2:remove()
  418. end)
  419. rem:remove()
  420. local fakeM=Instance.new("Model", workspace)
  421. fakeM.Name=-20
  422. local hHuman=h.Parent:findFirstChild("Humanoid")
  423. hHuman.Health=hHuman.Health-20
  424. local hTorso=h.Parent:findFirstChild("Torso")
  425. local fakeH=Instance.new("Humanoid", fakeM) fakeH.MaxHealth=0 fakeH.Health=0
  426. local label=add.Part(fakeM, true, false, "Bright red", 0, Vector3.new(.5, .5, .5), h.CFrame*CFrame.new(math.random(-4, 4), 4, math.random(-4, 4))) label.Name="Head"
  427. game.Debris:addItem(fakeM, 1)
  428. wait(.1)
  429. onHit=false
  430. end
  431. end)
  432. game.Debris:addItem(rem, 12)
  433. wait(2)
  434. end
  435. function ElectricVortex(target)
  436. casted()
  437. onClick=false
  438. humanoid.WalkSpeed=8
  439. for i=0, 1, .2 do wait()
  440. animate.Torso(CFrame.Angles(0, -math.rad(45)*i, 0))
  441. animate.RA(CFrame.Angles(0, 0, math.rad(135)*i))
  442. end
  443. for i=0, 1, .2 do wait()
  444. animate.Torso(CFrame.Angles(0, -math.rad(45-90*i), 0))
  445. animate.RA(CFrame.Angles(-math.rad(45)*i, 0, math.rad(135)))
  446. end
  447. for i=1, 0, -.2 do wait()
  448. animate.Torso(CFrame.Angles(0, math.rad(45)*i, 0))
  449. animate.RA(CFrame.Angles(-math.rad(45)*i, 0, math.rad(135)*i))
  450. end
  451. idle()
  452. local start=add.Part(model, true, false, "Bright blue", .2, Vector3.new(1.5, 1.5, 1.5), torso.CFrame)
  453. local startM=add.Mesh("SpecialMesh", start, nil, nil, "Sphere")
  454. local bg=Instance.new("BodyGyro", target) bg.maxTorque=Vector3.new(math.huge, math.huge, math.huge) bg.D=100
  455. local bv=Instance.new("BodyVelocity", target) bv.maxForce=Vector3.new(math.huge, math.huge, math.huge)
  456. for i=0, 1, .01 do wait()
  457. bv.velocity=target.CFrame.lookVector*10
  458. bg.cframe=CFrame.new(target.CFrame.p, start.CFrame.p)
  459. local mag=(start.CFrame.p-target.CFrame.p).magnitude
  460. local dis=(start.CFrame.p+target.CFrame.p)/2
  461. local con=add.Part(workspace, true, false, "Bright blue", .2, Vector3.new(1, mag, 1), CFrame.new(dis, start.CFrame.p)*CFrame.Angles(math.rad(90), 0, 0))
  462. local conM=add.Mesh("CylinderMesh", con)
  463. s(function()
  464. for i=.2, 1, .1 do wait() con.Transparency=i end con:remove()
  465. end)
  466. play(Sounds.Electric, 1, 1)
  467. play(Sounds.ElectricSound, 1, 1)
  468. end
  469. loop=false
  470. bg:remove()
  471. bv:remove()
  472. start:remove()
  473. humanoid.WalkSpeed=16
  474. end
  475. function BallLightning()
  476. casted()
  477. humanoid.WalkSpeed=0
  478. onKey=true
  479. play(Sounds.Electric, 1, 1)
  480. play(Sounds.ElectricSound, 1, 1)
  481. for i=0, 1, .2 do wait()
  482. animate.Torso(CFrame.Angles(-math.rad(90)*i, 0, 0))
  483. end
  484. torso.CFrame=computePos(torso.CFrame.p, m.Hit.p)
  485. local ball=add.Part(workspace, false, false, "Cyan", 0, Vector3.new(7, 7, 7), torso.CFrame)
  486. for i, v in pairs(char:children()) do if v.ClassName=="Part" then dmgHit(v) end end
  487. dmgHit(ball)
  488. local ballM=add.Mesh("SpecialMesh", ball, nil, nil, "Sphere")
  489. local ballW=add.Weld(ball, torso)
  490. local bp=Instance.new("BodyPosition", torso) bp.maxForce=bp.maxForce*math.huge bp.D=bp.D*1.5
  491. trail(ball, CFrame.new(), "Cyan", ball.Size.x)
  492. local pos=m.Hit.p
  493. dmg=(torso.CFrame.p-m.Hit.p).magnitude/2
  494. bp.position=Vector3.new(pos.x, pos.y, pos.z)
  495. wait(.4)
  496. for i=1, 0, -.2 do wait()
  497. animate.Torso(CFrame.Angles(-math.rad(90)*i, 0, 0))
  498. end
  499. bp:remove()
  500. ball:remove()
  501. onKey=false
  502. onTrail=false
  503. dmg=math.random(5, 10)
  504. humanoid.WalkSpeed=16
  505. idle()
  506. end
  507. function findClick()
  508. if onClick then
  509. local dis=nearPos(torso.CFrame.p, 25)
  510. local tgt=m.Target
  511. if tgt and dis then
  512. if tgt.Parent:findFirstChild("Humanoid") then
  513. m.Icon=""
  514. ElectricVortex(tgt.Parent:findFirstChild("Torso"))
  515. end
  516. end
  517. end
  518. if onClick2 then
  519. onClick2=false
  520. m.Icon=""
  521. BallLightning()
  522. end
  523. end
  524. function Attack()
  525. if not onAttack then
  526. onAttack=true
  527. play(Sounds.Electric, 1, 1)
  528. play(Sounds.ElectricSound, 1, 1)
  529. for i=0, 1, .2 do wait()
  530. animate.Torso(CFrame.Angles(0, -math.rad(45)*i, 0))
  531. animate.RA(CFrame.Angles(0, 0, math.rad(135)*i))
  532. end
  533. for i=0, 1, .2 do wait()
  534. animate.Torso(CFrame.Angles(0, -math.rad(45-90*i), 0))
  535. animate.RA(CFrame.Angles(-math.rad(45)*i, 0, math.rad(135)))
  536. end
  537. for i=1, 0, -.2 do wait()
  538. animate.Torso(CFrame.Angles(0, math.rad(45)*i, 0))
  539. animate.RA(CFrame.Angles(-math.rad(45)*i, 0, math.rad(135)*i))
  540. end
  541. local bolt=add.Part(workspace, false, false, "Cyan", 0, Vector3.new(.2, .2, 1.5), CFrame.new(body.RA.CFrame.p, m.Hit.p))
  542. local bf=Instance.new("BodyForce", bolt) bf.force=Vector3.new(0, bolt:getMass()*196.25, 0)
  543. local bv=Instance.new("BodyVelocity", bolt) bv.maxForce=bv.maxForce*math.huge bv.velocity=bolt.CFrame.lookVector*100
  544. idle()
  545. game.Debris:addItem(bolt, 5)
  546. bolt.Touched:connect(function(h)
  547. if not onCast and h.Parent:findFirstChild("Humanoid") and onHit==false and h.Parent~=char then
  548. onHit=true print("dmg")
  549. dmg=math.random(5, 10)
  550. local blast=add.Part(workspace, true, false, "Bright blue", .25, Vector3.new(2, .5, 2), CFrame.new(h.CFrame.p, torso.CFrame.p)*CFrame.Angles(-math.rad(90), 0, 0))
  551. local blastM=add.Mesh("SpecialMesh", blast, blast.Size, nil, nil, Meshes.Charge)
  552. game.Debris:addItem(blast, 1)
  553. bolt:remove()
  554. local effect
  555. local fakeM=Instance.new("Model", workspace)
  556. fakeM.Name=-dmg
  557. local hHuman=h.Parent:findFirstChild("Humanoid")
  558. hHuman.Health=hHuman.Health-dmg
  559. local hTorso=h.Parent:findFirstChild("Torso")
  560. local fakeH=Instance.new("Humanoid", fakeM) fakeH.MaxHealth=0 fakeH.Health=0
  561. local label=add.Part(fakeM, true, false, "Bright red", 0, Vector3.new(.5, .5, .5), h.CFrame*CFrame.new(math.random(-4, 4), 4, math.random(-4, 4))) label.Name="Head"
  562. game.Debris:addItem(fakeM, 1)
  563. wait(.1)
  564. onHit=false
  565. elseif onCast and h.Parent:findFirstChild("Humanoid") and onHit==false and h.Parent~=char then
  566. onTrail=false
  567. onHit=true
  568. print("dmg")
  569. onCast=false
  570. cast=0
  571. dmg=math.random(20, 25)
  572. local blast=add.Part(workspace, true, false, "Bright blue", .25, Vector3.new(2, .5, 2), CFrame.new(h.CFrame.p, torso.CFrame.p)*CFrame.Angles(-math.rad(90), 0, 0))
  573. local blastM=add.Mesh("SpecialMesh", blast, blast.Size, nil, nil, Meshes.Charge)
  574. game.Debris:addItem(blast, 1)
  575. bolt:remove()
  576. local effect
  577. local fakeM=Instance.new("Model", workspace)
  578. fakeM.Name=-dmg.." Slowed!"
  579. local hHuman=h.Parent:findFirstChild("Humanoid")
  580. hHuman.Health=hHuman.Health-dmg
  581. local hTorso=h.Parent:findFirstChild("Torso")
  582. local fakeH=Instance.new("Humanoid", fakeM) fakeH.MaxHealth=0 fakeH.Health=0
  583. local label=add.Part(fakeM, true, false, "Bright red", 0, Vector3.new(.5, .5, .5), h.CFrame*CFrame.new(math.random(-4, 4), 4, math.random(-4, 4))) label.Name="Head"
  584. game.Debris:addItem(fakeM, 1)
  585. s(function()
  586. s(function() hHuman.WalkSpeed=2 wait(.6) hHuman.WalkSpeed=16 end)
  587. local blast=add.Part(workspace, true, false, "Bright blue", .25, Vector3.new(4, 1, 4), hTorso.CFrame*CFrame.new(0, -3, 0))
  588. local blastM=add.Mesh("SpecialMesh", blast, blast.Size, nil, nil, Meshes.Charge)
  589. s(function()
  590. for i=blast.Size.x, 12, 1 do wait()
  591. blastM.Scale=Vector3.new(i, i*.2, i)
  592. end
  593. blast:remove()
  594. end)
  595. end)
  596. wait(.1)
  597. onHit=false
  598. end
  599. end)
  600. onAttack=false
  601. end
  602. end
  603. function keyDown(key)
  604. local key=key:lower()
  605. if key=="z" and not onKey then
  606. onCast=true
  607. onKey=true
  608. StaticRemnant()
  609. onKey=false
  610. end
  611. if key=="x" and not onClick then
  612. onClick=true
  613. m.Icon="http://www.roblox.com/asset/?id=81886817"
  614. s(function()
  615. while onClick do wait()
  616. local tgt=m.Target
  617. local dis=nearPos(torso.CFrame.p, 25)
  618. if tgt and dis then
  619. if tgt.Parent:findFirstChild("Humanoid") then
  620. print(tgt)
  621. m.Button1Down:connect(findClick)
  622. end
  623. end
  624. end
  625. end)
  626. elseif key=="x" and onClick then
  627. onClick=false
  628. m.Icon=""
  629. end
  630. if key=="c" and not onClick then
  631. onClick2=true
  632. m.Icon="http://www.roblox.com/asset/?id=81886817"
  633. m.Button1Down:connect(findClick)
  634. elseif key=="c" and onClick then
  635. onClick2=false
  636. m.Icon=""
  637. end
  638. end
  639. function casted()
  640. onCast=true
  641. cast=cast+1
  642. if cast>1 then return end
  643. s(function()
  644. trail(body.RA, CFrame.new(0, -1.5, 0), "Cyan", .8)
  645. while onCast do wait()
  646. local effect=add.Part(workspace, false, false, "Cyan", .5, Vector3.new(1, 1, 1), body.RA.CFrame*CFrame.new(0, -1.5, 0))
  647. local effectW=add.Weld(effect, body.RA, CFrame.new(0, -1.5, 0)*CFrame.Angles(math.rad(math.random(-45, 45)),math.rad(math.random(-45, 45)),math.rad(math.random(-45, 45))))
  648. s(function()
  649. for i=.5, 1, .1 do wait()
  650. effect.Transparency=i
  651. end
  652. effect:remove()
  653. end)
  654. end
  655. end)
  656. end
  657. bin.Selected:connect(function(mouse)
  658. onKey=false
  659. m=mouse
  660. createParts()
  661. for i=0, 1, .1 do wait()
  662. animate.LA(CFrame.Angles(0, 0, -math.rad(15)*i))
  663. animate.RA(CFrame.Angles(0, 0, math.rad(15)*i))
  664. end
  665. mouse.KeyDown:connect(keyDown)
  666. mouse.Button1Down:connect(Attack)
  667. charge(torso, CFrame.new(0, -2.5, 0), "Bright blue", 5, 10, .2)
  668. idle()
  669. end)
  670. bin.Deselected:connect(function()
  671. removeParts()
  672. onKey=true
  673. for i=1, 0, -.1 do wait()
  674. animate.LA(CFrame.Angles(0, 0, -math.rad(15)*i))
  675. animate.RA(CFrame.Angles(0, 0, math.rad(15)*i))
  676. end
  677. end)
Add Comment
Please, Sign In to add comment