Advertisement
PersonsadminTeam

Angle Gun

Sep 25th, 2016
370
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 68.57 KB | None | 0 0
  1. --[[Made compatible. May be useless since the next update is supposed to fix these]]--
  2. Player = game.Players.LocalPlayer
  3. Character = Player.Character
  4. PlayerGui = Player.PlayerGui
  5. Backpack = Player.Backpack
  6. Torso = Character.Torso
  7. Head = Character.Head
  8. Humanoid = Character.Humanoid
  9. LeftArm = Character["Left Arm"]
  10. LeftLeg = Character["Left Leg"]
  11. RightArm = Character["Right Arm"]
  12. RightLeg = Character["Right Leg"]
  13. PlayerGui = Player.PlayerGui
  14. Backpack = Player.Backpack
  15. Torso = Character.Torso
  16. Head = Character.Head
  17. Humanoid = Character.Humanoid
  18. LeftArm = Character["Left Arm"]
  19. LeftLeg = Character["Left Leg"]
  20. RightArm = Character["Right Arm"]
  21. RightLeg = Character["Right Leg"]
  22. LS = Torso["Left Shoulder"]
  23. RS = Torso["Right Shoulder"]
  24. Neck = Torso.Neck
  25. attacktype = 1
  26. vt = Vector3.new
  27. cf = CFrame.new
  28. euler = CFrame.fromEulerAnglesXYZ
  29. angles = CFrame.Angles
  30. necko = cf(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  31. necko2 = cf(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  32. LHC0 = cf(-1, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  33. LHC1 = cf(-0.5, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  34. RHC0 = cf(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  35. RHC1 = cf(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  36. RootPart = Character.HumanoidRootPart
  37. RootJoint = RootPart.RootJoint
  38. RootCF = euler(-1.57, 0, 3.14)
  39. attack = false
  40. equipped = false
  41. local Anim = "Idle"
  42. local Effects = {}
  43. cam = workspace.CurrentCamera
  44. ZTarget = nil
  45. RocketTarget = nil
  46.  
  47. local Create = Instance.new
  48. local m = Create("Model")
  49.     m.Parent = Character
  50.     m.Name = "WeaponModel"
  51.  
  52. mouse = Player:GetMouse()
  53. RSH = Torso["Right Shoulder"]
  54. LSH = Torso["Left Shoulder"]
  55. RHP = Character.Torso["Right Hip"]
  56. LHP = Character.Torso["Left Hip"]  
  57.  
  58. function NoOutline(Part)
  59.     Part.TopSurface, Part.BottomSurface, Part.LeftSurface, Part.RightSurface, Part.FrontSurface, Part.BackSurface = 10, 10, 10, 10, 10, 10
  60. end
  61. function swait(num)
  62.     if num == 0 or num == nil then
  63.         game:service'RunService'.Heartbeat:wait()
  64.     else
  65.         for i = 0, num do
  66.             game:service'RunService'.Heartbeat:wait()
  67.         end
  68.     end
  69. end
  70.    
  71. function nooutline(part)
  72.     part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
  73. end
  74.    
  75. function part(formfactor, parent, material, reflectance, transparency, brickcolor, name, size)
  76.     local fp = Create("Part")
  77.         fp.formFactor = formfactor
  78.         fp.Parent = parent
  79.         fp.Reflectance = reflectance
  80.         fp.Transparency = transparency
  81.         fp.CanCollide = false
  82.         fp.Locked = true
  83.         fp.BrickColor = BrickColor.new(tostring(brickcolor))
  84.         fp.Name = name
  85.         fp.Size = size
  86.         fp.Position = Character.Torso.Position
  87.         fp.Material = material
  88.    
  89.     nooutline(fp)
  90.     return fp
  91. end
  92.    
  93. function mesh(Mesh, part, meshtype, meshid, offset, scale)
  94.     local Msh = Create(Mesh)
  95.         Msh.Parent = part
  96.         Msh.Offset = offset
  97.         Msh.Scale = scale
  98.    
  99.     if Mesh == "SpecialMesh" then
  100.         Msh.MeshType = meshtype
  101.         Msh.MeshId = meshid
  102.     end
  103.     return Msh
  104. end
  105.    
  106. function weld(parent, part0, part1, c0, c1)
  107.     local Weld = Create("Weld")
  108.         Weld.Parent = parent
  109.         Weld.Part0 = part0
  110.         Weld.Part1 = part1
  111.         Weld.C0 = c0
  112.         Weld.C1 = c1
  113.    
  114.     return Weld
  115. end
  116.    
  117.    
  118. local function CFrameFromTopBack(at, top, back)
  119.     local right = top:Cross(back)
  120.     return CFrame.new(at.x, at.y, at.z,
  121. right.x, top.x, back.x,
  122. right.y, top.y, back.y,
  123. right.z, top.z, back.z)
  124. end
  125.  
  126. function Triangle(a, b, c)
  127.     local edg1 = (c - a):Dot((b - a).unit)
  128.     local edg2 = (a - b):Dot((c - b).unit)
  129.     local edg3 = (b - c):Dot((a - c).unit)
  130.     if edg1 <= (b - a).magnitude and edg1 >= 0 then
  131.         a, b, c = a, b, c
  132.     elseif edg2 <= (c - b).magnitude and edg2 >= 0 then
  133.         a, b, c = b, c, a
  134.     elseif edg3 <= (a - c).magnitude and edg3 >= 0 then
  135.         a, b, c = c, a, b
  136.     else
  137.         assert(false, "unreachable")
  138.     end
  139.  
  140.     local len1 = (c - a):Dot((b - a).unit)
  141.     local len2 = (b - a).magnitude - len1
  142.     local width = (a + (b - a).unit * len1 - c).magnitude
  143.  
  144.     local maincf = CFrameFromTopBack(a, (b - a):Cross(c - b).unit, -(b - a).unit)
  145.  
  146.     local list = {}
  147.  
  148.     local Color = BrickColor.new("Dark stone grey")
  149.  
  150.     if len1 > 0.01 then
  151.         local w1 = Create('WedgePart', m)
  152.             w1.Material = "SmoothPlastic"
  153.             w1.FormFactor = 'Custom'
  154.             w1.BrickColor = Color
  155.             w1.Transparency = 0
  156.             w1.Reflectance = 0
  157.             w1.Material = "SmoothPlastic"
  158.             w1.CanCollide = false
  159.             w1.Anchored = true
  160.             w1.Parent = workspace
  161.             w1.Transparency = 0.3
  162.        
  163.         game:GetService("Debris"):AddItem(w1, 5)
  164.         NoOutline(w1)
  165.         local sz = Vector3.new(0.2, width, len1)
  166.         w1.Size = sz
  167.         local sp = Create("SpecialMesh")
  168.             sp.Parent = w1
  169.             sp.MeshType = "Wedge"
  170.             sp.Scale = Vector3.new(0, 1, 1) * sz / w1.Size
  171.        
  172.         w1:BreakJoints()
  173.         table.insert(Effects, {
  174.             w1,
  175.             "Disappear",
  176.             .03
  177.         })
  178.         w1.CFrame = maincf * CFrame.Angles(math.pi, 0, math.pi / 2) * CFrame.new(0, width / 2, len1 / 2)
  179.         table.insert(list, w1)
  180.     end
  181.     if len2 > 0.01 then
  182.         local w2 = Create('WedgePart', m)
  183.             w2.Material = "SmoothPlastic"
  184.             w2.FormFactor = 'Custom'
  185.             w2.BrickColor = Color
  186.             w2.Transparency = 0
  187.             w2.Reflectance = 0
  188.             w2.Material = "SmoothPlastic"
  189.             w2.CanCollide = false
  190.             w2.Anchored = true
  191.             w2.Parent = workspace
  192.             w2.Transparency = 0.3
  193.        
  194.  
  195.         game:GetService("Debris"):AddItem(w2, 5)
  196.         NoOutline(w2)
  197.         local sz = Vector3.new(0.2, width, len2)
  198.         w2.Size = sz
  199.         local sp = Create("SpecialMesh")
  200.             sp.Parent = w2
  201.             sp.MeshType = "Wedge"
  202.             sp.Scale = Vector3.new(0, 1, 1) * sz / w2.Size
  203.        
  204.         w2:BreakJoints()
  205.         table.insert(Effects, {
  206.             w2,
  207.             "Disappear",
  208.             .03
  209.         })
  210.         w2.CFrame = maincf * CFrame.Angles(math.pi, math.pi, -math.pi / 2) * CFrame.new(0, width / 2, -len1 - len2 / 2)
  211.         table.insert(list, w2)
  212.     end
  213.     return unpack(list)
  214. end
  215.    
  216. function so(id, par, vol, pit)
  217.     coroutine.resume(coroutine.create(function()
  218.         local sou = Instance.new("Sound", par or workspace)
  219.         sou.Volume = vol
  220.         sou.Pitch = pit or 1
  221.         sou.SoundId = id
  222.         swait()
  223.         sou:play()
  224.         swait(6)
  225.         sou:Remove()
  226.     end))
  227. end
  228.  
  229. function clerp(a, b, t)
  230.  
  231.     local function QuaternionFromCFrame(cf)
  232.         local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  233.         local trace = m00 + m11 + m22
  234.         if trace > 0 then
  235.             local s = math.sqrt(1 + trace)
  236.             local recip = 0.5 / s
  237.             return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  238.         else
  239.             local i = 0
  240.             if m11 > m00 then
  241.                 i = 1
  242.             end
  243.             if m22 > (i == 0 and m00 or m11) then
  244.                 i = 2
  245.             end
  246.             if i == 0 then
  247.                 local s = math.sqrt(m00 - m11 - m22 + 1)
  248.                 local recip = 0.5 / s
  249.                 return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  250.             elseif i == 1 then
  251.                 local s = math.sqrt(m11 - m22 - m00 + 1)
  252.                 local recip = 0.5 / s
  253.                 return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  254.             elseif i == 2 then
  255.                 local s = math.sqrt(m22 - m00 - m11 + 1)
  256.                 local recip = 0.5 / s
  257.                 return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  258.             end
  259.         end
  260.     end
  261.          
  262.     local function QuaternionToCFrame(px, py, pz, x, y, z, w)
  263.         local xs, ys, zs = x + x, y + y, z + z
  264.         local wx, wy, wz = w * xs, w * ys, w * zs
  265.         local xx = x * xs
  266.         local xy = x * ys
  267.         local xz = x * zs
  268.         local yy = y * ys
  269.         local yz = y * zs
  270.         local zz = z * zs
  271.         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))
  272.     end
  273.          
  274.     local function QuaternionSlerp(a, b, t)
  275.         local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  276.         local startInterp, finishInterp;
  277.         if cosTheta >= 0.0001 then
  278.             if (1 - cosTheta) > 0.0001 then
  279.                 local theta = math.acos(cosTheta)
  280.                 local invSinTheta = 1 / math.sin(theta)
  281.                 startInterp = math.sin((1 - t) * theta) * invSinTheta
  282.                 finishInterp = math.sin(t * theta) * invSinTheta
  283.             else
  284.                 startInterp = 1 - t
  285.                 finishInterp = t
  286.             end
  287.         else
  288.             if (1 + cosTheta) > 0.0001 then
  289.                 local theta = math.acos(-cosTheta)
  290.                 local invSinTheta = 1 / math.sin(theta)
  291.                 startInterp = math.sin((t - 1) * theta) * invSinTheta
  292.                 finishInterp = math.sin(t * theta) * invSinTheta
  293.             else
  294.                 startInterp = t - 1
  295.                 finishInterp = t
  296.             end
  297.         end
  298.         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
  299.     end
  300.  
  301.     local qa = {
  302.         QuaternionFromCFrame(a)
  303.     }
  304.     local qb = {
  305.         QuaternionFromCFrame(b)
  306.     }
  307.     local ax, ay, az = a.x, a.y, a.z
  308.     local bx, by, bz = b.x, b.y, b.z
  309.  
  310.     local _t = 1 - t
  311.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  312. end
  313.  
  314. function rayCast(Pos, Dir, Max, Ignore)
  315.     return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
  316. end
  317.  
  318. Damagefunc = function(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
  319.     if hit.Parent == nil then
  320.         return
  321.     end
  322.     local h = hit.Parent:FindFirstChild("Humanoid")
  323.     for _, v in pairs(hit.Parent:children()) do
  324.         if v:IsA("Humanoid") then
  325.             h = v
  326.         end
  327.     end
  328.     if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
  329.         if hit.Parent:findFirstChild("DebounceHit") ~= nil then
  330.             if hit.Parent.DebounceHit.Value == true then
  331.                 return
  332.             end
  333.         end
  334.         if h.MaxHealth >= math.huge then
  335.             hit:BreakJoints()
  336.         end
  337.         local c = Create("ObjectValue")
  338.             c.Name = "creator"
  339.             c.Value = game:service("Players").LocalPlayer
  340.             c.Parent = h
  341.        
  342.         game:GetService("Debris"):AddItem(c, .5)
  343.         if HitSound ~= nil and HitPitch ~= nil then
  344.             so(HitSound, hit, 1, HitPitch)
  345.         end
  346.         local Damage = math.random(minim, maxim)
  347.         local blocked = false
  348.         local block = hit.Parent:findFirstChild("Block")
  349.         if block ~= nil then
  350.             if block.className == "IntValue" then
  351.                 if block.Value > 0 then
  352.                     blocked = true
  353.                     block.Value = block.Value - 1
  354.                     print(block.Value)
  355.                 end
  356.             end
  357.         end
  358.         if blocked == false then
  359.             h.Health = h.Health - Damage
  360.             ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, Part.BrickColor.Color, Handle.BrickColor.Color)
  361.         else
  362.             h.Health = h.Health - (Damage / 2)
  363.             ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, Part.BrickColor.Color, Handle.BrickColor.Color)
  364.         end
  365.         if Type == "Knockdown" then
  366.             local hum = hit.Parent.Humanoid
  367.             hum.PlatformStand = true
  368.             coroutine.resume(coroutine.create(function(HHumanoid)
  369.                 swait(1)
  370.                 HHumanoid.PlatformStand = false
  371.             end), hum)
  372.             local angle = (hit.Position - (Property.Position + Vector3.new(0, 0, 0))).unit
  373.             local bodvol = Create("BodyVelocity")
  374.                 bodvol.velocity = angle * knockback
  375.                 bodvol.P = 5000
  376.                 bodvol.maxForce = Vector3.new(8e+003, 8e+003, 8e+003)
  377.                 bodvol.Parent = hit
  378.            
  379.             local rl = Create("BodyAngularVelocity")
  380.                 rl.P = 3000
  381.                 rl.maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000
  382.                 rl.angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10))
  383.                 rl.Parent = hit
  384.            
  385.             game:GetService("Debris"):AddItem(bodvol, .5)
  386.             game:GetService("Debris"):AddItem(rl, .5)
  387.         elseif Type == "Normal" then
  388.             local vp = Create("BodyVelocity")
  389.                 vp.P = 500
  390.                 vp.maxForce = Vector3.new(math.huge, 0, math.huge)
  391.                 vp.velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05
  392.            
  393.             if knockback > 0 then
  394.                 vp.Parent = hit.Parent.Torso
  395.             end
  396.             game:GetService("Debris"):AddItem(vp, .5)
  397.         elseif Type == "Up" then
  398.             local bodyVelocity = Create("BodyVelocity")
  399.                 bodyVelocity.velocity = vt(0, 20, 0)
  400.                 bodyVelocity.P = 5000
  401.                 bodyVelocity.maxForce = Vector3.new(8e+003, 8e+003, 8e+003)
  402.                 bodyVelocity.Parent = hit
  403.            
  404.             game:GetService("Debris"):AddItem(bodyVelocity, .5)
  405.         elseif Type == "Snare" then
  406.             local bp = Create("BodyPosition")
  407.                 bp.P = 2000
  408.                 bp.D = 100
  409.                 bp.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  410.                 bp.position = hit.Parent.Torso.Position
  411.                 bp.Parent = hit.Parent.Torso
  412.            
  413.             game:GetService("Debris"):AddItem(bp, 1)
  414.         elseif Type == "Freeze" then
  415.             local BodPos = Create("BodyPosition")
  416.                 BodPos.P = 50000
  417.                 BodPos.D = 1000
  418.                 BodPos.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  419.                 BodPos.position = hit.Parent.Torso.Position
  420.                 BodPos.Parent = hit.Parent.Torso
  421.            
  422.             local BodGy = Create("BodyGyro")
  423.                 BodGy.maxTorque = Vector3.new(4e+005, 4e+005, 4e+005) * math.huge
  424.                 BodGy.P = 20e+003
  425.                 BodGy.Parent = hit.Parent.Torso
  426.                 BodGy.cframe = hit.Parent.Torso.CFrame
  427.            
  428.             hit.Parent.Torso.Anchored = true
  429.             coroutine.resume(coroutine.create(function(Part)
  430.                 swait(1.5)
  431.                 Part.Anchored = false
  432.             end), hit.Parent.Torso)
  433.             game:GetService("Debris"):AddItem(BodPos, 3)
  434.             game:GetService("Debris"):AddItem(BodGy, 3)
  435.         end
  436.         local debounce = Create("BoolValue")
  437.             debounce.Name = "DebounceHit"
  438.             debounce.Parent = hit.Parent
  439.             debounce.Value = true
  440.        
  441.         game:GetService("Debris"):AddItem(debounce, Delay)
  442.         c = Instance.new("ObjectValue")
  443.         c.Name = "creator"
  444.         c.Value = Player
  445.         c.Parent = h
  446.         game:GetService("Debris"):AddItem(c, .5)
  447.     end
  448. end
  449.  
  450. function ShowDamage(Pos, Text, Time, Color, Color2)
  451.     local Rate = (1 / 30)
  452.     local Pos = (Pos or Vector3.new(0, 0, 0))
  453.     local Text = (Text or "")
  454.     local Time = (Time or 2)
  455.     local Color = (Color or Color3.new(1, 0, 0))
  456.     local EffectPart = part("Custom", workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", vt(0, 0, 0))
  457.     EffectPart.Anchored = true
  458.     local BillboardGui = Create("BillboardGui")
  459.         BillboardGui.Size = UDim2.new(3, 0, 3, 0)
  460.         BillboardGui.Adornee = EffectPart
  461.         BillboardGui.Parent = EffectPart
  462.    
  463.     local TextLabel = Create("TextLabel")
  464.         TextLabel.BackgroundTransparency = 1
  465.         TextLabel.Size = UDim2.new(1, 0, 1, 0)
  466.         TextLabel.Text = Text
  467.         TextLabel.TextColor3 = Color
  468.         TextLabel.TextScaled = true
  469.         TextLabel.Font = Enum.Font.ArialBold
  470.         TextLabel.FontSize = Enum.FontSize.Size10
  471.         TextLabel.TextStrokeColor3 = Color2
  472.         TextLabel.TextStrokeTransparency = 0.8
  473.         TextLabel.Parent = BillboardGui
  474.    
  475.     game.Debris:AddItem(EffectPart, (Time + 0.1))
  476.     EffectPart.Parent = game:GetService("Workspace")
  477.     delay(0, function()
  478.         local Frames = (Time / Rate)
  479.         for Frame = 1, Frames do
  480.             wait(Rate)
  481.             local Percent = (Frame / Frames)
  482.             EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
  483.             TextLabel.TextTransparency = Percent
  484.         end
  485.         if EffectPart and EffectPart.Parent then
  486.             EffectPart:Destroy()
  487.         end
  488.     end)
  489. end
  490.  
  491. Handle=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Handle",Vector3.new(0.280000031, 0.699999988, 0.280000001))
  492. Handleweld=weld(m,Character["Right Arm"],Handle,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.0860519409, -0.159469604, 1.00696373, 1, -1.72803976e-011, 1.90765604e-006, 1.90764786e-006, 4.44081707e-006, -1, 9.09494702e-012, 0.999999881, 4.44081707e-006))
  493. FakeHandle=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","FakeHandle",Vector3.new(0.280000031, 0.699999988, 0.280000001))
  494. FakeHandleweld=weld(m,Handle,FakeHandle,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.90734863e-006, 0.0707168579, 0.0574593544, 1, -8.18545232e-012, 2.86099269e-013, -8.18545232e-012, 1, 4.54747351e-013, 2.86099269e-013, 4.54747351e-013, 1))
  495. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.200000003, 0.200000003, 0.200000003))
  496. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.000375747681, -1.18781972, 0.839702606, -1, -1.02313925e-006, -2.56240446e-006, 2.56240173e-006, 1.79690323e-006, -1, 1.02317256e-006, -1, -1.79690414e-006))
  497. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(0.699999988, 0.699999988, 0.699999988))
  498. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.200000003, 0.420000017, 0.200000003))
  499. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.889633477, -0.979663849, 0.0548973083, -0.258811921, -5.54403186e-006, -0.96592772, -3.15453076e-006, 1, -4.89435752e-006, 0.96592778, 1.78029984e-006, -0.258811951))
  500. mesh("SpecialMesh",Part,Enum.MeshType.FileMesh,"http://www.roblox.com/asset/?id=111896510",Vector3.new(0, 0, 0),Vector3.new(0.349999994, 0.349999994, 0.349999994))
  501. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.200000003, 0.200000003, 0.280000001))
  502. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.279872894, 0.209986687, -1.33514404e-005, -3.935309e-006, 1, -2.90573007e-006, 1.08481819e-008, 2.90573598e-006, 1, 1, 3.93527625e-006, -1.08583693e-008))
  503. mesh("SpecialMesh",Part,Enum.MeshType.FileMesh,"http://www.roblox.com/asset/?id=3270017",Vector3.new(0, 0, 0),Vector3.new(0.519399941, 0.557200074, 1.74439991))
  504. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.200000003, 0.420000017, 0.200000003))
  505. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.889616966, -0.979663849, -0.0549716949, 0.258811742, -5.84206009e-006, -0.96592778, -1.50227504e-006, 1, -6.45063938e-006, 0.965927839, 3.12056136e-006, 0.258811772))
  506. mesh("SpecialMesh",Part,Enum.MeshType.FileMesh,"http://www.roblox.com/asset/?id=111896510",Vector3.new(0, 0, 0),Vector3.new(0.349999994, 0.349999994, 0.349999994))
  507. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.420000046, 0.280000061, 0.560000002))
  508. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.419868469, 7.62939453e-006, 2.7179718e-005, 3.83001225e-006, -1, 2.54809993e-006, 1, 3.82997496e-006, 3.03872399e-010, -3.12454534e-010, 2.54810584e-006, 1))
  509. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  510. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.280000031, 0.700000048, 0.280000001))
  511. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.14440918e-005, 0.552843094, 0.296955109, 1, -2.22826202e-011, 1.80189787e-011, -7.95807864e-013, 0.707115233, -0.707098365, -1.73940862e-011, 0.707098365, 0.707115233))
  512. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.420000046, 0.28700006, 0.280000031))
  513. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.41986084, 0.00234603882, 2.14576721e-005, 3.74060505e-006, -1, 2.30967612e-006, 1, 3.74057413e-006, -7.42010826e-008, 7.41938067e-008, 2.30968203e-006, 1))
  514. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  515. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.287, 0.560000062, 0.200000003))
  516. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.00273132324, 0.622810364, 0.296985626, 1, -2.22826202e-011, 1.80189787e-011, -7.95807864e-013, 0.707115233, -0.707098365, -1.73940862e-011, 0.707098365, 0.707115233))
  517. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.699999988))
  518. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.420000046, 0.280000061, 0.420000017))
  519. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.839817047, -1.90734863e-005, -0.489821672, 3.8300077e-006, -1, 2.53319945e-006, 1, 3.82997496e-006, 3.04327147e-010, -3.12426113e-010, 2.53320582e-006, 1))
  520. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  521. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.420000046, 0.28700006, 0.280000031))
  522. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.839794159, 0.00254631042, -0.49509263, 3.8300077e-006, -1, 2.53319945e-006, 1, 3.82997496e-006, 3.04327147e-010, -3.12426113e-010, 2.53320582e-006, 1))
  523. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  524. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.280000031, 0.420000046, 0.980000079))
  525. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(1.90734863e-006, -0.559818268, 0.0699512959, 1, -2.04636308e-011, 7.38572398e-013, -1.63709046e-011, 1, 2.6823227e-007, 7.82044568e-013, -2.68225904e-007, 1))
  526. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.200000003, 0.200000003, 0.280000001))
  527. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.279872894, 0.209986687, -1.33514404e-005, -3.935309e-006, 1, -2.90573007e-006, 1.08481819e-008, 2.90573598e-006, 1, 1, 3.93527625e-006, -1.08583693e-008))
  528. mesh("SpecialMesh",Part,Enum.MeshType.FileMesh,"http://www.roblox.com/asset/?id=3270017",Vector3.new(0, 0, 0),Vector3.new(0.491399914, 0.557200074, 1.74439991))
  529. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.280000031, 0.200000003, 0.560000062))
  530. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-2.0980835e-005, -0.419818878, 0.839810848, 1, -2.13731255e-011, -1.65118821e-011, -1.54614099e-011, 1, 2.62222466e-006, 1.80325338e-011, -2.62221829e-006, 1))
  531. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.699999988, 1))
  532. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.420000017, 0.420000017, 0.560000002))
  533. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.559810638, -0.769824028, -3.43322754e-005, 1.45437184e-007, -1, -1.29630371e-006, -2.08639904e-007, 1.29629734e-006, -1, 1, 1.45400691e-007, -2.08638184e-007))
  534. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  535. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.280000061, 0.280000061, 0.280000031))
  536. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.209846497, -3.81469727e-006, 0.559957266, 1.49184416e-008, -1, -6.10877123e-007, 1, 1.48816071e-008, 2.96593194e-010, -2.95063474e-010, -6.10870757e-007, 1))
  537. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  538. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.287, 0.840000033, 0.200000003))
  539. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.00215530396, -0.0698623657, 0.000190734863, 1, -2.22826202e-011, 1.80189787e-011, -1.43245416e-011, 1, 2.69661223e-006, -1.68107646e-011, -2.69660586e-006, 1))
  540. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.699999988))
  541. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.287, 0.200000003, 0.560000002))
  542. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.0021572113, -0.559833527, -0.0698022842, 1, -5.50244295e-011, 1.91965506e-011, -4.70663508e-011, 1, 2.69661314e-006, -1.56331059e-011, -2.69659495e-006, 1))
  543. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.699999988, 1))
  544. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.287, 0.427000016, 0.200000003))
  545. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.000122070313, -0.560840607, 0.27643466, 1, -2.22826202e-011, 1.80189787e-011, -1.43245416e-011, 1, 8.19589786e-007, -1.68107889e-011, -8.1958342e-007, 1))
  546. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.699999988))
  547. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.420000017, 0.420000017, 0.280000031))
  548. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.55978775, -2.44724131, -0.000165939331, 1.45490276e-007, -1, -2.49798723e-005, -2.08999595e-007, 2.49798668e-005, -1, 1, 1.45458671e-007, -2.08994436e-007))
  549. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  550. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.420000017, 0.280000001, 0.560000062))
  551. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.559822083, 0, -0.419999123, 5.95878191e-008, 1, 1.94764652e-007, -1, 5.9624881e-008, 3.44258311e-008, 3.44273339e-008, -1.94758286e-007, 1))
  552. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  553. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.280000031, 0.200000003, 0.200000003))
  554. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0, 0.279838562, 0.21000886, 1, 4.46839294e-008, 1.44186561e-006, 4.47196271e-008, -1, 7.78919912e-007, 1.44186413e-006, -7.78926278e-007, -1))
  555. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 0.699999988, 0.699999988))
  556. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.420000017, 0.560000002, 0.420000017))
  557. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.559791565, -0.55984664, 3.81469727e-005, 1.4543707e-007, -1, -5.08004541e-006, -2.08696321e-007, 5.08003723e-006, -1, 1, 1.45401373e-007, -2.08694047e-007))
  558. mesh("SpecialMesh",Part,Enum.MeshType.Sphere,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  559. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.280000031, 0.200000003, 0.200000003))
  560. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(5.91278076e-005, 0.279800415, 1.04951167, -1, -2.53198436e-007, 1.49545034e-008, 2.53235044e-007, -1, -7.584179e-006, 1.49579638e-008, -7.58417036e-006, 1))
  561. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 0.699999988, 0.699999988))
  562. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.420000017, 0.560000062, 0.200000003))
  563. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.559768677, -2.37841272, -0.000438690186, 1.45475724e-007, -1, -2.01288749e-005, -2.08974669e-007, 2.01288676e-005, -1, 1, 1.45443096e-007, -2.08970206e-007))
  564. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.699999988))
  565. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.420000017, 0.280000001, 0.420000017))
  566. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.55979538, -0.979748011, 7.62939453e-006, 1.45442073e-007, -1, -6.30070645e-006, -2.08722611e-007, 6.30070008e-006, -1, 1, 1.45406489e-007, -2.08720166e-007))
  567. mesh("SpecialMesh",Part,Enum.MeshType.Sphere,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  568. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.280000031, 0.200000003, 0.560000002))
  569. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(1.90734863e-006, -0.27980423, 0.699883938, 1, -2.04636308e-011, 1.10889423e-012, -1.63709046e-011, 1, 2.11572933e-006, 4.11753964e-013, -2.11572296e-006, 1))
  570. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.699999988, 1))
  571. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.280000031, 0.200000003, 0.560000062))
  572. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-3.24249268e-005, -0.699771881, 0.839804649, 1, -2.13731255e-011, -1.66693187e-011, -1.54614099e-011, 1, 4.23093024e-006, 1.81899929e-011, -4.23092433e-006, 1))
  573. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.699999988, 1))
  574. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.280000031, 0.200000003, 0.200000003))
  575. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-4.76837158e-005, -0.559803009, 1.0495255, 1, -1.56887836e-011, 3.45319641e-011, -2.09183781e-011, 1, 5.48155458e-006, -3.30136751e-011, -5.48154867e-006, 1))
  576. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.699999988, 0.699999988))
  577. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.200000003, 0.200000003, 0.200000003))
  578. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.000427246094, -2.58794498, 0.839736938, -1, -1.49499328e-008, -2.52553122e-007, 2.52551388e-007, 1.52605935e-005, -1, 1.49906327e-008, -1, -1.52605971e-005))
  579. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(0.699999988, 0.699999988, 0.699999988))
  580. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.200000003, 0.200000003, 0.200000003))
  581. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.83972168, -2.44782782, -0.000438690186, 1.45468562e-007, -1, -2.04852658e-005, -2.09350546e-007, 2.04852604e-005, -1, 1, 1.45436047e-007, -2.09346027e-007))
  582. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.699999988, 0.699999988, 0.699999988))
  583. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.200000003, 0.200000003, 0.200000003))
  584. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000421524048, 2.30780578, 0.83972168, 1, 5.67174197e-007, 2.54727388e-006, -2.54726456e-006, -1.37063362e-005, 1, 5.67245934e-007, -1, -1.37063407e-005))
  585. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(0.699999988, 0.699999988, 0.699999988))
  586. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.200000003, 0.200000003, 0.200000003))
  587. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.00043296814, 2.30763364, -0.27973938, -1, 1.49386779e-008, 2.53097255e-007, 2.53098563e-007, -1.32949481e-005, 1, 1.49050265e-008, 1, 1.32949544e-005))
  588. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(0.699999988, 0.699999988, 0.699999988))
  589. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.200000003, 0.200000003, 0.200000003))
  590. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.279750824, 2.44781303, -0.000444412231, 1.45382273e-007, 1, 2.08481797e-005, -2.08853876e-007, -2.08481761e-005, 1, 1, -1.45423428e-007, 2.08852413e-007))
  591. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.699999988, 0.699999988, 0.699999988))
  592. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.200000003, 0.200000003, 0.200000003))
  593. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.00043296814, -2.58781743, -0.279773712, 1, -5.67145435e-007, -2.54751899e-006, -2.54751376e-006, 1.19385704e-005, -1, 5.67138841e-007, 1, 1.19385777e-005))
  594. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(0.699999988, 0.699999988, 0.699999988))
  595. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.231000006, 0.200000003, 0.280000031))
  596. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.560119629, -2.59035707, -0.000175476074, 3.96057294e-006, -1, -2.42740825e-005, -2.09122135e-007, 2.42740789e-005, -1, 1, 3.96054475e-006, -2.09025103e-007))
  597. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.699999988, 1))
  598. Barrel=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Barrel",Vector3.new(0.200000003, 0.200000003, 0.280000031))
  599. Barrelweld=weld(m,FakeHandle,Barrel,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.562404633, -2.59142828, -0.000175476074, 3.96057203e-006, -1, -2.4095265e-005, -2.09117701e-007, 2.40952577e-005, -1, 1, 3.96054384e-006, -2.09021465e-007))
  600. mesh("CylinderMesh",Barrel,"","",Vector3.new(0, 0, 0),Vector3.new(0.945000052, 0.699999988, 1))
  601. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.420000017, 0.200000003, 0.280000031))
  602. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.559753418, -1.60731864, -0.000179290771, 1.45490958e-007, -1, -2.51584643e-005, -2.09002877e-007, 2.51584588e-005, -1, 1, 1.45459353e-007, -2.0899769e-007))
  603. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.699999988, 1))
  604. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.420000017, 0.200000003, 0.280000031))
  605. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.559776306, -2.16727662, -0.000164031982, 1.45485501e-007, -1, -2.33735591e-005, -2.08965247e-007, 2.33735518e-005, -1, 1, 1.45453555e-007, -2.08960316e-007))
  606. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.699999988, 1))
  607. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.420000017, 0.420000046, 0.280000031))
  608. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.559776306, -1.88730073, -0.000165939331, 1.45485956e-007, -1, -2.35518892e-005, -2.08967805e-007, 2.35518837e-005, -1, 1, 1.4545401e-007, -2.08962845e-007))
  609. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  610. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.420000017, 0.280000061, 0.280000031))
  611. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.559753418, -1.39711809, -0.000173568726, 1.45514491e-007, -1, -2.24795003e-005, -2.08946716e-007, 2.24794821e-005, -1, 1, 1.45416834e-007, -2.08939554e-007))
  612. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  613. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.420000017, 0.420000046, 0.200000003))
  614. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.559764862, -1.88847375, -0.000436782837, 1.45466288e-007, -1, -1.8521725e-005, -2.08988865e-007, 1.85217195e-005, -1, 1, 1.45433319e-007, -2.08984645e-007))
  615. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.699999988))
  616. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.420000017, 0.560000062, 0.200000003))
  617. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.559757233, -1.39839482, -0.000442504883, 1.45464355e-007, -1, -1.69149826e-005, -2.08905689e-007, 1.69149753e-005, -1, 1, 1.45431045e-007, -2.08901696e-007))
  618. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.699999988))
  619. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.420000046, 0.287, 0.420000017))
  620. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.559772491, 0.00134277344, -0.0700860023, -7.44953468e-008, -1, -4.73725959e-006, 1, -7.45317266e-008, -7.42083941e-008, 7.42095523e-008, -4.73725368e-006, 1))
  621. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  622. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.420000046, 0.287, 0.280000031))
  623. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.559783936, 0.00134277344, -0.420075655, -7.44639692e-008, -1, -5.6308827e-006, 1, -7.45658326e-008, -7.42004715e-008, 7.42039248e-008, -5.63086405e-006, 1))
  624. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  625. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.420000017, 0.280000001, 0.560000062))
  626. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.5598526, 1.52587891e-005, 1.11974049, 5.9590775e-008, 1, 2.51883012e-006, -1, 5.96276095e-008, 3.44174609e-008, 3.441885e-008, -2.51882193e-006, 1))
  627. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  628. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"Institutional white","Part",Vector3.new(0.200000003, 0.200000003, 0.200000003))
  629. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.00018119812, -0.844371796, 0.276464224, 1, -2.20552465e-011, 1.82033399e-011, -1.47792889e-011, 1, 1.78784603e-006, -1.66827021e-011, -1.78783966e-006, 1))
  630. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.735000134, 0.699999988, 0.699999988))
  631. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.280000001, 0.200000003, 0.280000091))
  632. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.769760132, 0.000406265259, -0.279969931, 5.95582605e-008, 1, 2.26564134e-006, -1, 5.96603513e-008, 3.44175426e-008, 3.44209745e-008, -2.26562315e-006, 1))
  633. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.699999988, 1))
  634. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.200000003, 0.700000048, 0.200000003))
  635. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.839698792, -0.0692727566, -0.000392913818, 1.45439344e-007, -1, -9.2651635e-006, -2.0875224e-007, 9.26515713e-006, -1, 1, 1.45404442e-007, -2.0874937e-007))
  636. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.699999988, 1, 0.699999988))
  637. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.200000003, 0.699999988, 0.200000003))
  638. Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.839668274, -0.768940926, -0.000394821167, 1.45451168e-007, -1, -1.17661502e-005, -2.08743202e-007, 1.17661421e-005, -1, 1, 1.45416834e-007, -2.08739948e-007))
  639. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.699999988, 1, 0.699999988))
  640.  
  641. Handleweld.Part0 = LeftLeg
  642. Handleweld.C0 = angles(-2, 0, 0) * cf(-.5, 1.3, 1)
  643.  
  644. local PE1 = Create("ParticleEmitter")
  645. PE1.Parent = Barrel
  646. PE1.Color = ColorSequence.new(BrickColor.new("Institutional white").Color)
  647. PE1.Transparency = NumberSequence.new(0)
  648. PE1.Size = NumberSequence.new(.5)
  649. PE1.Texture = "rbxassetid://257430870"
  650. PE1.Lifetime = NumberRange.new(.1)
  651. PE1.Rate = 100
  652. PE1.VelocitySpread = 180
  653. PE1.Rotation = NumberRange.new(0)
  654. PE1.Speed = NumberRange.new(0)
  655. PE1.LightEmission = .6
  656. PE1.LockedToPart = true
  657. PE1.Enabled = false
  658.  
  659.  
  660. local PE2 = PE1:Clone()
  661. PE2.Size = NumberSequence.new(.7)
  662. PE2.LightEmission = 1
  663. PE2.Texture = "rbxassetid://87729590"
  664.  
  665. local Lite = Create("PointLight")
  666.     Lite.Parent = Barrel
  667.     Lite.Color = BrickColor.new("Institutional white").Color
  668.     Lite.Shadows = true
  669.     Lite.Range = 10
  670.     Lite.Brightness = 0.5
  671.     Lite.Enabled = false
  672.  
  673.  
  674. function Equip()
  675.     attack = true
  676.     equipped = true
  677.     RSH.Parent = nil
  678.     LSH.Parent = nil
  679.  
  680.     RHP.Parent = nil
  681.     LHP.Parent = nil
  682.  
  683.     RW = Create("Weld")
  684.         RW.Name = "Right Shoulder"
  685.         RW.Part0 = Torso
  686.         RW.C0 = cf(1.5, 0.5, 0)
  687.         RW.C1 = cf(0, 0.5, 0)
  688.         RW.Part1 = RightArm
  689.         RW.Parent = Torso
  690.    
  691.  
  692.     LW = Create("Weld")
  693.         LW.Name = "Left Shoulder"
  694.         LW.Part0 = Torso
  695.         LW.C0 = cf(-1.5, 0.5, 0)
  696.         LW.C1 = cf(0, 0.5, 0)
  697.         LW.Part1 = LeftArm
  698.         LW.Parent = Torso
  699.    
  700.  
  701.     RH = Create("Weld")
  702.         RH.Part0 = Torso
  703.         RH.C0 = cf(0, -1.5, 0) --* euler(1.3, 0, -0.5)
  704.         RH.C1 = cf(-0.5, 0.5, 0)
  705.         RH.Part1 = Character["Right Leg"]
  706.         RH.Parent = Torso
  707.    
  708.  
  709.     LH = Create("Weld")
  710.         LH.Part0 = Torso
  711.         LH.C0 = cf(0, -1.5, 0) --* euler(1.3, 0, -0.5)
  712.         LH.C1 = cf(0.5, 0.5, 0)
  713.         LH.Part1 = Character["Left Leg"]
  714.         LH.Parent = Torso
  715.    
  716.  
  717.     for i = 0, 1, 0.1 do
  718.         swait()
  719.         RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
  720.         Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(30), math.rad(0), math.rad(30)), .3)
  721.         RW.C0 = clerp(RW.C0, CFrame.new(0, 0.2, -.5) * angles(math.rad(20), math.rad(0), math.rad(-50)), 0.3)
  722.         LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-5), math.rad(0), math.rad(-10)), 0.3)
  723.         RH.C0 = clerp(RH.C0, cf(0.03, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(2)), .3)
  724.         LH.C0 = clerp(LH.C0, cf(-0.03, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-2)), .3)
  725.     end
  726.     Handleweld.Part0 = RightArm
  727.     Handleweld.C0 = euler(0, 0, 0) * cf(0, 0, 0)
  728.     attack = false
  729. end
  730.  
  731. function Unequip()
  732.     equipped = false
  733.     attack = true
  734.     for i = 0, 1, 0.1 do
  735.         swait()
  736.         RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
  737.         Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(30), math.rad(0), math.rad(30)), .3)
  738.         RW.C0 = clerp(RW.C0, CFrame.new(.5, 0.2, -.7) * angles(math.rad(20), math.rad(0), math.rad(-50)), 0.3)
  739.         LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-30), math.rad(0), math.rad(-30)), 0.3)
  740.         RH.C0 = clerp(RH.C0, cf(0.05, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(5)), .3)
  741.         LH.C0 = clerp(LH.C0, cf(-0.05, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-5)), .3)
  742.         --Handleweld.C0 = clerp(Handleweld.C0, cf(0, 0, 0) *euler(math.pi/2,0,math.pi/2), .3)
  743.     end
  744.     Handleweld.Part0 = LeftLeg
  745.     Handleweld.C0 = angles(-2, 0, 0) * cf(-.5, 1.3, 1)
  746.     RW.Parent = nil
  747.     LW.Parent = nil
  748.     RH.Parent = nil
  749.     LH.Parent = nil
  750.     RSH.Parent = Torso
  751.     LSH.Parent = Torso
  752.     RHP.Parent = Torso
  753.     LHP.Parent = Torso
  754.     Torso.Neck.C0 = necko
  755.     RootJoint.C0 = RootCF
  756.     RW.C0 = cf(1.5, 0.5, 0) * euler(0, 0, 0)
  757.     RW.C1 = cf(0, 0.5, 0) * euler(0, 0, 0)
  758.     LW.C0 = cf(-1.5, 0.5, 0) * euler(0, 0, 0)
  759.     LW.C1 = cf(0, 0.5, 0) * euler(0, 0, 0)
  760.     attack = false
  761. end
  762.  
  763. function CylinderEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  764.     local prt = part(3, Character, "Neon", 0, 0, brickcolor, "Effect", vt(0.2, 0.2, 0.2))
  765.     prt.Anchored = true
  766.     prt.CFrame = cframe
  767.     local msh = mesh("CylinderMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
  768.     game:GetService("Debris"):AddItem(prt, 5)
  769.     Effects[#Effects + 1] = {
  770.         prt,
  771.         "Cylinder",
  772.         delay,
  773.         x3,
  774.         y3,
  775.         z3
  776.     } --part, type, delay
  777. end
  778.  
  779. function MagnitudeDamage(Hit, Part, magni, mindam, maxdam, knock, Type)
  780.     for _, c in pairs(workspace:children()) do
  781.         local hum = c:findFirstChild("Humanoid")
  782.         if hum ~= nil then
  783.             local head = c:findFirstChild("Torso")
  784.             if head ~= nil then
  785.                 local targ = head.Position - Part.Position
  786.                 local mag = targ.magnitude
  787.                 if mag <= magni and c.Name ~= Player.Name then
  788.                     Damagefunc(Hit, head, mindam, maxdam, knock, Type, RootPart, 0, "rbxassetid://199149186", 1)
  789.                 end
  790.             end
  791.         end
  792.     end
  793. end
  794.  
  795. RailgunTarget = RootPart
  796. function Laser(asd)
  797. local MouseLook=cf((asd.Position+mouse.Hit.p)/2,mouse.Hit.p)
  798. local hit,pos = rayCast(asd.Position,MouseLook.lookVector,999,RailgunTarget.Parent)
  799. local mag=(asd.Position-pos).magnitude
  800. CylinderEffect(BrickColor.new("Institutional white"),CFrame.new((asd.Position+pos)/2,pos)*angles(1.57,0,0),1,mag*5,1,1.2,0,1.2,0.1)
  801. CylinderEffect(BrickColor.new("Really black"),CFrame.new((asd.Position+pos)/2,pos)*angles(1.57,0,0),1,mag*5,.5,1,0,.5,0.1)
  802. if hit~=nil then
  803. local ref=part(3,workspace,"SmoothPlastic",0,1,BrickColor.new("Institutional white"),"Reference",vt())
  804. ref.Anchored=true
  805. ref.CFrame=cf(pos)
  806. game:GetService("Debris"):AddItem(ref,1)
  807. Damagefunc(ref,hit,20,90,0,"Normal",RootPart,0)
  808. end
  809. end
  810.  
  811. RocketTarget = RootPart
  812. function Shoot(asd, spread1, spread2)
  813.     local MainPos = asd.Position
  814.     local MainPos2 = mouse.Hit.p
  815.     local spread = vt((math.random(-spread1, 0) + math.random()) * spread2, (math.random(-spread1, 0) + math.random()) * spread2, (math.random(-spread1, 0) + math.random()) * spread2) * (asd.Position - mouse.Hit.p).magnitude / 100
  816.     local MouseLook = cf((MainPos + MainPos2) / 2, MainPos2 + spread)
  817.     num = 30
  818.     coroutine.resume(coroutine.create(function(Spreaded)
  819.         repeat
  820.             wait()
  821.             local hit, pos = rayCast(MainPos, MouseLook.lookVector, 10, RocketTarget.Parent)
  822.             local TheHit = mouse.Hit.p
  823.             local mag = (MainPos - pos).magnitude
  824.             CylinderEffect(BrickColor.new("Institutional white"), CFrame.new((MainPos + pos) / 2, pos) * angles(1.57, 0, 0), 3, mag * 5, 3, .5, 0, 1.5, 0.1)
  825.             MainPos = MainPos + (MouseLook.lookVector * 10)
  826.             num = num - 1
  827.             if hit ~= nil then
  828.                 num = 0
  829.                 local ref = part(3, workspace, "Neon", 0, 1, BrickColor.new("Institutional white"), "Reference", vt())
  830.                 ref.Anchored = true
  831.                 ref.CFrame = cf(pos)
  832.                 MagnitudeDamage(ref, hit, 5, 10, 20, 1, "Normal")
  833.                 game:GetService("Debris"):AddItem(ref, 5)
  834.             end
  835.         until num <= 0
  836.     end))
  837. end
  838.  
  839. function ChargeEffect(part, x1, y1, z1, x2, y2, z2, x3, y3, z3, color)
  840.     local S = Create("Part")
  841.     S.Material = "SmoothPlastic"
  842.     S.Name = "Effect"
  843.     S.formFactor = 0
  844.     S.Size = vt(x1, y1, z1)
  845.     S.BrickColor = color
  846.     S.Reflectance = 0
  847.     S.TopSurface = 0
  848.     S.BottomSurface = 0
  849.     S.Transparency = 0
  850.     S.Anchored = false
  851.     S.CanCollide = false
  852.     S.Material = "Neon"
  853.     S.CFrame = part.CFrame * cf(x2, y2, z2) * euler(x3, y3, z3)
  854.     S.Parent = m
  855.    
  856.     local msh1 = Create("SpecialMesh")
  857.     msh1.Scale = vt(0.5, 0.5, 0.5)
  858.     msh1.MeshType = "Sphere"
  859.     msh1.Parent = S
  860.    
  861.     coroutine.resume(coroutine.create(function(Part, CF)
  862.         local f = Instance.new("BodyPosition")
  863.         f.P = 800
  864.         f.D = 100
  865.         f.maxForce = vt(math.huge, math.huge, math.huge)
  866.         f.position = part.Position
  867.         f.Parent = Part
  868.         for i = 0, 1, 0.1 do
  869.             wait()
  870.             Part.Transparency = Part.Transparency + 0.1
  871.         end
  872.         Part.Parent = nil
  873.     end), S, S.CFrame)
  874. end
  875.  
  876. local lasrs = {}
  877. local lasrspd = 3
  878. local maxTravelDistance = 500
  879. local maxRebounds = 20
  880.  
  881. function RAY(pos, dir, collidedlist, startpos, endpos, distleft)
  882.     collidedlist = collidedlist or {Character}
  883.     startpos = startpos or pos
  884.     distleft = distleft or dir.unit * dir.magnitude
  885.     endpos = endpos or pos + distleft
  886.     local ray = Ray.new(pos, distleft)
  887.     local hitz,enz = workspace:FindPartOnRayWithIgnoreList(ray, collidedlist)
  888.     if hitz ~= nil and not hitz.Parent:findFirstChild("Humanoid") then
  889.         if hitz.CanCollide == false then
  890.             table.insert(collidedlist, hitz)
  891.             local newpos = enz
  892.             local newdistleft = distleft - (dir.unit * (pos - newpos).magnitude)
  893.             if newdistleft then
  894.                 return RAY(newpos-(dir*0.01), dir, collidedlist, startpos, endpos, newdistleft+(dir*0.01))
  895.             end
  896.         end
  897.     end
  898.     return hitz, enz, ray
  899. end
  900.  
  901. function FindSurface(part, position)
  902.     local obj = part.CFrame:pointToObjectSpace(position)
  903.     local siz = part.Size/2
  904.     for i,v in pairs(Enum.NormalId:GetEnumItems()) do
  905.         local vec = Vector3.FromNormalId(v)
  906.         local wvec = part.CFrame:vectorToWorldSpace(vec)
  907.         local vz = (obj)/(siz*vec)
  908.         if (math.abs(vz.X-1) < 0.001 or math.abs(vz.Y-1) < 0.001 or math.abs(vz.Z-1) < 0.001) then
  909.             return wvec,vec
  910.         end
  911.     end
  912.     if part.className == "WedgePart" then
  913.         local pos = (part.CFrame * CFrame.new(0,part.Size.y/2,part.Size.z/2)).p
  914.         local apos = (part.CFrame * CFrame.Angles(-math.atan2(part.CFrame:pointToObjectSpace(pos).y,part.CFrame:pointToObjectSpace(pos).z),0,0) * CFrame.new(0,1,0)).p
  915.         local wvec,vec = (apos - part.Position).unit, part.CFrame:pointToObjectSpace(apos)
  916.         return wvec,vec
  917.     elseif part.className == "Part" and (part.Shape.Name == "Ball" or part.Shape.Name == "Cylinder") then
  918.         return (position - part.Position).unit, part.CFrame:vectorToObjectSpace((position - part.Position).unit)
  919.     end
  920. end
  921.  
  922. function Reflect(direction, normal)
  923.     return direction - 2 * normal:Dot(direction) * normal
  924. end
  925.  
  926. function ReflectShot(mouse)
  927.     local dir = (mouse.Hit.p - Torso.Position).unit
  928.     local tabl
  929.     local tablnum = 0
  930.     for i, v in pairs(lasrs) do
  931.         if not v[1] then
  932.             tabl = v
  933.             tablnum = i
  934.             break
  935.         end
  936.     end
  937.     if not tabl then
  938.         tablnum = #lasrs + 1
  939.         tabl = {false,nil,nil,0,0,1,{},{},{},{}}
  940.         for i = 1, 2 do
  941.             for j = 1, 6 do
  942.                 local p = Instance.new("Part")
  943.                 p.FormFactor = "Custom"
  944.                 p.CanCollide = false
  945.                 p.Anchored = true
  946.                 p.Locked = true
  947.                 p.BrickColor = BrickColor.new("Institutional white")
  948.                 p.TopSurface = 10
  949.                 p.BottomSurface = 10
  950.                 p.RightSurface = 10
  951.                 p.LeftSurface = 10
  952.                 p.FrontSurface = 10
  953.                 p.BackSurface = 10
  954.                 p.Size = Vector3.new(1,1,1)
  955.                 p.Material = "Neon"
  956.                 p.Transparency = i == 1 and 0 or 0.6
  957.                 p.Touched:connect(function(hit)
  958.                 hit.Parent.Humanoid:TakeDamage(30)
  959.                 end)
  960.                 local mesh = Instance.new("CylinderMesh",p)
  961.                 table.insert(tabl[6+i],p)
  962.                 table.insert(tabl[8+i],mesh)
  963.             end
  964.         end
  965.         table.insert(lasrs,tabl)
  966.     end
  967.     -- isMoving,direction,lastPosition,rebounds,distance,recycleCount,middleLayer,outerLayer
  968.     tabl[4],tabl[5] = 0,0
  969.     tabl[3] = Barrel.Position
  970.     tabl[2] = dir
  971.     tabl[1] = true
  972.  
  973. end
  974.  
  975. local MultiShoot = false
  976. local gun = false
  977. local shoot = false
  978. local Obliterate = false
  979. local LaserMode = false
  980. function Aim()
  981.     attack = true
  982.     gun = true
  983.     for i = 0, 1, 0.2 do
  984.         swait()
  985.         RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), .5)
  986.         Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(-90)), .5)
  987.         RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(90)), 0.5)
  988.         LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-10), math.rad(0), math.rad(-20)), 0.5)
  989.         RH.C0 = clerp(RH.C0, cf(0.05, -1.5, 0) * angles(math.rad(5), math.rad(0), math.rad(5)), .5)
  990.         LH.C0 = clerp(LH.C0, cf(-0.05, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-5)), .5)
  991.     end
  992.     RootJoint.C0 = RootCF * cf(0, 0, 0) * euler(0, 0, 1.57)
  993.     RW.C0 = cf(1.5, 0.5, 0) * euler(1.57, 0, 1.57)
  994.     local gairo = Create("BodyGyro")
  995.     gairo.Parent = RootPart
  996.     gairo.maxTorque = Vector3.new(4e+005, 4e+005, 4e+005) * math.huge
  997.     gairo.P = 20e+003
  998.     gairo.cframe = RootPart.CFrame
  999.    
  1000.     local offset = nil
  1001.     while gun == true do
  1002.         swait()
  1003.         local gunpos = vt(mouse.Hit.p.x, Head.Position.Y, mouse.Hit.p.z)
  1004.         offset = (Torso.Position.y - mouse.Hit.p.y) / 60
  1005.         local mag = (Torso.Position - mouse.Hit.p).magnitude / 80
  1006.         offset = offset / mag
  1007.         gairo.cframe = cf(Head.Position, gunpos)
  1008.         Neck.C0 = clerp(Neck.C0, necko * euler(0, 0, -1.57), .3)
  1009.         RW.C1 = clerp(RW.C1, cf(0, 0.5, 0) * euler(offset, 0, 0), .5)
  1010.     end
  1011.     if shoot == true then
  1012.         gairo.Parent = nil
  1013.         PE1.Enabled,PE2.Enabled = true,true
  1014.         Lite.Enabled = true
  1015.         for i = 0, 1, 0.1 do
  1016.             swait()
  1017.             RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), .3)
  1018.             Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(5), math.rad(-90)), .3)
  1019.             RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(90), math.rad(50), math.rad(90)), 0.3)
  1020.             LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(-40)), 0.3)
  1021.             RH.C0 = clerp(RH.C0, cf(0.05, -1.5, 0) * angles(math.rad(5), math.rad(0), math.rad(5)), .3)
  1022.             LH.C0 = clerp(LH.C0, cf(-0.05, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-5)), .3)
  1023.             FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) * angles(math.rad(30), math.rad(0), math.rad(0)), .3)
  1024.         end
  1025.         Lite.Enabled = false
  1026.         PE1.Enabled,PE2.Enabled = false,false
  1027.     elseif MultiShoot == true then
  1028.         gairo.Parent = nil
  1029.         for i = 1,5 do
  1030.         so("rbxassetid://199144089", Barrel, 1, 1.1)
  1031.         Shoot(Barrel, .2, 1)
  1032.         PE1.Enabled,PE2.Enabled = true,true
  1033.         Lite.Enabled = true
  1034.         for i = 0,1,1 do
  1035.             swait()
  1036.             RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), .5)
  1037.             Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(2), math.rad(-90)), .5)
  1038.             RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(90), math.rad(50), math.rad(90)), 0.5)
  1039.             LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(-40)), 0.5)
  1040.             RH.C0 = clerp(RH.C0, cf(0.05, -1.5, 0) * angles(math.rad(5), math.rad(0), math.rad(5)), .5)
  1041.             LH.C0 = clerp(LH.C0, cf(-0.05, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-5)), .5)
  1042.             FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) * angles(math.rad(30), math.rad(0), math.rad(0)), .3)
  1043.         end
  1044.         PE1.Enabled,PE2.Enabled = false,false
  1045.         Lite.Enabled = false
  1046.         for i = 0,1,1 do
  1047.             swait()
  1048.             RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), .5)
  1049.             Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(-90)), .5)
  1050.             RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(90)), 0.5)
  1051.             LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-10), math.rad(0), math.rad(-20)), 0.5)
  1052.             RH.C0 = clerp(RH.C0, cf(0.05, -1.5, 0) * angles(math.rad(5), math.rad(0), math.rad(5)), .5)
  1053.             LH.C0 = clerp(LH.C0, cf(-0.05, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-5)), .5)
  1054.             FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
  1055.         end
  1056.        end
  1057.     elseif LaserMode == true then
  1058.         gairo.Parent = nil
  1059.         so("rbxassetid://161006157", Barrel, 1, .9)
  1060.         so("rbxassetid://161006131", Barrel, 1, 1.2)
  1061.         for i = 1, 30 do
  1062.             swait()
  1063.             ChargeEffect(Barrel, 2, 2, 2, math.random(-10, 10), math.random(-10, 10), math.random(-10, 10), 0, 0, 0, BrickColor.new("Institutional white"))
  1064.         end
  1065.         so("rbxassetid://199144089", Barrel, 1, .8)
  1066.         so("rbxassetid://199144089", Barrel, 1, .5)
  1067.         Laser(Barrel)
  1068.         PE1.Enabled,PE2.Enabled = true,true
  1069.         Lite.Enabled = true
  1070.         for i = 0, 1, 0.1 do
  1071.             swait()
  1072.             RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), .3)
  1073.             Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(5), math.rad(-90)), .3)
  1074.             RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(90), math.rad(50), math.rad(90)), 0.3)
  1075.             LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(-40)), 0.3)
  1076.             RH.C0 = clerp(RH.C0, cf(0.05, -1.5, 0) * angles(math.rad(5), math.rad(0), math.rad(5)), .3)
  1077.             LH.C0 = clerp(LH.C0, cf(-0.05, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-5)), .3)
  1078.             FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) * angles(math.rad(30), math.rad(0), math.rad(0)), .3)
  1079.         end
  1080.         PE1.Enabled,PE2.Enabled = false,false
  1081.         Lite.Enabled = false
  1082.     elseif Obliterate == true then
  1083.         gairo.Parent = nil
  1084.         so("rbxassetid://161006157", Barrel, 1, .7)
  1085.         so("rbxassetid://161006131", Barrel, 1, 1)
  1086.         for i = 1, 60 do
  1087.             swait()
  1088.             ChargeEffect(Barrel, 2, 2, 2, math.random(-10, 10), math.random(-10, 10), math.random(-10, 10), 0, 0, 0, BrickColor.new("Institutional white"))
  1089.         end
  1090.         for i = 1, 5 do
  1091.             so("rbxassetid://199144089", Barrel, 1, .8)
  1092.             for i = 1, 5 do
  1093.                 Shoot(Barrel, 1, 3)
  1094.             end
  1095.             PE1.Enabled,PE2.Enabled = true,true
  1096.             Lite.Enabled = true
  1097.             for i = 0, 1, 0.2 do
  1098.                 swait()
  1099.                 RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), .5)
  1100.                 Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(5), math.rad(-90)), .5)
  1101.                 RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.8, 0) * angles(math.rad(90), math.rad(50), math.rad(90)), 0.5)
  1102.                 LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(-40)), 0.5)
  1103.                 RH.C0 = clerp(RH.C0, cf(0.05, -1.5, 0) * angles(math.rad(5), math.rad(0), math.rad(5)), .5)
  1104.                 LH.C0 = clerp(LH.C0, cf(-0.05, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-5)), .5)
  1105.                 FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) * angles(math.rad(30), math.rad(0), math.rad(0)), .3)
  1106.             end
  1107.         PE1.Enabled,PE2.Enabled = false,false
  1108.         Lite.Enabled = false
  1109.             for i = 0, 1, 0.2 do
  1110.                 swait()
  1111.                 RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), .3)
  1112.                 Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(-90)), .3)
  1113.                 RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(90)), 0.3)
  1114.                 LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-10), math.rad(0), math.rad(-20)), 0.3)
  1115.                 RH.C0 = clerp(RH.C0, cf(0.05, -1.5, 0) * angles(math.rad(5), math.rad(0), math.rad(5)), .3)
  1116.                 LH.C0 = clerp(LH.C0, cf(-0.05, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-5)), .3)
  1117.                 FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
  1118.             end
  1119.         end
  1120.        
  1121.             for i = 0, 1, 0.1 do
  1122.                 swait()
  1123.                 RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(50)), .3)
  1124.                 Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(5), math.rad(-5), math.rad(-55)), .3)
  1125.                 RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.5, -.5) * angles(math.rad(0), math.rad(130), math.rad(80)), 0.3)
  1126.                 LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-10), math.rad(0), math.rad(-20)), 0.3)
  1127.                 RH.C0 = clerp(RH.C0, cf(0.05, -1.5, 0) * angles(math.rad(5), math.rad(0), math.rad(5)), .3)
  1128.                 LH.C0 = clerp(LH.C0, cf(-0.05, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-5)), .3)
  1129.                 FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) * angles(math.rad(10), math.rad(0), math.rad(0)), .3)
  1130.             end
  1131.         so("rbxassetid://161006157", Barrel, 1, .9)
  1132.         so("rbxassetid://161006131", Barrel, 1, 1.2)
  1133.         for i = 1, 30 do
  1134.             swait()
  1135.             ChargeEffect(Barrel, 2, 2, 2, math.random(-10, 10), math.random(-10, 10), math.random(-10, 10), 0, 0, 0, BrickColor.new("Institutional white"))
  1136.         end
  1137.             for i = 0, 1, 0.05 do
  1138.                 swait()
  1139.                 RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), .3)
  1140.                 Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(1), math.rad(-85)), .3)
  1141.                 RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), 0.3)
  1142.                 LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-10), math.rad(0), math.rad(-20)), 0.3)
  1143.                 RH.C0 = clerp(RH.C0, cf(0.05, -1.5, 0) * angles(math.rad(5), math.rad(0), math.rad(5)), .3)
  1144.                 LH.C0 = clerp(LH.C0, cf(-0.05, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-5)), .3)
  1145.                 FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) * angles(math.rad(20), math.rad(0), math.rad(0)), .3)
  1146.             end
  1147.         so("rbxassetid://199144089", Barrel, 1, .8)
  1148.         so("rbxassetid://199144089", Barrel, 1, .9)
  1149.         so("rbxassetid://199144089", Barrel, 1, .6)
  1150.             for i = 1, 20 do
  1151.                 Shoot(Barrel, 1.5, 5)
  1152.             end
  1153.             PE1.Enabled,PE2.Enabled = true,true
  1154.             Lite.Enabled = true
  1155.             for i = 0, 1, 0.05 do
  1156.                 swait()
  1157.                 RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), .5)
  1158.                 Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(10), math.rad(-90)), .5)
  1159.                 RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.8, 0) * angles(math.rad(0), math.rad(50), math.rad(120)), 0.5)
  1160.                 LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-10), math.rad(0), math.rad(-20)), 0.5)
  1161.                 RH.C0 = clerp(RH.C0, cf(0.05, -1.5, 0) * angles(math.rad(5), math.rad(0), math.rad(5)), .5)
  1162.                 LH.C0 = clerp(LH.C0, cf(-0.05, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-5)), .5)
  1163.             end
  1164.             PE1.Enabled,PE2.Enabled = false,false
  1165.             Lite.Enabled = false
  1166.     end
  1167.     gairo.Parent = nil
  1168.     shoot = false
  1169.     attack = false
  1170. end
  1171.  
  1172. mouse.Button1Down:connect(function()
  1173.     if gun == true then
  1174.         shoot = true
  1175.         so("rbxassetid://199144089", Barrel, 1, 1)
  1176.         Shoot(Barrel, 0, 0)
  1177.         gun = false
  1178.     end
  1179. end)
  1180.  
  1181.  
  1182.  
  1183. mouse.KeyDown:connect(function(k)
  1184.     k = k:lower()
  1185.     if attack == false and equipped == false and k == 'e' then
  1186.         Equip()
  1187.     elseif attack == false and equipped == true and k == 'e' then
  1188.         Unequip()
  1189.     elseif attack == false and equipped == true and k == 'f' then
  1190.         Aim()
  1191.     elseif equipped == true and k == 'f' then
  1192.         shoot = false
  1193.     elseif equipped == true and gun == true and k == 'q' then
  1194.         shoot = true
  1195.         so("rbxassetid://199144089", Barrel, 1, .8)
  1196.         for i = 1, 5 do
  1197.             Shoot(Barrel, 1, 3)
  1198.             gun = false
  1199.         end
  1200.     elseif equipped == true and gun == true and k == 'e' then
  1201.         MultiShoot = true
  1202.         gun = false
  1203.     elseif equipped == true and gun == true and k == 'r' then
  1204.         MultiShoot = false
  1205.         LaserMode = true
  1206.         gun = false
  1207.     elseif equipped == true and attack == true and gun == true and k == 't' then
  1208.         MultiShoot = false
  1209.         Obliterate = true
  1210.         LaserMode = false
  1211.         gun = false
  1212.     elseif equipped == true and attack == true and gun == true and k == 'g' then
  1213.         shoot = true
  1214.         ReflectShot(mouse)
  1215.         so("rbxassetid://199144089", Barrel, 1, .8)
  1216.         so("rbxassetid://199144089", Barrel, 1, .5)
  1217.         gun = false
  1218.     end
  1219. end)
  1220.  
  1221. game:GetService("RunService").Stepped:connect(function()
  1222.     for _, lasr in pairs(lasrs) do
  1223.         for i, v in pairs(lasr[9]) do
  1224.             if lasr[7][i].Parent then
  1225.                 v.Scale = v.Scale + Vector3.new(-0.1,0,-0.1)
  1226.                 lasr[10][i].Scale = lasr[10][i].Scale + Vector3.new(-0.1,0,-0.1)
  1227.                 if v.Scale.x < 0.1 then
  1228.                     lasr[7][i].Parent = nil
  1229.                     lasr[8][i].Parent = nil
  1230.                 end
  1231.             end
  1232.         end
  1233.  
  1234.         if lasr[1] then
  1235.             local hitz, enz = RAY(lasr[3],lasr[2]*lasrspd)
  1236.             lasr[5] = lasr[5] + (lasr[3] - enz).magnitude
  1237.  
  1238.             lasr[7][lasr[6]].Parent = m
  1239.             lasr[7][lasr[6]].CFrame = CFrame.new((lasr[3] + enz)/2,enz) * CFrame.Angles(math.pi/2,0,0)
  1240.             lasr[9][lasr[6]].Scale = Vector3.new(0.7,(lasr[3] - enz).magnitude*5,0.7)
  1241.  
  1242.             lasr[8][lasr[6]].Parent = m
  1243.             lasr[8][lasr[6]].CFrame = lasr[7][lasr[6]].CFrame
  1244.             lasr[10][lasr[6]].Scale = Vector3.new(1.3,(lasr[3] - enz).magnitude*5 + 0.02,1.3)
  1245.  
  1246.             lasr[3] = enz
  1247.             lasr[6] = lasr[6]%#lasr[7] + 1
  1248.  
  1249.             if hitz then
  1250.                 lasr[4] = lasr[4] + 1
  1251.                 if lasr[4] == maxRebounds then
  1252.                     lasr[1] = false
  1253.                 else
  1254.                     local norm = FindSurface(hitz,enz)
  1255.                     lasr[2] = Reflect(lasr[2],norm)
  1256.                 end
  1257.             end
  1258.             if lasr[5] > maxTravelDistance then
  1259.                 lasr[1] = false
  1260.             end
  1261.         end
  1262.     end
  1263. end)
  1264.  
  1265. local sine = 0
  1266. local change = 1
  1267. local val = 0
  1268. local idle = 0
  1269. local donum = 0
  1270.  
  1271. while true do
  1272.     swait()
  1273.     sine = sine + change
  1274.     mouse.Icon = "http://www.roblox.com/asset/?id=296383647"
  1275.     local torvel = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
  1276.     local velderp = RootPart.Velocity.y
  1277.     hitfloor, posfloor = rayCast(RootPart.Position, (CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0))).lookVector, 4, Character)
  1278.     if equipped == true then
  1279.         if attack == false then
  1280.             idle = idle + 1
  1281.         else
  1282.             idle = 0
  1283.         end
  1284.         if idle >= 500 then
  1285.             if attack == false then
  1286.             end
  1287.         end
  1288.         if donum >= .5 then
  1289.             handidle = true
  1290.         elseif donum <= 0 then
  1291.             handidle = false
  1292.         end
  1293.         if handidle == false then
  1294.             donum = donum + 0.003
  1295.         else
  1296.             donum = donum - 0.003
  1297.         end
  1298.         if RootPart.Velocity.y > 1 and hitfloor == nil then
  1299.             Anim = "Jump"
  1300.             if attack == false then
  1301.                 RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3)
  1302.                 Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(10), math.rad(0), math.rad(0)), .3)
  1303.                 RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(30)), 0.3)
  1304.                 LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-10), math.rad(0), math.rad(-20)), 0.3)
  1305.                 RH.C0 = clerp(RH.C0, cf(.05, -1.5, .5) * angles(math.rad(-20), math.rad(0), math.rad(5)), .3)
  1306.                 LH.C0 = clerp(LH.C0, cf(-.05, -1.5, .5) * angles(math.rad(-20), math.rad(0), math.rad(-5)), .3)
  1307.                 FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
  1308.                 RW.C1 = clerp(RW.C1, cf(0, 0.5, 0) * euler(0, 0, 0), .3)
  1309.             end
  1310.         elseif RootPart.Velocity.y < -1 and hitfloor == nil then
  1311.             Anim = "Fall"
  1312.             if attack == false then
  1313.                 RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
  1314.                 Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(20), math.rad(0), math.rad(0)), .3)
  1315.                 RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-30), math.rad(0), math.rad(40)), 0.3)
  1316.                 LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(-30)), 0.3)
  1317.                 RH.C0 = clerp(RH.C0, cf(0.05, -1.5, -.2) * angles(math.rad(10), math.rad(0), math.rad(5)), .3)
  1318.                 LH.C0 = clerp(LH.C0, cf(-0.05, -1.5, -.2) * angles(math.rad(10), math.rad(0), math.rad(-5)), .3)
  1319.                 FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
  1320.                 RW.C1 = clerp(RW.C1, cf(0, 0.5, 0) * euler(0, 0, 0), .3)
  1321.             end
  1322.         elseif torvel < 1 and hitfloor ~= nil then
  1323.             Anim = "Idle"
  1324.             if attack == false then
  1325.                 RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(5) + donum / 3, math.rad(0), math.rad(30)), .3)
  1326.                 Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(.5) - donum / 3, math.rad(.5) + donum / 3, math.rad(-30)), .3)
  1327.                 RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(50), math.rad(0), math.rad(5) + donum / 2), 0.3)
  1328.                 LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-5) + donum / 2, math.rad(0), math.rad(-10)), 0.3)
  1329.                 RH.C0 = clerp(RH.C0, cf(.2, -1.5, -.5) * angles(math.rad(5) + donum / 2, math.rad(-30), math.rad(5) + donum / 5), .3)
  1330.                 LH.C0 = clerp(LH.C0, cf(0, -1.5 - donum / 3.5, 0) * angles(math.rad(5) + donum / 3, math.rad(-10), math.rad(0)), .3)
  1331.                 FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
  1332.                 RW.C1 = clerp(RW.C1, cf(0, 0.5, 0) * euler(0, 0, 0), .3)
  1333.             end
  1334.         elseif torvel > 2 and hitfloor ~= nil then
  1335.             Anim = "Walk"
  1336.             if attack == false then
  1337.                 change = 3
  1338.                 RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(20) + donum / 2, math.rad(0), math.rad(0)), .3)
  1339.                 Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(-10) - donum / 2, math.rad(0), math.rad(0)), .3)
  1340.                 RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-50) + donum / 2, math.rad(0), math.rad(5) + donum / 2), 0.3)
  1341.                 LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(20) + donum / 2, math.rad(0), math.rad(-5) - donum / 2), 0.3)
  1342.                 RH.C0 = clerp(RH.C0, cf(0, -1.5, -.7 * math.cos(sine / 10)) * angles(math.rad(50 * math.cos(sine / 10)), math.rad(0), math.rad(3)), .3)
  1343.                 LH.C0 = clerp(LH.C0, cf(0, -1.5, .7 * math.cos(sine / 10)) * angles(math.rad(-50 * math.cos(sine / -10)), math.rad(0), math.rad(-3)), .3)
  1344.                 FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
  1345.                 RW.C1 = clerp(RW.C1, cf(0, 0.5, 0) * euler(0, 0, 0), .3)
  1346.             end
  1347.         end
  1348.     end
  1349.     if #Effects > 0 then
  1350.         for e = 1, #Effects do
  1351.             if Effects[e] ~= nil then
  1352.                 local Thing = Effects[e]
  1353.                 if Thing ~= nil then
  1354.                     local Part = Thing[1]
  1355.                     local Mode = Thing[2]
  1356.                     local Delay = Thing[3]
  1357.                     local IncX = Thing[4]
  1358.                     local IncY = Thing[5]
  1359.                     local IncZ = Thing[6]
  1360.                     if Thing[1].Transparency <= 1 then
  1361.                         if Thing[2] == "Block1" then
  1362.                             Thing[1].CFrame = Thing[1].CFrame * euler(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
  1363.                             Mesh = Thing[1].Mesh
  1364.                             Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
  1365.                             Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1366.                         elseif Thing[2] == "Cylinder" then
  1367.                             Mesh = Thing[1].Mesh
  1368.                             Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
  1369.                             Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1370.                         elseif Thing[2] == "Blood" then
  1371.                             Mesh = Thing[7]
  1372.                             Thing[1].CFrame = Thing[1].CFrame * cf(0, .5, 0)
  1373.                             Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
  1374.                             Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1375.                         elseif Thing[2] == "Elec" then
  1376.                             Mesh = Thing[1].Mesh
  1377.                             Mesh.Scale = Mesh.Scale + vt(Thing[7], Thing[8], Thing[9])
  1378.                             Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1379.                         elseif Thing[2] == "Disappear" then
  1380.                             Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1381.                         end
  1382.                     else
  1383.                         Part.Parent = nil
  1384.                         table.remove(Effects, e)
  1385.                     end
  1386.                 end
  1387.             end
  1388.         end
  1389.     end
  1390. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement