Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Converted with ttyyuu12345's model to script plugin v4
- function sandbox(var,func)
- local env = getfenv(func)
- local newenv = setmetatable({},{
- __index = function(self,k)
- if k=="script" then
- return var
- else
- return env[k]
- end
- end,
- })
- setfenv(func,newenv)
- return func
- end
- cors = {}
- mas = Instance.new("Model",game:GetService("Lighting"))
- Tool0 = Instance.new("Tool")
- SpecialMesh1 = Instance.new("SpecialMesh")
- ManualWeld2 = Instance.new("ManualWeld")
- ManualWeld3 = Instance.new("ManualWeld")
- Part4 = Instance.new("Part")
- ManualWeld5 = Instance.new("ManualWeld")
- ManualWeld6 = Instance.new("ManualWeld")
- Part7 = Instance.new("Part")
- SpecialMesh8 = Instance.new("SpecialMesh")
- ManualWeld9 = Instance.new("ManualWeld")
- Part10 = Instance.new("Part")
- ManualWeld11 = Instance.new("ManualWeld")
- Part12 = Instance.new("Part")
- ManualWeld13 = Instance.new("ManualWeld")
- Part14 = Instance.new("Part")
- Attachment15 = Instance.new("Attachment")
- RopeConstraint16 = Instance.new("RopeConstraint")
- ManualWeld17 = Instance.new("ManualWeld")
- Part18 = Instance.new("Part")
- SpecialMesh19 = Instance.new("SpecialMesh")
- ManualWeld20 = Instance.new("ManualWeld")
- Part21 = Instance.new("Part")
- ManualWeld22 = Instance.new("ManualWeld")
- Part23 = Instance.new("Part")
- SpecialMesh24 = Instance.new("SpecialMesh")
- ManualWeld25 = Instance.new("ManualWeld")
- Sound26 = Instance.new("Sound")
- Sound27 = Instance.new("Sound")
- Attachment28 = Instance.new("Attachment")
- Sound29 = Instance.new("Sound")
- Script30 = Instance.new("Script")
- ObjectValue31 = Instance.new("ObjectValue")
- ObjectValue32 = Instance.new("ObjectValue")
- CFrameValue33 = Instance.new("CFrameValue")
- CFrameValue34 = Instance.new("CFrameValue")
- ObjectValue35 = Instance.new("ObjectValue")
- CFrameValue36 = Instance.new("CFrameValue")
- CFrameValue37 = Instance.new("CFrameValue")
- ObjectValue38 = Instance.new("ObjectValue")
- CFrameValue39 = Instance.new("CFrameValue")
- CFrameValue40 = Instance.new("CFrameValue")
- ObjectValue41 = Instance.new("ObjectValue")
- CFrameValue42 = Instance.new("CFrameValue")
- CFrameValue43 = Instance.new("CFrameValue")
- ObjectValue44 = Instance.new("ObjectValue")
- CFrameValue45 = Instance.new("CFrameValue")
- CFrameValue46 = Instance.new("CFrameValue")
- ObjectValue47 = Instance.new("ObjectValue")
- CFrameValue48 = Instance.new("CFrameValue")
- CFrameValue49 = Instance.new("CFrameValue")
- ObjectValue50 = Instance.new("ObjectValue")
- CFrameValue51 = Instance.new("CFrameValue")
- CFrameValue52 = Instance.new("CFrameValue")
- ObjectValue53 = Instance.new("ObjectValue")
- CFrameValue54 = Instance.new("CFrameValue")
- CFrameValue55 = Instance.new("CFrameValue")
- ObjectValue56 = Instance.new("ObjectValue")
- CFrameValue57 = Instance.new("CFrameValue")
- CFrameValue58 = Instance.new("CFrameValue")
- ObjectValue59 = Instance.new("ObjectValue")
- CFrameValue60 = Instance.new("CFrameValue")
- CFrameValue61 = Instance.new("CFrameValue")
- Script62 = Instance.new("Script")
- LocalScript63 = Instance.new("LocalScript")
- LocalScript64 = Instance.new("LocalScript")
- Tool0.Name = "Grapple Gun"
- Tool0.Parent = mas
- Tool0.GripForward = Vector3.new(0.122276917, -8.67667538e-08, 0.992496014)
- Tool0.GripPos = Vector3.new(-0.313411057, -0.00462485058, 0.42207998)
- Tool0.GripRight = Vector3.new(-0.0510015152, 0.998678803, 0.00628354633)
- Tool0.GripUp = Vector3.new(0.991184711, 0.0513871349, -0.122115359)
- SpecialMesh1.Parent = Tool0
- SpecialMesh1.Scale = Vector3.new(0.5, 1, 0.5)
- SpecialMesh1.Scale = Vector3.new(0.5, 1, 0.5)
- ManualWeld2.Name = "Weld"
- ManualWeld2.Parent = mas
- ManualWeld2.C0 = CFrame.new(0, 0, 0, -0.0580289774, 0.052552972, 0.996931016, 0.998133242, -0.0159979798, 0.0589423366, 0.0190464854, 0.998490155, -0.0515265539)
- ManualWeld2.C1 = CFrame.new(0.0863404274, -0.0222563744, -0.987207413, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- ManualWeld2.Part0 = nil
- ManualWeld2.Part1 = Part23
- ManualWeld3.Name = "Weld"
- ManualWeld3.Parent = mas
- ManualWeld3.C0 = CFrame.new(0, 0, 0, 0.998133242, -0.0159979798, 0.0589423366, 0.0580289774, -0.052552972, -0.996931016, 0.0190464854, 0.998490155, -0.0515265539)
- ManualWeld3.C1 = CFrame.new(0.418909073, 9.77516174e-06, -0.323640823, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- ManualWeld3.Part0 = nil
- ManualWeld3.Part1 = Part23
- Part4.Parent = Tool0
- Part4.Material = Enum.Material.DiamondPlate
- Part4.BrickColor = BrickColor.new("Institutional white")
- Part4.Rotation = Vector3.new(89.5999985, -4.00999975, -11.0500002)
- Part4.Shape = Enum.PartType.Ball
- Part4.Size = Vector3.new(0.19124943, 0.19124943, 0.19124943)
- Part4.CFrame = CFrame.new(5.86478138, 1.41457725, 30.1031151, 0.979046404, 0.191265896, -0.0698968023, -0.0699528381, -0.00646771397, -0.997529566, -0.191245452, 0.981517255, 0.00704752654)
- Part4.BottomSurface = Enum.SurfaceType.Smooth
- Part4.TopSurface = Enum.SurfaceType.Smooth
- Part4.Color = Color3.new(0.972549, 0.972549, 0.972549)
- Part4.Position = Vector3.new(5.86478138, 1.41457725, 30.1031151)
- Part4.Orientation = Vector3.new(85.9700012, -84.2399979, -95.2799988)
- Part4.Color = Color3.new(0.972549, 0.972549, 0.972549)
- ManualWeld5.Name = "Weld"
- ManualWeld5.Parent = Part4
- ManualWeld5.C0 = CFrame.new(0, 0, 0, 0.979046404, -0.0699528381, -0.191245452, 0.191265896, -0.00646771397, 0.981517255, -0.0698968023, -0.997529566, 0.00704752654)
- ManualWeld5.C1 = CFrame.new(-0.295347691, 0.0125772953, -0.125455856, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- ManualWeld5.Part0 = Part4
- ManualWeld5.Part1 = Part23
- ManualWeld6.Name = "Weld"
- ManualWeld6.Parent = mas
- ManualWeld6.C0 = CFrame.new(0, 0, 0, 0.188958481, 0.00539868232, 0.9819718, -0.981657386, -0.0247960351, 0.189034268, 0.0253694654, -0.999678135, 0.00061424973)
- ManualWeld6.C1 = CFrame.new(0.0582213402, 0.0527820587, 0.654497147, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- ManualWeld6.Part0 = nil
- ManualWeld6.Part1 = Part23
- Part7.Parent = Tool0
- Part7.Material = Enum.Material.DiamondPlate
- Part7.BrickColor = BrickColor.new("Dark stone grey")
- Part7.Rotation = Vector3.new(176.979996, 3.32999992, 91.0899963)
- Part7.Size = Vector3.new(0.2249998, 0.445498616, 0.218249291)
- Part7.CFrame = CFrame.new(6.25801373, 1.41964054, 29.8813953, -0.0190464854, -0.998133242, 0.0580289774, -0.998490155, 0.0159979798, -0.052552972, 0.0515265539, -0.0589423366, -0.996931016)
- Part7.Color = Color3.new(0.388235, 0.372549, 0.384314)
- Part7.Position = Vector3.new(6.25801373, 1.41964054, 29.8813953)
- Part7.Orientation = Vector3.new(3.00999999, 176.669998, -89.0799942)
- Part7.Color = Color3.new(0.388235, 0.372549, 0.384314)
- SpecialMesh8.Parent = Part7
- SpecialMesh8.MeshType = Enum.MeshType.Wedge
- ManualWeld9.Name = "Weld"
- ManualWeld9.Parent = Part7
- ManualWeld9.C0 = CFrame.new(0, 0, 0, -0.0190464854, -0.998490155, 0.0515265539, -0.998133242, 0.0159979798, -0.0589423366, 0.0580289774, -0.052552972, -0.996931016)
- ManualWeld9.C1 = CFrame.new(0.097884655, 0.0176405907, -0.347175598, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- ManualWeld9.Part0 = Part7
- ManualWeld9.Part1 = Part23
- Part10.Parent = Tool0
- Part10.Material = Enum.Material.DiamondPlate
- Part10.BrickColor = BrickColor.new("Dark stone grey")
- Part10.Rotation = Vector3.new(89.9599991, 1.44999993, 0.799999952)
- Part10.Shape = Enum.PartType.Cylinder
- Part10.Size = Vector3.new(0.786248505, 0.191249445, 0.326248884)
- Part10.CFrame = CFrame.new(5.96688366, 1.42890608, 30.7122364, 0.999583006, -0.0138729978, 0.0253687184, 0.0253747851, 0.000262671383, -0.999679565, 0.013861876, 0.999905527, 0.000614587159)
- Part10.BottomSurface = Enum.SurfaceType.Smooth
- Part10.TopSurface = Enum.SurfaceType.Smooth
- Part10.Color = Color3.new(0.388235, 0.372549, 0.384314)
- Part10.Position = Vector3.new(5.96688366, 1.42890608, 30.7122364)
- Part10.Orientation = Vector3.new(88.5499954, 88.6100006, 89.409996)
- Part10.Color = Color3.new(0.388235, 0.372549, 0.384314)
- ManualWeld11.Name = "Weld"
- ManualWeld11.Parent = Part10
- ManualWeld11.C0 = CFrame.new(0, 0, 0, 0.999583006, 0.0253747851, 0.013861876, -0.0138729978, 0.000262671383, 0.999905527, 0.0253687184, -0.999679565, 0.000614587159)
- ManualWeld11.C1 = CFrame.new(-0.193245411, 0.0269061327, 0.483665466, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- ManualWeld11.Part0 = Part10
- ManualWeld11.Part1 = Part23
- Part12.Parent = Tool0
- Part12.Material = Enum.Material.DiamondPlate
- Part12.BrickColor = BrickColor.new("Dark stone grey")
- Part12.Rotation = Vector3.new(-92.9499969, 1.09000003, -93.3299942)
- Part12.Size = Vector3.new(1.14749682, 0.445498616, 0.218249321)
- Part12.CFrame = CFrame.new(6.29801321, 1.3719871, 29.191103, -0.0580289774, 0.998133242, 0.0190464854, 0.052552972, -0.0159979798, 0.998490155, 0.996931016, 0.0589423366, -0.0515265539)
- Part12.Color = Color3.new(0.388235, 0.372549, 0.384314)
- Part12.Position = Vector3.new(6.29801321, 1.3719871, 29.191103)
- Part12.Orientation = Vector3.new(-86.8499985, 159.709991, 106.93)
- Part12.Color = Color3.new(0.388235, 0.372549, 0.384314)
- ManualWeld13.Name = "Weld"
- ManualWeld13.Parent = Part12
- ManualWeld13.C0 = CFrame.new(0, 0, 0, -0.0580289774, 0.052552972, 0.996931016, 0.998133242, -0.0159979798, 0.0589423366, 0.0190464854, 0.998490155, -0.0515265539)
- ManualWeld13.C1 = CFrame.new(0.13788414, -0.030012846, -1.03746796, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- ManualWeld13.Part0 = Part12
- ManualWeld13.Part1 = Part23
- Part14.Parent = Tool0
- Part14.Material = Enum.Material.DiamondPlate
- Part14.BrickColor = BrickColor.new("Dark stone grey")
- Part14.Rotation = Vector3.new(-92.9499969, 1.09000003, -93.3299942)
- Part14.Shape = Enum.PartType.Cylinder
- Part14.Size = Vector3.new(2.7449913, 0.224999294, 0.224999294)
- Part14.CFrame = CFrame.new(6.45014763, 1.40933704, 29.9992676, -0.0580289848, 0.998133242, 0.0190464798, 0.0525529869, -0.0159979891, 0.998490036, 0.996930778, 0.0589423105, -0.0515265279)
- Part14.BottomSurface = Enum.SurfaceType.Smooth
- Part14.TopSurface = Enum.SurfaceType.Smooth
- Part14.Color = Color3.new(0.388235, 0.372549, 0.384314)
- Part14.Position = Vector3.new(6.45014763, 1.40933704, 29.9992676)
- Part14.Orientation = Vector3.new(-86.8499985, 159.709991, 106.93)
- Part14.Color = Color3.new(0.388235, 0.372549, 0.384314)
- Attachment15.Name = "Attachment0"
- Attachment15.Parent = Part14
- Attachment15.CFrame = CFrame.new(1.37249565, -0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- Attachment15.Position = Vector3.new(1.37249565, -0, 0)
- RopeConstraint16.Parent = Part14
- RopeConstraint16.Color = BrickColor.new("Dirt brown")
- RopeConstraint16.Visible = true
- RopeConstraint16.Attachment0 = Attachment15
- RopeConstraint16.Color = BrickColor.new("Dirt brown")
- RopeConstraint16.Length = 1
- RopeConstraint16.Thickness = 0.050000000745058
- ManualWeld17.Name = "Weld"
- ManualWeld17.Parent = Part14
- ManualWeld17.C0 = CFrame.new(0, 0, 0, -0.0580289848, 0.0525529869, 0.996930778, 0.998133242, -0.0159979891, 0.0589423105, 0.0190464798, 0.998490036, -0.0515265279)
- ManualWeld17.C1 = CFrame.new(0.290018559, 0.00733709335, -0.22930336, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- ManualWeld17.Part0 = Part14
- ManualWeld17.Part1 = Part23
- Part18.Parent = Tool0
- Part18.Material = Enum.Material.DiamondPlate
- Part18.BrickColor = BrickColor.new("Dark stone grey")
- Part18.Rotation = Vector3.new(176.649994, 19.9200001, 91.159996)
- Part18.Size = Vector3.new(0.0900001973, 0.310498983, 0.105749637)
- Part18.CFrame = CFrame.new(6.22315168, 1.43123496, 30.0931625, -0.0190464854, -0.939994335, 0.340658188, -0.998490155, 0.000323727727, -0.0549331158, 0.0515265539, -0.341190159, -0.938581228)
- Part18.Color = Color3.new(0.388235, 0.372549, 0.384314)
- Part18.Position = Vector3.new(6.22315168, 1.43123496, 30.0931625)
- Part18.Orientation = Vector3.new(3.14999986, 160.050003, -89.9799957)
- Part18.Color = Color3.new(0.388235, 0.372549, 0.384314)
- SpecialMesh19.Parent = Part18
- SpecialMesh19.MeshType = Enum.MeshType.Wedge
- ManualWeld20.Name = "Weld"
- ManualWeld20.Parent = Part18
- ManualWeld20.C0 = CFrame.new(0, 0, 0, -0.0190464854, -0.998490155, 0.0515265539, -0.939994335, 0.000323727727, -0.341190159, 0.340658188, -0.0549331158, -0.938581228)
- ManualWeld20.C1 = CFrame.new(0.0630226135, 0.0292350054, -0.135408401, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- ManualWeld20.Part0 = Part18
- ManualWeld20.Part1 = Part23
- Part21.Parent = Tool0
- Part21.Material = Enum.Material.DiamondPlate
- Part21.BrickColor = BrickColor.new("Institutional white")
- Part21.Rotation = Vector3.new(89.5999985, -4.00999975, -11.0500002)
- Part21.Shape = Enum.PartType.Ball
- Part21.Size = Vector3.new(0.19124943, 0.19124943, 0.19124943)
- Part21.CFrame = CFrame.new(6.05067492, 1.42108226, 29.8165855, 0.979046404, 0.191265896, -0.0698968098, -0.0699528381, -0.0064676553, -0.997529447, -0.191245422, 0.981517136, 0.00704746693)
- Part21.BottomSurface = Enum.SurfaceType.Smooth
- Part21.TopSurface = Enum.SurfaceType.Smooth
- Part21.Color = Color3.new(0.972549, 0.972549, 0.972549)
- Part21.Position = Vector3.new(6.05067492, 1.42108226, 29.8165855)
- Part21.Orientation = Vector3.new(85.9700012, -84.2399979, -95.2799988)
- Part21.Color = Color3.new(0.972549, 0.972549, 0.972549)
- ManualWeld22.Name = "Weld"
- ManualWeld22.Parent = Part21
- ManualWeld22.C0 = CFrame.new(0, 0, 0, 0.979046404, -0.0699528381, -0.191245422, 0.191265896, -0.0064676553, 0.981517136, -0.0698968098, -0.997529447, 0.00704746693)
- ManualWeld22.C1 = CFrame.new(-0.109454155, 0.0190823078, -0.411985397, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- ManualWeld22.Part0 = Part21
- ManualWeld22.Part1 = Part23
- Part23.Name = "Handle"
- Part23.Parent = Tool0
- Part23.Size = Vector3.new(0.783999979, 0.230000004, 0.985000014)
- Part23.CFrame = CFrame.new(6.16012907, 1.40199995, 30.2285709, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- Part23.BottomSurface = Enum.SurfaceType.Smooth
- Part23.TopSurface = Enum.SurfaceType.Smooth
- Part23.Position = Vector3.new(6.16012907, 1.40199995, 30.2285709)
- SpecialMesh24.Parent = Part23
- SpecialMesh24.MeshId = "rbxassetid://967574006"
- SpecialMesh24.TextureId = "rbxassetid://967578877"
- SpecialMesh24.MeshType = Enum.MeshType.FileMesh
- ManualWeld25.Name = "Weld"
- ManualWeld25.Parent = Part23
- ManualWeld25.C0 = CFrame.new(0, 0, 0, 0.170958012, 0.861410141, 0.478274047, 0.274102032, -0.507838607, 0.816681087, 0.946383357, -0.00852229446, -0.322933316)
- ManualWeld25.C1 = CFrame.new(0.31759119, 0.243120193, -0.00854682922, -0.0250650086, 0.967065334, -0.2532911, 0.301864862, 0.248865172, 0.920295537, 0.953021228, -0.0533924624, -0.298160821)
- Sound26.Name = "ConnectSound"
- Sound26.Parent = Part23
- Sound26.SoundId = "rbxassetid://138259748"
- Sound26.Volume = 1
- Sound27.Name = "FireSound"
- Sound27.Parent = Part23
- Sound27.SoundId = "rbxassetid://659223262"
- Sound27.Volume = 1
- Attachment28.Name = "RightGripAttachment"
- Attachment28.Parent = Part23
- Attachment28.Rotation = Vector3.new(-0, -90, 0)
- Attachment28.CFrame = CFrame.new(0, 0, 1.14999998, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- Attachment28.Position = Vector3.new(0, 0, 1.14999998)
- Attachment28.Axis = Vector3.new(0, 0, 1)
- Attachment28.Orientation = Vector3.new(-0, -90, 0)
- Sound29.Name = "HitSound"
- Sound29.Parent = Part23
- Sound29.Volume = 1
- Script30.Name = "Weld"
- Script30.Parent = Tool0
- table.insert(cors,sandbox(Script30,function()
- tool = script.Parent
- while not tool:FindFirstChild("WeldProfile") do wait() end
- profile = tool.WeldProfile
- function reweld()
- for k, v in pairs(profile:GetChildren()) do
- local b = v.Value
- b:BreakJoints()
- local w = Instance.new("ManualWeld")
- w.Name = "HandleWeld"
- w.Part0 = b
- w.Part1 = profile.Value
- w.C0 = v.C0.Value
- w.C1 = v.C1.Value
- w.Parent = game.JointsService
- end
- end
- tool.AncestryChanged:connect(reweld)
- reweld()
- end))
- ObjectValue31.Name = "WeldProfile"
- ObjectValue31.Parent = Tool0
- ObjectValue31.Value = Part23
- ObjectValue32.Name = "Profile1"
- ObjectValue32.Parent = ObjectValue31
- ObjectValue32.Value = Part7
- CFrameValue33.Name = "C0"
- CFrameValue33.Parent = ObjectValue32
- CFrameValue33.Value = CFrame.new(0, 0, 0, -0.0190464854, -0.998490155, 0.0515265539, -0.998133242, 0.0159979798, -0.0589423366, 0.0580289774, -0.052552972, -0.996931016)
- CFrameValue34.Name = "C1"
- CFrameValue34.Parent = ObjectValue32
- CFrameValue34.Value = CFrame.new(0.097884655, 0.0176405907, -0.347175598, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- ObjectValue35.Name = "Profile2"
- ObjectValue35.Parent = ObjectValue31
- ObjectValue35.Value = Part10
- CFrameValue36.Name = "C0"
- CFrameValue36.Parent = ObjectValue35
- CFrameValue36.Value = CFrame.new(0, 0, 0, 0.999583006, 0.0253747851, 0.013861876, -0.0138729978, 0.000262671383, 0.999905527, 0.0253687184, -0.999679565, 0.000614587159)
- CFrameValue37.Name = "C1"
- CFrameValue37.Parent = ObjectValue35
- CFrameValue37.Value = CFrame.new(-0.193245411, 0.0269061327, 0.483665466, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- ObjectValue38.Name = "Profile3"
- ObjectValue38.Parent = ObjectValue31
- ObjectValue38.Value = Part12
- CFrameValue39.Name = "C0"
- CFrameValue39.Parent = ObjectValue38
- CFrameValue39.Value = CFrame.new(0, 0, 0, -0.0580289774, 0.052552972, 0.996931016, 0.998133242, -0.0159979798, 0.0589423366, 0.0190464854, 0.998490155, -0.0515265539)
- CFrameValue40.Name = "C1"
- CFrameValue40.Parent = ObjectValue38
- CFrameValue40.Value = CFrame.new(0.13788414, -0.030012846, -1.03746796, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- ObjectValue41.Name = "Profile4"
- ObjectValue41.Parent = ObjectValue31
- ObjectValue41.Value = Part14
- CFrameValue42.Name = "C0"
- CFrameValue42.Parent = ObjectValue41
- CFrameValue42.Value = CFrame.new(0, 0, 0, -0.0580289848, 0.0525529869, 0.996930778, 0.998133242, -0.0159979891, 0.0589423105, 0.0190464798, 0.998490036, -0.0515265279)
- CFrameValue43.Name = "C1"
- CFrameValue43.Parent = ObjectValue41
- CFrameValue43.Value = CFrame.new(0.290018559, 0.00733709335, -0.22930336, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- ObjectValue44.Name = "Profile5"
- ObjectValue44.Parent = ObjectValue31
- ObjectValue44.Value = Part18
- CFrameValue45.Name = "C0"
- CFrameValue45.Parent = ObjectValue44
- CFrameValue45.Value = CFrame.new(0, 0, 0, -0.0190464854, -0.998490155, 0.0515265539, -0.939994335, 0.000323727727, -0.341190159, 0.340658188, -0.0549331158, -0.938581228)
- CFrameValue46.Name = "C1"
- CFrameValue46.Parent = ObjectValue44
- CFrameValue46.Value = CFrame.new(0.0630226135, 0.0292350054, -0.135408401, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- ObjectValue47.Name = "Profile6"
- ObjectValue47.Parent = ObjectValue31
- ObjectValue47.Value = Part21
- CFrameValue48.Name = "C0"
- CFrameValue48.Parent = ObjectValue47
- CFrameValue48.Value = CFrame.new(0, 0, 0, 0.979046404, -0.0699528381, -0.191245422, 0.191265896, -0.0064676553, 0.981517136, -0.0698968098, -0.997529447, 0.00704746693)
- CFrameValue49.Name = "C1"
- CFrameValue49.Parent = ObjectValue47
- CFrameValue49.Value = CFrame.new(-0.109454155, 0.0190823078, -0.411985397, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- ObjectValue50.Name = "Profile7"
- ObjectValue50.Parent = ObjectValue31
- ObjectValue50.Value = Part4
- CFrameValue51.Name = "C0"
- CFrameValue51.Parent = ObjectValue50
- CFrameValue51.Value = CFrame.new(0, 0, 0, 0.979046404, -0.0699528381, -0.191245452, 0.191265896, -0.00646771397, 0.981517255, -0.0698968023, -0.997529566, 0.00704752654)
- CFrameValue52.Name = "C1"
- CFrameValue52.Parent = ObjectValue50
- CFrameValue52.Value = CFrame.new(-0.295347691, 0.0125772953, -0.125455856, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- ObjectValue53.Name = "Profile8"
- ObjectValue53.Parent = ObjectValue31
- ObjectValue53.Value = nil
- CFrameValue54.Name = "C0"
- CFrameValue54.Parent = ObjectValue53
- CFrameValue54.Value = CFrame.new(0, 0, 0, 0.188958481, 0.00539868232, 0.9819718, -0.981657386, -0.0247960351, 0.189034268, 0.0253694654, -0.999678135, 0.00061424973)
- CFrameValue55.Name = "C1"
- CFrameValue55.Parent = ObjectValue53
- CFrameValue55.Value = CFrame.new(0.0582213402, 0.0527820587, 0.654497147, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- ObjectValue56.Name = "Profile9"
- ObjectValue56.Parent = ObjectValue31
- ObjectValue56.Value = nil
- CFrameValue57.Name = "C0"
- CFrameValue57.Parent = ObjectValue56
- CFrameValue57.Value = CFrame.new(0, 0, 0, -0.0580289774, 0.052552972, 0.996931016, 0.998133242, -0.0159979798, 0.0589423366, 0.0190464854, 0.998490155, -0.0515265539)
- CFrameValue58.Name = "C1"
- CFrameValue58.Parent = ObjectValue56
- CFrameValue58.Value = CFrame.new(0.0863404274, -0.0222563744, -0.987207413, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- ObjectValue59.Name = "Profile10"
- ObjectValue59.Parent = ObjectValue31
- ObjectValue59.Value = nil
- CFrameValue60.Name = "C0"
- CFrameValue60.Parent = ObjectValue59
- CFrameValue60.Value = CFrame.new(0, 0, 0, 0.998133242, -0.0159979798, 0.0589423366, 0.0580289774, -0.052552972, -0.996931016, 0.0190464854, 0.998490155, -0.0515265539)
- CFrameValue61.Name = "C1"
- CFrameValue61.Parent = ObjectValue59
- CFrameValue61.Value = CFrame.new(0.418909073, 9.77516174e-06, -0.323640823, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- Script62.Name = "Weld"
- Script62.Parent = Tool0
- table.insert(cors,sandbox(Script62,function()
- tool = script.Parent
- while not tool:FindFirstChild("WeldProfile") do wait() end
- profile = tool.WeldProfile
- function reweld()
- for k, v in pairs(profile:GetChildren()) do
- local b = v.Value
- b:BreakJoints()
- local w = Instance.new("ManualWeld")
- w.Name = "HandleWeld"
- w.Part0 = b
- w.Part1 = profile.Value
- w.C0 = v.C0.Value
- w.C1 = v.C1.Value
- w.Parent = game.JointsService
- end
- end
- tool.AncestryChanged:connect(reweld)
- reweld()
- end))
- LocalScript63.Name = "WeldBackup"
- LocalScript63.Parent = Tool0
- table.insert(cors,sandbox(LocalScript63,function()
- tool = script.Parent
- while not tool:FindFirstChild("WeldProfile") do wait() end
- profile = tool.WeldProfile
- function reweld()
- for k, v in pairs(profile:GetChildren()) do
- local b = v.Value
- b:BreakJoints()
- local w = Instance.new("ManualWeld")
- w.Name = "HandleWeld"
- w.Part0 = b
- w.Part1 = profile.Value
- w.C0 = v.C0.Value
- w.C1 = v.C1.Value
- w.Parent = game.JointsService
- end
- end
- tool.AncestryChanged:connect(reweld)
- reweld()
- end))
- LocalScript64.Parent = Tool0
- table.insert(cors,sandbox(LocalScript64,function()
- local maxDistance = 300
- local canFireWhileGrappling = false
- local Tool = script.Parent;
- local torso = nil
- local human = nil
- local bolt = nil
- local targetPos = Vector3.new(0,0,0)
- local boltconnect = nil
- local holdweld = nil
- local rope = Instance.new("Part")
- --rope.BrickColor = BrickColor.new("Black")
- rope.TopSurface = 0
- rope.BottomSurface = 0
- rope.formFactor = "Symmetric"
- rope.Name = "Rope"
- rope.CanCollide = false
- rope.Anchored = true
- local mesh = Instance.new("CylinderMesh")
- mesh.Parent = rope
- mesh.Scale = Vector3.new(0.1,1,0.1)
- local RetractionSpeed = 45
- local StartDistance = 100
- local PlayerBodyVelocity = Instance.new("BodyVelocity")
- PlayerBodyVelocity.maxForce = Vector3.new(1e+006, 1e+006, 1e+006)
- local ObjectBodyVelocity = Instance.new("BodyVelocity")
- ObjectBodyVelocity.maxForce = Vector3.new(5000,5000,5000) --force necessary to forcefully grab a player
- local bodyPos = Instance.new("BodyPosition")
- bodyPos.D = 1e+003
- bodyPos.P = 3e+003
- bodyPos.maxForce = Vector3.new(1e+006, 1e+006, 1e+006)
- local bodyGyro = Instance.new("BodyGyro")
- bodyGyro.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
- function BreakRope()
- if human then
- human.Sit = false
- end
- rope.Parent = nil
- if PlayerBodyVelocity then PlayerBodyVelocity.Parent = nil end
- if ObjectBodyVelocity then ObjectBodyVelocity.Parent = nil end
- bodyGyro.Parent = nil
- if bolt ~= nil then
- bolt.Parent = nil
- end
- if holdweld ~= nil then
- holdweld.Parent = nil
- end
- holdweld = nil
- bolt = nil
- Tool.Handle.Mesh.MeshId = "http://www.roblox.com/asset/?id=967574006"
- wait(.45)
- if bolt == nil then
- bodyGyro.Parent = nil --keep the gyro a little longer so retracted object doesnt ragdoll player
- end
- --script.Parent.Bolt.Transparency = 0
- end
- function adjustRope()
- if bolt and torso then
- if (torso.Position - bolt.Position).magnitude > maxDistance then BreakRope() end
- end
- if rope.Parent == nil or bolt == nil then return end
- local pos1 = Tool.Handle.Position + Tool.Handle.CFrame.lookVector*.7
- local pos2 = bolt.Position
- rope.Size = Vector3.new(0, 1, 0)
- rope.Mesh.Scale = Vector3.new(0.1, (pos1-pos2).magnitude, 0.1)
- rope.CFrame = CFrame.new((pos1 + pos2)/2, pos2) * CFrame.fromEulerAnglesXYZ(-math.pi/2,0,0)
- end
- function updateVelocities()
- if bolt and torso and ObjectBodyVelocity then
- local grappleVector = (torso.Position - bolt.Position)
- if grappleVector.magnitude > maxDistance then
- BreakRope()
- return
- end
- if bolt.Velocity.magnitude < 3 and -1* torso.Velocity:Dot(grappleVector.unit) < 5 and grappleVector.magnitude < .75 * StartDistance then
- print("hop up")
- PlayerBodyVelocity.velocity = PlayerBodyVelocity.velocity + Vector3.new(0,20,0)
- wait(.25)
- BreakRope()
- return
- end
- if grappleVector.magnitude < 3.5 then
- print("grapple end")
- wait(.20)
- BreakRope()
- return
- else
- ObjectBodyVelocity.velocity = grappleVector.unit * RetractionSpeed
- local boltRetraction = math.max(grappleVector.unit:Dot(bolt.Velocity),0) --no negative speed
- local playerSpeed = math.max(0, RetractionSpeed - 5 - boltRetraction)
- if playerSpeed == 0 then
- PlayerBodyVelocity.Parent = nil
- else
- PlayerBodyVelocity.Parent = torso
- PlayerBodyVelocity.velocity = grappleVector.unit * playerSpeed * -1
- end
- end
- else
- BreakRope()
- end
- end
- function onBoltHit(hit)
- if bolt == nil or hit == nil or hit.Parent == nil or hit == rope or bolt.Name ~= "Bolt" or hit.Parent == Tool or hit.Parent == Tool.Parent or hit.Parent.Parent == Tool.Parent or hit.Parent.Name == "Attached Bolt" then
- return
- end
- local grappleVector = (torso.Position - bolt.Position)
- StartDistance = grappleVector.magnitude
- if StartDistance > maxDistance then
- bolt.Parent = nil
- bolt = nil
- return
- end
- bolt.Name = "Attached Bolt"
- local boltFrame = CFrame.new(hit.Position)
- local C0 = hit.CFrame:inverse() * boltFrame
- local C1 = bolt.CFrame:inverse() * boltFrame
- local weld = Instance.new("Weld")
- weld.Part0 = hit
- weld.Part1 = bolt
- weld.C0 = C0
- weld.C1 = C1
- weld.Parent = bolt
- local hum = hit.Parent:FindFirstChild("Humanoid")
- if hum then hum.Sit = true end
- if bolt:FindFirstChild("HitSound") then bolt.HitSound:play() end
- local backupbolt = bolt
- ObjectBodyVelocity = Instance.new("BodyVelocity")
- ObjectBodyVelocity.maxForce = Vector3.new(5000,5000,5000)
- ObjectBodyVelocity.velocity = grappleVector.unit * RetractionSpeed
- ObjectBodyVelocity.Parent = bolt
- wait(0.4)
- if bolt == nil or bolt ~= backupbolt then return end
- bolt.ConnectSound:play()
- Tool.Handle.ConnectSound:play()
- targetPos = bolt.Position
- backupPos = bolt.Position
- --bodyPos.position = targetPos
- --bodyPos.Parent = torso
- PlayerBodyVelocity.Parent = torso
- PlayerBodyVelocity.velocity = Vector3.new(0,0,0)
- bodyGyro.cframe = torso.CFrame
- bodyGyro.Parent = torso
- while bolt ~= nil do
- --bodyPos.position = bolt.Position
- updateVelocities()
- wait(1/30)
- end
- end
- enabled = true
- local canReset = true
- function onButton1Down(mouse)
- if bolt and canReset then
- BreakRope()
- end
- if not enabled then
- return
- end
- if bolt ~= nil and not canFireWhileGrappling then return end
- if bolt ~= nil then
- if boltconnect ~= nil then
- print("Disconnecting")
- boltconnect:disconnect()
- end
- bolt:remove()
- targetPos = Vector3.new(0,0,0)
- end
- Tool.Handle.FireSound:play()
- enabled = false
- mouse.Icon = "rbxasset://textures\\GunWaitCursor.png"
- --bolt = game:GetService("InsertService"):LoadAsset(33393977)
- bolt = Tool.Handle:Clone()
- bolt.Name = "Bolt"
- bolt.Size = Vector3.new(1,.4,1)
- bolt.Locked = false
- bolt.Mesh.MeshId = "http://www.roblox.com/asset/?id=967591475"
- --local instances = bolt:GetChildren()
- --if #instances == 0 then
- -- bolt:Remove()
- -- return
- --end
- --bolt = bolt:FindFirstChild("Bolt")
- --local boltMesh = bolt:FindFirstChild("Mesh")
- bolt.CFrame = CFrame.new(Tool.Handle.Position + (mouse.Hit.p - Tool.Handle.Position).unit * 5,mouse.Hit.p) --* CFrame.fromEulerAnglesXYZ(0,math.pi,0)
- bolt.Transparency = 0
- bolt.CanCollide = false
- bolt.Velocity = bolt.CFrame.lookVector * 80
- if bolt:findFirstChild("BodyPosition") ~= nil then
- bolt.BodyPosition:remove()
- end
- local force = Instance.new("BodyForce")
- force.force = Vector3.new(0,bolt:GetMass() * 196.1,0)
- force.Parent = bolt
- bolt.Parent = workspace
- boltconnect = bolt.AncestryChanged:connect(function() onKeyDown("q") end)
- bolt.Touched:connect(onBoltHit)
- rope.Parent = Tool
- bolt.Parent = game.Workspace
- Tool.Handle.Mesh.MeshId = "http://www.roblox.com/asset/?id=967574006"
- canReset = false
- wait(.5)
- canReset = true
- wait(1)
- mouse.Icon = "rbxasset://textures\\GunCursor.png"
- enabled = true
- end
- function onKeyDown(key)
- key = key:lower()
- if key == "q" then
- BreakRope()
- end
- end
- function getHumanoid(obj)
- for i,child in pairs(obj:getChildren()) do
- if child.className == "Humanoid" then
- return child
- end
- end
- end
- function onEquippedLocal(mouse)
- if mouse == nil then
- print("Mouse not found")
- return
- end
- torso = Tool.Parent:findFirstChild("HumanoidRootPart")
- human = Tool.Parent:FindFirstChild("Humanoid")--getHumanoid(Tool.Parent)
- if torso == nil or human == nil then return end
- human.Jumping:connect(function() onKeyDown("q") end)
- mouse.Icon = "rbxasset://textures\\GunCursor.png"
- mouse.Button1Down:connect(function() onButton1Down(mouse) end)
- mouse.KeyDown:connect(onKeyDown)
- end
- Tool.Equipped:connect(onEquippedLocal)
- Tool.Unequipped:connect(function() onKeyDown("q") end)
- while true do
- adjustRope()
- wait(1/60)
- end
- end))
- for i,v in pairs(mas:GetChildren()) do
- v.Parent = game:GetService("Players").LocalPlayer.Backpack
- pcall(function() v:MakeJoints() end)
- end
- mas:Destroy()
- for i,v in pairs(cors) do
- spawn(function()
- pcall(v)
- end)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement