wait();
plr = game.Players.LocalPlayer
char = plr.Character
Humans = char:findFirstChild("Humanoid")
BulletTable,Disposables,Lasers = {},{},{}
Clips,Bullets,CurrentGun = 999999999,999999,1
Reloading,FlashLight,LaserLight,Silenced,ToolName,LaserColor,plr,char = false,false,false,false,"Cutlass's","Bright blue",game.Players.LocalPlayer,plr.Character
V3,BC,CF = Vector3.new,BrickColor.new,CFrame
for i,v in pairs(plr.Character:GetChildren()) do
if v:IsA("Model") and v.Name == "MainModel" then
v:Remove()
end
end
for i,v in pairs(plr.Backpack:GetChildren()) do
if v.Name == ToolName then
v:Remove()
end
end
Bin = Instance.new("HopperBin",plr.Backpack)
Bin.Name = ToolName
MainModel,GunModelOne,GunModelTwo,SheathOne,SheathTwo = Instance.new("Model"),Instance.new("Model"),Instance.new("Model"),Instance.new("Model"),Instance.new("Model")
MainModel.Name,GunModelOne.Name,GunModelTwo.Name,SheathOne.Name,SheathTwo.Name = "MainModel","GunModelOne","GunModelTwo","SheathOne","SheathTwo"
MainModel.Parent,GunModelOne.Parent,GunModelTwo.Parent,SheathOne.Parent,SheathTwo.Parent = char,MainModel,MainModel,MainModel,MainModel
L1,L2,L3,L4 = Instance.new("SpotLight"), Instance.new("SpotLight"), Instance.new("SpotLight"), Instance.new("SpotLight")
L1.Enabled,L2.Enabled,L3.Enabled,L4.Enabled = false,false,false,false
L1.Brightness,L2.Brightness,L3.Brightness,L4.Brightness = 60,60,40,40
L1.Range,L2.Range,L3.Range,L4.Range = 25,25,40,40
L1.Color,L2.Color,L3.Color,L4.Color = BrickColor.new("Neon orange").Color,BrickColor.new("Neon orange").Color,BrickColor.new("White").Color,BrickColor.new("White").Color
L3.Name,L4.Name = "Safe","Safe"
script.Parent = MainModel
function AddPart(name,parent,s1,s2,s3,color)
p=Instance.new("Part",parent)
p.Name=name
p.formFactor="Custom"
p.Anchored=false
p.Locked=true
p.CanCollide=false
p.Size=Vector3.new(s1,s2,s3)
p.TopSurface = "Smooth"
p.BottomSurface = "Smooth"
p.BrickColor=BrickColor.new(color)
Instance.new("BlockMesh",p).Name = "Mesh"
p:BreakJoints()
return p
end
function AddWeld(name,parent,p1,p0,c1,c0)
we=Instance.new("Weld",parent)
we.Part1=p1
we.Part0=p0
we.C1=c0
we.C0=c1
return we
end
--Gets a bit confusing down below :3
HandleOne,HandleTwo = AddPart("HandleLeft",GunModelOne,.02,1,.4,"Dark stone grey"),AddPart("HandleLeft",GunModelTwo,.02,1,.4,"Dark stone grey")
HandleWeldLeft,HandleWeldRight = AddWeld("Weld",HandleOne,HandleOne,char["Torso"],CF.new(-1,0,-1),CF.Angles(math.rad(45),math.rad(180),0)),AddWeld("Weld",HandleTwo,HandleTwo,char["Torso"],CF.new(1,0,-1),CF.Angles(math.rad(45),math.rad(180),0))
HandLeft = AddPart("HandLeft",MainModel,1,1,1,"Dark stone grey")
HandRight = AddPart("HandRight",MainModel,1,1,1,"Dark stone grey")
HandLeft.Transparency,HandRight.Transparency = 1,1
AddWeld("Weld",HandLeft,HandLeft,char["Left Arm"],CF.new(0,-1,0),CF.Angles(math.rad(90),0,0))
AddWeld("Weld",HandRight,HandRight,char["Right Arm"],CF.new(0,-1,0),CF.Angles(math.rad(90),0,0))
PA1 = AddPart("Part",GunModelOne,.3,.1,1,"Dark stone grey")
PA1.Mesh.Scale = V3(1,.6,1)
WPA1 = AddWeld("Weld",PA1,PA1,HandleOne,CF.new(0,0.5,-.3),CF.new(0,0,0))
PA2 = AddPart("Part",GunModelOne,.1,.5,.1,"Medium stone grey")
PA2.Mesh:Remove()
Instance.new("CylinderMesh",PA2).Scale = V3(.5,1,.5)
WPA2 = AddWeld("Weld",PA2,PA2,HandleOne,CF.new(0,.6,-.9),CF.Angles(math.rad(90),0,0))
PA3 = AddPart("Part",GunModelOne,.1,1.3,.1,"Medium stone grey")
PA3.Mesh:Remove()
Instance.new("CylinderMesh",PA3).Scale = V3(.7,1,.8)
WPA3 = AddWeld("Weld",PA3,PA3,HandleOne,CF.new(0,.75,-.6),CF.Angles(math.rad(90),0,0))
PA4 = AddPart("Part",GunModelOne,.3,.1,1.2,"Dark stone grey")
PA4.Mesh.Scale = V3(1,1,1)
WPA4 = AddWeld("Weld",PA4,PA4,HandleOne,CF.new(0,.65,-.5),CF.new(0,0,0))
PA5 = AddPart("Part",GunModelOne,.3,.1,.3,"Dark stone grey")
PA5.Mesh:Remove()
Instance.new("CylinderMesh",PA5).Scale = V3(1,1,1)
WPA5 = AddWeld("Weld",PA5,PA5,PA4,CF.new(0,0.1,-0.5),CF.Angles(math.rad(90),0,0))
PA6 = AddPart("Part",GunModelOne,.3,.5,.3,"Dark stone grey")
PA6.Mesh:Remove()
Instance.new("CylinderMesh",PA6).Scale = V3(1,1,1)
WPA6 = AddWeld("Weld",PA6,PA6,PA4,CF.new(0,0.1,0.35),CF.Angles(math.rad(90),0,0))
PA7 = AddPart("Part",GunModelOne,.1,.1,.5,"Black")
PA7.Mesh:Remove()
Instance.new("CylinderMesh",PA7).Scale = V3(.9,.9,1)
WPA7 = AddWeld("Weld",PA7,PA7,PA3,CF.new(0,-0.31,0),CF.Angles(0,0,0))
BamOne = Instance.new("Sound",PA7)
BamOne.Pitch,BamOne.Volume,BamOne.SoundId = 1.4,.5,"rbxassetid://2920959"
PA8 = AddPart("Part",GunModelOne,.3,.1,.25,"Dark stone grey")
PA8.Mesh:Remove()
sm = Instance.new("SpecialMesh",PA8)
sm.MeshType = "Wedge"
sm.Scale = V3(.38,.6,1)
WPA8 = AddWeld("Weld",PA8,PA8,PA6,CF.new(0.1,-.3,-0.07),CF.Angles(math.rad(180),0,0))
PA9 = AddPart("Part",GunModelOne,.3,.1,.25,"Dark stone grey")
PA9.Mesh:Remove()
sm = Instance.new("SpecialMesh",PA9)
sm.MeshType = "Wedge"
sm.Scale = V3(.35,.6,1)
WPA9 = AddWeld("Weld",PA9,PA9,PA6,CF.new(-0.1,-.3,-0.07),CF.Angles(math.rad(180),0,0))
PA10 = AddPart("Part",GunModelOne,.3,.1,.25,"Dark stone grey")
PA10.Mesh:Remove()
sm = Instance.new("SpecialMesh",PA10)
sm.MeshType = "Wedge"
sm.Scale = V3(.35,.6,1)
WPA10 = AddWeld("Weld",PA10,PA10,PA6,CF.new(0,-.34,0),CF.Angles(math.rad(100),0,0))
PA11 = AddPart("Part",GunModelOne,.1,.3,.1,"Dark stone grey")
PA11.Mesh:Remove()
sm = Instance.new("SpecialMesh",PA11)
sm.MeshType = "Wedge"
sm.Scale = V3(.5,1,.5)
WPA11 = AddWeld("Weld",PA11,PA11,HandleOne,CF.new(0,.25,-.35),CF.Angles(math.rad(90),0,0))
PA12 = AddPart("Part",GunModelOne,.1,.1,.3,"Dark stone grey")
PA12.Mesh:Remove()
sm = Instance.new("SpecialMesh",PA12)
sm.MeshType = "Wedge"
sm.Scale = V3(.5,.5,.5)
WPA12 = AddWeld("Weld",PA12,PA12,HandleOne,CF.new(0,.37,-.55),CF.Angles(math.rad(90),0,0))
PA13 = AddPart("Part",GunModelOne,.1,.1,.3,"Dark stone grey")
PA13.Mesh:Remove()
sm = Instance.new("SpecialMesh",PA13)
sm.MeshType = "Wedge"
sm.Scale = V3(.5,.5,.5)
WPA13 = AddWeld("Weld",PA13,PA13,HandleOne,CF.new(0,.37,-.45),CF.Angles(math.rad(270),0,0))
PA14 = AddPart("Part",GunModelOne,.1,.1,.3,"Dark stone grey")
PA14.Mesh:Remove()
sm = Instance.new("SpecialMesh",PA14)
sm.MeshType = "Wedge"
sm.Scale = V3(.5,.5,.5)
WPA14 = AddWeld("Weld",PA14,PA14,HandleOne,CF.new(0,.4,-.3),CF.Angles(math.rad(55),0,0))
PA15 = AddPart("Part",GunModelOne,.1,.3,.3,"Dark stone grey")
PA15.Mesh:Remove()
sm = Instance.new("SpecialMesh",PA15)
sm.MeshType = "Wedge"
sm.Scale = V3(1,1,.25)
WPA15 = AddWeld("Weld",PA15,PA15,HandleOne,CF.new(0,-0.35,-.23),CF.Angles(math.rad(0),0,0))
PA16 = AddPart("Part",GunModelOne,.02,1,.3,"Lime green")
PA16.Mesh.Scale = V3(1.1,.9,1)
WPA16 = AddWeld("Weld",PA16,PA16,HandleOne,CF.new(0,0,0),CF.new(0,0,0))
PA17 = AddPart("Part",GunModelOne,.1,.3,.3,"Lime green")
PA17.Mesh:Remove()
sm = Instance.new("SpecialMesh",PA17)
sm.MeshType = "Wedge"
sm.Scale = V3(1.1,1,.25)
WPA17 = AddWeld("Weld",PA17,PA17,PA15,CF.new(0,0.05,0.05),CF.Angles(math.rad(0),0,0))
PA18 = AddPart("Part",GunModelOne,.1,.3,.1,"White")
PA18.Mesh:Remove()
Instance.new("CylinderMesh",PA18).Scale = V3(.5,.8,.5)
WPA18 = AddWeld("Weld",PA18,PA18,HandleOne,CF.new(0,0.2,0),CF.Angles(math.rad(90),math.rad(90),0))
PA19 = AddPart("Part",GunModelOne,.1,.3,.1,"Really black")
PA19.Mesh:Remove()
Instance.new("CylinderMesh",PA19).Scale = V3(.5,1,.5)
WPA19 = AddWeld("Weld",PA19,PA19,PA3,CF.new(0,0.51,0),CF.Angles(math.rad(0),math.rad(0),0))
PA20 = AddPart("Part",GunModelOne,.1,.3,.1,"Really black")
PA20.Mesh:Remove()
PA20.Transparency = 1
L2.Parent = PA20
L3.Parent = PA20
WPA20 = AddWeld("Weld",PA20,PA20,PA3,CF.new(0,0.6,0),CF.Angles(math.rad(261),0,0))
PA21 = AddPart("Part",GunModelOne,.1,.25,.1,"Black")
WPA21 = AddWeld("Weld",PA21,PA21,PA3,CF.new(0,0.1,-0.35),CF.Angles(math.rad(0),0,0))
PA22 = AddPart("Part",GunModelOne,.1,.35,.3,"Black")
WPA22 = AddWeld("Weld",PA21,PA21,PA22,CF.new(0,0,0.2),CF.Angles(math.rad(0),0,0))
PA23 = AddPart("Part",GunModelOne,.1,.35,.1,"White")
PA23.Mesh:Remove()
PA23.Transparency = 0.4
Instance.new("CylinderMesh",PA23).Scale = Vector3.new(0.5,1,0.5)
WPA23 = AddWeld("Weld",PA22,PA22,PA23,CF.new(0,-0.03,0.05),CF.Angles(math.rad(0),0,0))
PA24 = AddPart("Part",GunModelOne,.1,.35,.1,"Really red")
PA24.Mesh:Remove()
PA24.Transparency = 1
Instance.new("CylinderMesh",PA24).Scale = Vector3.new(0.5,1,0.5)
WPA24 = AddWeld("Weld",PA22,PA22,PA24,CF.new(0,-0.03,-0.06),CF.Angles(math.rad(90),0,0))
PA26 = AddPart("Part",GunModelOne,.1,.35,.1,LaserColor)
PA26.Mesh:Remove()
PA26.Transparency = 0.4
Instance.new("CylinderMesh",PA26).Scale = Vector3.new(0.5,1,0.5)
WPA26 = AddWeld("Weld",PA22,PA22,PA26,CF.new(0,-0.03,-0.06),CF.Angles(math.rad(0),0,0))
--Gun 2 Below
PB1 = AddPart("Part",GunModelTwo,.3,.1,1,"Dark stone grey")
PB1.Mesh.Scale = V3(1,.6,1)
WPB1 = AddWeld("Weld",PB1,PB1,HandleTwo,CF.new(0,0.5,-.3),CF.new(0,0,0))
PB2 = AddPart("Part",GunModelTwo,.1,.5,.1,"Medium stone grey")
PB2.Mesh:Remove()
Instance.new("CylinderMesh",PB2).Scale = V3(.5,1,.5)
WPB2 = AddWeld("Weld",PB2,PB2,HandleTwo,CF.new(0,.6,-.9),CF.Angles(math.rad(90),0,0))
PB3 = AddPart("Part",GunModelTwo,.1,1.3,.1,"Medium stone grey")
PB3.Mesh:Remove()
Instance.new("CylinderMesh",PB3).Scale = V3(.7,1,.8)
WPB3 = AddWeld("Weld",PB3,PB3,HandleTwo,CF.new(0,.75,-.6),CF.Angles(math.rad(90),0,0))
PB4 = AddPart("Part",GunModelTwo,.3,.1,1.2,"Dark stone grey")
PB4.Mesh.Scale = V3(1,1,1)
WPB4 = AddWeld("Weld",PB4,PB4,HandleTwo,CF.new(0,.65,-.5),CF.new(0,0,0))
PB5 = AddPart("Part",GunModelTwo,.3,.1,.3,"Dark stone grey")
PB5.Mesh:Remove()
Instance.new("CylinderMesh",PB5).Scale = V3(1,1,1)
WPB5 = AddWeld("Weld",PB5,PB5,PB4,CF.new(0,0.1,-0.5),CF.Angles(math.rad(90),0,0))
PB6 = AddPart("Part",GunModelTwo,.3,.5,.3,"Dark stone grey")
PB6.Mesh:Remove()
Instance.new("CylinderMesh",PB6).Scale = V3(1,1,1)
WPB6 = AddWeld("Weld",PB6,PB6,PB4,CF.new(0,0.1,0.35),CF.Angles(math.rad(90),0,0))
PB7 = AddPart("Part",GunModelTwo,.1,.1,.5,"Black")
PB7.Mesh:Remove()
Instance.new("CylinderMesh",PB7).Scale = V3(.9,.9,1)
WPB7 = AddWeld("Weld",PB7,PB7,PB3,CF.new(0,-0.31,0),CF.Angles(0,0,0))
BamTwo = Instance.new("Sound",PB7)
BamTwo.Pitch,BamTwo.Volume,BamTwo.SoundId = 1.4,.5,"rbxassetid://2920959"
PB8 = AddPart("Part",GunModelTwo,.3,.1,.25,"Dark stone grey")
PB8.Mesh:Remove()
sm = Instance.new("SpecialMesh",PB8)
sm.MeshType = "Wedge"
sm.Scale = V3(.38,.6,1)
WPB8 = AddWeld("Weld",PB8,PB8,PB6,CF.new(0.1,-.3,-0.07),CF.Angles(math.rad(180),0,0))
PB9 = AddPart("Part",GunModelOne,.3,.1,.25,"Dark stone grey")
PB9.Mesh:Remove()
sm = Instance.new("SpecialMesh",PB9)
sm.MeshType = "Wedge"
sm.Scale = V3(.35,.6,1)
WPB9 = AddWeld("Weld",PB9,PB9,PB6,CF.new(-0.1,-.3,-0.07),CF.Angles(math.rad(180),0,0))
PB10 = AddPart("Part",GunModelTwo,.3,.1,.25,"Dark stone grey")
PB10.Mesh:Remove()
sm = Instance.new("SpecialMesh",PB10)
sm.MeshType = "Wedge"
sm.Scale = V3(.35,.6,1)
WPB10 = AddWeld("Weld",PB10,PB10,PB6,CF.new(0,-.34,0),CF.Angles(math.rad(100),0,0))
PB11 = AddPart("Part",GunModelTwo,.1,.3,.1,"Dark stone grey")
PB11.Mesh:Remove()
sm = Instance.new("SpecialMesh",PB11)
sm.MeshType = "Wedge"
sm.Scale = V3(.5,1,.5)
WPB11 = AddWeld("Weld",PB11,PB11,HandleTwo,CF.new(0,.25,-.35),CF.Angles(math.rad(90),0,0))
PB12 = AddPart("Part",GunModelTwo,.1,.1,.3,"Dark stone grey")
PB12.Mesh:Remove()
sm = Instance.new("SpecialMesh",PB12)
sm.MeshType = "Wedge"
sm.Scale = V3(.5,.5,.5)
WPB12 = AddWeld("Weld",PB12,PB12,HandleTwo,CF.new(0,.37,-.55),CF.Angles(math.rad(90),0,0))
PB13 = AddPart("Part",GunModelTwo,.1,.1,.3,"Dark stone grey")
PB13.Mesh:Remove()
sm = Instance.new("SpecialMesh",PB13)
sm.MeshType = "Wedge"
sm.Scale = V3(.5,.5,.5)
WPB13 = AddWeld("Weld",PB13,PB13,HandleTwo,CF.new(0,.37,-.45),CF.Angles(math.rad(270),0,0))
PB14 = AddPart("Part",GunModelTwo,.1,.1,.3,"Dark stone grey")
PB14.Mesh:Remove()
sm = Instance.new("SpecialMesh",PB14)
sm.MeshType = "Wedge"
sm.Scale = V3(.5,.5,.5)
WPB14 = AddWeld("Weld",PB14,PB14,HandleTwo,CF.new(0,.4,-.3),CF.Angles(math.rad(55),0,0))
PB15 = AddPart("Part",GunModelTwo,.1,.3,.3,"Dark stone grey")
PB15.Mesh:Remove()
sm = Instance.new("SpecialMesh",PB15)
sm.MeshType = "Wedge"
sm.Scale = V3(1,1,.25)
WPB15 = AddWeld("Weld",PB15,PB15,HandleTwo,CF.new(0,-0.35,-.23),CF.Angles(math.rad(0),0,0))
PB16 = AddPart("Part",GunModelTwo,.02,1,.3,"Lime green")
PB16.Mesh.Scale = V3(1.1,.9,1)
WPB16 = AddWeld("Weld",PB16,PB16,HandleTwo,CF.new(0,0,0),CF.new(0,0,0))
PB17 = AddPart("Part",GunModelTwo,.1,.3,.3,"Lime green")
PB17.Mesh:Remove()
sm = Instance.new("SpecialMesh",PB17)
sm.MeshType = "Wedge"
sm.Scale = V3(1.1,1,.25)
WPB17 = AddWeld("Weld",PB17,PB17,PB15,CF.new(0,0.05,0.05),CF.Angles(math.rad(0),0,0))
PB18 = AddPart("Part",GunModelTwo,.1,.3,.1,"White")
PB18.Mesh:Remove()
Instance.new("CylinderMesh",PB18).Scale = V3(.5,.8,.5)
WPB18 = AddWeld("Weld",PB18,PB18,HandleTwo,CF.new(0,0.2,0),CF.Angles(math.rad(90),math.rad(90),0))
PB19 = AddPart("Part",GunModelTwo,.1,.3,.1,"Really black")
PB19.Mesh:Remove()
Instance.new("CylinderMesh",PB19).Scale = V3(.5,1,.5)
WPB19 = AddWeld("Weld",PB19,PB19,PB3,CF.new(0,0.51,0),CF.Angles(math.rad(0),math.rad(0),0))
PB20 = AddPart("Part",GunModelTwo,.1,.3,.1,"Really black")
PB20.Mesh:Remove()
PB20.Transparency = 1
L1.Parent = PB20
L4.Parent = PB20
WPB20 = AddWeld("Weld",PB20,PB20,PB3,CF.new(0,0.6,0),CF.Angles(math.rad(261),0,0))
PB21 = AddPart("Part",GunModelTwo,.1,.25,.1,"Black")
WPB21 = AddWeld("Weld",PB21,PB21,PB3,CF.new(0,0.1,-0.35),CF.Angles(math.rad(0),0,0))
PB22 = AddPart("Part",GunModelTwo,.1,.35,.3,"Black")
WPB22 = AddWeld("Weld",PB21,PB21,PB22,CF.new(0,0,0.2),CF.Angles(math.rad(0),0,0))
PB23 = AddPart("Part",GunModelTwo,.1,.35,.1,"White")
PB23.Mesh:Remove()
PB23.Transparency = 0.4
Instance.new("CylinderMesh",PB23).Scale = Vector3.new(0.5,1,0.5)
WPB23 = AddWeld("Weld",PB22,PB22,PB23,CF.new(0,-0.03,0.05),CF.Angles(math.rad(0),0,0))
PB24 = AddPart("Part",GunModelTwo,.1,.35,.1,"White")
PB24.Mesh:Remove()
PB24.Transparency = 0.4
Instance.new("CylinderMesh",PB24).Scale = Vector3.new(0.5,1,0.5)
WPB24 = AddWeld("Weld",PB22,PB22,PB24,CF.new(0,-0.03,-0.06),CF.Angles(math.rad(90),0,0))
PB26 = AddPart("Part",GunModelOne,.1,.35,.1,LaserColor)
PB26.Mesh:Remove()
PB26.Transparency = 0.4
Instance.new("CylinderMesh",PB26).Scale = Vector3.new(0.5,1,0.5)
WPB26 = AddWeld("Weld",PB22,PB22,PB26,CF.new(0,-0.03,-0.06),CF.Angles(math.rad(0),0,0))
--End Of gun creation.
--Holder's Creation
PC1 = AddPart("Part",SheathOne,.5,1.5,.7,"Brown")
WPC1 = AddWeld("Weld",PC1,PC1,char.Torso,CF.new(-1,0,0),CF.Angles(math.rad(45),0,0))
--Holder Two
PD1 = AddPart("Part",SheathTwo,.5,1.5,.7,"Brown")
WPD1 = AddWeld("Weld",PD1,PD1,char.Torso,CF.new(1,0,0),CF.Angles(math.rad(45),0,0))
--End Of Holders
--Extras
PE1 = AddPart("Part",MainModel,2.1,.5,1.1,"Brown")
WPE1 = AddWeld("Weld",PE1,PE1,char.Torso,CF.new(0,-0.8,0),CF.Angles(math.rad(0),0,0))
PE2 = AddPart("Part",MainModel,.8,.8,.7,"Brown")
WPE2 = AddWeld("Weld",PE2,PE2,PE1,CF.new(0.4,-0.13,.9),CF.Angles(math.rad(0),0,0))
PE3 = AddPart("Part",MainModel,.75,.8,.65,"Really black")
WPE3 = AddWeld("Weld",PE3,PE3,PE2,CF.new(0,0.02,0),CF.Angles(math.rad(0),0,0))
PE4 = AddPart("Part",MainModel,2.2,.25,1.2,"Dark stone grey")
WPE4 = AddWeld("Weld",PE4,PE4,PE1,CF.new(0,0,0),CF.Angles(math.rad(0),0,0))
ch,player = char,plr
RW,LW,HW,RLG,LLG = Instance.new("Motor"),Instance.new("Motor"),Instance.new("Motor"),Instance.new("Motor"),Instance.new("Motor")
RSH, LSH, NCK, LG2, LG1 = ch.Torso["Right Shoulder"], ch.Torso["Left Shoulder"], ch.Torso["Neck"], ch.Torso["Right Hip"], ch.Torso["Left Hip"]
RW.C0,RW.C1,RW.Parent,RW.Part0 = CFrame.new(1.5, 0.5, 0),CFrame.new(0, 0.5, 0),MainModel,ch.Torso
LW.C0,LW.C1,LW.Parent,LW.Part0 = CFrame.new(-1.5, 0.5, 0),CFrame.new(0, 0.5, 0),MainModel,ch.Torso
HW.C1,HW.Parent,HW.Part0 = CFrame.new(0,-.7,0),MainModel,ch.Torso
RLG.C1,RLG.Part0,RLG.Parent = CFrame.new(-.5,2,0),ch.Torso,MainModel
LLG.C1,LLG.Part0,LLG.Parent = CFrame.new(.5,2,0),ch.Torso,MainModel
function RWFunc()
RW.Part1 = ch["Right Arm"]
RSH.Part1 = nil
end
function LWFunc()
LW.Part1 = ch["Left Arm"]
LSH.Part1 = nil
end
function RWRem()
RW.Part1 = nil
RSH.Part1 = ch["Right Arm"]
end
function LWRem()
LW.Part1 = nil
LSH.Part1 = ch["Left Arm"]
end
function HWFunc()
NCK.Part1 = nil
HW.Part1 = ch.Head
end
function HWRem()
NCK.Part1 = ch.Head
HW.Part1 = nil
end
function Leg1Func()
l1=ch["Left Leg"]
l1.Name = "Left Legg"
l1.CanCollide = true
LG1.Part1 = nil
LLG.Part1 = l1
end
function Leg2Func()
l2=ch["Right Leg"]
l2.Name = "Right Legg"
l2.CanCollide = true
LG2.Part1 = nil
RLG.Part1 = l2
end
function Leg1Rem()
l1=ch["Left Legg"]
l1.Name = "Left Leg"
l1.CanCollide = false
LG1.Part1 = l1
LLG.Part1 = nil
end
function Leg2Rem()
l2=ch["Right Legg"]
l2.Name = "Right Leg"
l2.CanCollide = false
LG2.Part1 = l2
RLG.Part1 = nil
end
function Unequip()
RWRem()
LWRem()
HWRem()
HandleWeldLeft.Part0 = char.Torso
HandleWeldRight.Part0 = char.Torso
HandleWeldLeft.C0 = CF.Angles(math.rad(45),math.rad(180),0)
HandleWeldLeft.C1 = CF.new(-1,.6,-.7)
HandleWeldRight.C0 = CF.Angles(math.rad(45),math.rad(180),0)
HandleWeldRight.C1 = CF.new(1,.6,-.7)
pcall(function() char.Torso.TurnGyro:Remove() end)
end
Unequip()
function Equip()
HandleWeldLeft.C0 = CF.Angles(0,0,0)
HandleWeldLeft.C1 = CF.new(0,0,0)
HandleWeldRight.C0 = CF.Angles(0,0,0)
HandleWeldRight.C1 = CF.new(0,0,0)
HandleWeldRight.Part0 = HandRight
HandleWeldLeft.Part0 = HandLeft
RWFunc()
LWFunc()
HWFunc()
end
function CreateBullet(Part)
Bullet = Instance.new("Part",char.Torso)
Bullet.Name = "Bullet"
Bullet.formFactor = "Custom"
Bullet.CanCollide = false
Bullet.Anchored = true
Bullet.Size = V3(.2,.2,0.7)
Bullet.CFrame = Part.CFrame * CF.Angles(270,0,0)
Bullet.Anchored = true
Bullet.BrickColor = BrickColor.new("Brown")
Bullet.Reflectance = 0.3
Bullet:BreakJoints()
--M = Instance.new("SpecialMesh",Bullet)
--M.MeshType = "Sphere"
table.insert(BulletTable,Bullet)
game.Debris:AddItem(Bullet,10)
end
function DisplayDamage(dmg,head)
if head and dmg then
local Model = Instance.new("Model")
local Part = Instance.new("Part",Model)
local Human = Instance.new("Humanoid")
Instance.new("BlockMesh",Part)
--
Model.Name = tostring(dmg)
Human.Parent = Model
Human.MaxHealth = 0
Human.Health = 0
Part.formFactor = "Custom"
Part.Size = Vector3.new(0.8,0.3,0.8)
Part.CanCollide=false
Part.CFrame = CFrame.new(head.Position) * CFrame.new(0, 3, 0)
Part.Name = "Head"
if Model.Name:find("Critical") then
Part.BrickColor = BrickColor.new("Bright yellow")
else
Part.BrickColor = BrickColor.new("Really red")
end
local bp = Instance.new("BodyPosition")
bp.P = 14000
bp.maxForce = Vector3.new(math.huge, math.huge, math.huge)
bp.position = head.Position + Vector3.new(math.random(1,6), math.random(5,7), math.random(1,6))
coroutine.resume(coroutine.create(function()
wait()
Model.Parent = workspace
bp.Parent = Part
wait(1.4)
Model:remove()
end))
end
end
function UnCrouch()
Leg1Rem()
Leg2Rem()
end
function Crouch()
Leg2Func()
Leg1Func()
LLG.C1 = CF.new(.5,.5,1.5) * CF.Angles(math.rad(90),0,0)
RLG.C1 = CF.new(-.5,1,1) * CF.Angles(math.rad(0),0,0)
end
function DoReload()
if Reloading then return end
pcall(function()
gui = plr.PlayerGui:findFirstChild("Ammo")
for i,v in pairs(gui:GetChildren()) do
if v.Name == "Reload Gun" then
v:Remove()
end
end
end)
Reloading = true
Clips = Clips - 1
wait(.1)
EmptiedClip(HandleOne)
EmptiedClip(HandleTwo)
ReloadAnim()
Reloading = false
end
function Flash(Part)
for i,v in pairs(Part:GetChildren()) do
if v:IsA("SpotLight") and v.Name ~= "Safe" then
v.Enabled = true
coroutine.resume(coroutine.create(function()
wait(0.1)
v.Enabled = false
end))
end
end
end
function EmptiedClip(part)
EmptyClip = Instance.new("Part",MainModel)
EmptyClip.Name = "EmtpyClip"
EmptyClip.formFactor = "Custom"
EmptyClip.BrickColor = BrickColor.new("Medium stone grey")
EmptyClip.CanCollide = true
EmptyClip.Reflectance = .1
EmptyClip.Size = part.Size - Vector3.new(0.1,0.1,0.1)
EmptyClip.CFrame = part.CFrame * CF.Angles(0,0,0)
EmptyClip:BreakJoints()
game.Debris:AddItem(EmptyClip,6)
Instance.new("BlockMesh",EmptyClip)
end
function WarnLow()
pg = plr.PlayerGui:findFirstChild("Ammo")
if pg then
Warn = Instance.new("TextLabel",pg)
Warn.Name = "Reload Gun"
Warn.Font = "ArialBold"
Warn.FontSize = "Size24"
Warn.Position = UDim2.new(0.5,0,0.5,0)
Warn.Text = "Reload (r)"
Warn.TextColor3 = BrickColor.new("Bright red").Color
game.Debris:AddItem(Warn,2)
end
end
function AddShell(Part)
Shell = Instance.new("Part",MainModel)
Shell.Name = "Shell"
Shell.formFactor = "Custom"
Shell.BrickColor = BrickColor.new("Lime green")
Shell.CanCollide = true
Shell.Size = V3(.1,.35,.1)
Shell.CFrame = Part.CFrame
Shell:BreakJoints()
Instance.new("CylinderMesh",Shell)
game.Debris:AddItem(Shell,5)
end
function RemoveLS()
god,err = ypcall(function()
for i,v in pairs(Lasers) do
pcall(function()
if v:IsA("BasePart") then
pcall(function()
v:Remove()
end)
elseif type(v) == "userdata" then
pcall(function()
v:disconnect()
end)
end
end)
end
end)
if err then print(err) end
Lasers = {}
end
function lerp(a,b,c)
return a+(b-a)*c
end
function AnimLerp(c1,c2,al)
local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()}local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()}
for i,v in pairs(com1) do com1[i] = lerp(v,com2[i],al) end
return CFrame.new(com1[1],com1[2],com1[3]) * CFrame.Angles(select(4,unpack(com1)))
end
function ReloadAnim()
OldCf = RW.C0
OldCf2 = LW.C0
OldCf3 = HW.C0
--[[
HW.C0 = CFrame.new(Vector3.new(0, .8, 0), point * Vector3.new(1, 1, (point.Z >= 0 and 0 or 1)))
]]--
pcall(function()
Hman = plr.Character:findFirstChild("Humanoid")
OldWalk = Hman.WalkSpeed
Hman.WalkSpeed = Hman.WalkSpeed/2
end)
for i,v in pairs(char.Torso:GetChildren()) do
if v:IsA("BodyGyro") then
v:Remove()
end
end
for i=0,1,0.1 do
wait(0.02)
LW.C0 = AnimLerp(LW.C0,CFrame.new(-1.2,.5,0) * CFrame.Angles(math.rad(90),0,math.rad(0)),0.2)
HW.C0 = AnimLerp(HW.C0,CFrame.new(0,.8,0) * CFrame.Angles(math.rad(-10),0,0),0.2)
end
for i=0,1,0.05 do
wait()
RW.C0 = AnimLerp(RW.C0,CFrame.new(1,.5,0) * CFrame.Angles(math.rad(90),0,math.rad(-60)),0.2)
HW.C0 = AnimLerp(HW.C0,CFrame.new(0,.8,0) * CFrame.Angles(math.rad(-10),math.rad(20),0),0.2)
end
for i=0,1,0.05 do
wait()
RW.C0 = AnimLerp(RW.C0,CFrame.new(1,.5,0) * CFrame.Angles(math.rad(90 - 20),0,math.rad(-60)),0.2)
end
for i=0,1,0.05 do
wait()
RW.C0 = AnimLerp(RW.C0,CFrame.new(1,.5,0) * CFrame.Angles(math.rad(70 + 20),0,math.rad(-60)),0.2)
end
WPA4.C1 = CF.new(0,0,0)
for i=0,1,0.05 do
wait()
RW.C0 = AnimLerp(RW.C0,CFrame.new(1.2,.5,0) * CFrame.Angles(math.rad(90),0,math.rad(0)),0.2)
end
for i=0,1,0.1 do
wait(0.02)
LW.C0 = AnimLerp(LW.C0,CFrame.new(-1,.5,0) * CFrame.Angles(math.rad(90),0,math.rad(60)),0.2)
HW.C0 = AnimLerp(HW.C0,CFrame.new(0,.8,0) * CFrame.Angles(math.rad(-10),math.rad(-20),0),0.2)
end
for i=0,1,0.1 do
wait(0.02)
LW.C0 = AnimLerp(LW.C0,CFrame.new(-1,.5,0) * CFrame.Angles(math.rad(90 - 20),0,math.rad(60)),0.2)
end
for i=0,1,0.1 do
wait(0.02)
LW.C0 = AnimLerp(LW.C0,CFrame.new(-1,.5,0) * CFrame.Angles(math.rad(70 + 20),0,math.rad(60)),0.2)
end
WPB4.C1 = CF.new(0,0,0)
Bullets = 16
UpdateBullets()
for i=0,1,0.1 do
wait(0.02)
LW.C0 = AnimLerp(LW.C0,OldCf2,0.2)
RW.C0 = AnimLerp(RW.C0,OldCf,0.2)
HW.C0 = AnimLerp(HW.C0,OldCf3,0.2)
end
pcall(function()
Hman = plr.Character:findFirstChild("Humanoid")
Hman.WalkSpeed = OldWalk
end)
end
Bin.Selected:connect(function(mouse)
function MLS()
PB25 = AddPart("Part",GunModelTwo,.1,.35,.1,LaserColor)
PB25.Mesh:Remove()
PB25.Anchored = true
PB25.Transparency = 0.4
Instance.new("CylinderMesh",PB25).Scale = Vector3.new(0.5,1,0.5)
PA25 = AddPart("Part",GunModelOne,.1,.35,.1,LaserColor)
PA25.Mesh:Remove()
PA25.Transparency = 0.4
PA25.Anchored = true
Instance.new("CylinderMesh",PA25).Scale = Vector3.new(0.5,1,0.5)
Delay(0,function()
con = game:service("RunService").Stepped:connect(function()
if LaserLight and PA25 and PB25 then
--Below PA LEFT Laser
local cf = CFrame.new(Vector3.new(0,0,0),PA24.CFrame.lookVector)
ray1 = Ray.new(PA24.CFrame.p,cf.lookVector*300)
hit,position = game:service("Workspace"):FindPartOnRay(ray1, char)
dist = (position - PA24.CFrame.p).magnitude
PA25.Size = Vector3.new(PA24.Size.X,dist,PA24.Size.Z)
PA25.CFrame = CFrame.new((position+PA24.CFrame.p)/2, PA24.CFrame.p) * CFrame.Angles(math.rad(270),0,0)
--Now PB RIGHT Laser
local cf = CFrame.new(Vector3.new(0,0,0),PB24.CFrame.lookVector)
ray1 = Ray.new(PB24.CFrame.p,cf.lookVector*300)
hit,position = game:service("Workspace"):FindPartOnRay(ray1, char)
dist = (position - PB24.CFrame.p).magnitude
PB25.Size = Vector3.new(PB24.Size.X,dist,PB24.Size.Z)
PB25.CFrame = CFrame.new((position+PB24.CFrame.p)/2, PB24.CFrame.p) * CFrame.Angles(math.rad(270),0,0)
end
end)
end)
table.insert(Lasers,con)
table.insert(Lasers,PA25)
table.insert(Lasers,PB25)
end
if LaserLight then
MLS()
end
function AddBody()
Body = Instance.new("BodyGyro",char["Torso"])
Body.P = 200000
Body.maxTorque = V3(1,1,1)/0
return Body
end
Debug = true
Equip()
Gui = Instance.new("ScreenGui",plr.PlayerGui)
Gui.Name = "Ammo"
Frame = Instance.new("Frame",Gui)
Frame.Name = "MainFrame"
Frame.Size = UDim2.new(.15,0,.1,0)
Frame.Position = UDim2.new(0.85,0,0.75,0)
Frame.BackgroundTransparency = 0.2
Frame.BackgroundColor = BrickColor.new("Really black")
Frame.Active = true
Frame.Draggable = true
Dis = Instance.new("TextLabel",Frame)
Dis.Name = "Real Numbers"
Dis.Font = "ArialBold"
Dis.FontSize = "Size24"
Dis.Position = UDim2.new(0.5,0,0.5,0)
Dis.TextColor3 = BrickColor.new("White").Color
Dis.Text = Bullets.."/"..Clips
Cred = Instance.new("TextLabel",Frame)
Cred.Name = "Credz"
Cred.Font = "ArialBold"
Cred.FontSize = "Size12"
Cred.Position = UDim2.new(0.5,0,0.05,0)
Cred.Text = "Ma".."de B".."y"..": ".."Fr".."o".."st".."ftw"
Cred.TextColor3 = BrickColor.new("White").Color
function UpdateBullets()
Dis.Text = Bullets.."/"..Clips
end
Delay(0,function()
torso = char["Torso"]
mouse.Move:connect(function()
if Reloading then
return
end
Body = char.Torso:findFirstChild("BodyGyro") or AddBody()
x = math.pi/2
Left = false
Right = false
local point = torso.CFrame:pointToObjectSpace(mouse.Hit.p)
RW.C0 = CFrame.new(Vector3.new(1.2, .5, 0), point * Vector3.new(1, 1, (point.Z >= 0 and 0 or 1))) * CFrame.Angles(x,0,0)
LW.C0 = CFrame.new(Vector3.new(-1.2, .5, 0), point * Vector3.new(1, 1, (point.Z >= 0 and 0 or 1))) * CFrame.Angles(x,0,0)
HW.C0 = CFrame.new(Vector3.new(0, .8, 0), point * Vector3.new(1, 1, (point.Z >= 0 and 0 or 1)))
if point.Z > -5 then
if point.X > 0 then
Left = true
elseif point.X < 0 then
Right = true
end
end
if Right then
Body.cframe = torso.cFrame * CF.Angles(0,math.rad(15),math.rad(0))
elseif Left then
Body.cframe = torso.CFrame * CF.Angles(0,math.rad(-15),math.rad(0))
else
Body.cframe = torso.CFrame
end
end)
end)
mouse.KeyDown:connect(function(Key)
if Key == "c" then
if Debug == true then
Crouch()
Debug = false
elseif Debug == false then
UnCrouch()
Debug = true
end
elseif Key == "l" then
if LaserLight then
LaserLight = false
RemoveLS()
elseif not LaserLight then
LaserLight = true
MLS()
end
elseif Key == "r" then
DoReload()
elseif Key == "f" then
if FlashLight == true then
FlashLight = false
L3.Enabled = false
L4.Enabled = false
elseif FlashLight == false then
FlashLight = true
L3.Enabled = true
L4.Enabled = true
end
end
end)
mouse.KeyUp:connect(function()
end)
mouse.Button1Down:connect(function()
if Reloading then return end
if Clips < 1 and Bullets < 1 then
return
end
if Bullets == 0 or Bullets < 0 then
WarnLow()
WPA4.C1 = CF.new(0,0,-.2)
WPB4.C1 = CF.new(0,0,-.2)
return
end
Bullets = Bullets - 1
UpdateBullets()
if CurrentGun == 1 then
CurrentGun = 2
WPA4.C1 = CF.new(0,0,-.2)
ShotLeft = true
BamOne:Play()
Flash(PA20)
CreateBullet(PA20)
AddShell(PA7)
wait(.2)
WPA4.C1 = CF.new(0,0,0)
elseif CurrentGun == 2 then
CurrentGun = 1
ShotRight = true
WPB4.C1 = CF.new(0,0,-.2)
BamTwo:Play()
Flash(PB20)
CreateBullet(PB20)
AddShell(PB7)
wait(.2)
WPB4.C1 = CF.new(0,0,0)
end
end)
end)
Bin.Deselected:connect(function(mouse)
Unequip()
RemoveLS()
L3.Enabled = false
L4.Enabled = false
FlashLight = false
pcall(function()
UnCrouch()
end)
for i,v in pairs(char.Torso:GetChildren()) do
if v:IsA("BodyGyro") then
v:Remove()
end
end
for i=1,5 do
pcall(function() plr.PlayerGui["Ammo"]:Remove() end)
end
end)
Delay(0,function()
BulletSpeed = 99
Twirl = 0.2
game:service("RunService").Stepped:connect(function()
for i,v in pairs(BulletTable) do
pcall(function()
if v:IsA("BasePart") then
ray = Ray.new(v.Position, v.CFrame.lookVector*(0.5+BulletSpeed))
v.CFrame = v.CFrame * CFrame.new(0,0,-BulletSpeed) * CFrame.Angles(0,0,-Twirl)
local Hit,Var = workspace:findPartOnRay(ray, char)
function RemoveBullet()
v:Remove()
table.remove("BulletTable", i)
end
if Hit and Hit.Parent then
local Human = Hit.Parent:findFirstChild("Humanoid")
local Head = Hit.Parent:findFirstChild("Head")
local Torso = Hit.Parent:findFirstChild("Torso")
if v.Parent ~= char.Torso then
v:Remove()
table.remove(BulletTable, i)
end
if Hit.Parent:IsA("Hat") then
local Human = Hit.Parent.Parent:findFirstChild("Humanoid")
local Head = Hit.Parent.Parent:findFirstChild("Head")
local Torso = Hit.Parent.Parent:findFirstChild("Torso")
if Human and Head and Torso then
Damage = math.random(10,25)
Human:TakeDamage(Damage)
if Human.Health < 1 then
Obj = Instance.new("ObjectValue",Human)
Obj.Name = "creator"
Obj.Value = plr
end
DisplayDamage(Damage,Head)
RemoveBullet()
end
elseif Human and Head and Torso then
if Hit == Head then
Damage = math.random(999999999,999999999)
else
Damage = math.random(999999999,999999999)
end
Human:TakeDamage(Damage)
if Human.Health < 1 then
Obj = Instance.new("ObjectValue",Human)
Obj.Name = "creator"
Obj.Value = plr
end
DisplayDamage(Damage,Head)
RemoveBullet()
elseif Hit then
RemoveBullet()
end
end
end
end)
end
end)
end)