V3rmLua33

Nswords

Feb 23rd, 2015
351
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local _CODE = "_NSword"
  2.  
  3.  --==================================================-VARIABLES-==================================================--
  4.  
  5. local player = game:GetService("Players").LocalPlayer
  6. local char = player.Character
  7. local huma = char:FindFirstChild("Humanoid")
  8. local initialized, disconnectRequest = false, false
  9. local model,suited,use,processing,animate,gtarget,gs = false,false,false,false,false,false,true
  10. local w,a,s,d = false,false,false,false
  11. local bindKeyDown,bindKeyUp = false,false
  12. local hit,trail,lighting,shirt,bin = false, false, false, false, false
  13. local bPos, bGyro = Instance.new("BodyPosition"), Instance.new("BodyGyro")
  14. local delete = true
  15. local prt,_jnt,_mdl,_prt,_kup,_kdn,_mse,ms = {}
  16. local combo = 0
  17. local tol = 4
  18. local mode = 0
  19. local cfs = false
  20. local jumping = false
  21. local buttonDown = false
  22. local shirtColor = "Really black"
  23. local pantsColor = "Really black"
  24. local attachColor = "Really black"
  25. local sheathColor = "Really black"
  26. local swordHandleColor = "Really black"
  27. local gunColor = "Really black"
  28. local gunTakePos = nil
  29. local defaultWalkspeed = huma.WalkSpeed
  30.  
  31.  --==================================================-MAIN-CODE-==================================================--
  32.  
  33. bPos.maxForce = Vector3.new(0,math.huge,0)
  34. bGyro.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
  35.  
  36. if player == nil or char == nil then return end
  37.  
  38. if not player.Backpack:FindFirstChild(_CODE) then
  39.         bin = Instance.new("HopperBin")
  40.         bin.Name = _CODE
  41.         bin.Parent = player:FindFirstChild("Backpack")
  42. else bin = player.Backpack[_CODE] end
  43.  
  44. if bin ~= nil then
  45.         script.Name = "_NScript"
  46.         script.Parent = nil
  47. end
  48.  
  49. local part = {
  50.         head = char:FindFirstChild("Head"),
  51.         tors = char:FindFirstChild("Torso"),ftor,
  52.         larm = char:FindFirstChild("Left Arm"),
  53.         rarm = char:FindFirstChild("Right Arm"),
  54.         lleg = char:FindFirstChild("Left Leg"),
  55.         rleg = char:FindFirstChild("Right Leg")}
  56.  
  57. local motor = {
  58.         neck = part.tors:FindFirstChild("Neck"),
  59.         lsho = part.tors:FindFirstChild("Left Shoulder"),
  60.         rsho = part.tors:FindFirstChild("Right Shoulder"),
  61.         lhip = part.tors:FindFirstChild("Left Hip"),
  62.         rhip = part.tors:FindFirstChild("Right Hip")}
  63.  
  64. for i,obj in pairs(char:GetChildren()) do
  65.         if obj:IsA("CharacterMesh") then
  66.                 obj:Destroy()
  67.         end
  68. end
  69.  
  70. function JoinInit()
  71.         while processing do wait() end
  72.         processing = true
  73.         if char:FindFirstChild("Shirt") then
  74.                 shirt = char.Shirt
  75.                 shirt.Parent = nil
  76.         end
  77.         part.ftor = part.tors:Clone()
  78.         part.ftor.Name = "_Torso2"
  79.         part.ftor.BrickColor = BrickColor.new("Really black")
  80.         local joint = {neck,tors,lsho,rsho,lhip,rhip}
  81.         joint.tors = Instance.new("Weld", part.tors)
  82.         joint.tors.Name = "Torso_WELD"
  83.         joint.tors.Part0 = part.tors
  84.         joint.tors.Part1 = part.ftor
  85.         part.ftor.Parent = char
  86.         part.tors.Transparency = 1
  87.         for i,join in pairs (motor) do
  88.                 local weld
  89.                 if not join.Parent:FindFirstChild(join.Name.."_WELD") then
  90.                         weld = Instance.new("Weld", join.Parent)
  91.                         weld.Name = join.Name.."_WELD"
  92.                 else weld = join.Parent[join.Name.."_WELD"] end
  93.                 if tostring(i) == "lsho" then
  94.                         weld.C0 = CFrame.new(-1.5,0.5,0)
  95.                         weld.C1 = CFrame.new(0,0.5,0)
  96.                 elseif tostring(i) == "rsho" then
  97.                         weld.C0 = CFrame.new(1.5,0.5,0)
  98.                         weld.C1 = CFrame.new(0,0.5,0)
  99.                 elseif tostring(i) == "neck" then
  100.                         weld.C0 = CFrame.new(0,1,0)
  101.                         weld.C1 = CFrame.new(0,-0.5,0)
  102.                 else
  103.                         weld.C0 = join.C0
  104.                         weld.C1 = join.C1
  105.                 end
  106.                 weld.Part1 = join.Part1
  107.                 if tostring(i) ~= "neck" then
  108.                         join.Part0 = part.ftor
  109.                 else
  110.                         weld.Part0 = part.ftor
  111.                 end
  112.                 joint[i] = weld
  113.         end
  114.         initialized = true
  115.         processing = false
  116.         return joint
  117. end
  118.  
  119. function Bind(join)
  120.         if join == nil then return end
  121.         if _jnt == nil then return end
  122.         if part.ftor == nil then return end
  123.         if not _jnt[join]:IsA("Weld") then return end
  124.         if not motor[join]:IsA("Motor6D") then return end
  125.         motor[join].Part0 = nil
  126.         _jnt[join].Part0 = part.ftor
  127. end
  128.  
  129. function Release(join)
  130.         if join == nil then return end
  131.         if _jnt == nil then return end
  132.         if part.ftor == nil then return end
  133.         if not _jnt[join]:IsA("Weld") then return end
  134.         if not motor[join]:IsA("Motor6D") then return end
  135.         _jnt[join].Part0 = nil
  136.         motor[join].Part0 = part.ftor
  137. end
  138.  
  139. function SuitInit()
  140.         while processing do wait() end
  141.         processing = true
  142.         if initialized then
  143.                 local suitModel
  144.                 if not char:FindFirstChild(_CODE.." Suit") then
  145.                         suitModel = Instance.new("Model", char)
  146.                         suitModel.Name = _CODE.." Suit"
  147.                         model = true
  148.                 else suitModel = char[_CODE.." Suit"] model = true end
  149.                 processing = false
  150.                 return suitModel
  151.         else processing = false end
  152. end
  153.  
  154. function CF(join,cf,rot,speed,ctin,s)
  155.         if s and cfs then ctin = true animate = false return end
  156.         if join == nil then return end
  157.         local def,done = join.C0,false
  158.         local cf = cf or def
  159.         local rot = rot or (def - def.p)
  160.         local speed = speed or 1
  161.         local x1,y1,z1 = def:toEulerAnglesXYZ()
  162.         local x2,y2,z2 = rot:toEulerAnglesXYZ()
  163.         coroutine.wrap(function()
  164.                 if speed ~= 1 then
  165.                         for i = 0,1,speed do
  166.                                 if s and cfs then ctin = true animate = false return end
  167.                                 join.C0 = CFrame.new(
  168.                                         (def.p.X * (1 - i) + cf.p.X * i),
  169.                                         (def.p.Y * (1 - i) + cf.p.Y * i),
  170.                                         (def.p.Z * (1 - i) + cf.p.Z * i)) *
  171.                                 CFrame.fromEulerAnglesXYZ(
  172.                                         (x1 * (1 - i) + x2 * i),
  173.                                         (y1 * (1 - i) + y2 * i),
  174.                                         (z1 * (1 - i) + z2 * i))
  175.                                 wait(0.015)
  176.                         end
  177.                 end if s and cfs then ctin = true animate = false else join.C0 = CFrame.new(cf.p) * CFrame.fromEulerAnglesXYZ(x2,y2,z2) end done = true
  178.         end)()
  179.         if not ctin and speed ~= 1 then while not done do wait(0.015) end end
  180. end
  181.  
  182. function CreatePart(tab, name, color, transparency, reflectance, size, cframe, rotation, cancollide, anchored, meshType, scaleSize, weldPart, parent)
  183.         if model and _mdl ~= nil and part.ftor ~= nil then
  184.                 local returnTable = {part,weld}
  185.                 if scaleSize == nil then scaleSize = false end
  186.                 local suitPart = Instance.new("Part")
  187.                 suitPart.Name = name
  188.                 suitPart.BrickColor = BrickColor.new(color)
  189.                 suitPart.Anchored = anchored
  190.                 suitPart.Locked = true
  191.                 suitPart.CanCollide = cancollide
  192.                 suitPart.Transparency = transparency
  193.                 suitPart.Reflectance = reflectance
  194.                 suitPart.FormFactor = Enum.FormFactor.Custom
  195.                 suitPart.BottomSurface = "Smooth"
  196.                 suitPart.TopSurface = "Smooth"
  197.                 suitPart.Size = size
  198.                 if meshType ~= nil then
  199.                         if meshType == "Cone" then
  200.                                 CreateMesh("http://www.roblox.com/asset/?id=1033714", suitPart, scaleSize)
  201.                         elseif meshType == "Corner" then
  202.                                 CreateMesh("http://www.roblox.com/asset/?id=11294911", suitPart, scaleSize)
  203.                         elseif meshType == "Devo" then
  204.                                 CreateMesh("http://www.roblox.com/asset/?id=15720044", suitPart, scaleSize)
  205.                         elseif meshType == "Diamond" then
  206.                                 CreateMesh("http://www.roblox.com/asset/?id=9756362", suitPart, scaleSize)
  207.                         elseif meshType == "Ring" then
  208.                                 CreateMesh("http://www.roblox.com/asset/?id=3270017", suitPart, scaleSize)
  209.                         elseif meshType == "Tetrahedron" then
  210.                                 CreateMesh("http://www.roblox.com/asset/?id=11294922", suitPart, scaleSize)
  211.                         elseif meshType == "Crown" then
  212.                                 CreateMesh("http://www.roblox.com/asset/?id=20329976", suitPart, scaleSize)
  213.                         elseif meshType == "Claws" then
  214.                                 CreateMesh("http://www.roblox.com/asset/?id=10681506", suitPart, scaleSize)
  215.                         elseif meshType == "Cylinder" then
  216.                                 local mesh = Instance.new("CylinderMesh", suitPart)
  217.                                 if scaleSize then mesh.Scale = suitPart.Size end
  218.                         elseif meshType == "Brick" then
  219.                                 local mesh = Instance.new("BlockMesh", suitPart)
  220.                                 if scaleSize then mesh.Scale = suitPart.Size end
  221.                         else
  222.                                 local mesh = Instance.new("SpecialMesh", suitPart)
  223.                                 if scaleSize then mesh.Scale = suitPart.Size end
  224.                                 mesh.MeshType = meshType
  225.                         end
  226.                 end
  227.                 if weldPart == nil then suitPart.CFrame = cframe * rotation else
  228.                 local weld = Instance.new("Weld", _mdl)
  229.                 weld.Part1 = suitPart
  230.                 weld.Part0 = weldPart
  231.                 weld.Name = tostring(weld.Part0).."_TO_"..tostring(weld.Part1)
  232.                 weld.C0 = cframe * rotation
  233.                 returnTable.weld = weld
  234.                 end
  235.                 returnTable.part = suitPart
  236.                 suitPart.Parent = parent or _mdl
  237.                 if tab ~= nil then tab[name] = returnTable else return returnTable end
  238.         end
  239. end
  240.  
  241. function CreateMesh(id, part, scaleSize)
  242.         local mesh = Instance.new("SpecialMesh", part)
  243.         if scaleSize then mesh.Scale = part.Size end
  244.         mesh.MeshType = Enum.MeshType.FileMesh
  245.         mesh.MeshId = id
  246.         return mesh
  247. end
  248.  
  249. function LoadSuit()
  250.         while processing do wait() end
  251.         processing = true
  252.         if not suited then
  253.                 CreatePart(prt, "torso_1", shirtColor, 0, 0, Vector3.new(2.015,2.11,1.015), CFrame.new(0,-0.04,0), CFrame.Angles(0,0,0),false,false, "Brick",false,part.ftor)
  254.                 CreatePart(prt, "torso_2", attachColor, 0, 0, Vector3.new(2.70,0.2,1.06), CFrame.new(-0.05,0.125,0), CFrame.Angles(0,0,math.rad(45)),false,false, "Brick",false,prt.torso_1.part)
  255.                 CreatePart(prt, "torso_3", attachColor, 0, 0, Vector3.new(2.15,0.2,1.06), CFrame.new(-0.025,-0.9,0), CFrame.Angles(0,0,math.rad(-2)),false,false, "Brick",false,prt.torso_1.part)
  256.                 CreatePart(prt, "torso_4", "Pastel Blue", 0, 1, Vector3.new(0.3,0.2,0.3), CFrame.new(0.6,0,-0.45), CFrame.Angles(math.rad(90),0,0),false,false, "Cylinder",false,prt.torso_3.part)
  257.                 CreatePart(prt, "arm_1", shirtColor, 0, 0, Vector3.new(1.015,0.8,1.015), CFrame.new(0,0.615,0), CFrame.Angles(0,0,0),false,false, "Brick",false,part.rarm)
  258.                 CreatePart(prt, "arm_2", shirtColor, 0, 0, Vector3.new(1.015,1.6,1.015), CFrame.new(0,0.215,0), CFrame.Angles(0,0,0),false,false, "Brick",false,part.larm)
  259.                 CreatePart(prt, "sheath_1", sheathColor, 0, 0, Vector3.new(0.425,4.5,0.2), CFrame.new(-0.25,0,0.63), CFrame.Angles(0,0,math.rad(-90)),false, false,"Brick", false, prt.torso_2.part)
  260.                 CreatePart(prt, "sheath_2", sheathColor, 0, 0,Vector3.new(0.21,0.6,0.415),CFrame.new(0,-2.55,0),CFrame.Angles(0,math.rad(90),math.rad(180)),false,false,"Wedge",false,prt.sheath_1.part)
  261.                 CreatePart(prt, "sheath_3", "Bright red", 0, 0,Vector3.new(0.25,0.6,0.2),CFrame.new(0,1.8,0.05),CFrame.Angles(0,0,0),false,false,"Diamond",true,prt.sheath_1.part)
  262.                 CreatePart(prt, "sheath_4", "Really black", 0, 0.3,Vector3.new(0.2,0.6,0.2),CFrame.new(0,1.3,0.1),CFrame.Angles(0,0,math.rad(27)),false,false,"Brick",true,prt.sheath_1.part)
  263.                 CreatePart(prt, "sheath_5", "Pastel Blue", 0, 0.3,Vector3.new(0.2,0.6,0.2),CFrame.new(0,1.1,0.1),CFrame.Angles(0,0,math.rad(27)),false,false,"Brick",true,prt.sheath_1.part)
  264.                 CreatePart(prt, "sheath_6", "Really black", 0, 0.3,Vector3.new(0.2,0.6,0.2),CFrame.new(0,0.9,0.1),CFrame.Angles(0,0,math.rad(27)),false,false,"Brick",true,prt.sheath_1.part)
  265.                 CreatePart(prt, "sheath_7", "Pastel Blue", 0, 0,Vector3.new(0.2,2,0.2),CFrame.new(0.2,0,0),CFrame.Angles(0,0,0),false,false,"Brick",true,prt.sheath_1.part)
  266.                 CreatePart(prt, "sheath_8", "Pastel Blue", 0, 0,Vector3.new(0.2,2,0.2),CFrame.new(-0.2,0,0),CFrame.Angles(0,0,0),false,false,"Brick",true,prt.sheath_1.part)
  267.                 CreatePart(prt, "sheath_9", "Pastel Blue", 0, 0,Vector3.new(0.2,0.72,0.2),CFrame.new(0.09,2.0125,0.13),CFrame.Angles(math.rad(35),0,-math.rad(20)),false,false,"Brick",true,prt.sheath_7.part)
  268.                 CreatePart(prt, "sheath_10", "Pastel Blue", 0, 0,Vector3.new(0.2,0.72,0.2),CFrame.new(-0.09,2.0125,0.13),CFrame.Angles(math.rad(35),0,math.rad(20)),false,false,"Brick",true,prt.sheath_8.part)
  269.                 CreatePart(prt, "sheath_11", "Pastel Blue", 0, 1,Vector3.new(0.25,0.425,0.25),CFrame.new(0,0.085,0),CFrame.Angles(0,0,0),false,false,"Brick",true,prt.sheath_9.part)
  270.                 CreatePart(prt, "sheath_12", "Pastel Blue", 0, 1,Vector3.new(0.25,0.425,0.25),CFrame.new(0,0.085,0),CFrame.Angles(0,0,0),false,false,"Brick",true,prt.sheath_10.part)
  271.                 CreatePart(prt, "sheath_13", "Pastel Blue", 0, 1,Vector3.new(0.2,0.7,0.2),CFrame.new(0,0,0),CFrame.Angles(math.rad(-145),0,0),false,false,"Brick",true,prt.sheath_2.part)
  272.                  CreatePart(prt, "sheath_14", "Pastel Blue", 0, 1,Vector3.new(0.2,1.11,0.2),CFrame.new(0.072,-0.025,0.1),CFrame.Angles(0,0,0),false,false,"Brick",true,prt.sheath_1.part)
  273.                 CreatePart(prt, "gunsheath_1", sheathColor, 0, 0, Vector3.new(0.5,0.9,0.7), CFrame.new(1.2,-0.2,0), CFrame.Angles(math.rad(-20),0,0),false, false,"Brick",true,prt.torso_3.part)
  274.                 CreatePart(prt, "gunsheath_2", "Pastel Blue", 0, 1, Vector3.new(0.3,0.2,0.3), CFrame.new(0.1,0.2,-0.225), CFrame.Angles(0,0,0),false,false, "Brick",true,prt.gunsheath_1.part)
  275.                 CreatePart(prt, "gunsheath_3", "Pastel Blue", 0, 1, Vector3.new(0.3,0.2,0.3), CFrame.new(0,-0.1,0), CFrame.Angles(0,0,0),false,false, "Brick",true,prt.gunsheath_2.part)
  276.                 CreatePart(prt, "gunsheath_4", "Pastel Blue", 0, 1, Vector3.new(0.3,0.2,0.3), CFrame.new(0,-0.1,0), CFrame.Angles(0,0,0),false, false,"Brick",true,prt.gunsheath_3.part)
  277.                 CreatePart(prt, "gun_1", gunColor, 0, 0, Vector3.new(0.4,0.775,0.5), CFrame.new(0,0.6,0.15), CFrame.Angles(math.rad(-105),0,0),false, false,"Brick",true,prt.gunsheath_1.part)
  278.                 CreatePart(prt, "gun_2", gunColor, 0, 0, Vector3.new(0.4,0.5,0.9), CFrame.new(0,0.2,-0.275), CFrame.Angles(math.rad(15),0,0),false, false,"Brick",true,prt.gun_1.part)
  279.                 CreatePart(prt, "gun_3", gunColor, 0, 0, Vector3.new(0.4,0.45,0.55), CFrame.new(0,0.1,0.26), CFrame.Angles(0,0,0),false, false,"Brick",true,prt.gun_2.part)
  280.                 CreatePart(prt, "gun_4", "Pastel Blue", 0, 1, Vector3.new(0.3,0.4,0.55), CFrame.new(0,0,-0.3), CFrame.Angles(0,0,0),false, false,"Brick",true,prt.gun_3.part)
  281.                 CreatePart(prt, "gun_5", gunColor, 0, 0, Vector3.new(0.4,0.45,0.6), CFrame.new(0,0,-0.55), CFrame.Angles(0,0,0),false,false, "Brick",true,prt.gun_3.part)
  282.                 CreatePart(prt, "gun_6", gunColor, 0, 0, Vector3.new(0.4,0.45,0.2), CFrame.new(0,0,-0.22), CFrame.Angles(0,0,0),false, false,"Brick",true,prt.gun_3.part)
  283.                 CreatePart(prt, "gun_7", gunColor, 0, 0, Vector3.new(0.4,0.45,0.2), CFrame.new(0,0,-0.3), CFrame.Angles(0,0,0),false, false,"Brick",true,prt.gun_3.part)
  284.                 CreatePart(prt, "gun_8", gunColor, 0, 0, Vector3.new(0.2,0.2,0.5), CFrame.new(0,-0.25,0.18), CFrame.Angles(0,0,0),false,false, "Brick",true,prt.gun_2.part)
  285.                 CreatePart(prt, "gun_9", gunColor, 0, 0, Vector3.new(0.2,0.2,0.5), CFrame.new(0,0.105,-0.105), CFrame.Angles(math.rad(90),0,0),false,false, "Brick",true,prt.gun_8.part)
  286.                 CreatePart(prt, "gun_10", gunColor, 0, 0, Vector3.new(0.2,0.2,0.5), CFrame.new(0,0.1725,-0.03), CFrame.Angles(math.rad(90),0,0),false,false, "Brick",true,prt.gun_8.part)
  287.                 CreatePart(prt, "gunbullet", "Really black", 0, 0, Vector3.new(0.325,0.2,0.325), CFrame.new(0,0,-0.42), CFrame.Angles(math.rad(90),0,0),false,false, "Cylinder",true,prt.gun_7.part)
  288.                 CreatePart(prt, "gunpointer", "Pastel Blue", 0, 0, Vector3.new(0.275,0.2,0.275), CFrame.new(0,-0.065,-0.39), CFrame.Angles(math.rad(90),0,0),false,false, "Cylinder",true,prt.gun_2.part)
  289.                 CreatePart(prt, "sword_1", swordHandleColor, 0, 0, Vector3.new(0.4,0.9,0.35), CFrame.new(0,2.715,0), CFrame.Angles(0,0,0),false,false, "Brick",true,prt.sheath_1.part)
  290.                 CreatePart(prt, "sword_2", "Really black", 0, 0, Vector3.new(0.5,2.135,0.25), CFrame.new(0,-2.68,0), CFrame.Angles(0,0,0),false,false, "Brick",true,prt.sword_1.part)
  291.                 CreatePart(prt, "sword_3", "Really black", 0, 0, Vector3.new(0.25,0.55,0.5), CFrame.new(0,-5.1,0), CFrame.Angles(0,math.rad(90),math.rad(180)),false,false,"Wedge",true,prt.sword_1.part)
  292.                 CreatePart(prt, "sword_4", "Really black", 0, 0, Vector3.new(0.9,0.3,0.55), CFrame.new(0,-0.4,0), CFrame.Angles(0,0,0),false, false,"Brick",true,prt.sword_1.part)
  293.                 CreatePart(prt, "sword_5", "Really black", 1, 0, Vector3.new(1.8,4.4,0.2), CFrame.new(0.7,0,0), CFrame.Angles(0,0,0),false, false,"Brick",false,prt.sword_2.part)
  294.                 CreatePart(prt, "sword_6", "Pastel Blue", 0, 0, Vector3.new(0.2,1.7,0.3), CFrame.new(0,-1.5,0), CFrame.Angles(0,0,0),false,false, "Brick",true,prt.sword_1.part)
  295.         elseif prt.torso_1 ~= nil then prt.torso_1.weld.Part0 = part.ftor end
  296.         suited = true
  297.         processing = false
  298.         return prt
  299. end -- +7
  300.  
  301. function Trail(val)
  302.         if not _prt.sword_1.part then return end
  303.         trail = val
  304.         if trail then
  305.                 coroutine.wrap(function()
  306.                         local last = _prt.sword_3.part.CFrame.p
  307.                         while use and trail and _prt.sword_3.part ~= nil do wait(.02)
  308.                                 local new = _prt.sword_3.part.CFrame.p
  309.                                 local mag = (last - new).magnitude
  310.                                 local pos = CFrame.new(last, new) * CFrame.Angles(math.rad(-90), 0, 0)
  311.                                 local trl = Instance.new("Part")
  312.                                 local msh = Instance.new("CylinderMesh", trl)
  313.                                 trl.Name = "NSword_TRAIL"
  314.                                 trl.Anchored = true
  315.                                 trl.Locked = true
  316.                                 trl.CanCollide = false
  317.                                 trl.FormFactor = Enum.FormFactor.Custom
  318.                                 trl.BrickColor = BrickColor.new("Really black")
  319.                                 trl.Transparency = 0.3
  320.                                 trl.Size = Vector3.new(0.2, mag, 0.2)
  321.                                 msh.Scale = Vector3.new(1.8, 1, 1.8)
  322.                                 trl.CFrame = pos * CFrame.new(0,mag/2,0)
  323.                                 trl.Parent = game.Workspace
  324.                                 coroutine.wrap(function() for i = trl.Transparency, 1, .05 do trl.Transparency = i msh.Scale = msh.Scale - Vector3.new(.15, 0, .15) wait(.02) end pcall(function() trl:Destroy() end) end)()
  325.                                 last = _prt.sword_3.part.CFrame.p
  326.                         end
  327.                 end)()
  328.         end
  329. end
  330.  
  331. function LightingGen(init,target,ran,delay,size,damage)
  332.         local CL = function()
  333.                 local lght = Instance.new("Part")
  334.                 local msh = Instance.new("CylinderMesh", lght)
  335.                 local size = size or .3
  336.                 msh.Scale = Vector3.new(size,1,size)
  337.                 lght.Name = "NSword_LIGHT"
  338.                 lght.Anchored = true
  339.                 lght.Locked = true
  340.                 lght.CanCollide = false
  341.                 lght.Reflectance = 0
  342.                 lght.FormFactor = Enum.FormFactor.Custom
  343.                 lght.BrickColor = BrickColor.new("Really black")
  344.                 lght.Transparency = 0.5
  345.                 lght.Parent = char
  346.                 return lght
  347.         end
  348.         local delay, cPos = delay or .03
  349.         local rand = Vector3.new(math.random(-ran,ran)/10, math.random(-ran,ran)/10, math.random(-ran,ran)/10)
  350.         local mPos = (init - target).magnitude
  351.         local dLgt = math.random(1,5)
  352.         local dLgt = dLgt/10
  353.         local rVec = init + (target - init) * dLgt
  354.         local dVec = rVec - init
  355.         local gPos = CFrame.new(init, rVec + rand) * CFrame.Angles(math.rad(-90), 0, 0)
  356.         local rMag = (init - rVec + rand).magnitude
  357.         for i = dLgt, 1 - dLgt, dLgt do
  358.                 local cPrt = CL()
  359.                 cPrt.Size = Vector3.new(.2,rMag,.2)
  360.                 cPrt.CFrame = gPos * CFrame.new(0,rMag/2,0)
  361.                 cPos = gPos * CFrame.new(0,rMag,0)
  362.                 print("TEST")
  363.                 cPrt.Touched:connect(function(targ) print(targ:GetFullName())
  364.                         if targ.Parent:FindFirstChild("Humanoid") or targ.Parent:FindFirstChild("Zombie") then
  365.                                 if game.Players:GetPlayerFromCharacter(targ.Parent) ~= player then
  366.                                         print(targ:GetFullName())
  367.                                         local humanoid = targ.Parent.Humanoid or targ.Parent.Zombie
  368.                                         local dmg = damage or 10
  369.                                         humanoid.Health = humanoid.Health - dmg
  370.                                 end
  371.                         end
  372.                 end)
  373.                 coroutine.wrap(function() wait(delay) pcall(function() cPrt:Destroy() end) end)()
  374.                 if i <= 1 - dLgt * 2 then
  375.                         rVec = init + (target - init) * (i + dLgt)
  376.                         rand = Vector3.new(math.random(-ran,ran)/10, math.random(-ran,ran)/10, math.random(-ran,ran)/10)
  377.                         gPos = CFrame.new(cPos.p, rVec + rand) * CFrame.Angles(math.rad(-90), 0, 0)
  378.                         rMag = (cPos.p - rVec + rand).magnitude
  379.                 end
  380.         end
  381.         gPos = CFrame.new(cPos.p, target) * CFrame.Angles(math.rad(-90), 0, 0)
  382.         rMag = (cPos.p - target).magnitude
  383.         local cPrt = CL()
  384.         cPrt.Size = Vector3.new(.2,rMag,.2)
  385.         cPrt.CFrame = gPos * CFrame.new(0,rMag/2,0)
  386.         cPrt.Touched:connect(function(targ) print(targ:GetFullName())
  387.                 if targ.Parent:FindFirstChild("Humanoid") or targ.Parent:FindFirstChild("Zombie") then
  388.                         if game.Players:GetPlayerFromCharacter(targ.Parent) ~= player then
  389.                                 print(targ:GetFullName())
  390.                                 local humanoid = targ.Parent.Humanoid or targ.Parent.Zombie
  391.                                 local dmg = damage or 10
  392.                                 humanoid.Health = humanoid.Health - dmg
  393.                         end
  394.                 end
  395.         end)
  396.         coroutine.wrap(function() wait(delay) pcall(function() cPrt:Destroy() end) end)()
  397. end
  398.  
  399. function SwordEquip(force)
  400.         if processing and not force then return end
  401.         processing,cfs = true,true
  402.         if suited then
  403.                 Bind("rsho")
  404.                 CF(_jnt.rsho, nil, CFrame.Angles(0, 0, math.rad(90)), .05, true)
  405.                 CF(_prt.sword_1.weld, CFrame.new(0,4.5,0), nil, .05, true)
  406.                 for i = 0, 1, .05 do
  407.                         _prt.sword_1.part.Transparency = i
  408.                         _prt.sword_2.part.Transparency = i
  409.                         _prt.sword_3.part.Transparency = i
  410.                         _prt.sword_4.part.Transparency = i
  411.                         _prt.sword_6.part.Transparency = i
  412.                         wait(.015)
  413.                 end
  414.                 _prt.sword_1.part.Transparency = 1
  415.                 _prt.sword_2.part.Transparency = 1
  416.                 _prt.sword_3.part.Transparency = 1
  417.                 _prt.sword_4.part.Transparency = 1
  418.                 _prt.sword_6.part.Transparency = 1
  419.                 _prt.sword_1.weld.Part0 = part.rarm
  420.                 CF(_prt.sword_1.weld, CFrame.new(0, -1, -0.25), CFrame.Angles(0, math.rad(90), 0))
  421.                 for i = 0, 1, .05 do
  422.                         _prt.sword_1.part.Transparency = 1 - i
  423.                         _prt.sword_2.part.Transparency = 1 - i
  424.                         _prt.sword_3.part.Transparency = 1 - i
  425.                         _prt.sword_4.part.Transparency = 1 - i
  426.                         _prt.sword_6.part.Transparency = 1 - i
  427.                         wait(.015)
  428.                 end
  429.                 _prt.sword_1.part.Transparency = 0
  430.                 _prt.sword_2.part.Transparency = 0
  431.                 _prt.sword_3.part.Transparency = 0
  432.                 _prt.sword_4.part.Transparency = 0
  433.                 Bind("lsho")
  434.                 huma.WalkSpeed = 30
  435.                 CF(_jnt.lsho, nil, CFrame.Angles(0, 0, math.rad(-5)), .07, true)
  436.                 CF(_prt.sword_1.weld, nil, CFrame.Angles(math.rad(90), math.rad(90), 0), .07, true)
  437.                 CF(_jnt.rsho, nil, CFrame.Angles(0, 0, math.rad(5)), .07)
  438.         end
  439.         mode,processing,cfs = 1, false, false
  440.         Walk()
  441. end
  442.  
  443. function SwordUnequip(force)
  444.         if processing and not force then return end
  445.         processing,cfs = true,true
  446.         if suited then
  447.                 CF(_jnt.neck, nil, CFrame.Angles(0, 0, 0), .2, true)
  448.                 CF(_jnt.tors, nil, CFrame.Angles(0, 0, 0), .2, true)
  449.                 CF(_jnt.lsho, CFrame.new(-1.5,0.5,0), CFrame.Angles(0, 0, math.rad(-5)), .2, true)
  450.                 CF(_jnt.rsho, nil, CFrame.Angles(math.rad(100), math.rad(90), 0), .07)
  451.                 Trail(true)
  452.                 CF(_prt.sword_1.weld, nil, CFrame.Angles(0, math.rad(90), 0), .15, true)
  453.                 CF(_jnt.rsho, nil, CFrame.Angles(0, 0, math.rad(90)), .15)
  454.                 Trail(false)
  455.                 for i = 0, 1, .05 do
  456.                         _prt.sword_1.part.Transparency = i
  457.                         _prt.sword_2.part.Transparency = i
  458.                         _prt.sword_3.part.Transparency = i
  459.                         _prt.sword_4.part.Transparency = i
  460.                         _prt.sword_6.part.Transparency = i
  461.                         wait(.015)
  462.                 end
  463.                 _prt.sword_1.part.Transparency = 1
  464.                 _prt.sword_2.part.Transparency = 1
  465.                 _prt.sword_3.part.Transparency = 1
  466.                 _prt.sword_4.part.Transparency = 1
  467.                 _prt.sword_6.part.Transparency = 1
  468.                 _prt.sword_1.weld.Part0 = _prt.sheath_1.part
  469.                 CF(_prt.sword_1.weld, CFrame.new(0, 4.5, 0), CFrame.Angles(0, 0, 0))
  470.                 CF(_prt.sword_1.weld, CFrame.new(0,2.715,0), CFrame.Angles(0, 0, 0), .05, true)
  471.                 for i = 0, 1, .05 do
  472.                         _prt.sword_1.part.Transparency = 1 - i
  473.                         _prt.sword_2.part.Transparency = 1 - i
  474.                         _prt.sword_3.part.Transparency = 1 - i
  475.                         _prt.sword_4.part.Transparency = 1 - i
  476.                         _prt.sword_6.part.Transparency = 1 - i
  477.                         wait(.015)
  478.                 end
  479.                 _prt.sword_1.part.Transparency = 0
  480.                 _prt.sword_2.part.Transparency = 0
  481.                 _prt.sword_3.part.Transparency = 0
  482.                 _prt.sword_4.part.Transparency = 0
  483.                 huma.WalkSpeed = defaultWalkspeed
  484.                 CF(_jnt.lsho, nil, CFrame.Angles(0, 0, 0), .07, true)
  485.                 CF(_jnt.rsho, nil, CFrame.Angles(0, 0, 0), .07)
  486.                 Release("rsho")
  487.                 Release("lsho")
  488.         end
  489.         mode,processing,cfs = 0, false, false
  490. end
  491.  
  492. function GunEquip(force)
  493.         if processing and not force then return end
  494.         processing,cfs = true,true
  495.         if suited then
  496.                 Bind("rsho")
  497.                 CF(_jnt.rsho, CFrame.new(1.5,0.9,0), CFrame.Angles(math.rad(-20), 0, 0), 0.15)
  498.                 gunTakePos = _prt.gun_1.part.CFrame:inverse() * part.rarm.CFrame
  499.                 _prt.gun_1.weld.Part0 = part.rarm
  500.                 _prt.gun_1.weld.C0 = gunTakePos:inverse()
  501.                 CF(_jnt.rsho, CFrame.new(1.5,1.7,0), CFrame.Angles(math.rad(-20), 0, math.rad(2)), 0.15)
  502.                 Bind("lsho")
  503.                 CF(_jnt.lsho, nil, CFrame.Angles(math.rad(-5), 0, math.rad(-5)), 0.08, true)
  504.                 CF(_jnt.rsho, CFrame.new(1.5,0.5,0), CFrame.Angles(math.rad(-10), 0, math.rad(10)), 0.08, true)
  505.                 CF(_prt.gun_1.weld, _prt.gun_1.weld.C0 * CFrame.new(0.25,-0.1,0.1), nil, 0.08)
  506.         end
  507.         mode,processing,cfs = 2, false, false
  508.         Walk()
  509. end
  510.  
  511. function GunUnequip(force)
  512.         if processing and not force then return end
  513.         processing = true
  514.         if suited then
  515.                 if not gs and gtarget then gtarget = false repeat wait(.015) until gs end
  516.                 CF(_jnt.neck, nil, CFrame.Angles(0, 0, 0), .2, true)
  517.                 CF(_jnt.tors, nil, CFrame.Angles(0, 0, 0), .2, true)
  518.                 CF(_jnt.lsho, CFrame.new(-1.5,0.5,0), CFrame.Angles(0, 0, math.rad(-5)), .2, true)
  519.                 CF(_prt.gun_1.weld, gunTakePos:inverse(), (gunTakePos - gunTakePos.p):inverse(), 0.15, true)
  520.                 CF(_jnt.rsho, CFrame.new(1.5,1.7,0), CFrame.Angles(math.rad(-20), 0, math.rad(2)), 0.15)
  521.                 CF(_jnt.rsho, CFrame.new(1.5,0.9,0), CFrame.Angles(math.rad(-20), 0, 0), 0.15)
  522.                 _prt.gun_1.weld.Part0 = _prt.gunsheath_1.part
  523.                 CF(_prt.gun_1.weld, CFrame.new(0,0.6,0.15), CFrame.Angles(math.rad(-105),0,0))
  524.                 CF(_jnt.rsho, CFrame.new(1.5,0.5,0), CFrame.Angles(0, 0, 0), 0.08)
  525.                 Release("rsho")
  526.                 Release("lsho")
  527.         end
  528.         mode,processing,cfs = 0, false, false
  529. end
  530.  
  531. function LightEquip(force)
  532.         if processing and not force then return end
  533.         processing,cfs = true,true
  534.         if suited then
  535.                 Bind("rsho")
  536.                 Bind("lsho")
  537.                 huma.WalkSpeed = 30
  538.                 CF(_jnt.lsho, nil, CFrame.Angles(0, 0, math.rad(-5)), .07, true)
  539.                 CF(_jnt.rsho, nil, CFrame.Angles(0, 0, math.rad(5)), .07)
  540.         end
  541.         mode,processing,cfs = 3, false, false
  542.         Walk()
  543. end
  544.  
  545. function LightUnequip(force)
  546.         if processing and not force then return end
  547.         processing,cfs = true,true
  548.         if suited then
  549.                 huma.WalkSpeed = defaultWalkspeed
  550.                 CF(_jnt.neck, nil, CFrame.Angles(0, 0, 0), .2, true)
  551.                 CF(_jnt.tors, nil, CFrame.Angles(0, 0, 0), .2, true)
  552.                 CF(_jnt.lsho, nil, CFrame.Angles(0, 0, 0), .07, true)
  553.                 CF(_jnt.rsho, nil, CFrame.Angles(0, 0, 0), .07)
  554.                 Release("rsho")
  555.                 Release("lsho")
  556.         end
  557.         mode,processing,cfs = 0, false, false
  558.         Walk()
  559. end
  560.  
  561. function Walk()
  562.         if use then
  563.                 while processing or animate do wait(.015) end
  564.                 if w or a or s or d then
  565.                         animate = true
  566.                         if mode == 1 then
  567.                                 CF(_jnt.neck, nil, CFrame.Angles(0, math.rad(65), 0), .15, true, true)
  568.                                 CF(_jnt.tors, nil, CFrame.Angles(0, math.rad(-65), 0), .15, true, true)
  569.                                 CF(_jnt.rsho, nil, CFrame.Angles(math.rad(-20), 0, math.rad(70)), .15, true, true)
  570.                                 CF(_jnt.lsho, nil, CFrame.Angles(math.rad(30), math.rad(20), math.rad(5)), .15, false, true)
  571.                         elseif mode == 2 then
  572.                                 CF(_jnt.neck, nil, CFrame.Angles(0, math.rad(65), 0), .15, true, true)
  573.                                 CF(_jnt.tors, nil, CFrame.Angles(0, math.rad(-65), 0), .15, true, true)
  574.                                 CF(_jnt.rsho, CFrame.new(1,0.4,-0.2), CFrame.Angles(math.rad(35), math.rad(20), math.rad(-40)), .15, true, true)
  575.                                 CF(_jnt.lsho, CFrame.new(-1,0.5,0), CFrame.Angles(math.rad(60), math.rad(-20), math.rad(35)), .15, false, true)
  576.                         elseif mode == 3 then
  577.                                 CF(_jnt.rsho, nil, CFrame.Angles(math.rad(-35), 0, math.rad(10)), .15, true, true)
  578.                                 CF(_jnt.lsho, nil, CFrame.Angles(math.rad(-35), 0, math.rad(-10)), .15, false, true)
  579.                         end
  580.                         animate = false
  581.                 end
  582.         end
  583. end
  584.  
  585. function Stand()
  586.         if use then
  587.                 while processing or animate do wait(.015) end
  588.                 if not w and not a and not s and not d and not jumping then
  589.                         animate = true
  590.                         if mode ~= 0 then
  591.                                 CF(_jnt.neck, CFrame.new(0,1,0), CFrame.Angles(0, 0, 0), .2, true, true)
  592.                                 CF(_jnt.tors, CFrame.new(0,0,0), CFrame.Angles(0, 0, 0), .2, true, true)
  593.                                 CF(_jnt.rsho, CFrame.new(1.5,0.5,0), CFrame.Angles(0, 0, math.rad(5)), .2, true, true)
  594.                                 CF(_jnt.lsho, CFrame.new(-1.5,0.5,0), CFrame.Angles(0, 0, math.rad(-5)), .2, false, true)
  595.                         end
  596.                         animate = false
  597.                 end
  598.         end
  599. end
  600.  
  601. function FAC(num,res)
  602.         if (math.floor(num) <= res + tol and math.floor(num) >= res - tol) or (math.ceil(num) <= res + tol and math.ceil(num) >= res - tol) then return true
  603.         else return false end
  604. end
  605.  
  606. function SliceAndKill(p)
  607.         coroutine.wrap(function()
  608.                 if p.Name ~= "__NSCUTPART" and p.Name ~= "Base" and p.Name ~= "NSword_TRAIL" and p.Name ~= "NSword_LIGHT" then
  609.                         if p.Parent ~= char and p.Parent ~= _mdl and not p.Parent:IsA("Hat") then
  610.                                 local pX,pY,pZ = p.CFrame:toEulerAnglesXYZ()
  611.                                 if (FAC(pX,0) or FAC(pX,180)) and (FAC(pZ,0) or FAC(pZ,180)) and p.Size.y < 0.4 then return end
  612.                                 pX = math.deg(pX) if pX < 0 then pX = pX * (-1) else pX = math.floor(pX) end
  613.                                 pZ = math.deg(pZ) if pZ < 0 then pZ = pZ * (-1) else pZ = math.floor(pZ) end
  614.                                 if not FAC(pX,0) and not FAC(pX,90) and not FAC(pX,180) then return end
  615.                                 if not FAC(pZ,0) and not FAC(pZ,90) and not FAC(pZ,180) then return end
  616.                                 if (not FAC(pX,0) and not FAC(pZ,0)) or (not FAC(pX,180) and not FAC(pZ,180)) then
  617.                                         if FAC(pX,0) and FAC(pZ,180) then
  618.                                                 p.CFrame = p.CFrame * CFrame.Angles(0, 0, math.pi)
  619.                                         elseif FAC(pX,180) and FAC(pZ,0) then
  620.                                                 p.CFrame = p.CFrame * CFrame.Angles(math.pi, 0, 0)
  621.                                         elseif FAC(pX,90) and (FAC(pZ,0) or FAC(pZ,180)) then
  622.                                                 local rPart = p:Clone()
  623.                                                 rPart.Anchored = true
  624.                                                 rPart.Size = Vector3.new(p.Size.z,p.Size.x,p.Size.y)
  625.                                                 rPart.CFrame = CFrame.new(p.CFrame.x, p.CFrame.y, p.CFrame.z) * CFrame.Angles(0, pY, 0)
  626.                                                 if not p.Anchored then rPart.Anchored = false end
  627.                                                 rPart.Parent = p.Parent
  628.                                                 p:Remove()
  629.                                                 p = rPart
  630.                                         elseif FAC(pX,90) and FAC(pZ,90) then
  631.                                                 local rPart = p:Clone()
  632.                                                 rPart.Anchored = true
  633.                                                 rPart.Size = Vector3.new(p.Size.y,p.Size.z,p.Size.x)
  634.                                                 rPart.CFrame = CFrame.new(p.CFrame.x, p.CFrame.y, p.CFrame.z) * CFrame.Angles(0, pY, 0)
  635.                                                 if not p.Anchored then rPart.Anchored = false end
  636.                                                 rPart.Parent = p.Parent
  637.                                                 p:Remove()
  638.                                                 p = rPart
  639.                                         elseif (FAC(pX,0) or FAC(pX,180)) and FAC(pZ,90) then
  640.                                                 local rPart = p:Clone()
  641.                                                 rPart.Anchored = true
  642.                                                 rPart.Size = Vector3.new(p.Size.y,p.Size.x,p.Size.z)
  643.                                                 rPart.CFrame = CFrame.new(p.CFrame.x, p.CFrame.y, p.CFrame.z) * CFrame.Angles(0, pY, 0)
  644.                                                 if not p.Anchored then rPart.Anchored = false end
  645.                                                 rPart.Parent = p.Parent
  646.                                                 p:Remove()
  647.                                                 p = rPart
  648.                                         end
  649.                                 end
  650.                                 local s = _prt.sword_3.part
  651.                                 local pYPos = p.CFrame.p.y - (p.Size.y/2)
  652.                                 local sYPos = s.CFrame.p.y
  653.                                 if sYPos <= pYPos or sYPos >= (pYPos + p.Size.y) then return end
  654.                                 local x, y, z = p.CFrame:toEulerAnglesXYZ()
  655.                                 local c1 = p:Clone()
  656.                                 local c2 = p:Clone()
  657.                                 local CC,TR = p.CanCollide, p.Transparency
  658.                                 local mat = p.Material
  659.                                 c1:BreakJoints()
  660.                                 c2:BreakJoints()
  661.                                 if CC then
  662.                                         c1.CanCollide = true
  663.                                         c2.CanCollide = true
  664.                                         c1.Anchored = false
  665.                                         c2.Anchored = false
  666.                                 else
  667.                                         c1.CanCollide = false
  668.                                         c2.CanCollide = false
  669.                                         c1.Anchored = true
  670.                                         c2.Anchored = true
  671.                                 end
  672.                                 c1.FormFactor = Enum.FormFactor.Custom
  673.                                 c2.FormFactor = Enum.FormFactor.Custom
  674.                                 c1.Material = Enum.Material.Plastic
  675.                                 c2.Material = Enum.Material.Plastic
  676.                                 c1.Size = Vector3.new(p.Size.x,sYPos-pYPos,p.Size.z)
  677.                                 c2.Size = Vector3.new(p.Size.x,c2.Size.y-(sYPos-pYPos),p.Size.z)
  678.                                 c1.CFrame = p.CFrame * CFrame.new(0, -c2.Size.y/2,0)
  679.                                 c2.CFrame = p.CFrame * CFrame.new(0, c1.Size.y/2,0)                
  680.                                 c1.Name = "__NSCUTPART"
  681.                                 c2.Name = "__NSCUTPART"
  682.                                 c1.Reflectance = 0.5
  683.                                 c2.Reflectance = 0.5
  684.                                 c1.Parent = game.Workspace
  685.                                 c2.Parent = game.Workspace
  686.                                 p:Remove()
  687.                                 for i = 1, 10, 1 do wait(0.02)
  688.                                         c1.Reflectance = c1.Reflectance - 1/10
  689.                                         c2.Reflectance = c2.Reflectance - 1/10
  690.                                 end
  691.                                 if not CC then
  692.                                         coroutine.wrap(function()
  693.                                                 for i = TR, 1, 0.05 do wait(0.02)
  694.                                                         c1.Transparency = i
  695.                                                         c2.Transparency = i
  696.                                                 end pcall(function() c1:Remove() c2:Remove() end)
  697.                                         end)()
  698.                                 end                                        
  699.                                 c1.Reflectance = 0
  700.                                 c2.Reflectance = 0
  701.                                 c1.Material = mat
  702.                                 c2.Material = mat
  703.                                 if CC then
  704.                                         c1.Name = "_NSCUTPART"
  705.                                         c2.Name = "_NSCUTPART"
  706.                                 end
  707.                         end
  708.                 end
  709.         end)()
  710. end
  711.  
  712. function Hit(val)
  713.         hit = val
  714.         if hit then
  715.                 coroutine.wrap(function()
  716.                         local event = _prt.sword_5.part.Touched:connect(SliceAndKill)
  717.                         while use and hit and _prt.sword_2 ~= nil and _prt.sword_3 ~= nil and _prt.sword_5 ~= nil do wait() end
  718.                         event:disconnect()
  719.                 end)()
  720.         end
  721. end
  722.  
  723. function GunTarget()
  724.         if not ms then return end
  725.         if processing and not gtarget then return end
  726.         processing,cfs,gs = true, true, false
  727.                 if not gtarget then gtarget = true
  728.                         huma.WalkSpeed = 5
  729.                         CF(_jnt.neck, nil, CFrame.Angles(0, math.rad(-90), 0), .1, true)
  730.                         CF(_jnt.tors, nil, CFrame.Angles(0, math.rad(90), 0), .1, true)
  731.                         CF(_jnt.lsho, CFrame.new(-1.5,0.5,0), CFrame.Angles(math.rad(-5), 0, math.rad(-5)), .1, true)
  732.                         CF(_jnt.rsho, CFrame.new(1.5,0.5,0), CFrame.Angles(0, 0, math.rad(90)), .1, true)
  733.                         pcall(function() bGyro.Parent = part.tors end)
  734.                         repeat wait(.015)
  735.                                 if ms and not disconnectRequest then
  736.                                         bGyro.cframe = CFrame.new(part.tors.CFrame.p, Vector3.new(ms.Hit.p.X, part.tors.CFrame.p.Y, ms.Hit.p.Z))
  737.                                         _jnt.rsho.C0 = CFrame.new(Vector3.new(1.5,0.5,0), ms.Hit.p) * CFrame.Angles(0, 0, math.rad(90))
  738.                                 end
  739.                         until not gtarget or not ms gtarget = false
  740.                            huma.WalkSpeed = defaultWalkspeed
  741.                         pcall(function() bGyro.Parent = nil end)
  742.                         CF(_jnt.neck, nil, CFrame.Angles(0, 0, 0), .1, true)
  743.                         CF(_jnt.tors, nil, CFrame.Angles(0, 0, 0), .1, true)
  744.                         CF(_jnt.lsho, CFrame.new(-1.5,0.5,0), CFrame.Angles(0, 0, math.rad(-5)), .1, true)
  745.                         CF(_jnt.rsho, CFrame.new(1.5,0.5,0), CFrame.Angles(0, 0, math.rad(5)), .1)
  746.                 end
  747.         processing,cfs,gs = false, false, true
  748.         if not gtarget and not disconnectRequest then Walk() end
  749. end
  750.  
  751. function OnKeyDown(key) key = key:lower()
  752.         if bindKeyDown then
  753.                 if key == "w" then w = true Walk() end
  754.                 if key == "a" then a = true Walk() end
  755.                 if key == "s" then s = true Walk() end
  756.                 if key == "d" then d = true Walk() end
  757.                 if key == "c" then if mode == 0 then SwordEquip() elseif mode == 1 then SwordUnequip() elseif mode == 2 then GunUnequip() SwordEquip() elseif mode == 3 then LightUnequip() SwordEquip() end end
  758.                 if key == "v" then if mode == 0 then GunEquip() elseif mode == 2 then GunUnequip() elseif mode == 1 then  SwordUnequip() GunEquip() elseif mode == 3 then LightUnequip() GunEquip() end end
  759.                 if key == "x" then if mode == 0 then LightEquip() elseif mode == 3 then LightUnequip() elseif mode == 1 then SwordUnequip() LightEquip() elseif mode == 2 then GunUnequip() LightEquip() end end
  760.                 if key == "e" then if mode == 2 and not gtarget then GunTarget() else gtarget = false end end
  761.         end
  762. end
  763.  
  764. function OnKeyUp(key) key = key:lower()
  765.         if bindKeyUp then
  766.                 if key == "w" then w = false if not a and not s and not d then Stand() end end
  767.                 if key == "a" then a = false if not w and not s and not d then Stand() end end
  768.                 if key == "s" then s = false if not w and not a and not d then Stand() end end
  769.                 if key == "d" then d = false if not w and not a and not s then Stand() end end
  770.         end
  771. end
  772.  
  773. function OnButton1Down() buttonDown = true combo = combo + 1
  774.         if not ms then end
  775.         if processing and not gtarget then return end
  776.         processing,cfs = true, true
  777.         if mode == 1 then
  778.                 CF(_jnt.neck, nil, CFrame.Angles(0, math.rad(40), 0), .2, true)
  779.                 CF(_jnt.tors, nil, CFrame.Angles(0, math.rad(-40), 0), .2, true)
  780.                 CF(_prt.sword_1.weld, nil, CFrame.Angles(0, math.rad(-90), 0), .2, true)
  781.                 CF(_jnt.lsho, nil, CFrame.Angles(0, 0, math.rad(-10)), .2, true)
  782.                 CF(_jnt.rsho, nil, CFrame.Angles(0, math.rad(-20), math.rad(90)), .2)
  783.                 pcall(function() bPos.position = Vector3.new(0,part.tors.CFrame.p.Y,0) bPos.Parent = part.tors end)
  784.                 Trail(true)
  785.                 Hit(true)
  786.                 CF(_jnt.neck, nil, CFrame.Angles(0, math.rad(-50), 0), .15, true)
  787.                 CF(_jnt.tors, nil, CFrame.Angles(0, math.rad(50), 0), .15, true)
  788.                 CF(_prt.sword_1.weld, nil, CFrame.Angles(math.rad(55), math.rad(-90), 0), .15, true)
  789.                 CF(_jnt.rsho, nil, CFrame.Angles(math.rad(90), math.rad(90), 0), .15)
  790.                 Trail(false)
  791.                 Hit(false)
  792.                 if combo > 1 then combo = 2
  793.                         if buttonDown then pcall(function() bPos.Parent = nil end) repeat wait(0.015) LightingGen(_prt.sword_4.part.CFrame.p,_prt.sword_3.part.CFrame.p,3,.05) until not buttonDown end
  794.                         CF(_prt.sword_1.weld, nil, CFrame.Angles(math.rad(55), math.rad(90),0), .3)
  795.                         Trail(true)
  796.                         Hit(true)
  797.                         CF(_prt.sword_1.weld, nil, CFrame.Angles(0, math.rad(90), 0), .15, true)
  798.                         CF(_jnt.neck, nil, CFrame.Angles(0, math.rad(40), 0), .12, true)
  799.                         CF(_jnt.tors, nil, CFrame.Angles(0, math.rad(-40), 0), .15, true)
  800.                         CF(_jnt.rsho, nil, CFrame.Angles(0, math.rad(-20), math.rad(90)), .15)
  801.                         pcall(function() bPos.Parent = nil end)
  802.                         Trail(false)
  803.                         Hit(false)
  804.                         CF(_prt.sword_1.weld, nil, CFrame.Angles(math.rad(90), math.rad(90), 0), .15, true)
  805.                         CF(_jnt.neck, nil, CFrame.Angles(0, 0, 0), .15, true)
  806.                         CF(_jnt.tors, nil, CFrame.Angles(0, 0, 0), .15, true)
  807.                         CF(_jnt.rsho, nil, CFrame.Angles(math.rad(-10), 0, 0), .15)
  808.                 else
  809.                         pcall(function() bPos.Parent = nil end)
  810.                         CF(_prt.sword_1.weld, nil, CFrame.Angles(math.rad(90), math.rad(90), 0), .15, true)
  811.                         CF(_jnt.neck, nil, CFrame.Angles(0, 0, 0), .15, true)
  812.                         CF(_jnt.tors, nil, CFrame.Angles(0, 0, 0), .15, true)
  813.                         CF(_jnt.rsho, nil, CFrame.Angles(0, 0, math.rad(5)), .15)
  814.                 end        
  815.         elseif mode == 2 then
  816.  
  817.                 --> GUN <--
  818.  
  819.         elseif mode == 3 then
  820.                 CF(_jnt.neck, nil, CFrame.Angles(0, math.rad(90), 0), .1, true)
  821.                 CF(_jnt.tors, nil, CFrame.Angles(0, math.rad(-90), 0), .1, true)
  822.                 CF(_jnt.rsho, nil, CFrame.Angles(math.rad(-20), 0, math.rad(20)), .1, true)
  823.                 CF(_jnt.lsho, nil, CFrame.Angles(0, 0, math.rad(-90)), .1)
  824.                 while ms and buttonDown and not disconnectRequest do wait(.015)
  825.                         pcall(function() bGyro.Parent = part.tors end)
  826.                         if ms and not disconnectRequest and huma.Health ~= 0 then
  827.                                 bGyro.cframe = CFrame.new(part.tors.CFrame.p, Vector3.new(ms.Hit.p.X, part.tors.CFrame.p.Y, ms.Hit.p.Z))
  828.                                 if ms.Target then
  829.                                         LightingGen((part.larm.CFrame * CFrame.new(0,-1,0)).p, ms.Hit.p, 10, .05, .5)
  830.                                 end
  831.                         end
  832.                 end
  833.                 pcall(function() bGyro.Parent = nil end)
  834.                 CF(_jnt.neck, nil, CFrame.Angles(0, 0, 0), .1, true)
  835.                 CF(_jnt.tors, nil, CFrame.Angles(0, 0, 0), .1, true)
  836.                 CF(_jnt.lsho, nil, CFrame.Angles(0, 0, math.rad(-5)), .1, true)
  837.                 CF(_jnt.rsho, nil, CFrame.Angles(0, 0, math.rad(5)), .1)
  838.         end
  839.         combo = 0
  840.         if not gtarget then processing, cfs = false, false end
  841.         Walk()
  842. end
  843.  
  844. function Disconnection() disconnectRequest = true ms = nil
  845.         while processing do wait(.015) end
  846.         w,a,s,d = false,false,false,false
  847.         processing = true
  848.         if use then
  849.                 Hit(false)
  850.                 bindKeyUp, bindKeyDown = false, false
  851.                 if mode == 1 then SwordUnequip(true) end
  852.                 if mode == 2 then GunUnequip(true) end
  853.                 if mode == 3 then LightUnequip(true) end
  854.                 use = false
  855.                 huma.WalkSpeed = defaultWalkspeed
  856.                 gunTakePos = nil
  857.                 w,a,s,d = false,false,false,false
  858.                 w2,a2,s2,d2 = false,false,false,false                
  859.                 _prt.torso_1.weld.Part0 = part.tors
  860.                 if delete then part.tors.Transparency = 0 end
  861.                 for i,mtor in pairs (motor) do
  862.                         pcall(function() mtor.Part0 = part.tors end)
  863.                 end
  864.                 if _jnt ~= nil then
  865.                         for i,weld in pairs(_jnt) do
  866.                                 pcall(function() weld:Remove() end)
  867.                         end
  868.                 end
  869.                 if part.ftor ~= nil then part.ftor:Remove() end
  870.                 if delete then
  871.                         if shirt ~= nil then shirt.Parent = char end
  872.                         if _mdl ~= nil then _mdl:Remove() end
  873.                         suited = false
  874.                         model = false
  875.                         prt = {}
  876.                 end
  877.                 _jnt,_mdl,_prt = nil, nil, nil
  878.                 _kup:disconnect()
  879.                 _kdn:disconnect()
  880.                 _mse:disconnect()
  881.                 _ms2:disconnect()
  882.                 combo = 0
  883.                 _kup,_kdn,_mse,_ms2 = nil,nil,nil,nil
  884.                 initialized = false
  885.         end
  886.         disconnectRequest = false
  887.         processing = false
  888. end
  889.  
  890. function _Main(mouse)
  891.         while processing do wait(0.015) end
  892.         ms = mouse
  893.         _jnt = JoinInit()
  894.         _mdl = SuitInit()
  895.         _prt = LoadSuit()
  896.         mode = 0
  897.         _kup = mouse.KeyUp:connect(OnKeyUp)
  898.         _kdn = mouse.KeyDown:connect(OnKeyDown)
  899.         _mse = mouse.Button1Down:connect(OnButton1Down)
  900.         _ms2 = mouse.Button1Up:connect(function() buttonDown = false end)
  901.         use, bindKeyUp, bindKeyDown = true, true, true
  902. end
  903.  
  904. bin.Selected:connect(_Main)
  905. bin.Deselected:connect(Disconnection)
Add Comment
Please, Sign In to add comment