Advertisement
FloweyTheFlower

Roblox Scripts #52 Hand Tools

Sep 22nd, 2017
708
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 77.83 KB | None | 0 0
  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="Rendear tools"
  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)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement