View difference between Paste ID: 9JB926gE and KCsxCsQt
SHOW: | | - or go back to the newest paste.
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)