SonicrixLP

Untitled

Dec 26th, 2016
359
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- thx korblax
  2. local asin = math.asin
  3.  
  4. local atan2 = math.atan2
  5.  
  6. local rad = math.rad
  7.  
  8. local sin = math.sin
  9.  
  10. local abs = math.abs
  11.  
  12. local ceil = math.ceil
  13.  
  14. local pi = math.pi
  15.  
  16. local swing=1
  17.  
  18. local hitdeb=false
  19.  
  20. local deb=false
  21.  
  22. local player = game.Players.LocalPlayer
  23.  
  24. local pchar = player.Character
  25.  
  26. local mouse = player:GetMouse()
  27.  
  28. local torso=pchar.Torso
  29.  
  30. local skate=false
  31.  
  32. local legs=true
  33.  
  34. local anim=true
  35.  
  36. local tsp=0
  37.  
  38. local csp=0
  39.  
  40. local hover=false
  41.  
  42. local dmgs={}
  43.  
  44. local sworddmg={}
  45.  
  46. local anim2=false
  47.  
  48. local SAmmo=7
  49.  
  50. local anglespeed = 1
  51.  
  52. local mode=''
  53.  
  54. local angle = 0
  55.  
  56. local animationprts={}
  57.  
  58. local spawn={}
  59.  
  60. local cf,ca,v3=CFrame.new,CFrame.Angles,Vector3.new
  61.  
  62. local tol=Instance.new("HopperBin",player.Backpack)
  63.  
  64. local spkparts = {}
  65.  
  66. local rov=true
  67.  
  68. local sides=true
  69.  
  70. local spinn=0
  71.  
  72. local tov=false
  73.  
  74. local tops=true
  75.  
  76. local pov=false
  77.  
  78. local bl=false
  79.  
  80. local spinn=0
  81.  
  82. tol.Name="1069"
  83.  
  84. local function QuaternionFromCFrame(cf) local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() local trace = m00 + m11 + m22 if trace > 0 then local s = math.sqrt(1 + trace) local recip = 0.5/s return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5 else local i = 0 if m11 > m00 then i = 1 end if m22 > (i == 0 and m00 or m11) then i = 2 end if i == 0 then local s = math.sqrt(m00-m11-m22+1) local recip = 0.5/s return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip elseif i == 1 then local s = math.sqrt(m11-m22-m00+1) local recip = 0.5/s return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip elseif i == 2 then local s = math.sqrt(m22-m00-m11+1) local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip end end end
  85. local function QuaternionToCFrame(px, py, pz, x, y, z, w) local xs, ys, zs = x + x, y + y, z + z local wx, wy, wz = w*xs, w*ys, w*zs local xx = x*xs local xy = x*ys local xz = x*zs local yy = y*ys local yz = y*zs local zz = z*zs return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy)) end
  86. local function QuaternionSlerp(a, b, t) local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4] local startInterp, finishInterp; if cosTheta >= 0.0001 then if (1 - cosTheta) > 0.0001 then local theta = math.acos(cosTheta) local invSinTheta = 1/math.sin(theta) startInterp = math.sin((1-t)*theta)*invSinTheta finishInterp = math.sin(t*theta)*invSinTheta else startInterp = 1-t finishInterp = t end else if (1+cosTheta) > 0.0001 then local theta = math.acos(-cosTheta) local invSinTheta = 1/math.sin(theta) startInterp = math.sin((t-1)*theta)*invSinTheta finishInterp = math.sin(t*theta)*invSinTheta else startInterp = t-1 finishInterp = t end end return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp end
  87. function clerp(a,b,t)
  88. local qa = {QuaternionFromCFrame(a)}
  89. local qb = {QuaternionFromCFrame(b)}
  90. local ax, ay, az = a.x, a.y, a.z
  91. local bx, by, bz = b.x, b.y, b.z
  92. local _t = 1-t
  93. return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
  94. end
  95.  
  96. Part = function(x,y,z,color,tr,cc,an,parent)
  97. local p = Instance.new('Part',parent or Weapon)
  98. p.formFactor = 'Custom'
  99. p.Size = Vector3.new(x,y,z)
  100. p.BrickColor = BrickColor.new(color)
  101. p.CanCollide = cc
  102. p.Transparency = tr
  103. p.Anchored = an
  104. p.TopSurface,p.BottomSurface = 0,0
  105. p:BreakJoints()
  106. return p
  107. end
  108.  
  109. wPart = function(x,y,z,color,tr,cc,an,parent)
  110. local wp = Instance.new('WedgePart',parent or Weapon)
  111. wp.formFactor = 'Custom'
  112. wp.Size = Vector3.new(x,y,z)
  113. wp.BrickColor = BrickColor.new(color)
  114. wp.CanCollide = cc
  115. wp.Transparency = tr
  116. wp.Anchored = an
  117. wp.TopSurface,wp.BottomSurface = 0,0
  118. return wp
  119. end
  120.  
  121. TrailOn = false
  122.  
  123. local function CFrameFromTopBack(at, top, back)
  124. local right = top:Cross(back)
  125. return CFrame.new(at.x, at.y, at.z,
  126. right.x, top.x, back.x,
  127. right.y, top.y, back.y,
  128. right.z, top.z, back.z)
  129. end
  130.  
  131. function Triangle(a, b, c)
  132. local edg1 = (c-a):Dot((b-a).unit)
  133. local edg2 = (a-b):Dot((c-b).unit)
  134. local edg3 = (b-c):Dot((a-c).unit)
  135. if edg1 <= (b-a).magnitude and edg1 >= 0 then
  136. a, b, c = a, b, c
  137. elseif edg2 <= (c-b).magnitude and edg2 >= 0 then
  138. a, b, c = b, c, a
  139. elseif edg3 <= (a-c).magnitude and edg3 >= 0 then
  140. a, b, c = c, a, b
  141. else
  142. print("unreachable")
  143. end
  144. local len1 = (c-a):Dot((b-a).unit)
  145. local len2 = (b-a).magnitude - len1
  146. local width = (a + (b-a).unit*len1 - c).magnitude
  147. local maincf = CFrameFromTopBack(a, (b-a):Cross(c-b).unit, -(b-a).unit)
  148. local list = {}
  149. if len1 > 0.01 then
  150. local w1 = wPart(0,0,0,'White',0.5,false,true,pchar)
  151. local sz = v3(0.2, width, len1)
  152. w1.Size = sz
  153. local sp = Mesh(w1,2,0,0,0)
  154. sp.MeshType='Wedge'
  155. sp.Scale=v3(0,1,1)*sz/w1.Size
  156. w1:BreakJoints()
  157. w1.Anchored = true
  158. w1.Transparency = 0.7
  159. Spawn(function()
  160. for i=0,1,0.1 do
  161. wait()
  162. w1.Transparency=w1.Transparency+0.03
  163. end
  164. end)
  165. w1.CFrame = maincf*ca(math.pi,0,math.pi/2)*cf(0,width/2,len1/2)
  166. table.insert(list,w1)
  167. end
  168. if len2 > 0.01 then
  169. local w2 = wPart(0,0,0,'White',0.5,false,true,pchar)
  170. local sz = v3(0.2, width, len2)
  171. w2.Size = sz
  172. local sp = Mesh(w2,2,0,0,0)
  173. sp.MeshType='Wedge'
  174. sp.Scale=v3(0,1,1)*sz/w2.Size
  175. w2:BreakJoints()
  176. w2.Anchored = true
  177. w2.Transparency = 0.7
  178. Spawn(function()
  179. for i=0,1,0.1 do
  180. wait()
  181. w2.Transparency=w2.Transparency+0.03
  182. end
  183. end)
  184. w2.CFrame = maincf*ca(math.pi,math.pi,-math.pi/2)*cf(0,width/2,-len1 - len2/2)
  185. table.insert(list,w2)
  186. end
  187. return unpack(list)
  188. end
  189.  
  190. Weld = function(p0,p1,x,y,z,rx,ry,rz,par)
  191. local w = Instance.new('Motor',par or p0)
  192. w.Part0 = p0
  193. w.Part1 = p1
  194. w.C1 = CFrame.new(x,y,z)*CFrame.Angles(rx,ry,rz)
  195. return w
  196. end
  197.  
  198. TWeld = function(p0,p1,x,y,z,rx,ry,rz,par)
  199. local w = Weld(p0,p1,0,0,0,0,0,0,par)
  200. table.insert(spawn,w)
  201. Tween(w,cf(x,y,z)*ca(rx,ry,rz),.05)
  202. return w
  203. end
  204.  
  205. Mesh = function(par,num,x,y,z)
  206. local msh = nil
  207. if num == 1 then
  208. msh = Instance.new("CylinderMesh",par)
  209. elseif num == 2 then
  210. msh = Instance.new("SpecialMesh",par)
  211. msh.MeshType = 3
  212. elseif num == 3 then
  213. msh = Instance.new("BlockMesh",par)
  214. elseif type(num) == 'string' then
  215. msh = Instance.new("SpecialMesh",par)
  216. msh.MeshId = num
  217. end
  218. msh.Scale = Vector3.new(x,y,z)
  219. return msh
  220. end
  221.  
  222. function explosion(col1,col2,cfr,sz,rng,dmg)
  223. local a= Part(1,1,1,col1,.5,false,true,pchar)
  224. local a2= Part(1,1,1,col2,.5,false,true,pchar)
  225. local a3= Part(1,1,1,col2,.5,false,true,pchar)
  226. local v1,v2,v3=sz.x,sz.y,sz.z
  227. local m= Mesh(a,'http://www.roblox.com/asset/?id=1185246',v1,v2,v3)
  228. local m2= Mesh(a2,3,v1/3,v2/3,v3/3)
  229. local m3= Mesh(a3,3,v1/3,v2/3,v3/3)
  230. a.CFrame=cfr
  231. a2.CFrame=cfr*ca(math.random(),math.random(),math.random())
  232. a3.CFrame=cfr*ca(math.random(),math.random(),math.random())
  233. for i,v in pairs(workspace:children()) do
  234. if v:IsA("Model") and v:findFirstChild("Humanoid") then
  235. if v:findFirstChild("Head") and v:findFirstChild("Torso") then
  236. if (v:findFirstChild("Torso").Position - a.Position).magnitude < rng and v.Name ~= pchar.Name then
  237. v.Humanoid.Health=v.Humanoid.Health-dmg
  238. end
  239. end
  240. end
  241. end
  242. Spawn(function()
  243. while wait() do
  244. if a.Transparency >= 1 then a:Destroy() a2:Destroy() a3:Destroy() break end
  245. m.Scale=m.Scale+Vector3.new(0.1,0.1,0.1)
  246. m2.Scale=m2.Scale+Vector3.new(0.1,0.1,0.1)
  247. m3.Scale=m3.Scale+Vector3.new(0.1,0.1,0.1)
  248. a.Transparency=a.Transparency+0.05
  249. a2.Transparency=a2.Transparency+0.05
  250. a3.Transparency=a3.Transparency+0.05
  251. end
  252. end)
  253. end
  254.  
  255. so = function(id,par,lo,pi)
  256. s = Instance.new("Sound",par) s.Looped=lo s.Pitch=pi
  257. s.SoundId = "http://roblox.com/asset/?id="..id s:play()
  258. return s
  259. end
  260.  
  261. Lightning = function(Start,End,Times,Offset,Color,Thickness,Transparency)
  262. local magz = (Start - End).magnitude local curpos = Start local trz = {-Offset,Offset}
  263. for i=1,Times do
  264. local li = Instance.new("Part",workspace)
  265. li.TopSurface =0
  266. li.BottomSurface = 0
  267. li.Anchored = true
  268. li.Transparency = Transparency or 0.4
  269. li.BrickColor = BrickColor.new(Color)
  270. li.formFactor = "Custom"
  271. li.CanCollide = false
  272. li.Size = Vector3.new(Thickness,Thickness,magz/Times)
  273. local ofz = Vector3.new(trz[math.random(1,2)],trz[math.random(1,2)],trz[math.random(1,2)])
  274. local trolpos = CFrame.new(curpos,End)*CFrame.new(0,0,magz/Times).p+ofz
  275. if Times == i then
  276. local magz2 = (curpos - End).magnitude li.Size = Vector3.new(Thickness,Thickness,magz2)
  277. li.CFrame = CFrame.new(curpos,End)*CFrame.new(0,0,-magz2/2)
  278. else
  279. li.CFrame = CFrame.new(curpos,trolpos)*CFrame.new(0,0,magz/Times/2)
  280. end
  281. curpos = li.CFrame*CFrame.new(0,0,magz/Times/2).p game.Debris:AddItem(li,0.01)
  282. end
  283. end
  284.  
  285. Lightning = function(Start,End,Times,Offset,Color,Thickness)
  286. local magz = (Start - End).magnitude local curpos = Start local trz = {-Offset,Offset}
  287. for i=1,Times do
  288. local li = Instance.new("Part",workspace) li.TopSurface =0 li.BottomSurface = 0 li.Anchored = true li.Transparency = 0 li.BrickColor = Color li.Material="Neon"
  289. li.formFactor = "Custom" li.CanCollide = false li.Size = Vector3.new(Thickness,Thickness,magz/Times) local ofz = Vector3.new(trz[math.random(1,2)],trz[math.random(1,2)],trz[math.random(1,2)])
  290. local trolpos = CFrame.new(curpos,End)*CFrame.new(0,0,magz/Times).p+ofz
  291. if Times == i then
  292. local magz2 = (curpos - End).magnitude li.Size = Vector3.new(Thickness,Thickness,magz2)
  293. li.CFrame = CFrame.new(curpos,End)*CFrame.new(0,0,-magz2/2)
  294. else
  295. li.CFrame = CFrame.new(curpos,trolpos)*CFrame.new(0,0,magz/Times/2)
  296. end
  297. curpos = li.CFrame*CFrame.new(0,0,magz/Times/2).p Spawn(function() for i=1,10 do wait() li.Transparency = li.Transparency+.1 end li:Destroy() end)
  298. end
  299. end
  300.  
  301. function skul(v)
  302. if v:findFirstChild("Torso") ~= nil then
  303. for i=1,30 do
  304. local prt= Part(1,.2,1,'Black',0,true,false,workspace)
  305. prt.Material='Concrete'
  306. prt.CFrame=v.Torso.CFrame*CFrame.new(math.random(-30,30)/10,math.random(-20,30)/10,math.random(-20,20)/10)
  307. game.Debris:AddItem(prt,math.random(50,70)/10)
  308. end
  309. ypcall(function()v.Head.face:Destroy()end)
  310. local ms= Mesh(v.Head,'http://www.roblox.com/asset/?id=4770583',3.2,3.2,3.2)
  311. ms.TextureId='http://www.roblox.com/asset/?id=4770560'
  312. local ded=so('16433289',v.Head,false,1,1)
  313. for _,a in pairs(v:GetChildren()) do if a.Name ~= 'Head' and a.Name ~= 'Humanoid' then a:remove() end end
  314. end
  315. end
  316.  
  317. function connectsworddmg()
  318. for i=1,#sworddmg do
  319. dodmg=sworddmg[i].Touched:connect(function(hit)
  320. if hit.Parent:findFirstChild("Humanoid") ~= nil and hit.Parent.Name ~= pchar.Name and hitdeb==false then
  321. hitdeb=true
  322. hit.Parent.Humanoid.Health=hit.Parent.Humanoid.Health-10
  323. wait(.1)
  324. hitdeb=false
  325. end
  326. end)
  327. table.insert(dmgs,dodmg)
  328. end
  329. end
  330.  
  331. function disconnectsworddmg()
  332. for i=1,#dmgs do
  333. dmgs[i]:disconnect()
  334. end
  335. dmgs={}
  336. end
  337.  
  338. function mgblock(pa,cfr,tm,col1,col2,sz,wa)
  339. local cols={col1,col2}
  340. Spawn(function()
  341. for i=1,tm do
  342. local a= Part(1,1,1,cols[math.random(1,2)],0,false,true,pchar)
  343. curre=a
  344. local v1,v2,v3=sz.x,sz.y,sz.z
  345. local m= Mesh(a,3,v1,v2,v3)
  346. a.CFrame=pa.CFrame*cfr*CFrame.Angles(math.random(),math.random(),math.random())
  347. Spawn(function()
  348. while wait() do
  349. if a.Transparency >= 1 then a:Destroy() break end
  350. m.Scale=m.Scale-Vector3.new(.1,0.1,0.1)
  351. a.CFrame=a.CFrame*CFrame.Angles(math.rad(2),math.rad(2),math.rad(2))+Vector3.new(0,0.1,0)
  352. a.Transparency=a.Transparency+0.05
  353. end
  354. end)
  355. wait(wa)
  356. end
  357. end)
  358. return curre
  359. end
  360.  
  361. Tween = function(Weld, Stop, Step,a)
  362. ypcall(function()
  363. local func = function()
  364. local Start = Weld.C1
  365. local X1, Y1, Z1 = Start:toEulerAnglesXYZ()
  366. local Stop = Stop
  367. local X2, Y2, Z2 = Stop:toEulerAnglesXYZ()
  368. Spawn(function()
  369. for i = 0, 1, Step or .1 do
  370. wait()
  371. Weld.C1 = cf( (Start.p.X * (1 - i)) + (Stop.p.X * i),(Start.p.Y * (1 - i)) + (Stop.p.Y * i),(Start.p.Z * (1 - i)) + (Stop.p.Z * i)) * ca((X1 * (1 - i)) + (X2 * i), (Y1 * (1 - i)) + (Y2 * i),(Z1 * (1 - i)) + (Z2 * i) )
  372. end
  373. Weld.C1 = Stop
  374. end)
  375. end
  376. if a then
  377. coroutine.wrap(func)()
  378. else
  379. func()
  380. end
  381. end)
  382. end
  383.  
  384. local function getAngles(cf)
  385. local sx,sy,sz,m00,m01,m02,m10,m11,m12,m20,m21,m22 = cf:components()
  386. return atan2(-m12,m22),asin(m02),atan2(-m01,m00)
  387. end
  388.  
  389. Lerp = {
  390. Number = function(C1,C2,inc)
  391. return C1 + (C2 - C1) * inc
  392. end;
  393. CFrame = function(a,b,m)
  394. local c,d={a:components()},{b:components()}
  395. table.foreach(c,function(a,b)c[a]=c[a]+(d[a]-c[a])*m end)
  396. return CFrame.new(unpack(c))
  397. end;
  398. }
  399.  
  400. local function genWeld(a,b)
  401. local w = Instance.new("Weld",a)
  402. w.Part0 = a
  403. w.Part1 = b
  404. return w
  405. end
  406.  
  407. local Neck = genWeld(pchar.Torso,pchar.Head)
  408.  
  409. local LeftShoulder = genWeld(pchar.Torso,pchar['Left Arm'])
  410.  
  411. local RightShoulder = genWeld(pchar.Torso,pchar['Right Arm'])
  412.  
  413. local LeftHip = genWeld(pchar.Torso,pchar['Left Leg'])
  414.  
  415. local RightHip = genWeld(pchar.Torso,pchar['Right Leg'])
  416.  
  417. local RootJoint = genWeld(pchar.HumanoidRootPart,pchar.Torso)
  418.  
  419. Neck.C0 = CFrame.new(0,1,0)
  420.  
  421. Neck.C1 = CFrame.new(0,-0.5,0)
  422.  
  423. LeftShoulder.C0 = CFrame.new(-1,0.5,0)
  424.  
  425. LeftShoulder.C1 = CFrame.new(0.5,0.5,0)
  426.  
  427. RightShoulder.C0 = CFrame.new(1,0.5,0)
  428.  
  429. RightShoulder.C1 = CFrame.new(-0.5,0.5,0)
  430.  
  431. LeftHip.C0 = CFrame.new(-1,-1,0)
  432.  
  433. LeftHip.C1 = CFrame.new(-0.5,1,0)
  434.  
  435. RightHip.C0 = CFrame.new(1,-1,0)
  436.  
  437. RightHip.C1 = CFrame.new(0.5,1,0)
  438.  
  439. RootJoint.C0 = CFrame.new(0,0,0) * CFrame.Angles(-math.pi/2,0,math.pi)
  440.  
  441. RootJoint.C1 = CFrame.new(0,0,0) * CFrame.Angles(-math.pi/2,0,math.pi)
  442.  
  443. local mo=Instance.new("Model",pchar)
  444.  
  445. local mpa1= Part(1.1,.3,1.1,'Black',0,false,false,mo)
  446.  
  447. Mesh(mpa1,'rbxasset://fonts/torso.mesh',.55,.05,1.1)
  448.  
  449. local mwl1= Weld(mpa1,pchar['Right Arm'],0,-.75,0,0,0,0,mo)
  450.  
  451. local pa= Part(1.1,.3,1.1,'Black',0,false,false,mo)
  452.  
  453. Mesh(pa,'rbxasset://fonts/torso.mesh',.55,.05,1.1)
  454.  
  455. Weld(pa,mpa1,0,.75,0,0,0,0,mo)
  456.  
  457. local pa= Part(1.1,.3,1.1,'Black',0,false,false,mo)
  458.  
  459. Mesh(pa,'rbxasset://fonts/torso.mesh',.55,.05,1.2)
  460.  
  461. Weld(pa,mpa1,0,.375,0,rad(30),0,0,mo)
  462.  
  463. local pa= Part(1.1,.3,1.1,'Black',0,false,false,mo)
  464.  
  465. Mesh(pa,'rbxasset://fonts/torso.mesh',.55,.05,1.2)
  466.  
  467. Weld(pa,mpa1,0,.375,0,-rad(30),0,0,mo)
  468.  
  469. local pa= Part(1.1,.3,1.1,'Black',0,false,false,mo)
  470.  
  471. Mesh(pa,'rbxasset://fonts/torso.mesh',.6,.05,1.1)
  472.  
  473. Weld(pa,mpa1,0,.375,0,0,0,rad(30),mo)
  474.  
  475. local pa= Part(1.1,.3,1.1,'Black',0,false,false,mo)
  476.  
  477. Mesh(pa,'rbxasset://fonts/torso.mesh',.6,.05,1.1)
  478.  
  479. Weld(pa,mpa1,0,.375,0,0,0,-rad(30),mo)
  480.  
  481. local hol= Part(1,1,1,'',0,false,false,mo)
  482.  
  483. Mesh(hol,1,.4,.5,.4)
  484.  
  485. Weld(hol,mpa1,0,.375,-.31,rad(90),0,0,mo)
  486.  
  487. local pa= Part(1,1,1,'',0,false,false,mo)
  488.  
  489. Mesh(pa,'http://www.roblox.com/asset/?id=3270017',.4,.4,.4)
  490.  
  491. Weld(pa,mpa1,0,.375,-.55,0,0,0,mo)
  492.  
  493. local ball= Part(1,1,1,'White',0,false,false,mo)
  494.  
  495. Mesh(ball,'http://www.roblox.com/asset/?id=1185246',.5,.5,.5)
  496.  
  497. local ballweld= Weld(ball,mpa1,0,.375,-.55,0,0,0,mo)
  498.  
  499. for i=1,5 do
  500.  
  501. local spk= Part(1,1,1,'White',0,false,false,mo)
  502.  
  503. Mesh(spk,'http://www.roblox.com/asset/?id=1778999',.2,.25,.2)
  504.  
  505. local spkw= Weld(spk,ball,0,0,0.25,rad(90),0,0,spk)
  506.  
  507. table.insert(animationprts,spkw)
  508.  
  509. end
  510.  
  511.  
  512. local function newLerpTo(weld)
  513. return {
  514. Weld = weld;
  515. To = weld.C0;
  516. Cache = weld.C0;
  517. Speed = 0.2;
  518. }
  519. end
  520.  
  521. local function opnbl(v)
  522. if v=='t' then
  523. Tween(ballweld,cf(0,.375,-1.2),.1)
  524. for i=1,#animationprts do
  525. if i==1 then
  526. Tween(animationprts[i],cf(0,0,.25)*ca(rad(90),0,0),.1)
  527. elseif i==2 then
  528. Tween(animationprts[i],cf(0,.25,0)*ca(0,0,0),.1)
  529. elseif i==3 then
  530. Tween(animationprts[i],cf(0,-.25,0)*ca(-rad(180),0,0),.1)
  531. elseif i==4 then
  532. Tween(animationprts[i],cf(.25,0,0)*ca(0,0,-rad(90)),.1)
  533. elseif i==5 then
  534. Tween(animationprts[i],cf(-.25,0,0)*ca(0,0,rad(90)),.1)
  535. end
  536. end
  537. elseif v=='f' then
  538. SetAnimData({Head=true,RightArm=false,LeftArm=false,RightLeg=true,LeftLeg=true,Torso=true})
  539. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(120),0,rad(50)) * CFrame.new(.2,-.5,0)
  540. wait(.25)
  541. Spawn(function()
  542. for i = 0,1,0.1 do wait()
  543. so('28445431',torso,false,20)
  544. ballweld.C1=ballweld.C1 *CFrame.Angles(0,0,i*2-0.0005)
  545. end
  546. end)
  547. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90),0,rad(40)) * CFrame.new(.2,-.5,0)
  548. wait(.25)
  549. SetAnimData({Head=true,RightArm=true,LeftArm=true,RightLeg=true,LeftLeg=true,Torso=true})
  550. wait(.25)
  551. Tween(ballweld,cf(0,.375,-.55),.1)
  552. for i=1,#animationprts do
  553. Tween(animationprts[i],cf(0,0,.25)*ca(rad(90),0,0),.1)
  554. end
  555. end
  556. end
  557.  
  558. local function build(what)
  559. if what=='Sniper' then
  560. wep=Instance.new('Model',mo)
  561. wep.Name='Sniper'
  562. mpa1= Part(1,.3,.3,'Dark stone grey',0,false,false,wep)
  563. mwl1= TWeld(mpa1,pchar['Right Arm'],0,-2,-.4,0,-pi/2,pi/2,wep)
  564. pa= Part(1,.4,.2,'Dark stone grey',0,false,false,wep)
  565. TWeld(pa,mpa1,0,-0.35,0,0,0,0,wep)
  566. pa= Part(.2,.75,.2,'Black',0,false,false,wep)
  567. Mesh(pa,1,1,1,1)
  568. TWeld(pa,mpa1,-.75,-0.4,0,0,0,rad(90),wep)
  569. pa= Part(.2,.75,.2,'Black',0,false,false,wep)
  570. Mesh(pa,1,1,1,1)
  571. TWeld(pa,mpa1,-1.3,-.15,0,0,0,rad(40),wep)
  572. pa= Part(2,.3,.3,'Dark stone grey',0,false,false,wep)
  573. TWeld(pa,mpa1,-.5,0.2,0,0,0,0,wep)
  574. pa= Part(.3,1.2,.3,'Black',0,false,false,wep)
  575. Mesh(pa,1,1,1,1)
  576. TWeld(pa,mpa1,-1.1,0.2,0,0,0,rad(90),wep)
  577. pa= Part(.1,2,.1,'Black',0,false,false,wep)
  578. Mesh(pa,1,1,1,1)
  579. TWeld(pa,mpa1,-2.6,0.2,0,0,0,rad(90),wep)
  580. brl= Part(.3,.2,.3,'Black',0,false,false,wep)
  581. Mesh(brl,1,1,.5,1)
  582. TWeld(brl,mpa1,-3.25,0.2,0,0,0,rad(90),wep)
  583. pa= Part(1.2,.2,.2,'Dark stone grey',0,false,false,wep)
  584. TWeld(pa,mpa1,-0.2,0.3,0,0,0,0,wep)
  585. pa= Part(1,1,1,'Black',0,false,false,wep)
  586. Mesh(pa,1,.1,.2,.1)
  587. TWeld(pa,mpa1,0,0.45,0,0,0,0,wep)
  588. pa= Part(1,1,1,'Black',0,false,false,wep)
  589. Mesh(pa,1,.1,.2,.1)
  590. TWeld(pa,mpa1,-.4,0.45,0,0,0,0,wep)
  591. pa= Part(1,1,1,'Black',0,false,false,wep)
  592. Mesh(pa,1,.2,.75,.2)
  593. TWeld(pa,mpa1,-.2,0.625,0,0,0,rad(90),wep)
  594. pa= Part(1,1,1,'Black',0,false,false,wep)
  595. Mesh(pa,1,.3,.2,.3)
  596. TWeld(pa,mpa1,.25,0.625,0,0,0,rad(90),wep)
  597. pa= Part(1,1,1,'Black',0,false,false,wep)
  598. Mesh(pa,1,.35,.2,.35)
  599. TWeld(pa,mpa1,-.8,0.625,0,0,0,rad(90),wep)
  600. pa= Part(1,1,1,'Black',0,false,false,wep)
  601. Mesh(pa,'http://www.roblox.com/asset/?id=1778999',.26,.2,.26)
  602. TWeld(pa,mpa1,-.55,0.625,0,0,0,-rad(90),wep)
  603. pa= Part(1,1,1,'Black',0,false,false,wep)
  604. Mesh(pa,3,.075,.2,.075)
  605. TWeld(pa,mpa1,-.875,0.8,0,0,0,0,wep)
  606. pa= Part(1,1,1,'Black',0,false,false,wep)
  607. Mesh(pa,3,.075,.2,.075)
  608. TWeld(pa,mpa1,.325,0.775,0,0,0,0,wep)
  609. pa= Part(1,1,1,'Black',0,false,false,wep)
  610. Mesh(pa,1,.35,.05,.35)
  611. TWeld(pa,mpa1,-.92,0.9,0,0,0,rad(90),wep)
  612. pa= Part(1,1,1,'Black',0,false,false,wep)
  613. Mesh(pa,1,.3,.05,.3)
  614. TWeld(pa,mpa1,.36,0.85,0,0,0,rad(90),wep)
  615. sld= Part(.1,.5,.1,'Black',0,false,false,wep)
  616. Mesh(sld,1,1,1,1)
  617. slider=TWeld(sld,mpa1,.4,0.2,0,0,0,rad(90),wep)
  618. pa= Part(1,1,1,'Black',0,false,false,wep)
  619. Mesh(pa,1,.1,.3,.1)
  620. TWeld(pa,sld,0,-0.18,0.15,rad(90),0,0,wep)
  621. bulleth= Part(.5,.2,.2,'Black',0,false,false,wep)
  622. TWeld(bulleth,mpa1,0,0.2,-.1,0,0,0,wep)
  623. pa= Part(1.5,.2,.3,'Dark stone grey',0,false,false,wep)
  624. TWeld(pa,mpa1,1.2,0,0,0,0,0,wep)
  625. pa= Part(1,.2,.2,'Dark stone grey',0,false,false,wep)
  626. TWeld(pa,mpa1,0.65,-.45,0,0,0,0,wep)
  627. pa= Part(.85,.2,.3,'Dark stone grey',0,false,false,wep)
  628. TWeld(pa,mpa1,1.04,-0.34,0,0,0,-rad(60),wep)
  629. pa= Part(.3,.2,.2,'Black',0,false,false,wep)
  630. Mesh(pa,3,1,.5,.5)
  631. TWeld(pa,mpa1,.8,-.2,0,0,0,rad(60),wep)
  632. pa= Part(.75,.2,.3,'Dark stone grey',0,false,false,wep)
  633. TWeld(pa,mpa1,1.55,-.7,0,0,0,0,wep)
  634. pa= Part(.2,.9,.3,'Dark stone grey',0,false,false,wep)
  635. TWeld(pa,mpa1,2,-.35,0,0,0,0,wep)
  636. clip= Part(.5,.5,.2,'Black',0,false,false,wep)
  637. Mesh(clip,3,1,1,.5)
  638. TWeld(clip,mpa1,0,-0.5,0,0,0,0,wep)
  639. byp= Part(.2,.4,.2,'Black',0,false,false,wep)
  640. Mesh(byp,1,.5,1,.5)
  641. TWeld(byp,mpa1,-1.5,0,0,rad(90),0,0,wep)
  642. pa= Part(.2,.2,.2,'Black',0,false,false,wep)
  643. Mesh(pa,1,1,.5,1)
  644. TWeld(pa,byp,0,0.15,0,0,0,0,wep)
  645. pa= Part(.2,.2,.2,'Black',0,false,false,wep)
  646. Mesh(pa,1,1,.5,1)
  647. TWeld(pa,byp,0,-0.15,0,0,0,0,wep)
  648. mv1= Part(.2,1,.2,'Black',0,false,false,wep)
  649. Mesh(mv1,1,.5,1,.5)
  650. TWeld(mv1,byp,-.55,-0.15,0.1,-rad(50),0,rad(100),wep)
  651. mv2= Part(.2,1,.2,'Black',0,false,false,wep)
  652. Mesh(mv2,1,.5,1,.5)
  653. TWeld(mv2,byp,-.55,0.15,0.1,rad(50),0,-rad(100),wep)
  654. pa= Part(.2,.2,.2,'Black',0,false,false,wep)
  655. Mesh(pa,1,.75,.4,.75)
  656. TWeld(pa,mv1,0,-0.1,0,0,0,0,wep)
  657. pa= Part(.2,.2,.2,'Black',0,false,false,wep)
  658. Mesh(pa,1,.75,.75,.75)
  659. TWeld(pa,mv1,0,0.1,0,0,0,0,wep)
  660. pa= Part(.2,.2,.2,'Black',0,false,false,wep)
  661. Mesh(pa,1,.9,.5,.9)
  662. TWeld(pa,mv1,0,0.5,0,0,0,0,wep)
  663. pa= Part(.2,.2,.2,'Black',0,false,false,wep)
  664. Mesh(pa,1,.75,.4,.75)
  665. TWeld(pa,mv2,0,0.1,0,0,0,0,wep)
  666. pa= Part(.2,.2,.2,'Black',0,false,false,wep)
  667. Mesh(pa,1,.75,.75,.75)
  668. TWeld(pa,mv2,0,-0.1,0,0,0,0,wep)
  669. pa= Part(.2,.2,.2,'Black',0,false,false,wep)
  670. Mesh(pa,1,.9,.5,.9)
  671. TWeld(pa,mv2,0,-0.5,0,0,0,0,wep)
  672. elseif what=='Sword' then
  673. wep=Instance.new('Model',mo)
  674. wep.Name='Sword'
  675. mpa1= Part(.25,1.2,.25,'Dark stone grey',0,false,false,wep)
  676. Mesh(mpa1,1,1,1,1)
  677. mwl1= TWeld(mpa1,pchar['Right Arm'],0,-1.2,-0.2,-pi/2,rad(53),0,wep)
  678. pa= Part(1,.4,.2,'Black',0,false,false,wep)
  679. Mesh(pa,'http://www.roblox.com/asset/?id=3270017',.6,.3,.4)
  680. TWeld(pa,mpa1,0,-0.27,0,rad(90),rad(70),0,wep)
  681. pa= Part(1,.4,.2,'Black',0,false,false,wep)
  682. Mesh(pa,'http://www.roblox.com/asset/?id=3270017',.6,.3,.4)
  683. TWeld(pa,mpa1,0,-0.27,0,rad(90),-rad(70),0,wep)
  684. pa= Part(1,.4,.2,'Black',0,false,false,wep)
  685. Mesh(pa,'http://www.roblox.com/asset/?id=3270017',.3,.6,.4)
  686. TWeld(pa,mpa1,0,-0.27,0,rad(30),0,0,wep)
  687. pa= Part(1,.4,.2,'Black',0,false,false,wep)
  688. Mesh(pa,'http://www.roblox.com/asset/?id=3270017',.3,.6,.4)
  689. TWeld(pa,mpa1,0,-0.27,0,-rad(30),0,0,wep)
  690. pa= Part(1,.4,.2,'Black',0,false,false,wep)
  691. Mesh(pa,'http://www.roblox.com/asset/?id=3270017',.6,.3,.4)
  692. TWeld(pa,mpa1,0,0.27,0,rad(90),rad(70),0,wep)
  693. pa= Part(1,.4,.2,'Black',0,false,false,wep)
  694. Mesh(pa,'http://www.roblox.com/asset/?id=3270017',.6,.3,.4)
  695. TWeld(pa,mpa1,0,0.27,0,rad(90),-rad(70),0,wep)
  696. pa= Part(1,.4,.2,'Black',0,false,false,wep)
  697. Mesh(pa,'http://www.roblox.com/asset/?id=3270017',.3,.6,.4)
  698. TWeld(pa,mpa1,0,0.27,0,rad(30),0,0,wep)
  699. pa= Part(1,.4,.2,'Black',0,false,false,wep)
  700. Mesh(pa,'http://www.roblox.com/asset/?id=3270017',.3,.6,.4)
  701. TWeld(pa,mpa1,0,0.27,0,-rad(30),0,0,wep)
  702. blade1= Part(.5,1.75,.2,'Dark stone grey',0,false,false,wep)
  703. Mesh(blade1,3,1,1,.5)
  704. TWeld(blade1,mpa1,0,1.5,0,0,0,0,wep)
  705. blade2= Part(.3,.75,.2,'Dark stone grey',0,false,false,wep)
  706. Mesh(blade2,3,1,1,.5)
  707. TWeld(blade2,mpa1,0,2.75,0,0,0,0,wep)
  708. blade3= Part(.435,.75,.2,'Dark stone grey',0,false,false,wep)
  709. Mesh(blade3,3,1,1,.5)
  710. TWeld(blade3,mpa1,0,3.5,0,0,0,0,wep)
  711. table.insert(sworddmg,blade1)
  712. table.insert(sworddmg,blade2)
  713. table.insert(sworddmg,blade3)
  714. pa= Part(.2,1.75,.2,'Black',0,false,false,wep)
  715. Mesh(pa,3,.5,1,.5)
  716. TWeld(pa,mpa1,.25,1.5,0,0,rad(45),0,wep)
  717. pa= Part(.2,1.75,.2,'Black',0,false,false,wep)
  718. Mesh(pa,3,.5,1,.5)
  719. TWeld(pa,mpa1,-.25,1.5,0,0,-rad(45),0,wep)
  720. pa= Part(.2,.75,.2,'Black',0,false,false,wep)
  721. Mesh(pa,3,.5,1,.5)
  722. TWeld(pa,mpa1,.15,2.75,0,0,rad(45),0,wep)
  723. pa= Part(.2,.75,.2,'Black',0,false,false,wep)
  724. Mesh(pa,3,.5,1,.5)
  725. TWeld(pa,mpa1,-.15,2.75,0,0,-rad(45),0,wep)
  726. pa= Part(.2,.75,.2,'Black',0,false,false,wep)
  727. Mesh(pa,3,.5,1,.5)
  728. TWeld(pa,mpa1,0.2175,3.5,0,0,rad(45),0,wep)
  729. pa= Part(.2,.75,.2,'Black',0,false,false,wep)
  730. Mesh(pa,3,.5,1,.5)
  731. TWeld(pa,mpa1,-0.2175,3.5,0,0,-rad(45),0,wep)
  732. pa= Part(.2,.75,.2,'Black',0,false,false,wep)
  733. Mesh(pa,3,1,1,1)
  734. TWeld(pa,mpa1,.2,.75,.1,0,rad(45),-rad(30),wep)
  735. pa= Part(.2,.75,.2,'Black',0,false,false,wep)
  736. Mesh(pa,3,1,1,1)
  737. TWeld(pa,mpa1,.2,.75,-.1,0,-rad(45),-rad(30),wep)
  738. pa= Part(.2,.75,.2,'Black',0,false,false,wep)
  739. Mesh(pa,3,1,1,1)
  740. TWeld(pa,mpa1,-.2,.75,.1,0,-rad(45),rad(30),wep)
  741. pa= Part(.2,.75,.2,'Black',0,false,false,wep)
  742. Mesh(pa,3,1,1,1)
  743. TWeld(pa,mpa1,-.2,.75,-.1,0,rad(45),rad(30),wep)
  744. pa= Part(.2,.75,.2,'Black',0,false,false,wep)
  745. Mesh(pa,'http://www.roblox.com/Asset/?id=9756362',.4,1,.15)
  746. TWeld(pa,mpa1,0,3.85,0,0,0,0,wep)
  747. elseif what=='HBoard' then
  748. wep=Instance.new('Model',mo)
  749. wep.Name='Sword'
  750. mpa1= Part(.25,1.2,.25,'Black',0,false,false,wep)
  751. Mesh(mpa1,1,1,1,1)
  752. mwl1= TWeld(mpa1,pchar['Right Arm'],0,-1,0,pi/2,0,0,wep)
  753. pa= Part(.25,1.2,.6,'Dark stone grey',0,false,false,wep)
  754. TWeld(pa,mpa1,0,1,0,0,0,0,wep)
  755. pa= Part(.25,1.2,.6,'Dark stone grey',0,false,false,wep)
  756. TWeld(pa,mpa1,0,-1,0,0,0,0,wep)
  757. pa= wPart(.25,1.2,.3,'Dark stone grey',0,false,false,wep)
  758. TWeld(pa,mpa1,0,-1,-.45,0,0,0,wep)
  759. pa= wPart(.25,1.2,.3,'Dark stone grey',0,false,false,wep)
  760. TWeld(pa,mpa1,0,-1,.45,0,pi,0,wep)
  761. pa= wPart(.25,1.2,.3,'Dark stone grey',0,false,false,wep)
  762. TWeld(pa,mpa1,0,1,-.45,0,0,pi,wep)
  763. pa= wPart(.25,1.2,.3,'Dark stone grey',0,false,false,wep)
  764. TWeld(pa,mpa1,0,1,.45,0,pi,pi,wep)
  765. pa= Part(.25,.8,.2,'Dark stone grey',0,false,false,wep)
  766. TWeld(pa,mpa1,0,2,.5,0,0,0,wep)
  767. pa= Part(.25,.8,.2,'Dark stone grey',0,false,false,wep)
  768. TWeld(pa,mpa1,0,2,-.5,0,0,0,wep)
  769. pa= Part(.25,.8,.2,'Dark stone grey',0,false,false,wep)
  770. TWeld(pa,mpa1,0,-2,.5,0,0,0,wep)
  771. pa= Part(.25,.8,.2,'Dark stone grey',0,false,false,wep)
  772. TWeld(pa,mpa1,0,-2,-.5,0,0,0,wep)
  773. pa= wPart(.25,.6,.2,'Dark stone grey',0,false,false,wep)
  774. TWeld(pa,mpa1,0,2.5,.3,pi/2,0,0,wep)
  775. pa= wPart(.25,.6,.2,'Dark stone grey',0,false,false,wep)
  776. TWeld(pa,mpa1,0,2.5,-.3,-pi/2,pi,0,wep)
  777. pa= wPart(.25,.6,.2,'Dark stone grey',0,false,false,wep)
  778. TWeld(pa,mpa1,0,-2.5,.3,pi/2,pi,0,wep)
  779. pa= wPart(.25,.6,.2,'Dark stone grey',0,false,false,wep)
  780. TWeld(pa,mpa1,0,-2.5,-.3,-pi/2,0,0,wep)
  781. pa= wPart(.2,1.18,.3,'Black',0,false,false,wep)
  782. TWeld(pa,mpa1,0,-1,-.46,0,0,0,wep)
  783. pa= wPart(.2,1.18,.3,'Black',0,false,false,wep)
  784. TWeld(pa,mpa1,0,-1,.46,0,pi,0,wep)
  785. pa= wPart(.2,1.18,.3,'Black',0,false,false,wep)
  786. TWeld(pa,mpa1,0,1,-.46,0,0,pi,wep)
  787. pa= wPart(.2,1.18,.3,'Black',0,false,false,wep)
  788. TWeld(pa,mpa1,0,1,.46,0,pi,pi,wep)
  789. pa= Part(.2,1.2,.6,'Black',0,false,false,wep)
  790. TWeld(pa,mpa1,0,.99,0,0,0,0,wep)
  791. pa= Part(.2,1.2,.6,'Black',0,false,false,wep)
  792. TWeld(pa,mpa1,0,-.99,0,0,0,0,wep)
  793. pa= Part(.2,.8,.2,'Black',0,false,false,wep)
  794. TWeld(pa,mpa1,0,2,.51,0,0,0,wep)
  795. pa= Part(.2,.8,.2,'Black',0,false,false,wep)
  796. TWeld(pa,mpa1,0,2,-.51,0,0,0,wep)
  797. pa= Part(.2,.8,.2,'Black',0,false,false,wep)
  798. TWeld(pa,mpa1,0,-2,.51,0,0,0,wep)
  799. pa= Part(.2,.8,.2,'Black',0,false,false,wep)
  800. TWeld(pa,mpa1,0,-2,-.51,0,0,0,wep)
  801. pa= wPart(.2,.6,.2,'Black',0,false,false,wep)
  802. TWeld(pa,mpa1,0,2.51,.3,pi/2,0,0,wep)
  803. pa= wPart(.2,.6,.2,'Black',0,false,false,wep)
  804. TWeld(pa,mpa1,0,2.51,-.3,-pi/2,pi,0,wep)
  805. pa= wPart(.2,.6,.2,'Black',0,false,false,wep)
  806. TWeld(pa,mpa1,0,-2.51,.3,pi/2,pi,0,wep)
  807. pa= wPart(.2,.6,.2,'Black',0,false,false,wep)
  808. TWeld(pa,mpa1,0,-2.51,-.3,-pi/2,0,0,wep)
  809. whel1= Part(.2,.7,.2,'Dark stone grey',0,false,false,wep)
  810. Mesh(whel1,3,.5,1,.5)
  811. whel1w=TWeld(whel1,mpa1,0,-2,0,0,0,0,wep)
  812. whel2= Part(.2,.7,.2,'Dark stone grey',0,false,false,wep)
  813. Mesh(whel2,3,.5,1,.5)
  814. whel2w=TWeld(whel2,mpa1,0,2,0,0,0,0,wep)
  815. pa= Part(.2,.2,.2,'Black',0,false,false,wep)
  816. Mesh(pa,'http://www.roblox.com/asset/?id=3270017',.75,.75,1)
  817. TWeld(pa,whel1,0,0,0,0,pi/2,0,wep)
  818. pa= Part(.2,.2,.2,'Black',0,false,false,wep)
  819. Mesh(pa,'http://www.roblox.com/asset/?id=3270017',.75,.75,1)
  820. TWeld(pa,whel2,0,0,0,0,pi/2,0,wep)
  821. end
  822. end
  823.  
  824. Used={Head=false,RightArm=false,LeftArm=false,RightLeg=false,LeftLeg=false,Torso=false}
  825.  
  826. function SetAnimData(IF_DATA_IS_USED)
  827. Used = IF_DATA_IS_USED
  828. end
  829.  
  830. function CheckAnimData(ANIM_TAB,DO_ANIM)
  831. anglespeed=Anims[ANIM_TAB][DO_ANIM].speed or 1
  832. if Used.Head == true then
  833. LerpTo.Neck.To = LerpTo.Neck.Cache * Anims[ANIM_TAB][DO_ANIM].Head
  834. end
  835. if Used.RightArm == true then
  836. LerpTo.RightArm.To = LerpTo.RightArm.Cache * Anims[ANIM_TAB][DO_ANIM].RightArm
  837. end
  838. if Used.LeftArm == true then
  839. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * Anims[ANIM_TAB][DO_ANIM].LeftArm
  840. end
  841. if Used.RightLeg == true then
  842. LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * Anims[ANIM_TAB][DO_ANIM].RightLeg
  843. end
  844. if Used.LeftLeg == true then
  845. LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * Anims[ANIM_TAB][DO_ANIM].LeftLeg
  846. end
  847. if Used.Torso == true then
  848. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * Anims[ANIM_TAB][DO_ANIM].Torso
  849. end
  850. end
  851. LerpTo = {
  852. Neck = newLerpTo(Neck);
  853. LeftArm = newLerpTo(LeftShoulder);
  854. RightArm = newLerpTo(RightShoulder);
  855. LeftLeg = newLerpTo(LeftHip);
  856. RightLeg = newLerpTo(RightHip);
  857. RootJoint = newLerpTo(RootJoint);
  858. }
  859. function onKeyDown(key)
  860. key = key:lower()
  861. if deb==true then return end
  862. if key == "z" then
  863. z= not z
  864. if z then
  865. mode='Sniper'
  866. opnbl('f')
  867. build('Sniper')
  868. SetAnimData({Head=false,RightArm=false,LeftArm=false,RightLeg=true,LeftLeg=true,Torso=false})
  869. wait(.3)
  870. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(-rad(30),rad(60),0)
  871. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,-rad(90))
  872. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90),0,-rad(50)) * CFrame.new(.2,-.5,0)
  873. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90),0,-rad(80)) * CFrame.new(.2,-.5,0)
  874. else
  875. mode=''
  876. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,0)
  877. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,0,0)
  878. SetAnimData({Head=true,RightArm=true,LeftArm=true,RightLeg=true,LeftLeg=true,Torso=true})
  879. for i=1,#spawn do
  880. Tween(spawn[i],cf(0,0,0),.05)
  881. end
  882. wait(.8)
  883. spawn={}
  884. wep:Destroy()
  885. opnbl('t')
  886. end
  887. elseif key == "x" then
  888. x= not x
  889. if x then
  890. mode='Sword'
  891. opnbl('f')
  892. build('Sword')
  893. wait(.3)
  894. CurrentActiveAnim="Sword"
  895. else
  896. mode=''
  897. CurrentActiveAnim="Equip"
  898. sworddmg={}
  899. for i=1,#spawn do
  900. Tween(spawn[i],cf(0,0,0),.05)
  901. end
  902. wait(.8)
  903. spawn={}
  904. wep:Destroy()
  905. opnbl('t')
  906. end
  907. elseif key == "v" then
  908. v= not v
  909. if v then
  910. mode='Orb'
  911. SetAnimData({Head=true,RightArm=false,LeftArm=false,RightLeg=true,LeftLeg=true,Torso=true})
  912. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(60),0,rad(20))
  913. mgblock(pchar['Left Arm'],CFrame.new(0,-1,0),10,"Dark stone grey","Light stone grey",Vector3.new(1.25,1.25,1.25),.1)
  914. so('2974000',torso,false,.75,2)
  915. for i=1,20 do wait(.05)
  916. Lightning(pchar['Left Arm'].CFrame*CFrame.new(0,-1,0).p,ball.Position,math.random(5,10),math.random(-2.5,2.5),BrickColor.new("Black"),0.2)
  917. end
  918. CurrentActiveAnim="Orb"
  919. for i=1,#animationprts do
  920. animationprts[i].Parent.Transparency=1
  921. end
  922. ball.Transparency=1
  923. so('161006033',torso,false,1,2)
  924. pro = Part(1,1,1,'White',0,false,true,mo)
  925. pro.CFrame=ball.CFrame
  926. Mesh(pro,'http://www.roblox.com/asset/?id=1185246',.5,.5,.5)
  927. SetAnimData({Head=true,RightArm=true,LeftArm=true,RightLeg=true,LeftLeg=true,Torso=true})
  928. for i=1,6 do
  929. local spk= Part(1,1,1,'White',0,false,true,mo)
  930. Mesh(spk,'http://www.roblox.com/asset/?id=1778999',.2,.25,.2)
  931. table.insert(spkparts,spk)
  932. end
  933. bl=true
  934. else
  935. so('161006033',torso,false,.8,2)
  936. mode=''
  937. for i=1,10 do wait()
  938. for i=1,#animationprts do
  939. animationprts[i].Parent.Transparency=animationprts[i].Parent.Transparency-.1
  940. end
  941. ball.Transparency=ball.Transparency-.1
  942. for i=1,#spkparts do
  943. spkparts[i].Transparency=spkparts[i].Transparency+.1
  944. end
  945. pro.Transparency=pro.Transparency-.1
  946. end
  947. for i=1,#spkparts do
  948. spkparts[i]:Destroy()
  949. end
  950. pro:Destroy()
  951. spkparts={}
  952. bl=false
  953. CurrentActiveAnim="Equip"
  954. end
  955. elseif key == "c" then
  956. c= not c
  957. if c then
  958. mode='HBoard'
  959. opnbl('f')
  960. build('HBoard')
  961. else
  962. mode=''
  963. sworddmg={}
  964. for i=1,#spawn do
  965. Tween(spawn[i],cf(0,0,0),.05)
  966. end
  967. wait(.8)
  968. spawn={}
  969. wep:Destroy()
  970. opnbl('t')
  971. end
  972. elseif key == "r" then
  973. if mode=='Sniper' then
  974. if SAmmo==0 then
  975. deb=true
  976. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,rad(30),0)
  977. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,-rad(90))
  978. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90),0,0) * CFrame.new(.2,-.5,0)
  979. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90),0,-rad(50)) * CFrame.new(.2,-.5,0)
  980. wait(.3)
  981. so('2697295',torso,false,.4)
  982. newc=clip:Clone()
  983. newc.Parent=workspace
  984. newc.CFrame=clip.CFrame
  985. newc:BreakJoints()
  986. newc.CanCollide=true
  987. game.Debris:AddItem(newc,math.random(7,15))
  988. clip.Transparency=1
  989. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(60),0,0) * CFrame.new(.2,-.5,0)
  990. wait(.2)
  991. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(-rad(20),0,rad(20)) * CFrame.new(.2,-.5,0)
  992. wait(.1)
  993. newc= Part(.5,.5,.2,'Black',0,false,false,mo)
  994. Mesh(newc,3,1,1,.5)
  995. Weld(newc,pchar['Left Arm'],0,-1,-0.5,rad(90),0,0,mo)
  996. wait(.1)
  997. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(60),0,0) * CFrame.new(.2,-.5,0)
  998. wait(.2)
  999. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90),0,0) * CFrame.new(.2,-.5,0)
  1000. wait(.05)
  1001. so('2697295',torso,false,.5)
  1002. newc:Destroy()
  1003. clip.Transparency=0
  1004. wait(.2)
  1005. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(-rad(30),rad(60),0)
  1006. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,-rad(90))
  1007. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90),0,-rad(50)) * CFrame.new(.2,-.5,0)
  1008. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90),0,-rad(80)) * CFrame.new(.2,-.5,0)
  1009. SAmmo=7
  1010. wait(.4)
  1011. deb=false
  1012. end
  1013. elseif mode == "Orb" then
  1014. if tov then return end
  1015. rov=false
  1016. so('10209640',torso,false,.5,1)
  1017. SetAnimData({Head=false,RightArm=false,LeftArm=false,RightLeg=true,LeftLeg=true,Torso=false})
  1018. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,rad(90))
  1019. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,-rad(90),0)
  1020. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90),-rad(90),0)*CFrame.new(-.5,0,-0.5)
  1021. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(0,0,-rad(30))
  1022. for i=1,20 do game:service'RunService'.RenderStepped:wait()
  1023. pro.CFrame=clerp(pro.CFrame,hol.CFrame*CFrame.new(0,-.25,0),.2)
  1024. end
  1025. pro.CFrame=hol.CFrame*CFrame.new(0,-.25,0)
  1026. sides=false
  1027. for i=1,15 do game:service'RunService'.RenderStepped:wait()
  1028. spkparts[3].CFrame=clerp(spkparts[3].CFrame,pro.CFrame*cf(-3.5,0,0)*ca(0,0,pi/2),.2)
  1029. spkparts[4].CFrame=clerp(spkparts[4].CFrame,pro.CFrame*cf(3.5,0,0)*ca(0,0,-pi/2),.2)
  1030. spkparts[5].CFrame=clerp(spkparts[5].CFrame,pro.CFrame*cf(0,0,3.5)*ca(pi/2,0,0),.2)
  1031. spkparts[6].CFrame=clerp(spkparts[6].CFrame,pro.CFrame*cf(0,0,-3.5)*ca(-pi/2,0,0),.2)
  1032. end
  1033. cfm=torso.CFrame*ca(0,-pi/2,0)
  1034. goto=cfm.lookVector*40
  1035. local v = Instance.new("BodyVelocity",torso)
  1036. v.maxForce = v3(1,1,1)*9e9
  1037. v.P = 2000
  1038. v.velocity = goto
  1039. Spawn(function()
  1040. wait(1)
  1041. v:Destroy()
  1042. end)
  1043. Spawn(function()
  1044. for i=1,25 do
  1045. local efx= Part(1,1,1,'White',0,false,true,mo)
  1046. local m= Mesh(efx,'http://www.roblox.com/asset/?id=3270017',6,6,.1)
  1047. efx.CFrame=torso.CFrame*ca(0,pi/2,0)
  1048. Spawn(function()
  1049. for i=1,10 do wait()
  1050. efx.Transparency=efx.Transparency+.1
  1051. end
  1052. efx:Destroy()
  1053. end)
  1054. wait()
  1055. end
  1056. end)
  1057. so('161006131',torso,false,1.25,4)
  1058. for i=1,64 do game:service'RunService'.RenderStepped:wait()
  1059. pro.CFrame=hol.CFrame*CFrame.new(0,-.25,0)*ca(0,rad(i*10),0)
  1060. spkparts[3].CFrame=pro.CFrame*cf(-3,0,0)*ca(0,0,pi/2)
  1061. spkparts[4].CFrame=pro.CFrame*cf(3,0,0)*ca(0,0,-pi/2)
  1062. spkparts[5].CFrame=pro.CFrame*cf(0,0,3)*ca(pi/2,0,0)
  1063. spkparts[6].CFrame=pro.CFrame*cf(0,0,-3)*ca(-pi/2,0,0)
  1064. end
  1065. wait()
  1066. for i=1,15 do game:service'RunService'.RenderStepped:wait()
  1067. spkparts[3].CFrame=clerp(spkparts[3].CFrame,pro.CFrame*cf(-.2,0,0)*ca(0,0,pi/2),.2)
  1068. spkparts[4].CFrame=clerp(spkparts[4].CFrame,pro.CFrame*cf(.2,0,0)*ca(0,0,-pi/2),.2)
  1069. spkparts[5].CFrame=clerp(spkparts[5].CFrame,pro.CFrame*cf(0,0,.2)*ca(pi/2,0,0),.2)
  1070. spkparts[6].CFrame=clerp(spkparts[6].CFrame,pro.CFrame*cf(0,0,-.2)*ca(-pi/2,0,0),.2)
  1071. end
  1072. SetAnimData({Head=true,RightArm=true,LeftArm=true,RightLeg=true,LeftLeg=true,Torso=true})
  1073. sides=true
  1074. rov=true
  1075. elseif mode=='Sword' then
  1076. connectsworddmg()
  1077. deb=true
  1078. SetAnimData({Head=false,RightArm=false,LeftArm=true,RightLeg=true,LeftLeg=false,Torso=false})
  1079. spn=0
  1080. Tween(mwl1,cf(0,-1.2,-0.2)*ca(0,0,rad(220)),.2)
  1081. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90),0,-rad(40))* CFrame.new(-.2,-.25,0)
  1082. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90),0,rad(40))* CFrame.new(.2,-.25,0)
  1083. wait(.2)
  1084. Spawn(function()
  1085. for i=1,3 do
  1086. so('161006212',torso,false,1)
  1087. wait(.5)
  1088. end
  1089. end)
  1090. TrailOn=true
  1091. for i=1,36 do
  1092. spn=spn+30
  1093. wait()
  1094. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,rad(spn))
  1095. end
  1096. TrailOn=false
  1097. SetAnimData({Head=false,RightArm=false,LeftArm=false,RightLeg=false,LeftLeg=false,Torso=false})
  1098. LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(0,0,-rad(10)) * CFrame.new(0,.5,0)
  1099. LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(0,0,rad(10)) * CFrame.new(0,.5,0)
  1100. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,0) * CFrame.new(0,0,-.5)
  1101. so('10209645',torso,false,.3)
  1102. wait(.2)
  1103. Tween(mwl1,cf(0,-1.2,-0.2)*ca(-pi/2,-rad(35),0),1)
  1104. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(120),0,-rad(40))* CFrame.new(-.2,-.25,0)
  1105. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(120),0,rad(40))* CFrame.new(.2,-.25,0)
  1106. LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(0,0,-rad(30))
  1107. LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(0,0,rad(30))
  1108. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,0) * CFrame.new(0,0,7)
  1109. wait(.4)
  1110. Tween(mwl1,cf(0,-1.2,-0.2)*ca(-pi/2-rad(180),-rad(35),0),1)
  1111. wait(.1)
  1112. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90),0,-rad(40))* CFrame.new(-.2,-.25,0)
  1113. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90),0,rad(40))* CFrame.new(.2,-.25,0)
  1114. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,0) * CFrame.new(0,0,-1)
  1115. LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(0,0,0) * CFrame.new(0,1,-1)
  1116. LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(-rad(50),0,0) * CFrame.new(0,0.5,0)
  1117. wait(.2)
  1118. so('138210320',torso,false,1)
  1119. explosion('Black','White',torso.CFrame,v3(20,20,20),10,30)
  1120. wait(.4)
  1121. Tween(mwl1,cf(0,-1.2,-0.2)*ca(-pi/2,rad(53),0),.2)
  1122. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,0) * CFrame.new(0,0,0)
  1123. disconnectsworddmg()
  1124. TrailOn=false
  1125. SetAnimData({Head=true,RightArm=true,LeftArm=true,RightLeg=true,LeftLeg=true,Torso=true})
  1126. legs=true
  1127. deb=false
  1128. elseif mode == 'HBoard' then
  1129. if skate == true then
  1130. end
  1131. end
  1132. elseif key=="e" then
  1133. if mode == "Orb" then
  1134. if tov then return end
  1135. rov=false
  1136. pos=mouse.Hit.p
  1137. so('10209640',torso,false,.5,1)
  1138. pro.CFrame=CFrame.new(pro.CFrame.x,pro.CFrame.y,pro.CFrame.z)
  1139. for i=1,20 do game:service'RunService'.RenderStepped:wait()
  1140. pro.CFrame=clerp(pro.CFrame,CFrame.new(pos),.2)
  1141. end
  1142. sides=false
  1143. for i=1,15 do game:service'RunService'.RenderStepped:wait()
  1144. spkparts[3].CFrame=clerp(spkparts[3].CFrame,pro.CFrame*cf(-6,0,0)*ca(0,0,pi/2),.2)
  1145. spkparts[4].CFrame=clerp(spkparts[4].CFrame,pro.CFrame*cf(6,0,0)*ca(0,0,-pi/2),.2)
  1146. spkparts[5].CFrame=clerp(spkparts[5].CFrame,pro.CFrame*cf(0,0,6)*ca(pi/2,0,0),.2)
  1147. spkparts[6].CFrame=clerp(spkparts[6].CFrame,pro.CFrame*cf(0,0,-6)*ca(-pi/2,0,0),.2)
  1148. end
  1149. so('169380495',torso,false,1,1)
  1150. torso.CFrame=CFrame.new(pro.CFrame.x,pro.CFrame.y,pro.CFrame.z)*cf(0,3,0)
  1151. wait(.2)
  1152. for i=1,15 do game:service'RunService'.RenderStepped:wait()
  1153. spkparts[3].CFrame=clerp(spkparts[3].CFrame,pro.CFrame*cf(-.2,0,0)*ca(0,0,pi/2),.2)
  1154. spkparts[4].CFrame=clerp(spkparts[4].CFrame,pro.CFrame*cf(.2,0,0)*ca(0,0,-pi/2),.2)
  1155. spkparts[5].CFrame=clerp(spkparts[5].CFrame,pro.CFrame*cf(0,0,.2)*ca(pi/2,0,0),.2)
  1156. spkparts[6].CFrame=clerp(spkparts[6].CFrame,pro.CFrame*cf(0,0,-.2)*ca(-pi/2,0,0),.2)
  1157. end
  1158. sides=true
  1159. rov=true
  1160. end
  1161. elseif key == 'w' then
  1162. if skate then
  1163. foward=true
  1164. Spawn(function()repeat wait()csp = math.min(50,csp+(10*(1/30)))until foward==false end)
  1165. end
  1166. elseif key == 'a' then
  1167. if skate then
  1168. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,rad(10),-rad(90))*cf(0,0,.3)
  1169. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,rad(90),rad(10))
  1170. left=true
  1171. Spawn(function()repeat wait()tsp= math.min(8,tsp+(.5)) until left==false end)
  1172. end
  1173. elseif key == 's' then
  1174. if skate then
  1175. back=true
  1176. Spawn(function()repeat wait()csp = math.max(-50,csp-(10*(1/30)))until back==false end)
  1177. end
  1178. elseif key == 'd' then
  1179. if skate then
  1180. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,-rad(10),-rad(90))*cf(0,0,.3)
  1181. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,rad(90),-rad(10))
  1182. right=true
  1183. Spawn(function()repeat wait()tsp= math.max(-8,tsp-(.5)) until right==false end)
  1184. end
  1185. elseif key == "f" then
  1186. if mode=='Sword' then
  1187. connectsworddmg()
  1188. deb=true
  1189. SetAnimData({Head=false,RightArm=false,LeftArm=false,RightLeg=true,LeftLeg=true,Torso=false})
  1190. Tween(mwl1,cf(0,-1.2,-0.2)*ca(rad(90),-rad(13),rad(90)),.2)
  1191. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90),0,rad(20))* CFrame.new(0,0,0)
  1192. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90),0,rad(40))* CFrame.new(0,0,0)
  1193. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,-rad(90))
  1194. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,rad(60),0)
  1195. wait(.4)
  1196. Tween(mwl1,cf(0,-1.2,-0.2)*ca(rad(90),rad(50),rad(90)),.75)
  1197. so('160069154',torso,false,1)
  1198. wait(.05)
  1199. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90),0,-rad(50))* CFrame.new(0,0,0)
  1200. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90),0,-rad(20))* CFrame.new(0,0,0)
  1201. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,-rad(90))
  1202. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,rad(60),0)
  1203. wait()
  1204. Spawn(function()
  1205. for i=1,3 do
  1206. local efx= Part(1,1,1,'Black',.5,false,true,wep)
  1207. local m= Mesh(efx,'http://www.roblox.com/asset/?id=20329976',3,1,3)
  1208. efx.CFrame=torso.CFrame*ca(pi/2,0,-pi/2)
  1209. Spawn(function()
  1210. for i=1,7 do wait()
  1211. m.Scale=m.Scale+Vector3.new(1,.1,1)
  1212. end
  1213. efx:Destroy()
  1214. end)
  1215. wait(.1)
  1216. end
  1217. end)
  1218. cfm=torso.CFrame*ca(0,pi/2,0)
  1219. goto=cfm.lookVector*60
  1220. local v = Instance.new("BodyVelocity",torso)
  1221. v.maxForce = Vector3.new(1,1,1)*9e9
  1222. v.P = 2000
  1223. v.velocity = goto
  1224. wait(.25)
  1225. v:Destroy()
  1226. --LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,rad(90))
  1227. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(40),0,rad(50))* CFrame.new(0,0,0)
  1228. Tween(mwl1,cf(0,-1.2,-0.2)*ca(pi/1,0,0),.3)
  1229. wait(.2)
  1230. so('161006212',torso,false,.5)
  1231. TrailOn=true
  1232. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90),0,rad(90))* CFrame.new(-0.5,-0.5,0)
  1233. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,-rad(80),0)
  1234. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,rad(80))
  1235. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(0,0,-rad(30))
  1236. wait(.3)
  1237. TrailOn=false
  1238. SetAnimData({Head=false,RightArm=false,LeftArm=false,RightLeg=false,LeftLeg=false,Torso=false})
  1239. Tween(mwl1,cf(0,-1.2,-0.2)*ca(pi/1,rad(90),0),.3)
  1240. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90),-rad(30),rad(90))* CFrame.new(-0.5,-0.5,0)
  1241. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,rad(80)) * CFrame.new(0,0,-1)
  1242. LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(0,0,0) * CFrame.new(0,1,-1)
  1243. LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(-rad(50),0,0) * CFrame.new(0,0.5,0)
  1244. wait(.2)
  1245. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90),rad(30),rad(90))* CFrame.new(-0.5,-0.5,0)
  1246. for i=1,4 do wait()
  1247. so('182765513',torso,false,1.2)
  1248. local bm= Part(1,1,1,'Black',0.2,false,true,pchar)
  1249. local bmm=Mesh(bm,'http://www.roblox.com/asset/?id=1778999',0,0,0)
  1250. bm.CFrame=torso.CFrame*cf(3+i*8,0,0)*ca(math.random(-50,50)/100,0,math.random(-50,50)/100)
  1251. for i,v in pairs(workspace:children()) do
  1252. if v:IsA("Model") and v:findFirstChild("Humanoid") then
  1253. if v:findFirstChild("Head") and v:findFirstChild("Torso") then
  1254. if (v:findFirstChild("Torso").Position - bm.Position).magnitude < 10 and v.Name ~= pchar.Name then
  1255. Spawn(function()
  1256. v.Humanoid:TakeDamage(40)
  1257. local cur= v.Torso
  1258. cur.Anchored=true
  1259. for i=1,4 do
  1260. local new= Part(1,1,1,'Black',0.2,false,true,mo)
  1261. local newm=Mesh(new,'http://www.roblox.com/asset/?id=1778999',1,3,1)
  1262. new.CFrame=cur.CFrame*CFrame.new(0,-2.5,0)*CFrame.Angles(math.random(-100,100)/100,0,math.random(-100,100)/100)
  1263. game.Debris:AddItem(new,3)
  1264. end
  1265. wait(3)
  1266. so('87015121',cur,false,1)
  1267. cur.Anchored=false
  1268. end)
  1269. end
  1270. end
  1271. end
  1272. end
  1273. Spawn(function()
  1274. for i=1,10 do wait()bmm.Scale=bmm.Scale+Vector3.new(.5,1,.5) end
  1275. wait(.5)
  1276. for i=1,10 do wait()bmm.Scale=bmm.Scale-Vector3.new(.5,1,.5) end
  1277. bm:Destroy()
  1278. end)
  1279. end
  1280. wait(.2)
  1281. Tween(mwl1,cf(0,-1.2,-0.2)*ca(-pi/2,rad(53),0),.2)
  1282. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,0,0)
  1283. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,0) * CFrame.new(0,0,0)
  1284. disconnectsworddmg()
  1285. TrailOn=false
  1286. SetAnimData({Head=true,RightArm=true,LeftArm=true,RightLeg=true,LeftLeg=true,Torso=true})
  1287. deb=false
  1288. elseif mode == "Orb" then
  1289. f=not f
  1290. if f then
  1291. rov=false
  1292. so('10209640',torso,false,.5,1)
  1293. for i=1,20 do game:service'RunService'.RenderStepped:wait()
  1294. pro.CFrame=clerp(pro.CFrame,torso.CFrame,.2)
  1295. end
  1296. sides=false
  1297. tops=false
  1298. so('169445683',torso,false,.5,1)
  1299. for i=1,15 do game:service'RunService'.RenderStepped:wait()
  1300. spkparts[1].CFrame=clerp(spkparts[1].CFrame,pro.CFrame*cf(0,4,0),.2)
  1301. spkparts[2].CFrame=clerp(spkparts[2].CFrame,pro.CFrame*cf(0,-4,0)*ca(pi/1,0,0),.2)
  1302. spkparts[3].CFrame=clerp(spkparts[3].CFrame,pro.CFrame*cf(-4,0,0)*ca(0,0,pi/2),.2)
  1303. spkparts[4].CFrame=clerp(spkparts[4].CFrame,pro.CFrame*cf(4,0,0)*ca(0,0,-pi/2),.2)
  1304. spkparts[5].CFrame=clerp(spkparts[5].CFrame,pro.CFrame*cf(0,0,4)*ca(pi/2,0,0),.2)
  1305. spkparts[6].CFrame=clerp(spkparts[6].CFrame,pro.CFrame*cf(0,0,-4)*ca(-pi/2,0,0),.2)
  1306. end
  1307. spinn=0
  1308. tov=true
  1309. else
  1310. tov=false
  1311. spinn=0
  1312. for i=1,15 do game:service'RunService'.RenderStepped:wait()
  1313. spkparts[1].CFrame=clerp(spkparts[1].CFrame,pro.CFrame*cf(0,.2,0),.2)
  1314. spkparts[2].CFrame=clerp(spkparts[2].CFrame,pro.CFrame*cf(0,-.2,0)*ca(pi/1,0,0),.2)
  1315. spkparts[3].CFrame=clerp(spkparts[3].CFrame,pro.CFrame*cf(-.2,0,0)*ca(0,0,pi/2),.2)
  1316. spkparts[4].CFrame=clerp(spkparts[4].CFrame,pro.CFrame*cf(.2,0,0)*ca(0,0,-pi/2),.2)
  1317. spkparts[5].CFrame=clerp(spkparts[5].CFrame,pro.CFrame*cf(0,0,.2)*ca(pi/2,0,0),.2)
  1318. spkparts[6].CFrame=clerp(spkparts[6].CFrame,pro.CFrame*cf(0,0,-.2)*ca(-pi/2,0,0),.2)
  1319. end
  1320. sides=true
  1321. tops=true
  1322. rov=true
  1323. end
  1324. elseif mode == 'HBoard' then
  1325. f= not f
  1326. if f then
  1327. SetAnimData({Head=false,RightArm=false,LeftArm=false,RightLeg=false,LeftLeg=false,Torso=false})
  1328. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90),0,-rad(40))* CFrame.new(-.2,-.25,0)
  1329. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90),0,rad(40))* CFrame.new(.2,-.25,0)
  1330. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,0) * CFrame.new(0,0,-1)
  1331. LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(0,0,0) * CFrame.new(0,1,-1)
  1332. LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(-rad(50),0,0) * CFrame.new(0,0.5,0)
  1333. wait(.3)
  1334. LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(0,0,-rad(10))
  1335. LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(0,0,rad(10))
  1336. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,-rad(90))*cf(0,0,1)
  1337. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,-rad(90),0)
  1338. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(0,0,-rad(20))
  1339. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90),-rad(30),rad(90))* CFrame.new(-0.5,-0.5,0)
  1340. wait(.1)
  1341. Tween(mwl1,cf(0,-1,2)*ca(0,pi/2,pi/2),.5)
  1342. Tween(whel1w,cf(0,-2,0)*ca(0,pi/2,0),.5)
  1343. Tween(whel2w,cf(0,2,0)*ca(0,pi/2,0),.5)
  1344. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90),-rad(70),rad(90))* CFrame.new(-0.5,-1,0)
  1345. wait(.12)
  1346. mwl1.Part1=torso
  1347. mwl1.C1=cf(0,-3,0)*ca(0,0,pi/2)
  1348. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,-rad(90))*cf(0,0,.3)
  1349. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,rad(90),0)
  1350. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(0,0,rad(20))
  1351. ROF=Instance.new('BodyAngularVelocity',torso)
  1352. ROF.maxTorque = v3(0, math.huge, 0)
  1353. ROF.angularvelocity = v3(0, 0, 0)
  1354. BV=Instance.new('BodyVelocity',torso)
  1355. BV.maxForce = v3(math.huge,0,math.huge)
  1356. BV.velocity = v3(0,0,0)
  1357. skateso=so('22917014',torso,true,0)
  1358. skateso.Volume=100
  1359. skate=true
  1360. pchar.Humanoid.WalkSpeed=0
  1361. else
  1362. skate=false
  1363. csp=0
  1364. tsp=0
  1365. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,0)
  1366. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,0,0)
  1367. skateso:Destroy()
  1368. BV:Destroy()
  1369. ROF:Destroy()
  1370. pchar.Humanoid.WalkSpeed=16
  1371. mwl1.Part1=pchar['Right Arm']
  1372. Tween(whel1w,cf(0,-2,0)*ca(0,0,0),.5)
  1373. Tween(whel2w,cf(0,2,0)*ca(0,0,0),.5)
  1374. Tween(mwl1,cf(0,-1,0)*ca(pi/2,0,0),.5)
  1375. SetAnimData({Head=true,RightArm=true,LeftArm=true,RightLeg=true,LeftLeg=true,Torso=true})
  1376. end
  1377. end
  1378. elseif key == "t" then
  1379. if mode == "Orb" then
  1380. a=not a
  1381. if a then
  1382. rov=false
  1383. so('10209640',torso,false,.5,1)
  1384. for i=1,20 do game:service'RunService'.RenderStepped:wait()
  1385. pro.CFrame=clerp(pro.CFrame,torso.CFrame*CFrame.new(0,-1.5,0),.2)
  1386. end
  1387. sides=false
  1388. so('200633433',torso,false,1.5,1)
  1389. for i=1,15 do game:service'RunService'.RenderStepped:wait()
  1390. spkparts[3].CFrame=clerp(spkparts[3].CFrame,pro.CFrame*cf(-4,0,0)*ca(0,0,pi/2),.2)
  1391. spkparts[4].CFrame=clerp(spkparts[4].CFrame,pro.CFrame*cf(4,0,0)*ca(0,0,-pi/2),.2)
  1392. spkparts[5].CFrame=clerp(spkparts[5].CFrame,pro.CFrame*cf(0,0,4)*ca(pi/2,0,0),.2)
  1393. spkparts[6].CFrame=clerp(spkparts[6].CFrame,pro.CFrame*cf(0,0,-4)*ca(-pi/2,0,0),.2)
  1394. end
  1395. spinn=0
  1396. pov=true
  1397. pchar.Humanoid.WalkSpeed=100
  1398. else
  1399. pov=false
  1400. spinn=0
  1401. for i=1,15 do game:service'RunService'.RenderStepped:wait()
  1402. spkparts[3].CFrame=clerp(spkparts[3].CFrame,pro.CFrame*cf(-.2,0,0)*ca(0,0,pi/2),.2)
  1403. spkparts[4].CFrame=clerp(spkparts[4].CFrame,pro.CFrame*cf(.2,0,0)*ca(0,0,-pi/2),.2)
  1404. spkparts[5].CFrame=clerp(spkparts[5].CFrame,pro.CFrame*cf(0,0,.2)*ca(pi/2,0,0),.2)
  1405. spkparts[6].CFrame=clerp(spkparts[6].CFrame,pro.CFrame*cf(0,0,-.2)*ca(-pi/2,0,0),.2)
  1406. end
  1407. sides=true
  1408. rov=true
  1409. pchar.Humanoid.WalkSpeed=16
  1410. end
  1411. end
  1412. end
  1413. end
  1414.  
  1415.  
  1416.  
  1417. function onKeyUp(key)
  1418. key = key:lower()
  1419. if key == 'w' then
  1420. if skate then
  1421. foward=false
  1422. end
  1423. elseif key == 'a' then
  1424. if skate then
  1425. left=false
  1426. if skate then
  1427. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,-rad(90))*cf(0,0,.3)
  1428. else
  1429. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,-rad(90))*cf(0,0,2)
  1430. end
  1431. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,rad(90),0)
  1432. wait()
  1433. tsp=0
  1434. end
  1435. elseif key == 's' then
  1436. if skate then
  1437. back=false
  1438. end
  1439. elseif key == 'd' then
  1440. if skate then
  1441. if skate then
  1442. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,-rad(90))*cf(0,0,.3)
  1443. else
  1444. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,-rad(90))*cf(0,0,2)
  1445. end
  1446. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,rad(90),0)
  1447. right=false
  1448. wait()
  1449. tsp=0
  1450. end
  1451. end
  1452. end
  1453.  
  1454. function onClicked(mouse)
  1455. if deb==true then return end
  1456. if mode=='Sniper' then
  1457. if SAmmo > 0 then
  1458. deb=true
  1459. SAmmo=SAmmo-1
  1460. so('10209859',torso,false,.5)
  1461. local ray = Ray.new(brl.CFrame.p,(mouse.hit.p - brl.CFrame.p).unit*1200)
  1462. local hit,position = game.Workspace:FindPartOnRay(ray,pchar)
  1463. local humanoid = hit and hit.Parent and hit.Parent:findFirstChild("Humanoid")
  1464. function part(par,colr)
  1465. local prt=Instance.new("Part",par)
  1466. prt.FormFactor=3
  1467. prt.TopSurface=0
  1468. prt.BottomSurface=0
  1469. prt.Transparency=1
  1470. prt.CanCollide=false
  1471. local item=Instance.new('BillboardGui',prt)
  1472. item.Adornee=prt
  1473. item.Size=UDim2.new(math.random(5,10)/10, 0, math.random(5,10)/10, 0)
  1474. local frm=Instance.new('Frame',item)
  1475. frm.Size=UDim2.new(1,0,1,0)
  1476. frm.BorderSizePixel=0
  1477. frm.BackgroundTransparency=math.random(2,6)/10
  1478. if colr then
  1479. frm.BackgroundColor3=BrickColor.new(colr).Color
  1480. end
  1481. return prt
  1482. end
  1483. ypcall(function()
  1484. if not humanoid then
  1485. if hit.Name=='Handle' then
  1486. hit:BreakJoints()
  1487. hit.Velocity=Vector3.new(math.random(-20,20),math.random(30,60),math.random(-20,20))
  1488. end
  1489. else
  1490. if humanoid.Parent.Name ~= pchar.Name then
  1491. if hit.Name=='Head' then
  1492. humanoid.Health=0
  1493. for i=1,10 do
  1494. local noob1=part(workspace,'Bright red')
  1495. noob1.CFrame=humanoid.Torso.CFrame*CFrame.new(math.random(-3.5,3.5),0,math.random(-3.5,3.5))
  1496. noob1.Velocity=Vector3.new(math.random(-20,20),math.random(20,40),math.random(-20,20))
  1497. end
  1498. else
  1499. humanoid.Health=humanoid.Health-30
  1500. for i=1,10 do
  1501. local noob1=part(workspace,'Bright red')
  1502. noob1.CFrame=humanoid.Torso.CFrame*CFrame.new(math.random(-3.5,3.5),0,math.random(-3.5,3.5))
  1503. noob1.Velocity=Vector3.new(math.random(-20,20),math.random(20,40),math.random(-20,20))
  1504. end
  1505. end
  1506. end
  1507. end
  1508. end)
  1509. local distance = (position - brl.CFrame.p).magnitude
  1510. local ray= Part(1,1,1,'White',0,false,true,mo)
  1511. local raym=Mesh(ray,1,.2,distance,.2)
  1512. ray.CFrame = cf(position, brl.CFrame.p) *cf(0,0,-distance/2)*ca(rad(90),0,0)
  1513. local bult= Part(.2,.5,.2,'Bright yellow',0,true,false,mo)
  1514. Mesh(bult,1,1,1,1)
  1515. bult.CFrame=bulleth.CFrame*ca(0,0,rad(90))
  1516. bult.Velocity=bult.CFrame.lookVector*20
  1517. game.Debris:AddItem(bult,math.random(7,15))
  1518. local cols={'Bright orange','Bright red'}
  1519. local dcf=brl.CFrame*ca(pi/2,0,0)
  1520. local goto=dcf.lookVector*.5
  1521. Spawn(function()
  1522. for i=1,math.random(3,6) do wait()
  1523. local a= Part(1,1,1,cols[math.random(1,2)],0,false,true,mo)
  1524. local m= Mesh(a,3,1,1,1)
  1525. a.CFrame=dcf*ca(math.random(),math.random(),math.random())
  1526. Spawn(function()
  1527. while wait() do
  1528. if a.Transparency >= 1 then a:Destroy() break end
  1529. m.Scale=m.Scale-Vector3.new(0.1,0.1,0.1)
  1530. a.CFrame=a.CFrame+goto
  1531. a.Transparency=a.Transparency+0.05
  1532. end
  1533. end)
  1534. end
  1535. end)
  1536. Spawn(function()
  1537. repeat wait() raym.Scale=raym.Scale-Vector3.new(0.01,0,0.01) until raym.Scale.x < 0
  1538. end)
  1539. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,rad(60),0)
  1540. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(120),-rad(30),-rad(50)) * CFrame.new(.2,-.5,0)
  1541. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(100),-rad(30),-rad(80)) * CFrame.new(.2,-.5,0)
  1542. Tween(slider,cf(.6,0.2,0)*ca(0,0,rad(90)),.5)
  1543. wait(.15)
  1544. Tween(slider,cf(.4,0.2,0)*ca(0,0,rad(90)),.05)
  1545. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(-rad(30),rad(60),0)
  1546. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90),0,-rad(50)) * CFrame.new(.2,-.5,0)
  1547. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90),0,-rad(80)) * CFrame.new(.2,-.5,0)
  1548. wait(.6)
  1549. deb=false
  1550. end
  1551. elseif mode=='Sword' then
  1552. SetAnimData({Head=false,RightArm=false,LeftArm=false,RightLeg=true,LeftLeg=true,Torso=false})
  1553. deb=true
  1554. if swing==1 then
  1555. so('161006212',torso,false,math.random(5,11)/10)
  1556. connectsworddmg()
  1557. Tween(mwl1,cf(0,-1.2,-0.2)*ca(0,0,rad(220)),.2)
  1558. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90),0,-rad(40))* CFrame.new(-.2,-.25,0)
  1559. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90),0,rad(40))* CFrame.new(.2,-.25,0)
  1560. wait(.15)
  1561. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,rad(60))
  1562. TrailOn=true
  1563. wait(.3)
  1564. Tween(mwl1,cf(0,-1.2,-0.2)*ca(-pi/2,rad(53),0),.2)
  1565. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,0)
  1566. disconnectsworddmg()
  1567. TrailOn=false
  1568. SetAnimData({Head=true,RightArm=true,LeftArm=true,RightLeg=true,LeftLeg=true,Torso=true})
  1569. swing=2
  1570. wait(.4)
  1571. deb=false
  1572. return
  1573. elseif swing==2 then
  1574. so('161006212',torso,false,math.random(5,11)/10)
  1575. connectsworddmg()
  1576. Tween(mwl1,cf(0,-1.2,-0.2)*ca(0,rad(180),rad(150)),.2)
  1577. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90),0,-rad(40))* CFrame.new(-.2,-.25,0)
  1578. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90),0,rad(40))* CFrame.new(.2,-.25,0)
  1579. wait(.15)
  1580. TrailOn=true
  1581. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,-rad(60))
  1582. wait(.3)
  1583. Tween(mwl1,cf(0,-1.2,-0.2)*ca(-pi/2,rad(53),0),.2)
  1584. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,0)
  1585. disconnectsworddmg()
  1586. TrailOn=false
  1587. SetAnimData({Head=true,RightArm=true,LeftArm=true,RightLeg=true,LeftLeg=true,Torso=true})
  1588. swing=3
  1589. wait(.4)
  1590. deb=false
  1591. return
  1592. elseif swing==3 then
  1593. connectsworddmg()
  1594. Tween(mwl1,cf(0,-1.2,-0.2)*ca(-pi/2-rad(20),rad(55),-rad(50)),.2)
  1595. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(120),0,-rad(40))* CFrame.new(-.2,-.25,0)
  1596. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(120),0,rad(40))* CFrame.new(.2,-.25,0)
  1597. wait(.4)
  1598. so('161006212',torso,false,math.random(5,11)/10)
  1599. TrailOn=true
  1600. Tween(mwl1,cf(0,-1.2,-0.2)*ca(-pi/2-rad(45),rad(55),-rad(60)),.2)
  1601. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(50),0,-rad(40))* CFrame.new(-.2,-.25,0)
  1602. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(50),0,rad(40))* CFrame.new(.2,-.25,0)
  1603. wait(.4)
  1604. Tween(mwl1,cf(0,-1.2,-0.2)*ca(-pi/2,rad(53),0),.2)
  1605. disconnectsworddmg()
  1606. TrailOn=false
  1607. SetAnimData({Head=true,RightArm=true,LeftArm=true,RightLeg=true,LeftLeg=true,Torso=true})
  1608. swing=1
  1609. wait(.4)
  1610. deb=false
  1611. return
  1612. end
  1613. end
  1614. end
  1615.  
  1616. tol.Selected:connect(function(mouse)
  1617. mouse.Button1Down:connect(function() onClicked(mouse) end)
  1618. mouse.KeyDown:connect(onKeyDown)
  1619. mouse.KeyUp:connect(onKeyUp)
  1620. CurrentActiveAnim="Equip"
  1621. wait(.2)
  1622. opnbl('t')
  1623. end)
  1624.  
  1625. tol.Deselected:connect(function(mouse)
  1626. CurrentActiveAnim="Idle"
  1627. Tween(ballweld,cf(0,.375,-.55),.1)
  1628. for i=1,#animationprts do
  1629. Tween(animationprts[i],cf(0,0,.25)*ca(rad(90),0,0),.1)
  1630. end
  1631. end)
  1632.  
  1633.  
  1634. function UpdateAnims()
  1635. Anims = {
  1636. ["Idle"] = {
  1637. ["Stance"] = {
  1638. speed=.25,
  1639. Head = CFrame.Angles(sin(angle)*0.01,0,0),
  1640. RightArm = CFrame.Angles(sin(angle)*0.1,0,0),
  1641. LeftArm = CFrame.Angles(sin(angle)*0.1,0,0),
  1642. RightLeg = CFrame.Angles(0,0,abs(sin(angle))*0.1),
  1643. LeftLeg = CFrame.Angles(0,0,-abs(sin(angle))*0.1),
  1644. Torso = CFrame.Angles(0,0,0),
  1645. },
  1646. ["Walk"] = {
  1647. speed=2,
  1648. Head = CFrame.Angles(0,0,sin(angle)*0.01),
  1649. RightArm = CFrame.Angles(-sin(angle)*.8,0,rad(10)),
  1650. LeftArm = CFrame.Angles(sin(angle)*.8,0,-rad(10)),
  1651. RightLeg = CFrame.Angles(sin(angle)*.8,0,0),
  1652. LeftLeg = CFrame.Angles(-sin(angle)*.8,0,0),
  1653. Torso = CFrame.Angles(0,0,0),
  1654. }
  1655. },
  1656. ["Equip"] = {
  1657. ["Stance"] = {
  1658. speed=.25,
  1659. Head = CFrame.Angles(sin(angle)*0.01,0,0),
  1660. RightArm = CFrame.Angles(rad(60),0,-rad(20)),
  1661. LeftArm = CFrame.Angles(sin(angle)*0.1,0,0),
  1662. RightLeg = CFrame.Angles(0,0,abs(sin(angle))*0.1),
  1663. LeftLeg = CFrame.Angles(0,0,-abs(sin(angle))*0.1),
  1664. Torso = CFrame.Angles(0,0,0),
  1665. },
  1666. ["Walk"] = {
  1667. speed=2,
  1668. Head = CFrame.Angles(0,0,sin(angle)*0.01),
  1669. RightArm = CFrame.Angles(rad(60),rad(20),-rad(50)),
  1670. LeftArm = CFrame.Angles(sin(angle)*.8,0,-rad(10)),
  1671. RightLeg = CFrame.Angles(sin(angle)*.8,0,0),
  1672. LeftLeg = CFrame.Angles(-sin(angle)*.8,0,0),
  1673. Torso = CFrame.Angles(0,0,0),
  1674. }
  1675. },
  1676. ["Sword"] = {
  1677. ["Stance"] = {
  1678. speed=.25,
  1679. Head = CFrame.Angles(sin(angle)*0.05,0,0),
  1680. RightArm = CFrame.Angles(rad(60)+sin(angle)*.05,0,-rad(40))* CFrame.new(-.2,-.25,0),
  1681. LeftArm = CFrame.Angles(rad(60)+sin(angle)*.05,0,rad(40))* CFrame.new(.2,-.25,0),
  1682. RightLeg = CFrame.Angles(0,0,abs(sin(angle))*0.1),
  1683. LeftLeg = CFrame.Angles(0,0,-abs(sin(angle))*0.1),
  1684. Torso = CFrame.Angles(0,0,0),
  1685. },
  1686. ["Walk"] = {
  1687. speed=2,
  1688. Head = CFrame.Angles(0,0,math.sin(angle)*0.05),
  1689. RightArm = CFrame.Angles(rad(60)+sin(angle)*.1,0,-rad(40))* CFrame.new(-.2,-.25,0),
  1690. LeftArm = CFrame.Angles(rad(60)+sin(angle)*.1,0,rad(40))* CFrame.new(.2,-.25,0),
  1691. RightLeg = CFrame.Angles(sin(angle)*.8,0,0),
  1692. LeftLeg = CFrame.Angles(-sin(angle)*.8,0,0),
  1693. Torso = CFrame.Angles(0,0,0),
  1694. }
  1695. },
  1696. ["Orb"] = {
  1697. ["Stance"] = {
  1698. speed=.25,
  1699. Head = CFrame.Angles(0,0,0),
  1700. RightArm = CFrame.Angles(-sin(angle)*0.1,0,0),
  1701. LeftArm = CFrame.Angles(sin(angle)*0.1,0,0),
  1702. RightLeg = CFrame.Angles(sin(angle)*0.1,0,0),
  1703. LeftLeg = CFrame.Angles(-sin(angle)*0.1,0,0),
  1704. Torso = CFrame.Angles(0,0,0),
  1705. },
  1706. ["Walk"] = {
  1707. speed=2,
  1708. Head = CFrame.Angles(0,0,0),
  1709. RightArm = CFrame.Angles(-sin(angle)*1,0,0),
  1710. LeftArm = CFrame.Angles(sin(angle)*1,0,0),
  1711. RightLeg = CFrame.Angles(sin(angle)*1,0,0),
  1712. LeftLeg = CFrame.Angles(-sin(angle)*1,0,0),
  1713. Torso = CFrame.Angles(0,0,0),
  1714. }
  1715. }
  1716. }
  1717. end
  1718.  
  1719. UpdateAnims()
  1720. SetAnimData({Head=true,RightArm=true,LeftArm=true,RightLeg=true,LeftLeg=true,Torso=true})
  1721.  
  1722. CurrentActiveAnim="Idle"
  1723.  
  1724. game:service'RunService'.RenderStepped:connect(function()
  1725. spinn=spinn+.5
  1726. UpdateAnims(angle)
  1727. for _,v in pairs(LerpTo) do
  1728. v.Weld.C0 = Lerp.CFrame(v.Weld.C0,v.To,v.Speed)
  1729. end
  1730. angle = (angle % 100) + anglespeed/10
  1731. if bl and rov then
  1732. pro.CFrame=clerp(pro.CFrame,torso.CFrame*cf(3,2+math.sin((tick())*.5),0)*ca(rad(spinn),-rad(spinn),rad(spinn)),.1)
  1733. elseif bl and tov then
  1734. pchar.Humanoid.Health=pchar.Humanoid.MaxHealth
  1735. pro.CFrame=torso.CFrame*ca(rad(spinn),-rad(spinn),rad(spinn))
  1736. spkparts[1].CFrame=pro.CFrame*cf(0,4,0)
  1737. spkparts[2].CFrame=pro.CFrame*cf(0,-4,0)*ca(pi/1,0,0)
  1738. spkparts[3].CFrame=pro.CFrame*cf(-4,0,0)*ca(0,0,pi/2)
  1739. spkparts[4].CFrame=pro.CFrame*cf(4,0,0)*ca(0,0,-pi/2)
  1740. spkparts[5].CFrame=pro.CFrame*cf(0,0,4)*ca(pi/2,0,0)
  1741. spkparts[6].CFrame=pro.CFrame*cf(0,0,-4)*ca(-pi/2,0,0)
  1742. for i,v in pairs(workspace:children()) do
  1743. if v:IsA("Model") and v:findFirstChild("Humanoid") then
  1744. if v:findFirstChild("Head") and v:findFirstChild("Torso") then
  1745. if (v:findFirstChild("Torso").Position - pchar.Torso.Position).magnitude < 5 and v.Name ~= pchar.Name then
  1746. Lightning(v.Torso.Position,pchar['Torso'].Position,math.random(5,10),math.random(-2.5,2.5),BrickColor.random(),0.35)
  1747. skul(v)
  1748. end
  1749. end
  1750. end
  1751. end
  1752. elseif bl and pov then
  1753. pro.CFrame=torso.CFrame*CFrame.new(0,-1.5,0)*ca(0,rad(spinn*2),0)
  1754. spkparts[3].CFrame=pro.CFrame*cf(-4,0,0)*ca(0,0,pi/2)
  1755. spkparts[4].CFrame=pro.CFrame*cf(4,0,0)*ca(0,0,-pi/2)
  1756. spkparts[5].CFrame=pro.CFrame*cf(0,0,4)*ca(pi/2,0,0)
  1757. spkparts[6].CFrame=pro.CFrame*cf(0,0,-4)*ca(-pi/2,0,0)
  1758. end
  1759. if bl and tops then
  1760. spkparts[1].CFrame=pro.CFrame*cf(0,0.2,0)
  1761. spkparts[2].CFrame=pro.CFrame*cf(0,-0.2,0)*ca(pi/1,0,0)
  1762. end
  1763. if bl and sides then
  1764. spkparts[3].CFrame=pro.CFrame*cf(-0.2,0,0)*ca(0,0,pi/2)
  1765. spkparts[4].CFrame=pro.CFrame*cf(0.2,0,0)*ca(0,0,-pi/2)
  1766. spkparts[5].CFrame=pro.CFrame*cf(0,0,.2)*ca(pi/2,0,0)
  1767. spkparts[6].CFrame=pro.CFrame*cf(0,0,-.2)*ca(-pi/2,0,0)
  1768. end
  1769. if skate then
  1770. if csp < 0 then
  1771. it = tonumber(tostring(csp):sub(2))
  1772. skateso.Pitch=it/20
  1773. else
  1774. skateso.Pitch=csp/20
  1775. end
  1776. ROF.angularvelocity = Vector3.new(0, tsp, 0)
  1777. local direction = torso.CFrame * ca(0,pi/2,-pi/2)
  1778. direction = direction.lookVector
  1779. direction = Vector3.new(direction.x,0,direction.z).unit
  1780. BV.velocity = direction*(csp)
  1781. whel1w.C1=whel1w.C1*ca(-csp/90,0,0)
  1782. whel2w.C1=whel2w.C1*ca(-csp/90,0,0)
  1783. end
  1784. pchar.Humanoid.CameraOffset = (pchar.HumanoidRootPart.CFrame:toObjectSpace(pchar.Head.CFrame)).p - Vector3.new(0, 1.25, 0)
  1785. if blade2 then
  1786. local blcf = blade2.CFrame*cf(0,-.5,0)
  1787. if TrailOn then
  1788. if scfr and (blade2.Position-scfr.p).magnitude > .1 then
  1789. local h = 3.8
  1790. local a,b = Triangle((scfr*cf(0,h/2,0)).p,(scfr*cf(0,-h/2,0)).p,(blcf*cf(0,h/2,0)).p)
  1791. if a then game.Debris:AddItem(a,1) end
  1792. if b then game.Debris:AddItem(b,1) end
  1793. local a,b = Triangle((blcf*cf(0,h/2,0)).p,(blcf*cf(0,-h/2,0)).p,(scfr*cf(0,-h/2,0)).p)
  1794. if a then game.Debris:AddItem(a,1) end
  1795. if b then game.Debris:AddItem(b,1) end
  1796. scfr = blcf
  1797. elseif not scfr then
  1798. scfr = blcf
  1799. end
  1800. elseif not TrailsOn then
  1801. scfr = nil
  1802. end
  1803. end
  1804. if Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude < 2 then
  1805. CheckAnimData(CurrentActiveAnim,"Stance")
  1806. elseif Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude > 2 then
  1807. CheckAnimData(CurrentActiveAnim,"Walk")
  1808. end
  1809. end)
Add Comment
Please, Sign In to add comment