Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --https://github.com/Mokiros/roblox-FE-compatibility
- if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
- local Player,game,owner = owner,game
- local RealPlayer = Player
- do
- print("FE Compatibility code V2 by Mokiros")
- local RealPlayer = RealPlayer
- script.Parent = RealPlayer.Character
- --Fake event to make stuff like Mouse.KeyDown work
- local Disconnect_Function = function(this)
- this[1].Functions[this[2]] = nil
- end
- local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
- local FakeEvent_Metatable = {__index={
- Connect = function(this,f)
- local i = tostring(math.random(0,10000))
- while this.Functions[i] do
- i = tostring(math.random(0,10000))
- end
- this.Functions[i] = f
- return setmetatable({this,i},Disconnect_Metatable)
- end
- }}
- FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
- local function fakeEvent()
- return setmetatable({Functions={}},FakeEvent_Metatable)
- end
- --Creating fake input objects with fake variables
- local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
- FakeMouse.keyUp = FakeMouse.KeyUp
- FakeMouse.keyDown = FakeMouse.KeyDown
- local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
- local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
- CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
- end}
- --Merged 2 functions into one by checking amount of arguments
- CAS.UnbindAction = CAS.BindAction
- --This function will trigger the events that have been :Connect()'ed
- local function TriggerEvent(self,ev,...)
- for _,f in pairs(self[ev].Functions) do
- f(...)
- end
- end
- FakeMouse.TriggerEvent = TriggerEvent
- UIS.TriggerEvent = TriggerEvent
- --Client communication
- local Event = Instance.new("RemoteEvent")
- Event.Name = "UserInput_Event"
- Event.OnServerEvent:Connect(function(plr,io)
- if plr~=RealPlayer then return end
- FakeMouse.Target = io.Target
- FakeMouse.Hit = io.Hit
- if not io.isMouse then
- local b = io.UserInputState == Enum.UserInputState.Begin
- if io.UserInputType == Enum.UserInputType.MouseButton1 then
- return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
- end
- if io.UserInputType == Enum.UserInputType.MouseButton2 then
- return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
- end
- for _,t in pairs(CAS.Actions) do
- for _,k in pairs(t.Keys) do
- if k==io.KeyCode then
- t.Function(t.Name,io.UserInputState,io)
- end
- end
- end
- FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
- UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
- end
- end)
- Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
- local Mouse = owner:GetMouse()
- local UIS = game:GetService("UserInputService")
- local input = function(io,RobloxHandled)
- if RobloxHandled then return end
- --Since InputObject is a client-side instance, we create and pass table instead
- Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
- end
- UIS.InputBegan:Connect(input)
- UIS.InputEnded:Connect(input)
- local h,t
- --Give the server mouse data every second frame, but only if the values changed
- --If player is not moving their mouse, client won't fire events
- local HB = game:GetService("RunService").Heartbeat
- while true do
- if h~=Mouse.Hit or t~=Mouse.Target then
- h,t=Mouse.Hit,Mouse.Target
- Event:FireServer({isMouse=true,Target=t,Hit=h})
- end
- --Wait 2 frames
- for i=1,2 do
- HB:Wait()
- end
- end]==],script)
- ----Sandboxed game object that allows the usage of client-side methods and services
- --Real game object
- local RealGame = game
- --Metatable for fake service
- local FakeService_Metatable = {
- __index = function(self,k)
- local s = rawget(self,"_RealService")
- if s then
- return typeof(s[k])=="function"
- and function(_,...)return s[k](s,...)end or s[k]
- end
- end,
- __newindex = function(self,k,v)
- local s = rawget(self,"_RealService")
- if s then s[k]=v end
- end
- }
- local function FakeService(t,RealService)
- t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
- return setmetatable(t,FakeService_Metatable)
- end
- --Fake game object
- local FakeGame = {
- GetService = function(self,s)
- return rawget(self,s) or RealGame:GetService(s)
- end,
- Players = FakeService({
- LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
- },"Players"),
- UserInputService = FakeService(UIS,"UserInputService"),
- ContextActionService = FakeService(CAS,"ContextActionService"),
- RunService = FakeService({
- _btrs = {},
- RenderStepped = RealGame:GetService("RunService").Heartbeat,
- BindToRenderStep = function(self,name,_,fun)
- self._btrs[name] = self.Heartbeat:Connect(fun)
- end,
- UnbindFromRenderStep = function(self,name)
- self._btrs[name]:Disconnect()
- end,
- },"RunService")
- }
- rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
- FakeGame.service = FakeGame.GetService
- FakeService(FakeGame,game)
- --Changing owner to fake player object to support owner:GetMouse()
- game,owner = FakeGame,FakeGame.Players.LocalPlayer
- end
- cors = {}
- mas = Instance.new("Model",game:GetService("Lighting"))
- mas.Name = "CompiledModel"
- o1 = Instance.new("Model")
- o2 = Instance.new("Part")
- o3 = Instance.new("CylinderMesh")
- o4 = Instance.new("Part")
- o5 = Instance.new("CylinderMesh")
- o6 = Instance.new("Part")
- o7 = Instance.new("CylinderMesh")
- o8 = Instance.new("Part")
- o9 = Instance.new("CylinderMesh")
- o10 = Instance.new("Part")
- o11 = Instance.new("CylinderMesh")
- o12 = Instance.new("Part")
- o13 = Instance.new("CylinderMesh")
- o14 = Instance.new("Part")
- o15 = Instance.new("CylinderMesh")
- o16 = Instance.new("Part")
- o17 = Instance.new("SpecialMesh")
- o18 = Instance.new("Part")
- o19 = Instance.new("CylinderMesh")
- o20 = Instance.new("Part")
- o21 = Instance.new("CylinderMesh")
- o22 = Instance.new("Part")
- o23 = Instance.new("BlockMesh")
- o24 = Instance.new("Part")
- o25 = Instance.new("Part")
- o26 = Instance.new("BlockMesh")
- o27 = Instance.new("Part")
- o28 = Instance.new("BlockMesh")
- o29 = Instance.new("Part")
- o30 = Instance.new("BlockMesh")
- o31 = Instance.new("Part")
- o32 = Instance.new("SpecialMesh")
- o33 = Instance.new("Part")
- o34 = Instance.new("SpecialMesh")
- o35 = Instance.new("Part")
- o36 = Instance.new("Part")
- o37 = Instance.new("BlockMesh")
- o38 = Instance.new("Part")
- o39 = Instance.new("CylinderMesh")
- o40 = Instance.new("Part")
- o41 = Instance.new("Part")
- o42 = Instance.new("SpecialMesh")
- o43 = Instance.new("Part")
- o44 = Instance.new("Part")
- o45 = Instance.new("BlockMesh")
- o46 = Instance.new("Part")
- o47 = Instance.new("CylinderMesh")
- o48 = Instance.new("Part")
- o49 = Instance.new("BlockMesh")
- o50 = Instance.new("Part")
- o51 = Instance.new("BlockMesh")
- o52 = Instance.new("Part")
- o53 = Instance.new("Part")
- o54 = Instance.new("CylinderMesh")
- o55 = Instance.new("Part")
- o56 = Instance.new("Part")
- o57 = Instance.new("SpecialMesh")
- o58 = Instance.new("Part")
- o59 = Instance.new("BlockMesh")
- o60 = Instance.new("Part")
- o61 = Instance.new("SpecialMesh")
- o62 = Instance.new("Part")
- o63 = Instance.new("SpecialMesh")
- o64 = Instance.new("Part")
- o65 = Instance.new("BlockMesh")
- o66 = Instance.new("Part")
- o67 = Instance.new("CylinderMesh")
- o68 = Instance.new("Part")
- o69 = Instance.new("CylinderMesh")
- o70 = Instance.new("Part")
- o71 = Instance.new("BlockMesh")
- o72 = Instance.new("Part")
- o73 = Instance.new("BlockMesh")
- o74 = Instance.new("Part")
- o75 = Instance.new("BlockMesh")
- o76 = Instance.new("Part")
- o77 = Instance.new("Part")
- o78 = Instance.new("BlockMesh")
- o79 = Instance.new("Part")
- o80 = Instance.new("SpecialMesh")
- o81 = Instance.new("Part")
- o82 = Instance.new("SpecialMesh")
- o83 = Instance.new("Part")
- o84 = Instance.new("SpecialMesh")
- o85 = Instance.new("Part")
- o86 = Instance.new("SpecialMesh")
- o87 = Instance.new("Part")
- o88 = Instance.new("CylinderMesh")
- o89 = Instance.new("Part")
- o90 = Instance.new("BlockMesh")
- o1.Name = "Revolver"
- o1.Parent = mas
- o2.Name = "A6"
- o2.Parent = o1
- o2.Material = Enum.Material.Neon
- o2.BrickColor = BrickColor.new("Toothpaste")
- o2.Position = Vector3.new(51.2299995, 4, 5.23000002)
- o2.Rotation = Vector3.new(-0, 0, 90)
- o2.Anchored = true
- o2.CanCollide = false
- o2.Shape = Enum.PartType.Cylinder
- o2.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
- o2.CFrame = CFrame.new(51.2299995, 4, 5.23000002, -4.37113883e-008, -1, 0, 1, -4.37113883e-008, 0, 0, 0, 1)
- o2.BottomSurface = Enum.SurfaceType.Smooth
- o2.TopSurface = Enum.SurfaceType.Smooth
- o2.Color = Color3.new(0, 1, 1)
- o2.Position = Vector3.new(51.2299995, 4, 5.23000002)
- o3.Parent = o2
- o3.Scale = Vector3.new(1, 1.54999995, 0.400000006)
- o4.Name = "A3"
- o4.Parent = o1
- o4.Material = Enum.Material.Neon
- o4.BrickColor = BrickColor.new("Toothpaste")
- o4.Position = Vector3.new(51.2299995, 3.9000001, 5.41499996)
- o4.Rotation = Vector3.new(-0, 0, 90)
- o4.Anchored = true
- o4.CanCollide = false
- o4.Shape = Enum.PartType.Cylinder
- o4.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
- o4.CFrame = CFrame.new(51.2299995, 3.9000001, 5.41499996, -4.37113883e-008, -1, 0, 1, -4.37113883e-008, 0, 0, 0, 1)
- o4.BottomSurface = Enum.SurfaceType.Smooth
- o4.TopSurface = Enum.SurfaceType.Smooth
- o4.Color = Color3.new(0, 1, 1)
- o4.Position = Vector3.new(51.2299995, 3.9000001, 5.41499996)
- o5.Parent = o4
- o5.Scale = Vector3.new(1, 1.54999995, 0.400000006)
- o6.Name = "A2"
- o6.Parent = o1
- o6.Material = Enum.Material.Neon
- o6.BrickColor = BrickColor.new("Toothpaste")
- o6.Position = Vector3.new(51.2299995, 4, 5.41499996)
- o6.Rotation = Vector3.new(-0, 0, 90)
- o6.Anchored = true
- o6.CanCollide = false
- o6.Shape = Enum.PartType.Cylinder
- o6.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
- o6.CFrame = CFrame.new(51.2299995, 4, 5.41499996, -4.37113883e-008, -1, 0, 1, -4.37113883e-008, 0, 0, 0, 1)
- o6.BottomSurface = Enum.SurfaceType.Smooth
- o6.TopSurface = Enum.SurfaceType.Smooth
- o6.Color = Color3.new(0, 1, 1)
- o6.Position = Vector3.new(51.2299995, 4, 5.41499996)
- o7.Parent = o6
- o7.Scale = Vector3.new(1, 1.54999995, 0.400000006)
- o8.Name = "A5"
- o8.Parent = o1
- o8.Material = Enum.Material.Neon
- o8.BrickColor = BrickColor.new("Toothpaste")
- o8.Position = Vector3.new(51.2299995, 3.9000001, 5.23000002)
- o8.Rotation = Vector3.new(-0, 0, 90)
- o8.Anchored = true
- o8.CanCollide = false
- o8.Shape = Enum.PartType.Cylinder
- o8.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
- o8.CFrame = CFrame.new(51.2299995, 3.9000001, 5.23000002, -4.37113883e-008, -1, 0, 1, -4.37113883e-008, 0, 0, 0, 1)
- o8.BottomSurface = Enum.SurfaceType.Smooth
- o8.TopSurface = Enum.SurfaceType.Smooth
- o8.Color = Color3.new(0, 1, 1)
- o8.Position = Vector3.new(51.2299995, 3.9000001, 5.23000002)
- o9.Parent = o8
- o9.Scale = Vector3.new(1, 1.54999995, 0.400000006)
- o10.Name = "A4"
- o10.Parent = o1
- o10.Material = Enum.Material.Neon
- o10.BrickColor = BrickColor.new("Toothpaste")
- o10.Position = Vector3.new(51.2319984, 3.8599999, 5.32000017)
- o10.Rotation = Vector3.new(-0, 0, 90)
- o10.Anchored = true
- o10.CanCollide = false
- o10.Shape = Enum.PartType.Cylinder
- o10.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
- o10.CFrame = CFrame.new(51.2319984, 3.8599999, 5.32000017, -4.37113883e-008, -1, 0, 1, -4.37113883e-008, 0, 0, 0, 1)
- o10.BottomSurface = Enum.SurfaceType.Smooth
- o10.TopSurface = Enum.SurfaceType.Smooth
- o10.Color = Color3.new(0, 1, 1)
- o10.Position = Vector3.new(51.2319984, 3.8599999, 5.32000017)
- o11.Parent = o10
- o11.Scale = Vector3.new(1, 1.54999995, 0.400000006)
- o12.Name = "Barrel"
- o12.Parent = o1
- o12.Material = Enum.Material.SmoothPlastic
- o12.BrickColor = BrickColor.new("Mid gray")
- o12.Position = Vector3.new(51.981369, 4.00200367, 5.31954384)
- o12.Rotation = Vector3.new(-0, 0, 90)
- o12.Anchored = true
- o12.CanCollide = false
- o12.Shape = Enum.PartType.Cylinder
- o12.Size = Vector3.new(0.200000003, 1, 0.200000003)
- o12.CFrame = CFrame.new(51.981369, 4.00200367, 5.31954384, -4.37113883e-008, -1, 0, 1, -4.37113883e-008, 0, 0, 0, 1)
- o12.BottomSurface = Enum.SurfaceType.Smooth
- o12.TopSurface = Enum.SurfaceType.Smooth
- o12.Color = Color3.new(0.803922, 0.803922, 0.803922)
- o12.Position = Vector3.new(51.981369, 4.00200367, 5.31954384)
- o13.Parent = o12
- o13.Scale = Vector3.new(0.899999976, 1, 0.899999976)
- o14.Name = "BarrelEnd"
- o14.Parent = o1
- o14.Material = Enum.Material.SmoothPlastic
- o14.BrickColor = BrickColor.new("Really black")
- o14.Position = Vector3.new(52.3849983, 4, 5.31954384)
- o14.Rotation = Vector3.new(-0, 0, 90)
- o14.Anchored = true
- o14.CanCollide = false
- o14.Shape = Enum.PartType.Cylinder
- o14.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
- o14.CFrame = CFrame.new(52.3849983, 4, 5.31954384, -4.37113883e-008, -1, 0, 1, -4.37113883e-008, 0, 0, 0, 1)
- o14.BottomSurface = Enum.SurfaceType.Smooth
- o14.TopSurface = Enum.SurfaceType.Smooth
- o14.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
- o14.Position = Vector3.new(52.3849983, 4, 5.31954384)
- o15.Parent = o14
- o15.Scale = Vector3.new(0.699999988, 1, 0.699999988)
- o16.Name = "T2"
- o16.Parent = o1
- o16.Material = Enum.Material.SmoothPlastic
- o16.BrickColor = BrickColor.new("Dark stone grey")
- o16.Position = Vector3.new(50.9799995, 3.38000011, 5.31954384)
- o16.Rotation = Vector3.new(-95.8101654, 58.8695641, -85.0219879)
- o16.Anchored = true
- o16.CanCollide = false
- o16.Size = Vector3.new(0.200000003, 0.223999992, 0.200000003)
- o16.CFrame = CFrame.new(50.9799995, 3.38000011, 5.31954384, 0.0448608175, 0.515038073, 0.855992556, 0.0269551426, -0.857167304, 0.514332235, 0.99862957, 3.7252903e-008, -0.0523361489)
- o16.BottomSurface = Enum.SurfaceType.Smooth
- o16.TopSurface = Enum.SurfaceType.Smooth
- o16.Color = Color3.new(0.388235, 0.372549, 0.384314)
- o16.Position = Vector3.new(50.9799995, 3.38000011, 5.31954384)
- o17.Parent = o16
- o17.Scale = Vector3.new(0.5, 0.5, 0.519999981)
- o17.MeshType = Enum.MeshType.Wedge
- o18.Name = "Chamber"
- o18.Parent = o1
- o18.Material = Enum.Material.SmoothPlastic
- o18.Position = Vector3.new(51.2313728, 3.95000005, 5.31954384)
- o18.Rotation = Vector3.new(-0, 0, 90)
- o18.Anchored = true
- o18.CanCollide = false
- o18.Shape = Enum.PartType.Cylinder
- o18.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
- o18.CFrame = CFrame.new(51.2313728, 3.95000005, 5.31954384, -4.37113883e-008, -1, 0, 1, -4.37113883e-008, 0, 0, 0, 1)
- o18.BottomSurface = Enum.SurfaceType.Smooth
- o18.TopSurface = Enum.SurfaceType.Smooth
- o18.Position = Vector3.new(51.2313728, 3.95000005, 5.31954384)
- o19.Parent = o18
- o19.Scale = Vector3.new(1.5, 1.5, 1.5)
- o20.Name = "H1"
- o20.Parent = o1
- o20.Material = Enum.Material.SmoothPlastic
- o20.BrickColor = BrickColor.new("Dark stone grey")
- o20.Position = Vector3.new(50.8233681, 3.94829392, 5.31954384)
- o20.Rotation = Vector3.new(90, 90, 0)
- o20.Anchored = true
- o20.CanCollide = false
- o20.Shape = Enum.PartType.Cylinder
- o20.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
- o20.CFrame = CFrame.new(50.8233681, 3.94829392, 5.31954384, -4.37113883e-008, 0, 1, 1, -4.37113883e-008, 4.37113883e-008, 4.37113883e-008, 1, 1.91068547e-015)
- o20.BottomSurface = Enum.SurfaceType.Smooth
- o20.TopSurface = Enum.SurfaceType.Smooth
- o20.Color = Color3.new(0.388235, 0.372549, 0.384314)
- o20.Position = Vector3.new(50.8233681, 3.94829392, 5.31954384)
- o21.Parent = o20
- o22.Name = "H2"
- o22.Parent = o1
- o22.Material = Enum.Material.SmoothPlastic
- o22.BrickColor = BrickColor.new("Dark stone grey")
- o22.Position = Vector3.new(50.7559967, 4.01956081, 5.31500006)
- o22.Rotation = Vector3.new(-0, 0, 44)
- o22.Anchored = true
- o22.CanCollide = false
- o22.Size = Vector3.new(0.200000003, 0.239000008, 0.200000003)
- o22.CFrame = CFrame.new(50.7559967, 4.01956081, 5.31500006, 0.719339788, -0.694658399, 0, 0.694658399, 0.719339788, 0, 0, 0, 1)
- o22.BottomSurface = Enum.SurfaceType.Smooth
- o22.TopSurface = Enum.SurfaceType.Smooth
- o22.Color = Color3.new(0.388235, 0.372549, 0.384314)
- o22.Position = Vector3.new(50.7559967, 4.01956081, 5.31500006)
- o23.Parent = o22
- o23.Scale = Vector3.new(0.5, 0.899999976, 0.5)
- o24.Name = "Handle"
- o24.Parent = o1
- o24.Material = Enum.Material.SmoothPlastic
- o24.BrickColor = BrickColor.new("Dark stone grey")
- o24.Position = Vector3.new(50.4970093, 3.37834263, 5.32154369)
- o24.Rotation = Vector3.new(-0, 0, 45)
- o24.Anchored = true
- o24.CanCollide = false
- o24.Size = Vector3.new(0.730000019, 0.300000072, 0.300000012)
- o24.CFrame = CFrame.new(50.4970093, 3.37834263, 5.32154369, 0.707106769, -0.707106769, 0, 0.707106769, 0.707106769, 0, 0, 0, 1)
- o24.BottomSurface = Enum.SurfaceType.Smooth
- o24.TopSurface = Enum.SurfaceType.Smooth
- o24.Color = Color3.new(0.388235, 0.372549, 0.384314)
- o24.Position = Vector3.new(50.4970093, 3.37834263, 5.32154369)
- o25.Parent = o1
- o25.Material = Enum.Material.SmoothPlastic
- o25.BrickColor = BrickColor.new("Mid gray")
- o25.Position = Vector3.new(51.2200012, 3.46000004, 5.31954384)
- o25.Rotation = Vector3.new(-0, 0, 150.000015)
- o25.Anchored = true
- o25.CanCollide = false
- o25.Size = Vector3.new(0.200000003, 0.321999997, 0.200000003)
- o25.CFrame = CFrame.new(51.2200012, 3.46000004, 5.31954384, -0.866025507, -0.499999821, 0, 0.499999821, -0.866025507, 0, 0, 0, 1)
- o25.BottomSurface = Enum.SurfaceType.Smooth
- o25.TopSurface = Enum.SurfaceType.Smooth
- o25.Color = Color3.new(0.803922, 0.803922, 0.803922)
- o25.Position = Vector3.new(51.2200012, 3.46000004, 5.31954384)
- o26.Parent = o25
- o26.Scale = Vector3.new(0.5, 1.5, 0.699999988)
- o27.Parent = o1
- o27.Material = Enum.Material.SmoothPlastic
- o27.BrickColor = BrickColor.new("Mid gray")
- o27.Position = Vector3.new(51.0099983, 3.2750001, 5.31954384)
- o27.Rotation = Vector3.new(-0, 0, 90)
- o27.Anchored = true
- o27.CanCollide = false
- o27.Size = Vector3.new(0.200000003, 0.223999992, 0.200000003)
- o27.CFrame = CFrame.new(51.0099983, 3.2750001, 5.31954384, -4.37113883e-008, -1, 0, 1, -4.37113883e-008, 0, 0, 0, 1)
- o27.BottomSurface = Enum.SurfaceType.Smooth
- o27.TopSurface = Enum.SurfaceType.Smooth
- o27.Color = Color3.new(0.803922, 0.803922, 0.803922)
- o27.Position = Vector3.new(51.0099983, 3.2750001, 5.31954384)
- o28.Parent = o27
- o28.Scale = Vector3.new(0.5, 1.20000005, 0.699999988)
- o29.Parent = o1
- o29.Material = Enum.Material.SmoothPlastic
- o29.BrickColor = BrickColor.new("Mid gray")
- o29.Position = Vector3.new(50.8295479, 3.33778, 5.31954384)
- o29.Rotation = Vector3.new(-0, 0, 48.0000038)
- o29.Anchored = true
- o29.CanCollide = false
- o29.Size = Vector3.new(0.200000003, 0.223999992, 0.200000003)
- o29.CFrame = CFrame.new(50.8295479, 3.33778, 5.31954384, 0.669130564, -0.74314487, 0, 0.74314487, 0.669130564, 0, 0, 0, 1)
- o29.BottomSurface = Enum.SurfaceType.Smooth
- o29.TopSurface = Enum.SurfaceType.Smooth
- o29.Color = Color3.new(0.803922, 0.803922, 0.803922)
- o29.Position = Vector3.new(50.8295479, 3.33778, 5.31954384)
- o30.Parent = o29
- o30.Scale = Vector3.new(0.5, 1, 0.699999988)
- o31.Parent = o1
- o31.Material = Enum.Material.SmoothPlastic
- o31.BrickColor = BrickColor.new("Mid gray")
- o31.Position = Vector3.new(49.8057709, 3.23564911, 5.30704403)
- o31.Rotation = Vector3.new(-0, -90, 0)
- o31.Anchored = true
- o31.CanCollide = false
- o31.Size = Vector3.new(0.200000003, 0.200000003, 0.204999998)
- o31.CFrame = CFrame.new(49.8057709, 3.23564911, 5.30704403, -4.37113883e-008, 0, -1, 0, 1, 0, 1, 0, -4.37113883e-008)
- o31.BottomSurface = Enum.SurfaceType.Smooth
- o31.TopSurface = Enum.SurfaceType.Smooth
- o31.Color = Color3.new(0.803922, 0.803922, 0.803922)
- o31.Position = Vector3.new(49.8057709, 3.23564911, 5.30704403)
- o32.Parent = o31
- o32.Scale = Vector3.new(0.600000024, 0.349999994, 0.349999994)
- o32.MeshType = Enum.MeshType.Wedge
- o33.Parent = o1
- o33.Material = Enum.Material.SmoothPlastic
- o33.BrickColor = BrickColor.new("Mid gray")
- o33.Position = Vector3.new(49.8667717, 3.22244596, 5.30704403)
- o33.Rotation = Vector3.new(90, -45, 90)
- o33.Anchored = true
- o33.CanCollide = false
- o33.Size = Vector3.new(0.200000003, 0.200000003, 0.204999998)
- o33.CFrame = CFrame.new(49.8667717, 3.22244596, 5.30704403, -3.09086197e-008, -0.707106829, -0.707106769, -1.28027686e-008, 0.707106769, -0.707106829, 1, -1.28027686e-008, -3.09086197e-008)
- o33.BottomSurface = Enum.SurfaceType.Smooth
- o33.TopSurface = Enum.SurfaceType.Smooth
- o33.Color = Color3.new(0.803922, 0.803922, 0.803922)
- o33.Position = Vector3.new(49.8667717, 3.22244596, 5.30704403)
- o34.Parent = o33
- o34.Scale = Vector3.new(0.600000024, 0.349999994, 0.349999994)
- o34.MeshType = Enum.MeshType.Wedge
- o35.Parent = o1
- o35.Material = Enum.Material.SmoothPlastic
- o35.BrickColor = BrickColor.new("Mid gray")
- o35.Position = Vector3.new(50.4745674, 3.36495113, 5.38520098)
- o35.Rotation = Vector3.new(91.2115326, -45.6857071, 0.228031278)
- o35.Anchored = true
- o35.CanCollide = false
- o35.Size = Vector3.new(0.230000064, 0.200000003, 0.709999979)
- o35.CFrame = CFrame.new(50.4745674, 3.36495113, 5.38520098, 0.698588252, -0.00278032362, -0.715518475, -0.715436995, -0.0182964802, -0.698437631, -0.0111495871, 0.999828696, -0.0147708533)
- o35.BottomSurface = Enum.SurfaceType.Smooth
- o35.TopSurface = Enum.SurfaceType.Smooth
- o35.Color = Color3.new(0.803922, 0.803922, 0.803922)
- o35.Position = Vector3.new(50.4745674, 3.36495113, 5.38520098)
- o36.Parent = o1
- o36.Material = Enum.Material.Neon
- o36.BrickColor = BrickColor.new("Toothpaste")
- o36.Position = Vector3.new(50.7599983, 3.6400001, 5.20449972)
- o36.Rotation = Vector3.new(-0, 0, -44)
- o36.Anchored = true
- o36.CanCollide = false
- o36.Size = Vector3.new(0.203000054, 0.200000003, 0.200000003)
- o36.CFrame = CFrame.new(50.7599983, 3.6400001, 5.20449972, 0.719339788, 0.694658399, 0, -0.694658399, 0.719339788, 0, 0, 0, 1)
- o36.BottomSurface = Enum.SurfaceType.Smooth
- o36.TopSurface = Enum.SurfaceType.Smooth
- o36.Color = Color3.new(0, 1, 1)
- o36.Position = Vector3.new(50.7599983, 3.6400001, 5.20449972)
- o37.Parent = o36
- o37.Scale = Vector3.new(0.800000012, 0.300000012, 0.5)
- o38.Parent = o1
- o38.Material = Enum.Material.SmoothPlastic
- o38.BrickColor = BrickColor.new("Smoky grey")
- o38.Position = Vector3.new(51.2353706, 3.95000005, 5.31954384)
- o38.Rotation = Vector3.new(-0, 0, 90)
- o38.Anchored = true
- o38.CanCollide = false
- o38.Shape = Enum.PartType.Cylinder
- o38.Size = Vector3.new(0.200000003, 0.5, 0.200000003)
- o38.CFrame = CFrame.new(51.2353706, 3.95000005, 5.31954384, -4.37113883e-008, -1, 0, 1, -4.37113883e-008, 0, 0, 0, 1)
- o38.BottomSurface = Enum.SurfaceType.Smooth
- o38.TopSurface = Enum.SurfaceType.Smooth
- o38.Color = Color3.new(0.356863, 0.364706, 0.411765)
- o38.Position = Vector3.new(51.2353706, 3.95000005, 5.31954384)
- o39.Parent = o38
- o39.Scale = Vector3.new(1, 0.800000012, 0.600000024)
- o40.Parent = o1
- o40.Material = Enum.Material.SmoothPlastic
- o40.BrickColor = BrickColor.new("Mid gray")
- o40.Position = Vector3.new(51.0823708, 3.66909075, 5.31954384)
- o40.Anchored = true
- o40.CanCollide = false
- o40.Size = Vector3.new(0.868000031, 0.200000003, 0.264999986)
- o40.CFrame = CFrame.new(51.0823708, 3.66909075, 5.31954384, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- o40.BottomSurface = Enum.SurfaceType.Smooth
- o40.TopSurface = Enum.SurfaceType.Smooth
- o40.Color = Color3.new(0.803922, 0.803922, 0.803922)
- o40.Position = Vector3.new(51.0823708, 3.66909075, 5.31954384)
- o41.Parent = o1
- o41.Material = Enum.Material.SmoothPlastic
- o41.BrickColor = BrickColor.new("Mid gray")
- o41.Position = Vector3.new(49.8017693, 3.35193205, 5.30704403)
- o41.Rotation = Vector3.new(-90, 0, -90)
- o41.Anchored = true
- o41.CanCollide = false
- o41.Size = Vector3.new(0.200000003, 0.200000003, 0.204999998)
- o41.CFrame = CFrame.new(49.8017693, 3.35193205, 5.30704403, -4.37113883e-008, 1, 0, 4.37113883e-008, 1.91068547e-015, 1, 1, 4.37113883e-008, -4.37113883e-008)
- o41.BottomSurface = Enum.SurfaceType.Smooth
- o41.TopSurface = Enum.SurfaceType.Smooth
- o41.Color = Color3.new(0.803922, 0.803922, 0.803922)
- o41.Position = Vector3.new(49.8017693, 3.35193205, 5.30704403)
- o42.Parent = o41
- o42.Scale = Vector3.new(0.600000024, 0.349999994, 0.349999994)
- o42.MeshType = Enum.MeshType.Wedge
- o43.Parent = o1
- o43.Material = Enum.Material.SmoothPlastic
- o43.BrickColor = BrickColor.new("Dark stone grey")
- o43.Position = Vector3.new(50.2837715, 3.10236478, 5.31154442)
- o43.Rotation = Vector3.new(-0, 0, -20.9999962)
- o43.Anchored = true
- o43.CanCollide = false
- o43.Size = Vector3.new(0.410000026, 0.200000003, 0.400000006)
- o43.CFrame = CFrame.new(50.2837715, 3.10236478, 5.31154442, 0.933580458, 0.35836789, 0, -0.35836789, 0.933580458, 0, 0, 0, 1)
- o43.BottomSurface = Enum.SurfaceType.Smooth
- o43.TopSurface = Enum.SurfaceType.Smooth
- o43.Color = Color3.new(0.388235, 0.372549, 0.384314)
- o43.Position = Vector3.new(50.2837715, 3.10236478, 5.31154442)
- o44.Parent = o1
- o44.Material = Enum.Material.SmoothPlastic
- o44.BrickColor = BrickColor.new("Black")
- o44.Position = Vector3.new(50.8300018, 3.80446577, 5.31500006)
- o44.Rotation = Vector3.new(-0, 0, -35.0000076)
- o44.Anchored = true
- o44.CanCollide = false
- o44.Size = Vector3.new(0.206999987, 0.435000002, 0.264999986)
- o44.CFrame = CFrame.new(50.8300018, 3.80446577, 5.31500006, 0.819151998, 0.57357651, 0, -0.57357651, 0.819151998, 0, 0, 0, 1)
- o44.BottomSurface = Enum.SurfaceType.Smooth
- o44.TopSurface = Enum.SurfaceType.Smooth
- o44.Color = Color3.new(0.105882, 0.164706, 0.207843)
- o44.Position = Vector3.new(50.8300018, 3.80446577, 5.31500006)
- o45.Parent = o44
- o45.Scale = Vector3.new(1, 1, 0.800000012)
- o46.Parent = o1
- o46.Material = Enum.Material.SmoothPlastic
- o46.BrickColor = BrickColor.new("Mid gray")
- o46.Position = Vector3.new(49.8587685, 3.29909968, 5.30704403)
- o46.Rotation = Vector3.new(90, 0, -0)
- o46.Anchored = true
- o46.CanCollide = false
- o46.Shape = Enum.PartType.Cylinder
- o46.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
- o46.CFrame = CFrame.new(49.8587685, 3.29909968, 5.30704403, 1, 0, 0, 0, -4.37113883e-008, -1, 0, 1, -4.37113883e-008)
- o46.BottomSurface = Enum.SurfaceType.Smooth
- o46.TopSurface = Enum.SurfaceType.Smooth
- o46.Color = Color3.new(0.803922, 0.803922, 0.803922)
- o46.Position = Vector3.new(49.8587685, 3.29909968, 5.30704403)
- o47.Parent = o46
- o47.Scale = Vector3.new(0.899999976, 0.550000012, 0.899999976)
- o48.Parent = o1
- o48.Material = Enum.Material.SmoothPlastic
- o48.BrickColor = BrickColor.new("Black")
- o48.Position = Vector3.new(50.9568748, 3.94950008, 5.31954384)
- o48.Anchored = true
- o48.CanCollide = false
- o48.Size = Vector3.new(0.226999998, 0.358999997, 0.264999986)
- o48.CFrame = CFrame.new(50.9568748, 3.94950008, 5.31954384, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- o48.BottomSurface = Enum.SurfaceType.Smooth
- o48.TopSurface = Enum.SurfaceType.Smooth
- o48.Color = Color3.new(0.105882, 0.164706, 0.207843)
- o48.Position = Vector3.new(50.9568748, 3.94950008, 5.31954384)
- o49.Parent = o48
- o49.Scale = Vector3.new(0.699999988, 1, 0.800000012)
- o50.Parent = o1
- o50.Material = Enum.Material.SmoothPlastic
- o50.BrickColor = BrickColor.new("Mid gray")
- o50.Position = Vector3.new(50.0637703, 3.18861699, 5.30704403)
- o50.Rotation = Vector3.new(-0, 0, -28.9999962)
- o50.Anchored = true
- o50.CanCollide = false
- o50.Size = Vector3.new(0.410000026, 0.200000003, 0.204999998)
- o50.CFrame = CFrame.new(50.0637703, 3.18861699, 5.30704403, 0.874619722, 0.484809577, 0, -0.484809577, 0.874619722, 0, 0, 0, 1)
- o50.BottomSurface = Enum.SurfaceType.Smooth
- o50.TopSurface = Enum.SurfaceType.Smooth
- o50.Color = Color3.new(0.803922, 0.803922, 0.803922)
- o50.Position = Vector3.new(50.0637703, 3.18861699, 5.30704403)
- o51.Parent = o50
- o51.Scale = Vector3.new(1, 0.5, 0.5)
- o52.Parent = o1
- o52.Material = Enum.Material.SmoothPlastic
- o52.BrickColor = BrickColor.new("Mid gray")
- o52.Position = Vector3.new(50.4745674, 3.3599999, 5.24100018)
- o52.Rotation = Vector3.new(91.2115326, -45.6857071, 0.228031278)
- o52.Anchored = true
- o52.CanCollide = false
- o52.Size = Vector3.new(0.230000064, 0.200000003, 0.709999979)
- o52.CFrame = CFrame.new(50.4745674, 3.3599999, 5.24100018, 0.698588252, -0.00278032362, -0.715518475, -0.715436995, -0.0182964802, -0.698437631, -0.0111495871, 0.999828696, -0.0147708533)
- o52.BottomSurface = Enum.SurfaceType.Smooth
- o52.TopSurface = Enum.SurfaceType.Smooth
- o52.Color = Color3.new(0.803922, 0.803922, 0.803922)
- o52.Position = Vector3.new(50.4745674, 3.3599999, 5.24100018)
- o53.Parent = o1
- o53.Material = Enum.Material.SmoothPlastic
- o53.Position = Vector3.new(51.2313728, 3.87404203, 5.31954384)
- o53.Rotation = Vector3.new(-0, 0, 90)
- o53.Anchored = true
- o53.CanCollide = false
- o53.Shape = Enum.PartType.Cylinder
- o53.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
- o53.CFrame = CFrame.new(51.2313728, 3.87404203, 5.31954384, -4.37113883e-008, -1, 0, 1, -4.37113883e-008, 0, 0, 0, 1)
- o53.BottomSurface = Enum.SurfaceType.Smooth
- o53.TopSurface = Enum.SurfaceType.Smooth
- o53.Position = Vector3.new(51.2313728, 3.87404203, 5.31954384)
- o54.Parent = o53
- o54.Scale = Vector3.new(1, 0.800000012, 0.600000024)
- o55.Parent = o1
- o55.Material = Enum.Material.SmoothPlastic
- o55.BrickColor = BrickColor.new("Mid gray")
- o55.Position = Vector3.new(50.6496391, 3.44902349, 5.3220439)
- o55.Rotation = Vector3.new(-0, 0, 46)
- o55.Anchored = true
- o55.CanCollide = false
- o55.Size = Vector3.new(0.605000019, 0.200000003, 0.200000003)
- o55.CFrame = CFrame.new(50.6496391, 3.44902349, 5.3220439, 0.694658399, -0.719339788, 0, 0.719339788, 0.694658399, 0, 0, 0, 1)
- o55.BottomSurface = Enum.SurfaceType.Smooth
- o55.TopSurface = Enum.SurfaceType.Smooth
- o55.Color = Color3.new(0.803922, 0.803922, 0.803922)
- o55.Position = Vector3.new(50.6496391, 3.44902349, 5.3220439)
- o56.Parent = o1
- o56.Material = Enum.Material.SmoothPlastic
- o56.BrickColor = BrickColor.new("Black")
- o56.Position = Vector3.new(52.3800011, 4.23000002, 5.32000017)
- o56.Anchored = true
- o56.CanCollide = false
- o56.Size = Vector3.new(0.200000003, 0.200000003, 0.204999983)
- o56.CFrame = CFrame.new(52.3800011, 4.23000002, 5.32000017, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- o56.BottomSurface = Enum.SurfaceType.Smooth
- o56.TopSurface = Enum.SurfaceType.Smooth
- o56.Color = Color3.new(0.105882, 0.164706, 0.207843)
- o56.Position = Vector3.new(52.3800011, 4.23000002, 5.32000017)
- o57.Parent = o56
- o57.Scale = Vector3.new(0.800000012, 0.400000006, 0.25)
- o57.MeshType = Enum.MeshType.Torso
- o58.Parent = o1
- o58.Material = Enum.Material.SmoothPlastic
- o58.BrickColor = BrickColor.new("Black")
- o58.Position = Vector3.new(52.3800011, 4.14001513, 5.32000017)
- o58.Anchored = true
- o58.CanCollide = false
- o58.Size = Vector3.new(0.200000003, 0.200000003, 0.204999983)
- o58.CFrame = CFrame.new(52.3800011, 4.14001513, 5.32000017, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- o58.BottomSurface = Enum.SurfaceType.Smooth
- o58.TopSurface = Enum.SurfaceType.Smooth
- o58.Color = Color3.new(0.105882, 0.164706, 0.207843)
- o58.Position = Vector3.new(52.3800011, 4.14001513, 5.32000017)
- o59.Parent = o58
- o59.Scale = Vector3.new(0.800000012, 0.5, 0.699999988)
- o60.Parent = o1
- o60.Material = Enum.Material.SmoothPlastic
- o60.BrickColor = BrickColor.new("Mid gray")
- o60.Position = Vector3.new(51.6235008, 3.67000008, 5.32000017)
- o60.Rotation = Vector3.new(-180, -90, 0)
- o60.Anchored = true
- o60.CanCollide = false
- o60.Size = Vector3.new(0.200000003, 0.200000003, 0.216999978)
- o60.CFrame = CFrame.new(51.6235008, 3.67000008, 5.32000017, -4.37113883e-008, 0, -1, 1.50995803e-007, -1, -6.60023616e-015, -1, -1.50995803e-007, 4.37113883e-008)
- o60.BottomSurface = Enum.SurfaceType.Smooth
- o60.TopSurface = Enum.SurfaceType.Smooth
- o60.Color = Color3.new(0.803922, 0.803922, 0.803922)
- o60.Position = Vector3.new(51.6235008, 3.67000008, 5.32000017)
- o61.Parent = o60
- o61.Scale = Vector3.new(1.29999995, 1, 1)
- o61.MeshType = Enum.MeshType.Wedge
- o62.Parent = o1
- o62.Material = Enum.Material.SmoothPlastic
- o62.BrickColor = BrickColor.new("Mid gray")
- o62.Position = Vector3.new(51.5999985, 4.21000004, 5.32000017)
- o62.Rotation = Vector3.new(-0, -90, 0)
- o62.Anchored = true
- o62.CanCollide = false
- o62.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
- o62.CFrame = CFrame.new(51.5999985, 4.21000004, 5.32000017, -4.37113883e-008, 0, -1, 0, 1, 0, 1, 0, -4.37113883e-008)
- o62.BottomSurface = Enum.SurfaceType.Smooth
- o62.TopSurface = Enum.SurfaceType.Smooth
- o62.Color = Color3.new(0.803922, 0.803922, 0.803922)
- o62.Position = Vector3.new(51.5999985, 4.21000004, 5.32000017)
- o63.Parent = o62
- o63.Scale = Vector3.new(0.899999976, 0.200000003, 1)
- o63.MeshType = Enum.MeshType.Wedge
- o64.Parent = o1
- o64.Material = Enum.Material.SmoothPlastic
- o64.BrickColor = BrickColor.new("Mid gray")
- o64.Position = Vector3.new(51.7574959, 4.13999987, 5.32000017)
- o64.Anchored = true
- o64.CanCollide = false
- o64.Size = Vector3.new(1.44499993, 0.200000003, 0.204999983)
- o64.CFrame = CFrame.new(51.7574959, 4.13999987, 5.32000017, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- o64.BottomSurface = Enum.SurfaceType.Smooth
- o64.TopSurface = Enum.SurfaceType.Smooth
- o64.Color = Color3.new(0.803922, 0.803922, 0.803922)
- o64.Position = Vector3.new(51.7574959, 4.13999987, 5.32000017)
- o65.Parent = o64
- o65.Scale = Vector3.new(1, 0.5, 0.800000012)
- o66.Parent = o1
- o66.Material = Enum.Material.SmoothPlastic
- o66.BrickColor = BrickColor.new("Mid gray")
- o66.Position = Vector3.new(51.8513641, 3.88200378, 5.31954384)
- o66.Rotation = Vector3.new(-0, 0, 90)
- o66.Anchored = true
- o66.CanCollide = false
- o66.Shape = Enum.PartType.Cylinder
- o66.Size = Vector3.new(0.200000003, 0.899999976, 0.200000003)
- o66.CFrame = CFrame.new(51.8513641, 3.88200378, 5.31954384, -4.37113883e-008, -1, 0, 1, -4.37113883e-008, 0, 0, 0, 1)
- o66.BottomSurface = Enum.SurfaceType.Smooth
- o66.TopSurface = Enum.SurfaceType.Smooth
- o66.Color = Color3.new(0.803922, 0.803922, 0.803922)
- o66.Position = Vector3.new(51.8513641, 3.88200378, 5.31954384)
- o67.Parent = o66
- o67.Scale = Vector3.new(0.800000012, 0.850000024, 0.800000012)
- o68.Parent = o1
- o68.Material = Enum.Material.SmoothPlastic
- o68.BrickColor = BrickColor.new("Mid gray")
- o68.Position = Vector3.new(51.4799995, 4, 5.31954384)
- o68.Rotation = Vector3.new(-0, 0, 90)
- o68.Anchored = true
- o68.CanCollide = false
- o68.Shape = Enum.PartType.Cylinder
- o68.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
- o68.CFrame = CFrame.new(51.4799995, 4, 5.31954384, -4.37113883e-008, -1, 0, 1, -4.37113883e-008, 0, 0, 0, 1)
- o68.BottomSurface = Enum.SurfaceType.Smooth
- o68.TopSurface = Enum.SurfaceType.Smooth
- o68.Color = Color3.new(0.803922, 0.803922, 0.803922)
- o68.Position = Vector3.new(51.4799995, 4, 5.31954384)
- o69.Parent = o68
- o70.Parent = o1
- o70.Material = Enum.Material.SmoothPlastic
- o70.BrickColor = BrickColor.new("Mid gray")
- o70.Position = Vector3.new(51.4289932, 3.75999999, 5.32000017)
- o70.Anchored = true
- o70.CanCollide = false
- o70.Size = Vector3.new(0.200000003, 0.200000003, 0.204999983)
- o70.CFrame = CFrame.new(51.4289932, 3.75999999, 5.32000017, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- o70.BottomSurface = Enum.SurfaceType.Smooth
- o70.TopSurface = Enum.SurfaceType.Smooth
- o70.Color = Color3.new(0.803922, 0.803922, 0.803922)
- o70.Position = Vector3.new(51.4289932, 3.75999999, 5.32000017)
- o71.Parent = o70
- o71.Scale = Vector3.new(0.5, 1.89999998, 1)
- o72.Parent = o1
- o72.Material = Enum.Material.Neon
- o72.BrickColor = BrickColor.new("Toothpaste")
- o72.Position = Vector3.new(52.1899986, 3.87007713, 5.32449865)
- o72.Rotation = Vector3.new(0, 90, 0)
- o72.Anchored = true
- o72.CanCollide = false
- o72.Size = Vector3.new(0.203000054, 0.200000003, 0.200000003)
- o72.CFrame = CFrame.new(52.1899986, 3.87007713, 5.32449865, -4.37113883e-008, 0, 1, 0, 1, 0, -1, 0, -4.37113883e-008)
- o72.BottomSurface = Enum.SurfaceType.Smooth
- o72.TopSurface = Enum.SurfaceType.Smooth
- o72.Color = Color3.new(0, 1, 1)
- o72.Position = Vector3.new(52.1899986, 3.87007713, 5.32449865)
- o73.Parent = o72
- o73.Scale = Vector3.new(0.400000006, 0.300000012, 0.5)
- o74.Parent = o1
- o74.Material = Enum.Material.SmoothPlastic
- o74.BrickColor = BrickColor.new("Mid gray")
- o74.Position = Vector3.new(51.2900009, 4.21000004, 5.32000017)
- o74.Anchored = true
- o74.CanCollide = false
- o74.Size = Vector3.new(0.42900002, 0.200000003, 0.204999983)
- o74.CFrame = CFrame.new(51.2900009, 4.21000004, 5.32000017, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- o74.BottomSurface = Enum.SurfaceType.Smooth
- o74.TopSurface = Enum.SurfaceType.Smooth
- o74.Color = Color3.new(0.803922, 0.803922, 0.803922)
- o74.Position = Vector3.new(51.2900009, 4.21000004, 5.32000017)
- o75.Parent = o74
- o75.Scale = Vector3.new(1, 0.25, 1)
- o76.Parent = o1
- o76.Material = Enum.Material.SmoothPlastic
- o76.BrickColor = BrickColor.new("Dark stone grey")
- o76.Position = Vector3.new(50.7550011, 3.6400001, 5.32000017)
- o76.Rotation = Vector3.new(-0, 0, 1.28066051e-006)
- o76.Anchored = true
- o76.CanCollide = false
- o76.Size = Vector3.new(0.225000039, 0.209999993, 0.300000012)
- o76.CFrame = CFrame.new(50.7550011, 3.6400001, 5.32000017, 1, -2.23517418e-008, 0, 2.23517418e-008, 1, 0, 0, 0, 1)
- o76.BottomSurface = Enum.SurfaceType.Smooth
- o76.TopSurface = Enum.SurfaceType.Smooth
- o76.Color = Color3.new(0.388235, 0.372549, 0.384314)
- o76.Position = Vector3.new(50.7550011, 3.6400001, 5.32000017)
- o77.Parent = o1
- o77.Material = Enum.Material.Neon
- o77.BrickColor = BrickColor.new("Toothpaste")
- o77.Position = Vector3.new(50.7610054, 3.64415002, 5.44049978)
- o77.Rotation = Vector3.new(-0, 0, -44)
- o77.Anchored = true
- o77.CanCollide = false
- o77.Size = Vector3.new(0.203000054, 0.200000003, 0.200000003)
- o77.CFrame = CFrame.new(50.7610054, 3.64415002, 5.44049978, 0.719339788, 0.694658399, 0, -0.694658399, 0.719339788, 0, 0, 0, 1)
- o77.BottomSurface = Enum.SurfaceType.Smooth
- o77.TopSurface = Enum.SurfaceType.Smooth
- o77.Color = Color3.new(0, 1, 1)
- o77.Position = Vector3.new(50.7610054, 3.64415002, 5.44049978)
- o78.Parent = o77
- o78.Scale = Vector3.new(0.800000012, 0.300000012, 0.5)
- o79.Parent = o1
- o79.Material = Enum.Material.SmoothPlastic
- o79.BrickColor = BrickColor.new("Mid gray")
- o79.Position = Vector3.new(49.8607674, 3.37296009, 5.30704403)
- o79.Rotation = Vector3.new(-90, 45, -90)
- o79.Anchored = true
- o79.CanCollide = false
- o79.Size = Vector3.new(0.200000003, 0.200000003, 0.204999998)
- o79.CFrame = CFrame.new(49.8607674, 3.37296009, 5.30704403, -3.09086197e-008, 0.707106829, 0.707106769, 7.46200044e-008, -0.707106769, 0.707106829, 1, 7.46200044e-008, -3.09086197e-008)
- o79.BottomSurface = Enum.SurfaceType.Smooth
- o79.TopSurface = Enum.SurfaceType.Smooth
- o79.Color = Color3.new(0.803922, 0.803922, 0.803922)
- o79.Position = Vector3.new(49.8607674, 3.37296009, 5.30704403)
- o80.Parent = o79
- o80.Scale = Vector3.new(0.600000024, 0.349999994, 0.349999994)
- o80.MeshType = Enum.MeshType.Wedge
- o81.Parent = o1
- o81.Material = Enum.Material.SmoothPlastic
- o81.BrickColor = BrickColor.new("Mid gray")
- o81.Position = Vector3.new(49.9099998, 3.35300016, 5.30999994)
- o81.Rotation = Vector3.new(180, 90, 0)
- o81.Anchored = true
- o81.CanCollide = false
- o81.Size = Vector3.new(0.200000003, 0.200000003, 0.204999998)
- o81.CFrame = CFrame.new(49.9099998, 3.35300016, 5.30999994, -4.37113883e-008, 0, 1, 1.50995803e-007, -1, 6.60023616e-015, 1, 1.50995803e-007, 4.37113883e-008)
- o81.BottomSurface = Enum.SurfaceType.Smooth
- o81.TopSurface = Enum.SurfaceType.Smooth
- o81.Color = Color3.new(0.803922, 0.803922, 0.803922)
- o81.Position = Vector3.new(49.9099998, 3.35300016, 5.30999994)
- o82.Parent = o81
- o82.Scale = Vector3.new(0.600000024, 0.349999994, 0.349999994)
- o82.MeshType = Enum.MeshType.Wedge
- o83.Parent = o1
- o83.Material = Enum.Material.SmoothPlastic
- o83.BrickColor = BrickColor.new("Mid gray")
- o83.Position = Vector3.new(49.7807693, 3.30195999, 5.30704403)
- o83.Rotation = Vector3.new(-90, -45, -90)
- o83.Anchored = true
- o83.CanCollide = false
- o83.Size = Vector3.new(0.200000003, 0.200000003, 0.204999998)
- o83.CFrame = CFrame.new(49.7807693, 3.30195999, 5.30704403, -3.09086197e-008, 0.707106829, -0.707106769, 1.28027686e-008, 0.707106769, 0.707106829, 1, 1.28027686e-008, -3.09086197e-008)
- o83.BottomSurface = Enum.SurfaceType.Smooth
- o83.TopSurface = Enum.SurfaceType.Smooth
- o83.Color = Color3.new(0.803922, 0.803922, 0.803922)
- o83.Position = Vector3.new(49.7807693, 3.30195999, 5.30704403)
- o84.Parent = o83
- o84.Scale = Vector3.new(0.600000024, 0.349999994, 0.349999994)
- o84.MeshType = Enum.MeshType.Wedge
- o85.Parent = o1
- o85.Material = Enum.Material.SmoothPlastic
- o85.BrickColor = BrickColor.new("Mid gray")
- o85.Position = Vector3.new(50.9780006, 4.17999983, 5.32000017)
- o85.Rotation = Vector3.new(0, 90, 0)
- o85.Anchored = true
- o85.CanCollide = false
- o85.Size = Vector3.new(0.200000003, 0.200000003, 0.204999998)
- o85.CFrame = CFrame.new(50.9780006, 4.17999983, 5.32000017, -4.37113883e-008, 0, 1, 0, 1, 0, -1, 0, -4.37113883e-008)
- o85.BottomSurface = Enum.SurfaceType.Smooth
- o85.TopSurface = Enum.SurfaceType.Smooth
- o85.Color = Color3.new(0.803922, 0.803922, 0.803922)
- o85.Position = Vector3.new(50.9780006, 4.17999983, 5.32000017)
- o86.Parent = o85
- o86.Scale = Vector3.new(1, 0.5, 1)
- o86.MeshType = Enum.MeshType.Wedge
- o87.Name = "A1"
- o87.Parent = o1
- o87.Material = Enum.Material.Neon
- o87.BrickColor = BrickColor.new("Toothpaste")
- o87.Position = Vector3.new(51.2319984, 4.05000019, 5.32000017)
- o87.Rotation = Vector3.new(-0, 0, 90)
- o87.Anchored = true
- o87.CanCollide = false
- o87.Shape = Enum.PartType.Cylinder
- o87.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
- o87.CFrame = CFrame.new(51.2319984, 4.05000019, 5.32000017, -4.37113883e-008, -1, 0, 1, -4.37113883e-008, 0, 0, 0, 1)
- o87.BottomSurface = Enum.SurfaceType.Smooth
- o87.TopSurface = Enum.SurfaceType.Smooth
- o87.Color = Color3.new(0, 1, 1)
- o87.Position = Vector3.new(51.2319984, 4.05000019, 5.32000017)
- o88.Parent = o87
- o88.Scale = Vector3.new(1, 1.54999995, 0.400000006)
- o89.Name = "T1"
- o89.Parent = o1
- o89.Material = Enum.Material.SmoothPlastic
- o89.BrickColor = BrickColor.new("Dark stone grey")
- o89.Position = Vector3.new(50.8995514, 3.52338958, 5.31954384)
- o89.Rotation = Vector3.new(-0, 0, 29.0000076)
- o89.Anchored = true
- o89.CanCollide = false
- o89.Size = Vector3.new(0.200000003, 0.223999992, 0.200000003)
- o89.CFrame = CFrame.new(50.8995514, 3.52338958, 5.31954384, 0.874619663, -0.484809726, 0, 0.484809726, 0.874619663, 0, 0, 0, 1)
- o89.BottomSurface = Enum.SurfaceType.Smooth
- o89.TopSurface = Enum.SurfaceType.Smooth
- o89.Color = Color3.new(0.388235, 0.372549, 0.384314)
- o89.Position = Vector3.new(50.8995514, 3.52338958, 5.31954384)
- o90.Parent = o89
- o90.Scale = Vector3.new(0.5, 1, 0.5)
- mas.Parent = workspace
- mas:MakeJoints()
- local mas1 = mas:GetChildren()
- for i=1,#mas1 do
- mas1[i].Parent = workspace
- ypcall(function() mas1[i]:MakeJoints() end)
- end
- mas:Destroy()
- for i=1,#cors do
- coroutine.resume(cors[i])
- end
- local Revolver = o1
- local Handle = o24
- local BarrelEnd = o14
- local Chamber = o18
- local A1 = o87
- local A2 = o6
- local A3 = o4
- local A4 = o10
- local A5 = o8
- local A6 = o2
- local H1 = o20
- local H2 = o22
- local T1 = o89
- local T2 = o16
- -----------------------------------------------------------------------------------
- function indicate(part,var,typer)
- local clonepart = Instance.new("Part", workspace)
- clonepart.Size = Vector3.new(1,1,1)
- clonepart.CanCollide = false
- clonepart.Anchored = true
- clonepart.CFrame = part.CFrame
- clonepart.Transparency = 1
- local base1 = Instance.new("BillboardGui", clonepart)
- base1.Name = "damage"
- base1.ExtentsOffset = Vector3.new(-0.1,2,0)
- base1.Size = UDim2.new(1,0,1,0)
- base1.Adornee = clonepart
- local indicator = Instance.new("TextLabel", base1)
- indicator.Text = "-"..var
- indicator.TextScaled = false
- indicator.TextWrapped = false
- if typer == 0 then
- indicator.TextColor3 = Color3.new(1,0,0)
- elseif typer == 1 then
- indicator.TextColor3 = Color3.new(0.5,0.5,0)
- end
- indicator.TextScaled = true
- indicator.FontSize = 7
- indicator.Font = "Fantasy"
- indicator.Size = UDim2.new(1,0,1,0)
- indicator.BackgroundTransparency = 1
- local change = coroutine.wrap(function(thing,thing2)
- for i=1, 20 do
- thing.TextTransparency = thing.TextTransparency + 0.05
- thing2.ExtentsOffset = thing2.ExtentsOffset + Vector3.new(0,0.1,0)
- wait(0.01)
- end
- indicator.Parent.Parent:Remove()
- end)
- change(indicator,base1)
- end
- local Player = game.Players.LocalPlayer
- local Mouse = Player:GetMouse()
- Mouse.TargetFilter = Player.Character
- local Character = Player.Character
- local Humanoid = Character.Humanoid
- Humanoid.WalkSpeed = 20
- Humanoid.JumpPower = 1
- Humanoid.MaxHealth = 100
- wait()
- Humanoid.Health = Humanoid.MaxHealth
- local ammo = 6
- local attacking = false
- local waiting = false
- local p1 = Instance.new("ScreenGui")
- local p2 = Instance.new("TextLabel")
- p1.Parent = Player.PlayerGui
- p2.Parent = p1
- p2.Position = UDim2.new(0.5,0,0.8,0)
- p2.Size = UDim2.new(0.05,0,0.05,0)
- p2.Position = UDim2.new(0.5,0,0.8,0)
- p2.Position = UDim2.new(0.5,0,0.8,0)
- p2.BackgroundColor3 = Color3.new(0,0,0)
- p2.BackgroundTransparency = 1
- p2.BorderSizePixel = 0
- p2.Font = Enum.Font.SourceSans
- p2.FontSize = Enum.FontSize.Size96
- p2.Text = ammo.."/6"
- p2.TextColor3 = Color3.new(1,1,1)
- local animstate = 0
- local keyframe = 0
- local animstate2 = -1
- local keyframe2 = -1
- -- highnoon: 507504338
- -- draw: 423993839
- local gunshot = Instance.new("Sound", BarrelEnd)
- gunshot.Volume = 0.8
- gunshot.SoundId = "rbxassetid://145080998"
- local reload = Instance.new("Sound", Character.Torso)
- reload.Volume = 1
- reload.SoundId = "rbxassetid://506273075"
- local roll = Instance.new("Sound", Character.Torso)
- roll.Volume = 1
- roll.SoundId = "rbxassetid://328825627"
- local LRP = Character.HumanoidRootPart.CFrame
- Joints={
- Character.HumanoidRootPart.RootJoint;
- Character.Torso.Neck;
- Character.Torso['Left Shoulder'];
- Character.Torso['Right Shoulder'];
- Character.Torso['Left Hip'];
- Character.Torso['Right Hip'];
- }
- CurrentJoints={
- Character.HumanoidRootPart.RootJoint.C0;
- Character.Torso.Neck.C0;
- Character.Torso['Left Shoulder'].C0;
- Character.Torso['Right Shoulder'].C0;
- Character.Torso['Left Hip'].C0;
- Character.Torso['Right Hip'].C0;
- }
- LastJoints={
- Character.HumanoidRootPart.RootJoint.C0;
- Character.Torso.Neck.C0;
- Character.Torso['Left Shoulder'].C0;
- Character.Torso['Right Shoulder'].C0;
- Character.Torso['Left Hip'].C0;
- Character.Torso['Right Hip'].C0;
- }
- local orig1 = Joints[1].C0
- local orig2 = Joints[2].C0
- local orig3 = Joints[3].C0
- local orig4 = Joints[4].C0
- local orig5 = Joints[5].C0
- local orig6 = Joints[6].C0
- Revolver.Parent = Character
- Character.Animate:remove()
- Character.Humanoid.Animator:remove()
- for _,v in pairs (Revolver:GetChildren()) do
- if v.Name ~= "Handle" and (v.Name ~= "A1" and v.Name ~= "A2" and v.Name ~= "A3" and v.Name ~= "A4" and v.Name ~= "A5" and v.Name ~= "A6") and v.Name ~= "T2" and v.Name ~= "H2" then
- local NewWeld = Instance.new("Weld")
- NewWeld.Part0 = Handle
- NewWeld.Part1 = v
- NewWeld.C0 = CFrame.new()
- NewWeld.C1 = v.CFrame:toObjectSpace(Handle.CFrame)
- NewWeld.Parent = Handle
- if v.Name == "Chamber" then
- NewWeld.Name = "ChamberWeld"
- elseif v.Name == "H1" then
- NewWeld.Name = "HammerWeld"
- elseif v.Name == "T1" then
- NewWeld.Name = "TriggerWeld"
- end
- end
- if v.Name == "A1" or v.Name == "A2" or v.Name == "A3" or v.Name == "A4" or v.Name == "A5" or v.Name == "A6" then
- local NewWeld = Instance.new("Weld")
- NewWeld.Part0 = Chamber
- NewWeld.Part1 = v
- NewWeld.C0 = CFrame.new()
- NewWeld.C1 = v.CFrame:toObjectSpace(Chamber.CFrame)
- NewWeld.Parent = Chamber
- end
- if v.Name == "H2" then
- local NewWeld = Instance.new("Weld")
- NewWeld.Part0 = H1
- NewWeld.Part1 = v
- NewWeld.C0 = CFrame.new()
- NewWeld.C1 = v.CFrame:toObjectSpace(H1.CFrame)
- NewWeld.Parent = H1
- end
- if v.Name == "T2" then
- local NewWeld = Instance.new("Weld")
- NewWeld.Part0 = T1
- NewWeld.Part1 = v
- NewWeld.C0 = CFrame.new()
- NewWeld.C1 = v.CFrame:toObjectSpace(T1.CFrame)
- NewWeld.Parent = T1
- end
- wait()
- end
- for _,v in pairs (Revolver:GetChildren()) do
- v.Anchored = false
- wait()
- end
- local Cweld = Handle:FindFirstChild("ChamberWeld")
- local Hweld = Handle:FindFirstChild("HammerWeld")
- local Tweld = Handle:FindFirstChild("TriggerWeld")
- local origh = Hweld.C0
- local origt = Tweld.C0
- GunJoints={
- Hweld;
- Tweld;
- }
- CurrentGunJoints={
- Hweld.C0;
- Tweld.C0;
- }
- LastGunJoints={
- Hweld.C0;
- Tweld.C0;
- }
- Handle.CFrame = Character:FindFirstChild("Right Arm").CFrame*CFrame.new(0,-2.2,-0.7)*CFrame.Angles(math.rad(90),math.rad(90),math.rad(180))
- local HandleWeld = Instance.new("Weld")
- HandleWeld.Name = "HandleWeld"
- HandleWeld.Part0 = Character:FindFirstChild("Right Arm")
- HandleWeld.Part1 = Handle
- HandleWeld.C0 = CFrame.new(0,0,0)
- HandleWeld.C1 = Handle.CFrame:toObjectSpace(Character:FindFirstChild("Right Arm").CFrame)
- HandleWeld.Parent = Handle
- local hat = Instance.new("Part", Character)
- hat.CanCollide = false
- hat.Size = Vector3.new(1,0.4,1)
- hat.Name = "Hat"
- local mesh = Instance.new("SpecialMesh", hat)
- mesh.MeshType = 2
- mesh.Name = "Mesh"
- mesh.MeshId = "rbxassetid://1029586"
- mesh.TextureId = "rbxassetid://1029588"
- mesh.VertexColor = Vector3.new(0.4,0.3,0.2)
- hat.CFrame = Character.Head.CFrame*CFrame.new(0,0.6,0)
- local HatWeld = Instance.new("Weld")
- HatWeld.Name = "HatWeld"
- HatWeld.Part0 = Character.Head
- HatWeld.Part1 = hat
- HatWeld.C0 = CFrame.new(0,0,0)
- HatWeld.C1 = hat.CFrame:toObjectSpace(Character.Head.CFrame)
- HatWeld.Parent = hat
- function weld(part1,part2,name)
- local Weld = Instance.new("Weld")
- if name then
- Weld.Name = name
- else
- Weld.Name = "Weld"
- end
- Weld.Part0 = part1
- Weld.Part1 = part2
- Weld.C0 = CFrame.new(0,0,0)
- Weld.C1 = part2.CFrame:toObjectSpace(part1.CFrame)
- Weld.Parent = part2
- end
- local timer = 0
- local timer2 = 0
- local cooled1 = true
- local cooled2 = true
- local cooled3 = true
- local ultcharge = 0
- game:GetService("RunService").RenderStepped:connect(function()
- p2.Text = ammo.."/6"
- if animstate ~= 0 then
- print("time"..timer)
- print("a1"..animstate)
- print("a2"..animstate2)
- end
- if Player.Character.Humanoid.MoveDirection == Vector3.new(0,0,0) and animstate ~= 0 and animstate ~= 2 and not waiting then
- animstate = 0
- keyframe = -1
- timer = 0
- LastJoints = CurrentJoints
- elseif Player.Character.Humanoid.MoveDirection ~= Vector3.new(0,0,0) and animstate ~= 1 and animstate ~= 2 and not waiting then
- animstate = 1
- keyframe = -1
- timer = 0
- LastJoints = CurrentJoints
- end
- timer = timer + 1
- timer2 = timer2 + 1
- if animstate == 0 then
- if keyframe == -1 then
- local JointTargets={}
- if not attacking then
- JointTargets={
- orig1*CFrame.Angles(math.rad(5),0,0);
- orig2*CFrame.Angles(math.rad(-5)-math.asin((Mouse.Hit.p-Mouse.Origin.p).unit.y),0,0);
- orig3*CFrame.Angles(math.rad(-25),0,0);
- orig4*CFrame.new(0,-0.2,0)*CFrame.Angles(0,0,math.rad(95)+math.asin((Mouse.Hit.p-Mouse.Origin.p).unit.y));
- orig5*CFrame.new(0,-0.1,0)*CFrame.Angles(math.rad(-5),0,math.rad(15));
- orig6*CFrame.new(0,-0.1,0)*CFrame.Angles(math.rad(-5),0,math.rad(15));
- }
- else
- JointTargets={
- orig1*CFrame.Angles(math.rad(5),0,0);
- orig2*CFrame.Angles(math.rad(-5)-math.asin((Mouse.Hit.p-Mouse.Origin.p).unit.y),0,0);
- 0;
- 0;
- orig5*CFrame.new(0,-0.1,0)*CFrame.Angles(math.rad(-5),0,math.rad(15));
- orig6*CFrame.new(0,-0.1,0)*CFrame.Angles(math.rad(-5),0,math.rad(15));
- }
- end
- for p=1,#Joints do
- if JointTargets[p] ~= 0 then
- Joints[p].C0=LastJoints[p]:lerp(JointTargets[p],math.sin(timer/10))
- if attacking then
- CurrentJoints={
- Joints[1].C0;
- Joints[2].C0;
- CurrentJoints[3];
- CurrentJoints[4];
- Joints[5].C0;
- Joints[6].C0;
- }
- else
- CurrentJoints={
- Joints[1].C0;
- Joints[2].C0;
- Joints[3].C0;
- Joints[4].C0;
- Joints[5].C0;
- Joints[6].C0;
- }
- end
- end
- end
- if timer >= 10 then
- keyframe = 1
- timer = 0
- LastJoints = CurrentJoints
- end
- elseif keyframe == 0 then
- local JointTargets={}
- if not attacking then
- JointTargets={
- orig1*CFrame.Angles(math.rad(5),0,0);
- orig2*CFrame.Angles(math.rad(-5)-math.asin((Mouse.Hit.p-Mouse.Origin.p).unit.y),0,0);
- orig3*CFrame.Angles(math.rad(-25),0,0);
- orig4*CFrame.new(0,-0.2,0)*CFrame.Angles(0,0,math.rad(95)+math.asin((Mouse.Hit.p-Mouse.Origin.p).unit.y));
- orig5*CFrame.new(0,-0.1,0)*CFrame.Angles(math.rad(-5),0,math.rad(15));
- orig6*CFrame.new(0,-0.1,0)*CFrame.Angles(math.rad(-5),0,math.rad(15));
- }
- else
- JointTargets={
- orig1*CFrame.Angles(math.rad(5),0,0);
- orig2*CFrame.Angles(math.rad(-5)-math.asin((Mouse.Hit.p-Mouse.Origin.p).unit.y),0,0);
- 0;
- 0;
- orig5*CFrame.new(0,-0.1,0)*CFrame.Angles(math.rad(-5),0,math.rad(15));
- orig6*CFrame.new(0,-0.1,0)*CFrame.Angles(math.rad(-5),0,math.rad(15));
- }
- end
- for p=1,#Joints do
- if JointTargets[p] ~= 0 then
- Joints[p].C0=LastJoints[p]:lerp(JointTargets[p],math.sin(timer/40))
- if attacking then
- CurrentJoints={
- Joints[1].C0;
- Joints[2].C0;
- CurrentJoints[3];
- CurrentJoints[4];
- Joints[5].C0;
- Joints[6].C0;
- }
- else
- CurrentJoints={
- Joints[1].C0;
- Joints[2].C0;
- Joints[3].C0;
- Joints[4].C0;
- Joints[5].C0;
- Joints[6].C0;
- }
- end
- end
- end
- if timer >= 40 then
- wait(0.1)
- keyframe = 1
- timer = 0
- LastJoints = CurrentJoints
- end
- elseif keyframe == 1 then
- local JointTargets={}
- if not attacking then
- JointTargets={
- orig1*CFrame.new(0,0,0.05)*CFrame.Angles(math.rad(2),0,0);
- orig2*CFrame.Angles(math.rad(-2)-math.asin((Mouse.Hit.p-Mouse.Origin.p).unit.y),0,0);
- orig3*CFrame.Angles(math.rad(-35),0,0);
- orig4*CFrame.new(0,-0.2,0)*CFrame.Angles(0,0,math.rad(93)+math.asin((Mouse.Hit.p-Mouse.Origin.p).unit.y));
- orig5*CFrame.new(0,-0.15,0)*CFrame.Angles(math.rad(-5),0,math.rad(18));
- orig6*CFrame.new(0,-0.15,0)*CFrame.Angles(math.rad(-5),0,math.rad(12));
- }
- else
- JointTargets={
- orig1*CFrame.new(0,0,0.05)*CFrame.Angles(math.rad(2),0,0);
- orig2*CFrame.Angles(math.rad(-2)-math.asin((Mouse.Hit.p-Mouse.Origin.p).unit.y),0,0);
- 0;
- 0;
- orig5*CFrame.new(0,-0.15,0)*CFrame.Angles(math.rad(-5),0,math.rad(18));
- orig6*CFrame.new(0,-0.15,0)*CFrame.Angles(math.rad(-5),0,math.rad(12));
- }
- end
- for p=1,#Joints do
- if JointTargets[p] ~= 0 then
- Joints[p].C0=LastJoints[p]:lerp(JointTargets[p],math.sin(timer/40))
- if attacking then
- CurrentJoints={
- Joints[1].C0;
- Joints[2].C0;
- CurrentJoints[3];
- CurrentJoints[4];
- Joints[5].C0;
- Joints[6].C0;
- }
- else
- CurrentJoints={
- Joints[1].C0;
- Joints[2].C0;
- Joints[3].C0;
- Joints[4].C0;
- Joints[5].C0;
- Joints[6].C0;
- }
- end
- end
- end
- if timer >= 40 then
- wait(0.1)
- keyframe = 0
- timer = 0
- LastJoints = CurrentJoints
- end
- end
- elseif animstate == 1 then
- if keyframe == -1 then
- local JointTargets={}
- if not attacking then
- JointTargets={
- orig1*CFrame.Angles(math.rad(5),0,0);
- orig2*CFrame.Angles(math.rad(-5)-math.asin((Mouse.Hit.p-Mouse.Origin.p).unit.y),0,0);
- orig3*CFrame.Angles(math.rad(-25),0,0);
- orig4*CFrame.new(0,-0.2,0)*CFrame.Angles(0,0,math.rad(95)+math.asin((Mouse.Hit.p-Mouse.Origin.p).unit.y));
- orig5*CFrame.Angles(0,0,math.rad(40));
- orig6*CFrame.Angles(0,0,math.rad(40));
- }
- else
- JointTargets={
- orig1*CFrame.Angles(math.rad(5),0,0);
- orig2*CFrame.Angles(math.rad(-5)-math.asin((Mouse.Hit.p-Mouse.Origin.p).unit.y),0,0);
- 0;
- 0;
- orig5*CFrame.Angles(0,0,math.rad(40));
- orig6*CFrame.Angles(0,0,math.rad(40));
- }
- end
- for p=1,#Joints do
- if JointTargets[p] ~= 0 then
- Joints[p].C0=LastJoints[p]:lerp(JointTargets[p],math.sin(timer/10))
- if attacking then
- CurrentJoints={
- Joints[1].C0;
- Joints[2].C0;
- CurrentJoints[3];
- CurrentJoints[4];
- Joints[5].C0;
- Joints[6].C0;
- }
- else
- CurrentJoints={
- Joints[1].C0;
- Joints[2].C0;
- Joints[3].C0;
- Joints[4].C0;
- Joints[5].C0;
- Joints[6].C0;
- }
- end
- end
- end
- if timer >= 10 then
- keyframe = 1
- timer = 0
- LastJoints = CurrentJoints
- end
- elseif keyframe == 0 then
- local JointTargets={}
- if not attacking then
- JointTargets={
- orig1*CFrame.Angles(math.rad(5),0,0);
- orig2*CFrame.Angles(math.rad(-5)-math.asin((Mouse.Hit.p-Mouse.Origin.p).unit.y),0,0);
- orig3*CFrame.Angles(math.rad(-25),0,0);
- orig4*CFrame.new(0,-0.2,0)*CFrame.Angles(0,0,math.rad(95)+math.asin((Mouse.Hit.p-Mouse.Origin.p).unit.y));
- orig5*CFrame.Angles(0,0,math.rad(40));
- orig6*CFrame.Angles(0,0,math.rad(40));
- }
- else
- JointTargets={
- orig1*CFrame.Angles(math.rad(5),0,0);
- orig2*CFrame.Angles(math.rad(-5)-math.asin((Mouse.Hit.p-Mouse.Origin.p).unit.y),0,0);
- 0;
- 0;
- orig5*CFrame.Angles(0,0,math.rad(40));
- orig6*CFrame.Angles(0,0,math.rad(40));
- }
- end
- for p=1,#Joints do
- if JointTargets[p] ~= 0 then
- Joints[p].C0=LastJoints[p]:lerp(JointTargets[p],math.sin(timer/18))
- if attacking then
- CurrentJoints={
- Joints[1].C0;
- Joints[2].C0;
- CurrentJoints[3];
- CurrentJoints[4];
- Joints[5].C0;
- Joints[6].C0;
- }
- else
- CurrentJoints={
- Joints[1].C0;
- Joints[2].C0;
- Joints[3].C0;
- Joints[4].C0;
- Joints[5].C0;
- Joints[6].C0;
- }
- end
- end
- end
- if timer >= 18 then
- wait(0.1)
- keyframe = 1
- timer = 0
- LastJoints = CurrentJoints
- end
- elseif keyframe == 1 then
- local JointTargets={}
- if not attacking then
- JointTargets={
- orig1*CFrame.Angles(math.rad(5),0,0);
- orig2*CFrame.Angles(math.rad(-5)-math.asin((Mouse.Hit.p-Mouse.Origin.p).unit.y),0,0);
- orig3*CFrame.Angles(math.rad(-25),0,0);
- orig4*CFrame.new(0,-0.2,0)*CFrame.Angles(0,0,math.rad(95)+math.asin((Mouse.Hit.p-Mouse.Origin.p).unit.y));
- orig5*CFrame.Angles(0,0,math.rad(-40));
- orig6*CFrame.Angles(0,0,math.rad(-40));
- }
- else
- JointTargets={
- orig1*CFrame.Angles(math.rad(5),0,0);
- orig2*CFrame.Angles(math.rad(-5)-math.asin((Mouse.Hit.p-Mouse.Origin.p).unit.y),0,0);
- Joints[3].C0;
- Joints[4].C0;
- orig5*CFrame.Angles(0,0,math.rad(-40));
- orig6*CFrame.Angles(0,0,math.rad(-40));
- }
- end
- for p=1,#Joints do
- if JointTargets[p] ~= 0 then
- Joints[p].C0=LastJoints[p]:lerp(JointTargets[p],math.sin(timer/18))
- if attacking then
- CurrentJoints={
- Joints[1].C0;
- Joints[2].C0;
- CurrentJoints[3];
- CurrentJoints[4];
- Joints[5].C0;
- Joints[6].C0;
- }
- else
- CurrentJoints={
- Joints[1].C0;
- Joints[2].C0;
- Joints[3].C0;
- Joints[4].C0;
- Joints[5].C0;
- Joints[6].C0;
- }
- end
- end
- end
- if timer >= 18 then
- wait(0.1)
- keyframe = 0
- timer = 0
- LastJoints = CurrentJoints
- end
- end
- elseif animstate == 2 then
- if keyframe == 0 then
- local JointTargets={
- orig1*CFrame.new(0,0,-1)*CFrame.Angles(math.rad(120),0,0);
- orig2*CFrame.Angles(math.rad(15),0,0);
- 0;
- 0;
- orig5*CFrame.Angles(0,0,math.rad(-20));
- orig6*CFrame.Angles(0,0,math.rad(20));
- }
- for p=1,#Joints do
- if JointTargets[p] ~= 0 then
- Joints[p].C0=LastJoints[p]:lerp(JointTargets[p],math.sin(timer/10))
- CurrentJoints={
- Joints[1].C0;
- Joints[2].C0;
- CurrentJoints[3];
- CurrentJoints[4];
- Joints[5].C0;
- Joints[6].C0;
- }
- end
- end
- if timer >= 10 then
- keyframe = 1
- timer = 0
- LastJoints = CurrentJoints
- roll:Play()
- ammo = 6
- A1.BrickColor = BrickColor.new("Toothpaste")
- A2.BrickColor = BrickColor.new("Toothpaste")
- A3.BrickColor = BrickColor.new("Toothpaste")
- A4.BrickColor = BrickColor.new("Toothpaste")
- A5.BrickColor = BrickColor.new("Toothpaste")
- A6.BrickColor = BrickColor.new("Toothpaste")
- end
- elseif keyframe == 1 then
- local JointTargets={
- LastJoints[1]*CFrame.Angles(math.rad(-240),0,0);
- orig2*CFrame.Angles(math.rad(-5)-math.asin((Mouse.Hit.p-Mouse.Origin.p).unit.y),0,0);
- 0;
- 0;
- orig5*CFrame.new(0,-0.1,0)*CFrame.Angles(math.rad(-5),0,math.rad(15));
- orig6*CFrame.new(0,-0.1,0)*CFrame.Angles(math.rad(-5),0,math.rad(15));
- }
- for p=1,#Joints do
- if JointTargets[p] ~= 0 then
- Joints[p].C0=LastJoints[p]:lerp(JointTargets[p],math.sin(timer/10))
- CurrentJoints={
- Joints[1].C0;
- Joints[2].C0;
- CurrentJoints[3];
- CurrentJoints[4];
- Joints[5].C0;
- Joints[6].C0;
- }
- end
- end
- if timer >= 10 then
- animstate = -1
- keyframe = -1
- timer = 0
- LastJoints = CurrentJoints
- attacking = false
- Character.Humanoid.WalkSpeed = 20
- local waiter = coroutine.wrap(function()
- wait(8)
- cooled2 = true
- end)
- waiter()
- end
- end
- end
- if animstate2 == 0 then
- if keyframe2 == -1 then
- local JointTargets={
- 0;
- 0;
- orig3*CFrame.new(-0.5,0,-1.3)*CFrame.Angles(0,math.rad(-85),math.rad(-115));
- orig4*CFrame.new(0,-0.2,0)*CFrame.Angles(0,0,math.rad(95));
- 0;
- 0;
- }
- local GunTargets={
- origh;
- origt;
- }
- for p=1,#Joints do
- if JointTargets[p] ~= 0 then
- Joints[p].C0=LastJoints[p]:lerp(JointTargets[p],math.sin(timer2/5))
- CurrentJoints={
- CurrentJoints[1];
- CurrentJoints[2];
- Character.Torso['Left Shoulder'].C0;
- Character.Torso['Right Shoulder'].C0;
- CurrentJoints[5];
- CurrentJoints[6];
- }
- end
- end
- for p=1,#GunJoints do
- if GunTargets[p] ~= 0 then
- GunJoints[p].C0=LastGunJoints[p]:lerp(GunTargets[p],math.sin(timer2/5))
- CurrentGunJoints={
- GunJoints[1].C0;
- GunJoints[2].C0;
- }
- end
- end
- if timer2 >= 5 and not waiting then
- if ammo > 0 then
- waiting = true
- keyframe2 = 0
- timer2 = 0
- LastJoints = CurrentJoints
- LastGunJoints = CurrentGunJoints
- else
- animstate2 = -1
- keyframe2 = -1
- timer2 = 0
- LastJoints = CurrentJoints
- LastGunJoints = CurrentGunJoints
- attacking = false
- waiting = false
- cooled1 = true
- end
- end
- elseif keyframe2 == 0 then
- if waiting then
- waiting = false
- gunshot:Play()
- if ammo == 6 then
- A2.BrickColor = BrickColor.new("Really black")
- ammo = 5
- elseif ammo == 5 then
- A3.BrickColor = BrickColor.new("Really black")
- ammo = 4
- elseif ammo == 4 then
- A4.BrickColor = BrickColor.new("Really black")
- ammo = 3
- elseif ammo == 3 then
- A5.BrickColor = BrickColor.new("Really black")
- ammo = 2
- elseif ammo == 2 then
- A6.BrickColor = BrickColor.new("Really black")
- ammo = 1
- elseif ammo == 1 then
- A1.BrickColor = BrickColor.new("Really black")
- ammo = 0
- end
- local reduced = false
- local r1 = math.random(1,2)
- local r2 = math.random(1,2)
- local f1;
- local f2;
- if r1 == 1 then
- f1 = 1
- else
- f1 = -1
- end
- if r2 == 1 then
- f2 = 1
- else
- f2 = -1
- end
- local ray = Ray.new((BarrelEnd.CFrame*CFrame.new(0,-0.2,0)).p,((Mouse.Hit*CFrame.new(f1*math.random(50,100)/100,f2*math.random(50,100)/100,0)).p-(BarrelEnd.CFrame*CFrame.new(0,-0.2,0)).p).unit*999)
- local target, hit = workspace:FindPartOnRay(ray,Character)
- local newpos = hit
- local newhit = target
- if newhit then
- if (newpos-Character.HumanoidRootPart.Position).magnitude > 20 then
- reduced = true
- end
- local dist = (newpos-Character.HumanoidRootPart.Position).magnitude
- if newhit and (newhit.Parent:FindFirstChild("Humanoid") or newhit.Parent.Parent:FindFirstChild("Humanoid")) then
- local hum;
- if newhit.Parent.Parent:FindFirstChild("Humanoid") then
- hum = newhit.Parent.Parent:FindFirstChild("Humanoid")
- elseif newhit.Parent:FindFirstChild("Humanoid") then
- hum = newhit.Parent:FindFirstChild("Humanoid")
- end
- local damage = 35
- if reduced then
- damage = math.floor(damage*(5/dist))
- end
- hum.Health = hum.Health - damage
- indicate(hum.Parent:FindFirstChild("Head"),damage,0)
- end
- local Flash2 = Instance.new("Part", Character)
- Flash2.CanCollide = false
- Flash2.BrickColor = BrickColor.new(Color3.new(0,1,1))
- Flash2.Anchored = true
- Flash2.Position = newpos
- Flash2.Transparency = 0
- Flash2.Name = "flash"
- Flash2.Shape = "Ball"
- Flash2.Material = "Neon"
- Flash2.BackSurface = "SmoothNoOutlines"
- Flash2.FrontSurface = "SmoothNoOutlines"
- Flash2.BottomSurface = "SmoothNoOutlines"
- Flash2.TopSurface = "SmoothNoOutlines"
- Flash2.LeftSurface = "SmoothNoOutlines"
- Flash2.RightSurface = "SmoothNoOutlines"
- Flash2.FormFactor = "Custom"
- Flash2.Size = Vector3.new(0.3,0.3,0.3)
- local grow2 = coroutine.wrap(function()
- for i=1, 10 do
- Flash2.Transparency = Flash2.Transparency + 0.1
- wait(0.01)
- end
- Flash2:Remove()
- end)
- local part = Instance.new("Part", Character)
- local origpos = BarrelEnd.CFrame*CFrame.new(0,-0.2,0).p
- local pos = CFrame.new((origpos+newpos)/2,newpos)
- local mag = (origpos - newpos).magnitude
- part.CanCollide = false
- part.Anchored = true
- part.FormFactor = "Custom"
- part.Material = "SmoothPlastic"
- part.Name = "effect"
- part.Shape = "Cylinder"
- part.BackSurface = "SmoothNoOutlines"
- part.BottomSurface = "SmoothNoOutlines"
- part.FrontSurface = "SmoothNoOutlines"
- part.LeftSurface = "SmoothNoOutlines"
- part.RightSurface = "SmoothNoOutlines"
- part.TopSurface = "SmoothNoOutlines"
- part.Transparency = 0.5
- part.BrickColor = BrickColor.new(Color3.new(50,50,50))
- part.Size = Vector3.new(mag,0.1,0.1)
- part.CFrame = pos*CFrame.Angles(0,math.rad(90),0)
- local changer = coroutine.wrap(function()
- for i=1, 10 do
- part.Size = part.Size + Vector3.new(0,0.01,0.01)
- part.Transparency = part.Transparency + 0.05
- wait()
- end
- part:Remove()
- end)
- grow2()
- changer()
- end
- local Flash = Instance.new("Part", Character)
- Flash.CanCollide = false
- Flash.BrickColor = BrickColor.new(Color3.new(1,1,0))
- Flash.Anchored = true
- Flash.CFrame = BarrelEnd.CFrame*CFrame.new(0,-0.1,0)
- Flash.Transparency = 0
- Flash.Material = "Neon"
- Flash.BackSurface = "SmoothNoOutlines"
- Flash.FrontSurface = "SmoothNoOutlines"
- Flash.BottomSurface = "SmoothNoOutlines"
- Flash.TopSurface = "SmoothNoOutlines"
- Flash.LeftSurface = "SmoothNoOutlines"
- Flash.RightSurface = "SmoothNoOutlines"
- Flash.FormFactor = "Custom"
- Flash.Size = Vector3.new(1,1,1)
- local mesh = Instance.new("SpecialMesh", Flash)
- mesh.MeshType = "Sphere"
- mesh.Scale = Vector3.new(0.4,0.4,0.4)
- local grow = coroutine.wrap(function()
- for i=1, 5 do
- Flash.Transparency = Flash.Transparency + 0.2
- mesh.Scale = mesh.Scale + Vector3.new(0,0.2,0)
- wait()
- end
- Flash:Remove()
- end)
- grow()
- end
- local JointTargets={
- 0;
- 0;
- orig3*CFrame.new(-0.5,0,-1.3)*CFrame.Angles(0,math.rad(-85),math.rad(-110));
- orig4*CFrame.new(-0.1,-0.1,0)*CFrame.Angles(0,0,math.rad(120));
- 0;
- 0;
- }
- local GunTargets={
- origh*CFrame.new(0,-0.2,0)*CFrame.Angles(0,0,math.rad(15));
- origt*CFrame.Angles(0,0,math.rad(-15));
- }
- for p=1,#Joints do
- if JointTargets[p] ~= 0 then
- Joints[p].C0=LastJoints[p]:lerp(JointTargets[p],math.sin(timer2/5))
- CurrentJoints={
- CurrentJoints[1];
- CurrentJoints[2];
- Character.Torso['Left Shoulder'].C0;
- Character.Torso['Right Shoulder'].C0;
- CurrentJoints[5];
- CurrentJoints[6];
- }
- end
- end
- for p=1,#GunJoints do
- if GunTargets[p] ~= 0 then
- GunJoints[p].C0=LastGunJoints[p]:lerp(GunTargets[p],math.sin(timer2/5))
- CurrentGunJoints={
- GunJoints[1].C0;
- GunJoints[2].C0;
- }
- end
- end
- if timer2 >= 5 then
- keyframe2 = -1
- timer2 = 0
- LastJoints = CurrentJoints
- LastGunJoints = CurrentGunJoints
- end
- end
- elseif animstate2 == 1 then
- if keyframe2 == -1 then
- reload:Play()
- local tochange = {}
- if ammo == 5 then
- table.insert(tochange,A2)
- elseif ammo == 4 then
- table.insert(tochange,A2)
- table.insert(tochange,A3)
- elseif ammo == 3 then
- table.insert(tochange,A2)
- table.insert(tochange,A3)
- table.insert(tochange,A4)
- elseif ammo == 2 then
- table.insert(tochange,A2)
- table.insert(tochange,A3)
- table.insert(tochange,A4)
- table.insert(tochange,A5)
- elseif ammo == 1 then
- table.insert(tochange,A2)
- table.insert(tochange,A3)
- table.insert(tochange,A4)
- table.insert(tochange,A5)
- table.insert(tochange,A6)
- elseif ammo == 0 then
- table.insert(tochange,A1)
- table.insert(tochange,A2)
- table.insert(tochange,A3)
- table.insert(tochange,A4)
- table.insert(tochange,A5)
- table.insert(tochange,A6)
- end
- local changer = coroutine.wrap(function()
- for i=1, 10 do
- for _,v in pairs (tochange) do
- v.BrickColor = BrickColor.new(0,i/10,i/10)
- end
- wait(0.01)
- end
- end)
- changer()
- ammo = 6
- keyframe2 = 0
- timer2 = 0
- elseif keyframe2 == 0 then
- local JointTargets={
- 0;
- 0;
- 0;
- orig4*CFrame.new(0,0,0)*CFrame.Angles(0,0,math.rad(180));
- 0;
- 0;
- }
- for p=1,#Joints do
- if JointTargets[p] ~= 0 then
- Joints[p].C0=LastJoints[p]:lerp(JointTargets[p],math.sin(timer2/30))
- CurrentJoints={
- CurrentJoints[1];
- CurrentJoints[2];
- CurrentJoints[3];
- Character.Torso['Right Shoulder'].C0;
- CurrentJoints[5];
- CurrentJoints[6];
- }
- end
- end
- if timer2 >= 30 and not waiting then
- waiting = true
- wait(0.5)
- animstate2 = -1
- keyframe2 = -1
- attacking = false
- waiting = false
- LastJoints = CurrentJoints
- end
- end
- elseif animstate2 == 2 then
- if keyframe2 == -1 then
- gunshot:Play()
- if ammo == 6 then
- A2.BrickColor = BrickColor.new("Really black")
- elseif ammo == 5 then
- A3.BrickColor = BrickColor.new("Really black")
- elseif ammo == 4 then
- A4.BrickColor = BrickColor.new("Really black")
- elseif ammo == 3 then
- A5.BrickColor = BrickColor.new("Really black")
- elseif ammo == 2 then
- A6.BrickColor = BrickColor.new("Really black")
- elseif ammo == 1 then
- A1.BrickColor = BrickColor.new("Really black")
- end
- ammo = ammo - 1
- keyframe2 = 0
- timer2 = 0
- local reduced = false
- local ray = Ray.new((BarrelEnd.CFrame*CFrame.new(0,-0.2,0)).p,(Mouse.Hit.p-BarrelEnd.CFrame*CFrame.new(0,-0.2,0).p).unit*999)
- local target, hit = workspace:FindPartOnRay(ray,Character)
- local newpos = hit
- local newhit = target
- if newhit then
- if (newpos-Character.HumanoidRootPart.Position).magnitude > 70 then
- reduced = true
- end
- local dist = (newpos-Character.HumanoidRootPart.Position).magnitude
- if newhit and (newhit.Parent:FindFirstChild("Humanoid") or newhit.Parent.Parent:FindFirstChild("Humanoid")) then
- local hum;
- if newhit.Parent.Parent:FindFirstChild("Humanoid") then
- hum = newhit.Parent.Parent:FindFirstChild("Humanoid")
- elseif newhit.Parent:FindFirstChild("Humanoid") then
- hum = newhit.Parent:FindFirstChild("Humanoid")
- end
- if newhit.Name == "Head" or newhit.Name == "Handle" or newhit.ClassName == "Accessory" then
- local damage = 70
- if reduced then
- damage = math.floor(damage*(70/dist))
- end
- hum.Health = hum.Health - damage
- indicate(hum.Parent:FindFirstChild("Head"),damage,1)
- else
- local damage = 35
- if reduced then
- damage = math.floor(damage*(70/dist))
- end
- hum.Health = hum.Health - damage
- indicate(hum.Parent:FindFirstChild("Head"),damage,0)
- end
- end
- local Flash2 = Instance.new("Part", Character)
- Flash2.CanCollide = false
- Flash2.BrickColor = BrickColor.new(Color3.new(0,1,1))
- Flash2.Anchored = true
- Flash2.Position = newpos
- Flash2.Transparency = 0
- Flash2.Name = "flash"
- Flash2.Shape = "Ball"
- Flash2.Material = "Neon"
- Flash2.BackSurface = "SmoothNoOutlines"
- Flash2.FrontSurface = "SmoothNoOutlines"
- Flash2.BottomSurface = "SmoothNoOutlines"
- Flash2.TopSurface = "SmoothNoOutlines"
- Flash2.LeftSurface = "SmoothNoOutlines"
- Flash2.RightSurface = "SmoothNoOutlines"
- Flash2.FormFactor = "Custom"
- Flash2.Size = Vector3.new(0.3,0.3,0.3)
- local grow2 = coroutine.wrap(function()
- for i=1, 10 do
- Flash2.Transparency = Flash2.Transparency + 0.1
- wait(0.01)
- end
- Flash2:Remove()
- end)
- local part = Instance.new("Part", Character)
- local origpos = BarrelEnd.CFrame*CFrame.new(0,-0.2,0).p
- local pos = CFrame.new((origpos+newpos)/2,newpos)
- local mag = (origpos - newpos).magnitude
- part.CanCollide = false
- part.Anchored = true
- part.FormFactor = "Custom"
- part.Material = "SmoothPlastic"
- part.Name = "effect"
- part.Shape = "Cylinder"
- part.BackSurface = "SmoothNoOutlines"
- part.BottomSurface = "SmoothNoOutlines"
- part.FrontSurface = "SmoothNoOutlines"
- part.LeftSurface = "SmoothNoOutlines"
- part.RightSurface = "SmoothNoOutlines"
- part.TopSurface = "SmoothNoOutlines"
- part.Transparency = 0.5
- part.BrickColor = BrickColor.new(Color3.new(50,50,50))
- part.Size = Vector3.new(mag,0.1,0.1)
- part.CFrame = pos*CFrame.Angles(0,math.rad(90),0)
- local changer = coroutine.wrap(function()
- for i=1, 10 do
- part.Size = part.Size + Vector3.new(0,0.01,0.01)
- part.Transparency = part.Transparency + 0.05
- wait()
- end
- part:Remove()
- end)
- grow2()
- changer()
- end
- local Flash = Instance.new("Part", Character)
- Flash.CanCollide = false
- Flash.BrickColor = BrickColor.new(Color3.new(1,1,0))
- Flash.Anchored = true
- Flash.CFrame = BarrelEnd.CFrame*CFrame.new(0,-0.1,0)
- Flash.Transparency = 0
- Flash.Material = "Neon"
- Flash.BackSurface = "SmoothNoOutlines"
- Flash.FrontSurface = "SmoothNoOutlines"
- Flash.BottomSurface = "SmoothNoOutlines"
- Flash.TopSurface = "SmoothNoOutlines"
- Flash.LeftSurface = "SmoothNoOutlines"
- Flash.RightSurface = "SmoothNoOutlines"
- Flash.FormFactor = "Custom"
- Flash.Size = Vector3.new(1,1,1)
- local mesh = Instance.new("SpecialMesh", Flash)
- mesh.MeshType = "Sphere"
- mesh.Scale = Vector3.new(0.4,0.4,0.4)
- local grow = coroutine.wrap(function()
- for i=1, 5 do
- Flash.Transparency = Flash.Transparency + 0.2
- mesh.Scale = mesh.Scale + Vector3.new(0,0.2,0)
- wait()
- end
- Flash:Remove()
- end)
- grow()
- elseif keyframe2 == 0 then
- local JointTargets={
- 0;
- 0;
- 0;
- orig4*CFrame.new(-0.1,-0.1,0)*CFrame.Angles(0,0,math.rad(150)+math.asin((Mouse.Hit.p-Mouse.Origin.p).unit.y));
- 0;
- 0;
- }
- local GunTargets={
- origh*CFrame.new(0,-0.2,0)*CFrame.Angles(0,0,math.rad(15));
- origt*CFrame.Angles(0,0,math.rad(-15));
- }
- for p=1,#Joints do
- if JointTargets[p] ~= 0 then
- Joints[p].C0=LastJoints[p]:lerp(JointTargets[p],math.sin(timer2/10))
- CurrentJoints={
- CurrentJoints[1];
- CurrentJoints[2];
- CurrentJoints[3];
- Character.Torso['Right Shoulder'].C0;
- CurrentJoints[5];
- CurrentJoints[6];
- }
- end
- end
- for p=1,#GunJoints do
- if GunTargets[p] ~= 0 then
- GunJoints[p].C0=LastGunJoints[p]:lerp(GunTargets[p],math.sin(timer2/10))
- CurrentGunJoints={
- GunJoints[1].C0;
- GunJoints[2].C0;
- }
- end
- end
- if timer2 >= 10 then
- keyframe2 = 2
- timer2 = 0
- attacking = false
- LastJoints = CurrentJoints
- LastGunJoints = CurrentGunJoints
- end
- elseif keyframe2 == 2 then
- local GunTargets={
- origh;
- origt;
- }
- for p=1,#GunJoints do
- if GunTargets[p] ~= 0 then
- GunJoints[p].C0=LastGunJoints[p]:lerp(GunTargets[p],math.sin(timer2/10))
- CurrentGunJoints={
- GunJoints[1].C0;
- GunJoints[2].C0;
- }
- end
- end
- if timer2 >= 10 then
- animstate2 = -1
- keyframe2 = -1
- LastGunJoints = CurrentGunJoints
- local waiter = coroutine.wrap(function()
- wait(0.5)
- cooled1 = true
- end)
- waiter()
- end
- end
- elseif animstate2 == 3 then
- if keyframe2 == -1 then
- local JointTargets={
- 0;
- 0;
- orig3*CFrame.Angles(0,math.rad(-15),math.rad(-135));
- 0;
- 0;
- 0;
- }
- for p=1,#Joints do
- if JointTargets[p] ~= 0 then
- Joints[p].C0=LastJoints[p]:lerp(JointTargets[p],math.sin(timer2/12))
- CurrentJoints={
- CurrentJoints[1];
- CurrentJoints[2];
- Character.Torso['Left Shoulder'].C0;
- CurrentJoints[4];
- CurrentJoints[5];
- CurrentJoints[6];
- }
- end
- end
- if timer2 >= 12 and not waiting then
- waiting = true
- local flashpart = Instance.new("Part", Character)
- flashpart.FormFactor = "Custom"
- flashpart.FrontSurface = "Smooth"
- flashpart.BackSurface = "Smooth"
- flashpart.TopSurface = "Smooth"
- flashpart.BottomSurface = "Smooth"
- flashpart.LeftSurface = "Smooth"
- flashpart.RightSurface = "Smooth"
- flashpart.BrickColor = BrickColor.new(10/255,10/255,10/255)
- flashpart.Size = Vector3.new(0.35,0.7,0.35)
- flashpart.CanCollide = false
- flashpart.CFrame = Character['Left Arm'].CFrame*CFrame.new(0,-1.5,0)*CFrame.Angles(math.random(),math.random(),math.random())
- flashpart.Velocity = Character.HumanoidRootPart.CFrame.lookVector*20+Vector3.new(0,0.5,0)
- wait(0.1)
- local bang = coroutine.wrap(function()
- local prevframe = flashpart.CFrame
- local stunner = coroutine.wrap(function()
- for _,v in pairs (workspace:GetChildren()) do
- local torso;
- if v:FindFirstChild("Torso") then
- torso = v:FindFirstChild("Torso")
- elseif v:FindFirstChild("UpperTorso") then
- torso = v:FindFirstChild("UpperTorso")
- end
- if v:FindFirstChild("Humanoid") and torso and v ~= Character then
- local mag = (torso.Position-prevframe.p).magnitude
- if mag <= 10 then
- local stunthem = coroutine.wrap(function()
- local prev = v:FindFirstChild("Humanoid").WalkSpeed
- local prev2 = v:FindFirstChild("Humanoid").JumpPower
- v:FindFirstChild("Humanoid").Health = v:FindFirstChild("Humanoid").Health - 15
- indicate(v:FindFirstChild("Head"),15,0)
- v:FindFirstChild("Humanoid").WalkSpeed = 0
- v:FindFirstChild("Humanoid").JumpPower = 0
- wait(1)
- v:FindFirstChild("Humanoid").WalkSpeed = prev
- v:FindFirstChild("Humanoid").JumpPower = prev2
- end)
- stunthem()
- end
- end
- end
- end)
- stunner()
- flashpart:Remove()
- local soundpart = Instance.new("Part", Character)
- soundpart.Anchored = true
- soundpart.FormFactor = "Custom"
- soundpart.CanCollide = false
- soundpart.Size = Vector3.new(0.2,0.2,0.2)
- soundpart.CFrame = prevframe
- soundpart.Transparency = 1
- local flash = Instance.new("Sound", soundpart)
- flash.Volume = 0.8
- flash.SoundId = "rbxassetid://440145223"
- flash:Play()
- game.Debris:AddItem(soundpart,5)
- for i=1, 5 do
- local Flash = Instance.new("Part", Character)
- Flash.CanCollide = false
- Flash.BrickColor = BrickColor.new(Color3.new(1,1,0))
- Flash.Anchored = true
- Flash.CFrame = prevframe*CFrame.Angles(math.random(),math.random(),math.random())
- Flash.Transparency = 0
- Flash.Material = "Neon"
- Flash.BackSurface = "SmoothNoOutlines"
- Flash.FrontSurface = "SmoothNoOutlines"
- Flash.BottomSurface = "SmoothNoOutlines"
- Flash.TopSurface = "SmoothNoOutlines"
- Flash.LeftSurface = "SmoothNoOutlines"
- Flash.RightSurface = "SmoothNoOutlines"
- Flash.FormFactor = "Custom"
- Flash.Size = Vector3.new(1,1,1)
- local mesh = Instance.new("SpecialMesh", Flash)
- mesh.MeshType = "Sphere"
- mesh.Scale = Vector3.new(2,2,2)
- local grow = coroutine.wrap(function()
- for i=1, 10 do
- Flash.Transparency = Flash.Transparency + 0.1
- mesh.Scale = mesh.Scale + Vector3.new(0,1,0)
- wait()
- end
- Flash:Remove()
- end)
- grow()
- wait()
- end
- end)
- bang()
- animstate2 = -1
- keyframe2 = -1
- timer2 = 0
- attacking = false
- waiting = false
- LastJoints = CurrentJoints
- local waiter = coroutine.wrap(function()
- wait(6)
- cooled3 = true
- end)
- waiter()
- end
- end
- end
- end)
- Mouse.Button1Down:connect(function()
- if ammo > 0 and not attacking and cooled1 and not waiting then
- animstate2 = 2
- cooled1 = false
- timer2 = 0
- keyframe2 = -1
- attacking = true
- end
- end)
- Mouse.KeyDown:connect(function(key)
- if key == "r" and not attacking and ammo < 6 and not waiting and cooled1 then
- animstate2 = 1
- timer2 = 0
- keyframe2 = -1
- attacking = true
- elseif key == "f" and ammo > 0 and not attacking and cooled1 and not waiting then
- animstate2 = 0
- cooled1 = false
- timer2 = 0
- keyframe2 = -1
- attacking = true
- elseif key == "q" and not attacking and cooled2 and not waiting and Player.Character.Humanoid.MoveDirection ~= Vector3.new(0,0,0) then
- animstate = 2
- cooled2 = false
- timer = 0
- Character.Humanoid.WalkSpeed = 50
- keyframe = 0
- attacking = true
- LastJoints = CurrentJoints
- elseif key == "e" and not attacking and not waiting and cooled3 then
- animstate2 = 3
- cooled3 = false
- timer2 = 0
- keyframe2 = -1
- attacking = true
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement