SHARE
TWEET

Untitled

lafur Dec 15th, 2018 79 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --https://github.com/Mokiros/roblox-FE-compatibility
  2. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  3. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  4. local RealPlayer = Player
  5. do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end local Scale = game.Players.LocalPlayer.Character.Torso.Size.X/2*(game.Players.LocalPlayer.Character.Torso:FindFirstChild("ScaleInserted") ~= nil and game.Players.LocalPlayer.Character.Torso:FindFirstChild("ScaleInserted").Scale.Z or 1)*0.8
  6. local Speed = 20*Scale
  7. local Gravity = 0.1
  8.  
  9. local Player = game.Players.LocalPlayer
  10. local Character = Player.Character
  11. local Humanoid = Character.Humanoid
  12. Humanoid:SetStateEnabled(Enum.HumanoidStateType.Ragdoll,false)
  13. local Torso = Character.HumanoidRootPart
  14. local Mouse = game.Players.LocalPlayer:GetMouse()
  15. local RenderStepped = game:GetService("RunService").RenderStepped
  16. local Camera = Workspace.CurrentCamera
  17. Camera:ClearAllChildren()
  18. local Model = Instance.new("Model",Character)
  19. local IgnoreList = {Character,Workspace.Terrain}
  20.  
  21. local Part0Joint = CFrame.new(Vector3.new(1,0.75,0)*Scale*1.25)
  22. local Part1Joint = CFrame.new(Vector3.new(-0.5,0.75,0)*Scale*1.25)
  23. local RotationOffset = CFrame.Angles(math.rad(90),math.rad(0),0)
  24. local Gangster = false
  25.  
  26. local Part0JointHead = CFrame.new(Vector3.new(0,1,0)*Scale*1.25)
  27. local Part1JointHead = CFrame.new(Vector3.new(0,-0.5,0)*Scale*1.25)
  28. local RotationOffsetHead = CFrame.Angles(0,0,0)
  29.  
  30. local Handle = Instance.new("Part",Model)
  31. Handle.CanCollide = false
  32. Handle.Name = "Handle"
  33. Handle.Position = Vector3.new(0,100,0)
  34. Handle:BreakJoints()
  35. Handle.FormFactor = "Custom"
  36. Handle.Size = Vector3.new(0.2,0.2,0.2)
  37. Handle.TopSurface = "SmoothNoOutlines"
  38. Handle.BottomSurface = "SmoothNoOutlines"
  39. Handle.FrontSurface = "SmoothNoOutlines"
  40. Handle.BackSurface = "SmoothNoOutlines"
  41. Handle.RightSurface = "SmoothNoOutlines"
  42. Handle.LeftSurface = "SmoothNoOutlines"
  43. Handle.BrickColor = BrickColor.new("Black")
  44. local Mesh = Instance.new("BlockMesh",Handle)
  45. Mesh.Scale = Vector3.new(0.25,1,0.4) / 0.2 * Scale
  46. local HandleWeld = Instance.new("Motor6D")
  47. HandleWeld.Part0 = Character["Right Arm"]
  48. HandleWeld.Part1 = Handle
  49. HandleWeld.C0 = CFrame.new(Vector3.new(0,-1,0)*Scale) * CFrame.Angles(math.rad(-105),0,0)
  50. HandleWeld.Parent = Handle
  51.  
  52. local Part = Instance.new("Part",Model)
  53. Part.CanCollide = false
  54. Part.Position = Vector3.new(0,100,0)
  55. Part:BreakJoints()
  56. Part.FormFactor = "Custom"
  57. Part.Size = Vector3.new(0.2,0.2,0.2)
  58. Part.TopSurface = "SmoothNoOutlines"
  59. Part.BottomSurface = "SmoothNoOutlines"
  60. Part.FrontSurface = "SmoothNoOutlines"
  61. Part.BackSurface = "SmoothNoOutlines"
  62. Part.RightSurface = "SmoothNoOutlines"
  63. Part.LeftSurface = "SmoothNoOutlines"
  64. Part.BrickColor = BrickColor.new("Black")
  65. local Mesh = Instance.new("CylinderMesh",Part)
  66. Mesh.Scale = Vector3.new(0.07,0.2,0.07) / 0.2 * Scale
  67. local PartWeld = Instance.new("Motor6D")
  68. PartWeld.Part0 = Handle
  69. PartWeld.Part1 = Part
  70. PartWeld.C0 = CFrame.new(Vector3.new(-0.115,-0.475,-0.190)*Scale) * CFrame.Angles(0,0,0)
  71. PartWeld.Parent = Part
  72.  
  73. local Part = Instance.new("Part",Model)
  74. Part.CanCollide = false
  75. Part.Position = Vector3.new(0,100,0)
  76. Part:BreakJoints()
  77. Part.FormFactor = "Custom"
  78. Part.Size = Vector3.new(0.2,0.2,0.2)
  79. Part.TopSurface = "SmoothNoOutlines"
  80. Part.BottomSurface = "SmoothNoOutlines"
  81. Part.FrontSurface = "SmoothNoOutlines"
  82. Part.BackSurface = "SmoothNoOutlines"
  83. Part.RightSurface = "SmoothNoOutlines"
  84. Part.LeftSurface = "SmoothNoOutlines"
  85. Part.BrickColor = BrickColor.new("Black")
  86. local Mesh = Instance.new("CylinderMesh",Part)
  87. Mesh.Scale = Vector3.new(0.07,0.2,0.07) / 0.2 * Scale
  88. local PartWeld = Instance.new("Motor6D")
  89. PartWeld.Part0 = Handle
  90. PartWeld.Part1 = Part
  91. PartWeld.C0 = CFrame.new(Vector3.new(0.115,-0.475,0.190)*Scale) * CFrame.Angles(0,0,0)
  92. PartWeld.Parent = Part
  93.  
  94. local Part = Instance.new("Part",Model)
  95. Part.CanCollide = false
  96. Part.Position = Vector3.new(0,100,0)
  97. Part:BreakJoints()
  98. Part.FormFactor = "Custom"
  99. Part.Size = Vector3.new(0.2,0.2,0.2)
  100. Part.TopSurface = "SmoothNoOutlines"
  101. Part.BottomSurface = "SmoothNoOutlines"
  102. Part.FrontSurface = "SmoothNoOutlines"
  103. Part.BackSurface = "SmoothNoOutlines"
  104. Part.RightSurface = "SmoothNoOutlines"
  105. Part.LeftSurface = "SmoothNoOutlines"
  106. Part.BrickColor = BrickColor.new("Black")
  107. local Mesh = Instance.new("CylinderMesh",Part)
  108. Mesh.Scale = Vector3.new(0.07,0.2,0.07) / 0.2 * Scale
  109. local PartWeld = Instance.new("Motor6D")
  110. PartWeld.Part0 = Handle
  111. PartWeld.Part1 = Part
  112. PartWeld.C0 = CFrame.new(Vector3.new(-0.115,-0.475,0.190)*Scale) * CFrame.Angles(0,0,0)
  113. PartWeld.Parent = Part
  114.  
  115. local Part = Instance.new("Part",Model)
  116. Part.CanCollide = false
  117. Part.Position = Vector3.new(0,100,0)
  118. Part:BreakJoints()
  119. Part.FormFactor = "Custom"
  120. Part.Size = Vector3.new(0.2,0.2,0.2)
  121. Part.TopSurface = "SmoothNoOutlines"
  122. Part.BottomSurface = "SmoothNoOutlines"
  123. Part.FrontSurface = "SmoothNoOutlines"
  124. Part.BackSurface = "SmoothNoOutlines"
  125. Part.RightSurface = "SmoothNoOutlines"
  126. Part.LeftSurface = "SmoothNoOutlines"
  127. Part.BrickColor = BrickColor.new("Black")
  128. local Mesh = Instance.new("CylinderMesh",Part)
  129. Mesh.Scale = Vector3.new(0.07,0.2,0.07) / 0.2 * Scale
  130. local PartWeld = Instance.new("Motor6D")
  131. PartWeld.Part0 = Handle
  132. PartWeld.Part1 = Part
  133. PartWeld.C0 = CFrame.new(Vector3.new(0.115,-0.475,-0.190)*Scale) * CFrame.Angles(0,0,0)
  134. PartWeld.Parent = Part
  135.  
  136. local Part = Instance.new("Part",Model)
  137. Part.CanCollide = false
  138. Part.Position = Vector3.new(0,100,0)
  139. Part:BreakJoints()
  140. Part.FormFactor = "Custom"
  141. Part.Size = Vector3.new(0.2,0.2,0.2)
  142. Part.TopSurface = "SmoothNoOutlines"
  143. Part.BottomSurface = "SmoothNoOutlines"
  144. Part.FrontSurface = "SmoothNoOutlines"
  145. Part.BackSurface = "SmoothNoOutlines"
  146. Part.RightSurface = "SmoothNoOutlines"
  147. Part.LeftSurface = "SmoothNoOutlines"
  148. Part.BrickColor = BrickColor.new("Black")
  149. local Mesh = Instance.new("BlockMesh",Part)
  150. Mesh.Scale = Vector3.new(0.23,0.2,0.1) / 0.2 * Scale
  151. local PartWeld = Instance.new("Motor6D")
  152. PartWeld.Part0 = Handle
  153. PartWeld.Part1 = Part
  154. PartWeld.C0 = CFrame.new(Vector3.new(0,-0.475,-0.175)*Scale) * CFrame.Angles(0,0,0)
  155. PartWeld.Parent = Part
  156.  
  157. local Part = Instance.new("Part",Model)
  158. Part.CanCollide = false
  159. Part.Position = Vector3.new(0,100,0)
  160. Part:BreakJoints()
  161. Part.FormFactor = "Custom"
  162. Part.Size = Vector3.new(0.2,0.2,0.2)
  163. Part.TopSurface = "SmoothNoOutlines"
  164. Part.BottomSurface = "SmoothNoOutlines"
  165. Part.FrontSurface = "SmoothNoOutlines"
  166. Part.BackSurface = "SmoothNoOutlines"
  167. Part.RightSurface = "SmoothNoOutlines"
  168. Part.LeftSurface = "SmoothNoOutlines"
  169. Part.BrickColor = BrickColor.new("Black")
  170. local Mesh = Instance.new("BlockMesh",Part)
  171. Mesh.Scale = Vector3.new(0.23,0.2,0.1) / 0.2 * Scale
  172. local PartWeld = Instance.new("Motor6D")
  173. PartWeld.Part0 = Handle
  174. PartWeld.Part1 = Part
  175. PartWeld.C0 = CFrame.new(Vector3.new(0,-0.475,0.175)*Scale) * CFrame.Angles(0,0,0)
  176. PartWeld.Parent = Part
  177.  
  178. local Part = Instance.new("Part",Model)
  179. Part.CanCollide = false
  180. Part.Position = Vector3.new(0,100,0)
  181. Part:BreakJoints()
  182. Part.FormFactor = "Custom"
  183. Part.Size = Vector3.new(0.2,0.2,0.2)
  184. Part.TopSurface = "SmoothNoOutlines"
  185. Part.BottomSurface = "SmoothNoOutlines"
  186. Part.FrontSurface = "SmoothNoOutlines"
  187. Part.BackSurface = "SmoothNoOutlines"
  188. Part.RightSurface = "SmoothNoOutlines"
  189. Part.LeftSurface = "SmoothNoOutlines"
  190. Part.BrickColor = BrickColor.new("Black")
  191. local Mesh = Instance.new("BlockMesh",Part)
  192. Mesh.Scale = Vector3.new(0.1,0.2,0.38) / 0.2 * Scale
  193. local PartWeld = Instance.new("Motor6D")
  194. PartWeld.Part0 = Handle
  195. PartWeld.Part1 = Part
  196. PartWeld.C0 = CFrame.new(Vector3.new(-0.1,-0.475,0)*Scale) * CFrame.Angles(0,0,0)
  197. PartWeld.Parent = Part
  198.  
  199. local Part = Instance.new("Part",Model)
  200. Part.CanCollide = false
  201. Part.Position = Vector3.new(0,100,0)
  202. Part:BreakJoints()
  203. Part.FormFactor = "Custom"
  204. Part.Size = Vector3.new(0.2,0.2,0.2)
  205. Part.TopSurface = "SmoothNoOutlines"
  206. Part.BottomSurface = "SmoothNoOutlines"
  207. Part.FrontSurface = "SmoothNoOutlines"
  208. Part.BackSurface = "SmoothNoOutlines"
  209. Part.RightSurface = "SmoothNoOutlines"
  210. Part.LeftSurface = "SmoothNoOutlines"
  211. Part.BrickColor = BrickColor.new("Black")
  212. local Mesh = Instance.new("BlockMesh",Part)
  213. Mesh.Scale = Vector3.new(0.1,0.2,0.38) / 0.2 * Scale
  214. local PartWeld = Instance.new("Motor6D")
  215. PartWeld.Part0 = Handle
  216. PartWeld.Part1 = Part
  217. PartWeld.C0 = CFrame.new(Vector3.new(0.1,-0.475,0)*Scale) * CFrame.Angles(0,0,0)
  218. PartWeld.Parent = Part
  219.  
  220. local Part = Instance.new("Part",Model)
  221. Part.CanCollide = false
  222. Part.Position = Vector3.new(0,100,0)
  223. Part:BreakJoints()
  224. Part.FormFactor = "Custom"
  225. Part.Size = Vector3.new(0.2,0.2,0.2)
  226. Part.TopSurface = "SmoothNoOutlines"
  227. Part.BottomSurface = "SmoothNoOutlines"
  228. Part.FrontSurface = "SmoothNoOutlines"
  229. Part.BackSurface = "SmoothNoOutlines"
  230. Part.RightSurface = "SmoothNoOutlines"
  231. Part.LeftSurface = "SmoothNoOutlines"
  232. Part.BrickColor = BrickColor.new("Black")
  233. local Mesh = Instance.new("BlockMesh",Part)
  234. Mesh.Scale = Vector3.new(0.1,0.3,0.05) / 0.2 * Scale
  235. local PartWeld = Instance.new("Motor6D")
  236. PartWeld.Part0 = Handle
  237. PartWeld.Part1 = Part
  238. PartWeld.C0 = CFrame.Angles(math.rad(15),0,0) * CFrame.new(Vector3.new(0,0.25,-0.75)*Scale) * CFrame.Angles(math.rad(-10),0,0)
  239. PartWeld.Parent = Part
  240.  
  241. local Part = Instance.new("Part",Model)
  242. Part.CanCollide = false
  243. Part.Position = Vector3.new(0,100,0)
  244. Part:BreakJoints()
  245. Part.FormFactor = "Custom"
  246. Part.Size = Vector3.new(0.2,0.2,0.2)
  247. Part.TopSurface = "SmoothNoOutlines"
  248. Part.BottomSurface = "SmoothNoOutlines"
  249. Part.FrontSurface = "SmoothNoOutlines"
  250. Part.BackSurface = "SmoothNoOutlines"
  251. Part.RightSurface = "SmoothNoOutlines"
  252. Part.LeftSurface = "SmoothNoOutlines"
  253. Part.BrickColor = BrickColor.new("Black")
  254. local Mesh = Instance.new("BlockMesh",Part)
  255. Mesh.Scale = Vector3.new(0.1,0.05,0.625) / 0.2 * Scale
  256. local PartWeld = Instance.new("Motor6D")
  257. PartWeld.Part0 = Handle
  258. PartWeld.Part1 = Part
  259. PartWeld.C0 = CFrame.Angles(math.rad(15),0,0) * CFrame.new(Vector3.new(0,0.1,-0.435)*Scale)
  260. PartWeld.Parent = Part
  261.  
  262. for i = 0,80,10 do
  263.     local Part = Instance.new("Part",Model)
  264.     Part.CanCollide = false
  265.     Part.Position = Vector3.new(0,100,0)
  266.     Part:BreakJoints()
  267.     Part.FormFactor = "Custom"
  268.     Part.Size = Vector3.new(0.2,0.2,0.2)
  269.     Part.TopSurface = "SmoothNoOutlines"
  270.     Part.BottomSurface = "SmoothNoOutlines"
  271.     Part.FrontSurface = "SmoothNoOutlines"
  272.     Part.BackSurface = "SmoothNoOutlines"
  273.     Part.RightSurface = "SmoothNoOutlines"
  274.     Part.LeftSurface = "SmoothNoOutlines"
  275.     Part.BrickColor = BrickColor.new("Black")
  276.     local Mesh = Instance.new("BlockMesh",Part)
  277.     Mesh.Scale = Vector3.new(0.25,0.15,0.03555*2) / 0.2 * Scale
  278.     local PartWeld = Instance.new("Motor6D")
  279.     PartWeld.Part0 = Handle
  280.     PartWeld.Part1 = Part
  281.     PartWeld.C0 = CFrame.new(Vector3.new(0,0.15,0.315)*Scale) * CFrame.Angles(math.rad(i-65),0,0) * CFrame.new(Vector3.new(0,0.2,0)*Scale)
  282.     PartWeld.Parent = Part
  283. end
  284.  
  285. local Barrel = Instance.new("Part",Model)
  286. Barrel.CanCollide = false
  287. Barrel.Position = Vector3.new(0,100,0)
  288. Barrel:BreakJoints()
  289. Barrel.FormFactor = "Custom"
  290. Barrel.Size = Vector3.new(0.2,0.2,0.2)
  291. Barrel.TopSurface = "SmoothNoOutlines"
  292. Barrel.BottomSurface = "SmoothNoOutlines"
  293. Barrel.FrontSurface = "SmoothNoOutlines"
  294. Barrel.BackSurface = "SmoothNoOutlines"
  295. Barrel.RightSurface = "SmoothNoOutlines"
  296. Barrel.LeftSurface = "SmoothNoOutlines"
  297. Barrel.BrickColor = BrickColor.new("Black")
  298. local Mesh = Instance.new("BlockMesh",Barrel)
  299. Mesh.Scale = Vector3.new(0.25,0.2,2) / 0.2 * Scale
  300. local BarrelWeld = Instance.new("Motor6D")
  301. BarrelWeld.Part0 = Handle
  302. BarrelWeld.Part1 = Barrel
  303. BarrelWeld.C0 = CFrame.Angles(math.rad(15),0,0) * CFrame.new(Vector3.new(0,0.5,-0.7)*Scale)
  304. BarrelWeld.Parent = Barrel
  305.  
  306. local Barrel1 = Barrel
  307.  
  308. local Barrel2 = Instance.new("Part",Model)
  309. Barrel2.CanCollide = false
  310. Barrel2.Position = Vector3.new(0,100,0)
  311. Barrel2:BreakJoints()
  312. Barrel2.FormFactor = "Custom"
  313. Barrel2.Size = Vector3.new(0.2,0.2,0.2)
  314. Barrel2.TopSurface = "SmoothNoOutlines"
  315. Barrel2.BottomSurface = "SmoothNoOutlines"
  316. Barrel2.FrontSurface = "SmoothNoOutlines"
  317. Barrel2.BackSurface = "SmoothNoOutlines"
  318. Barrel2.RightSurface = "SmoothNoOutlines"
  319. Barrel2.LeftSurface = "SmoothNoOutlines"
  320. Barrel2.BrickColor = BrickColor.new("Really black")
  321. local Mesh = Instance.new("BlockMesh",Barrel2)
  322. Mesh.Scale = Vector3.new(0.25,0.25,2) / 0.2 * Scale
  323. local Barrel2Weld = Instance.new("Motor6D")
  324. Barrel2Weld.Part0 = Barrel
  325. Barrel2Weld.Part1 = Barrel2
  326. Barrel2Weld.C0 = CFrame.new(Vector3.new(0,0.225,0)*Scale)
  327. Barrel2Weld.Parent = Barrel2
  328.  
  329. local RealBarrel = Instance.new("Part",Model)
  330. RealBarrel.CanCollide = false
  331. RealBarrel.Position = Vector3.new(0,100,0)
  332. RealBarrel:BreakJoints()
  333. RealBarrel.FormFactor = "Custom"
  334. RealBarrel.Size = Vector3.new(0.2,0.2,0.2)
  335. RealBarrel.TopSurface = "SmoothNoOutlines"
  336. RealBarrel.BottomSurface = "SmoothNoOutlines"
  337. RealBarrel.FrontSurface = "SmoothNoOutlines"
  338. RealBarrel.BackSurface = "SmoothNoOutlines"
  339. RealBarrel.RightSurface = "SmoothNoOutlines"
  340. RealBarrel.LeftSurface = "SmoothNoOutlines"
  341. RealBarrel.BrickColor = BrickColor.new("Dark grey metallic")
  342. local Mesh = Instance.new("CylinderMesh",RealBarrel)
  343. Mesh.Scale = Vector3.new(0.2,2,0.2) / 0.2 * Scale
  344. local RealBarrelWeld = Instance.new("Motor6D")
  345. RealBarrelWeld.Part0 = Barrel
  346. RealBarrelWeld.Part1 = RealBarrel
  347. RealBarrelWeld.C0 = CFrame.new(Vector3.new(0,0.1,-0.01)*Scale) * CFrame.Angles(math.rad(-90),0,0)
  348. RealBarrelWeld.Parent = RealBarrel
  349.  
  350. for i = 1,75,15 do
  351.     local Part = Instance.new("Part",Model)
  352.     Part.CanCollide = false
  353.     Part.Position = Vector3.new(0,100,0)
  354.     Part:BreakJoints()
  355.     Part.FormFactor = "Custom"
  356.     Part.Size = Vector3.new(0.2,0.2,0.2)
  357.     Part.TopSurface = "SmoothNoOutlines"
  358.     Part.BottomSurface = "SmoothNoOutlines"
  359.     Part.FrontSurface = "SmoothNoOutlines"
  360.     Part.BackSurface = "SmoothNoOutlines"
  361.     Part.RightSurface = "SmoothNoOutlines"
  362.     Part.LeftSurface = "SmoothNoOutlines"
  363.     Part.BrickColor = BrickColor.new("Black")
  364.     local Mesh = Instance.new("BlockMesh",Part)
  365.     Mesh.Scale = Vector3.new(0.05,0.065,0.05) / 0.2 * Scale
  366.     local PartWeld = Instance.new("Motor6D")
  367.     PartWeld.Part0 = Handle
  368.     PartWeld.Part1 = Part
  369.     PartWeld.C0 = CFrame.new(Vector3.new(0,0.525,-0.515)*Scale) * CFrame.Angles(math.rad(i),0,0) * CFrame.new(Vector3.new(0,0,0.2)*Scale)
  370.     PartWeld.Parent = Part
  371. end
  372.  
  373. local Part = Instance.new("Part",Model)
  374. Part.CanCollide = false
  375. Part.Position = Vector3.new(0,100,0)
  376. Part:BreakJoints()
  377. Part.FormFactor = "Custom"
  378. Part.Size = Vector3.new(0.2,0.2,0.2)
  379. Part.TopSurface = "SmoothNoOutlines"
  380. Part.BottomSurface = "SmoothNoOutlines"
  381. Part.FrontSurface = "SmoothNoOutlines"
  382. Part.BackSurface = "SmoothNoOutlines"
  383. Part.RightSurface = "SmoothNoOutlines"
  384. Part.LeftSurface = "SmoothNoOutlines"
  385. Part.BrickColor = BrickColor.new("Really black")
  386. local Mesh = Instance.new("BlockMesh",Part)
  387. Mesh.Scale = Vector3.new(0.05,0.11,0.1) / 0.2 * Scale
  388. local PartWeld = Instance.new("Motor6D")
  389. PartWeld.Part0 = Barrel2
  390. PartWeld.Part1 = Part
  391. PartWeld.C0 = CFrame.new(Vector3.new(0.06,0.135,0.925)*Scale)
  392. PartWeld.Parent = Part
  393.  
  394. local Part = Instance.new("Part",Model)
  395. Part.CanCollide = false
  396. Part.Position = Vector3.new(0,100,0)
  397. Part:BreakJoints()
  398. Part.FormFactor = "Custom"
  399. Part.Size = Vector3.new(0.2,0.2,0.2)
  400. Part.TopSurface = "SmoothNoOutlines"
  401. Part.BottomSurface = "SmoothNoOutlines"
  402. Part.FrontSurface = "SmoothNoOutlines"
  403. Part.BackSurface = "SmoothNoOutlines"
  404. Part.RightSurface = "SmoothNoOutlines"
  405. Part.LeftSurface = "SmoothNoOutlines"
  406. Part.BrickColor = BrickColor.new("Really black")
  407. local Mesh = Instance.new("BlockMesh",Part)
  408. Mesh.Scale = Vector3.new(0.05,0.11,0.1) / 0.2 * Scale
  409. local PartWeld = Instance.new("Motor6D")
  410. PartWeld.Part0 = Barrel2
  411. PartWeld.Part1 = Part
  412. PartWeld.C0 = CFrame.new(Vector3.new(-0.06,0.135,0.925)*Scale)
  413. PartWeld.Parent = Part
  414.  
  415. local Part = Instance.new("Part",Model)
  416. Part.CanCollide = false
  417. Part.Position = Vector3.new(0,100,0)
  418. Part:BreakJoints()
  419. Part.FormFactor = "Custom"
  420. Part.Size = Vector3.new(0.2,0.2,0.2)
  421. Part.TopSurface = "SmoothNoOutlines"
  422. Part.BottomSurface = "SmoothNoOutlines"
  423. Part.FrontSurface = "SmoothNoOutlines"
  424. Part.BackSurface = "SmoothNoOutlines"
  425. Part.RightSurface = "SmoothNoOutlines"
  426. Part.LeftSurface = "SmoothNoOutlines"
  427. Part.BrickColor = BrickColor.new("Really black")
  428. local Mesh = Instance.new("BlockMesh",Part)
  429. Mesh.Scale = Vector3.new(0.025,0.1,0.1) / 0.2 * Scale
  430. local PartWeld = Instance.new("Motor6D")
  431. PartWeld.Part0 = Barrel2
  432. PartWeld.Part1 = Part
  433. PartWeld.C0 = CFrame.new(Vector3.new(0,0.135,-0.925)*Scale)
  434. PartWeld.Parent = Part
  435.  
  436. local Part = Instance.new("Part",Model)
  437. Part.CanCollide = false
  438. Part.Position = Vector3.new(0,100,0)
  439. Part:BreakJoints()
  440. Part.FormFactor = "Custom"
  441. Part.Size = Vector3.new(0.2,0.2,0.2)
  442. Part.Transparency = 1
  443. Part.TopSurface = "SmoothNoOutlines"
  444. Part.BottomSurface = "SmoothNoOutlines"
  445. Part.FrontSurface = "SmoothNoOutlines"
  446. Part.BackSurface = "SmoothNoOutlines"
  447. Part.RightSurface = "SmoothNoOutlines"
  448. Part.LeftSurface = "SmoothNoOutlines"
  449. Part.BrickColor = BrickColor.new("Really black")
  450. local Mesh = Instance.new("BlockMesh",Part)
  451. Mesh.Scale = Vector3.new(0.1,0.1,0.1) / 0.2 * Scale
  452. local PartWeld = Instance.new("Motor6D")
  453. PartWeld.Part0 = Barrel
  454. PartWeld.Part1 = Part
  455. PartWeld.C0 = CFrame.new(Vector3.new(0,0,-5)*Scale)
  456. PartWeld.Parent = Part
  457.  
  458. local Light = Instance.new("PointLight",Part)
  459. Light.Color = BrickColor.new("Gold").Color
  460. Light.Enabled = true
  461. Light.Shadows = true
  462. Light.Brightness = 0
  463. Light.Range = 6
  464.  
  465. local Part = Instance.new("Part",Model)
  466. Part.Material = "Neon"
  467. Part.CanCollide = false
  468. Part.Position = Vector3.new(0,100,0)
  469. Part:BreakJoints()
  470. Part.FormFactor = "Custom"
  471. Part.Size = Vector3.new(0.2,0.2,0.2)
  472. Part.TopSurface = "SmoothNoOutlines"
  473. Part.BottomSurface = "SmoothNoOutlines"
  474. Part.FrontSurface = "SmoothNoOutlines"
  475. Part.BackSurface = "SmoothNoOutlines"
  476. Part.RightSurface = "SmoothNoOutlines"
  477. Part.LeftSurface = "SmoothNoOutlines"
  478. Part.BrickColor = BrickColor.new("Bright yellow")
  479. Part.Transparency = 0.25
  480. local RecoilMesh = Instance.new("SpecialMesh",Part)
  481. RecoilMesh.MeshType = "FileMesh"
  482. RecoilMesh.MeshId = "http://www.roblox.com/Asset/?id=1323306"
  483. RecoilMesh.TextureId = "http://www.roblox.com/Asset/?id=98896228"
  484. RecoilMesh.Scale = Vector3.new(0.175,0,0.175) * Scale
  485. local PartWeld = Instance.new("Motor6D")
  486. PartWeld.Part0 = RealBarrel
  487. PartWeld.Part1 = Part
  488. PartWeld.C0 = CFrame.new(Vector3.new(0,0.95,0)*Scale)
  489. PartWeld.Parent = Part
  490.  
  491. function ShootBullet(Target,barrel)
  492.     local barrel = barrel or Barrel
  493.     local Bullet = Instance.new("Part",Workspace)
  494.     Barrel.CanCollide = false
  495.     Bullet.FormFactor = "Custom"
  496.     Bullet.Size = Vector3.new(0.2,0.2,5)*Scale
  497.     Bullet.TopSurface = "Smooth"
  498.     Bullet.BottomSurface = "Smooth"
  499.     Bullet.Anchored = true
  500.     Bullet.CanCollide = false
  501.     Bullet.CFrame = CFrame.new((barrel.CFrame*CFrame.new(0,0,-barrel.Size.Z*barrel.Mesh.Scale.Z/2)).p,Target)*CFrame.new(0,0,-Bullet.Size.Z/2)
  502.     Bullet.Transparency = 0.1
  503.     Bullet.BrickColor = BrickColor.new("Gold")
  504.     --[[local Mesh = Instance.new("SpecialMesh",Bullet)
  505.     Mesh.MeshType = "FileMesh"
  506.     Mesh.Scale = Vector3.new(0.5,0.5,0.2)
  507.     Mesh.MeshId = "http://www.roblox.com/asset/?id=2697549"
  508.     --Mesh.TextureId = "http://www.roblox.com/asset/?id=2697544"]]
  509.     local Mesh = Instance.new("BlockMesh",Bullet)
  510.     Mesh.Scale = Vector3.new(0.2,0.2,5)*Scale/Bullet.Size
  511.     IgnoreList[#IgnoreList+1] = Bullet
  512.     RenderStepped:wait()
  513.     for i = Speed,1000,Speed do -- Loop to do the bullet movement and stuff.
  514.         local ray,Hit,Pos,SurfaceNormal;
  515.         ray = Ray.new(Bullet.Position,((Bullet.CFrame*CFrame.Angles(math.rad(-Gravity),0,0)*CFrame.new(0,0,-Speed)).p-Bullet.Position).unit*Speed)
  516.         Hit,Pos,SurfaceNormal = Workspace:FindPartOnRayWithIgnoreList(ray,IgnoreList)
  517.         Bullet.CFrame = Bullet.CFrame*CFrame.Angles(math.rad(-Gravity),0,0)*CFrame.new(0,0,-Speed)
  518.         if Hit ~= nil then
  519.             local Hum = Hit.Parent:FindFirstChild("Humanoid") or Hit.Parent.Parent:FindFirstChild("Humanoid") or (Hit.Parent.Parent.Parent ~= nil and Hit.Parent.Parent.Parent:FindFirstChild("Humanoid"))
  520.             if Hum ~= nil then
  521.                 Hum:TakeDamage((((Gangster and math.random(99999,99999) or math.random(99999,99999))*Scale)/100)*Hum.MaxHealth)
  522.             end
  523.             break
  524.         end
  525.         RenderStepped:wait()
  526.     end
  527.     Bullet:Destroy()
  528. end
  529.  
  530. Mouse.Button1Down:connect(function()
  531.     if not Down and not DB then
  532.         Down = true
  533.         while Down do
  534.             if Humanoid.Health == 0 then break end
  535.             if not DB then
  536.                 DB = true
  537.                 local Sound = Instance.new("Sound",Barrel)
  538.                 Sound.SoundId = "http://www.roblox.com/Asset/?id=165946426" -- 132373574
  539.                 Sound.Volume = 5*Scale
  540.                 Sound.Pitch = (math.random(70,110)/100)/((Scale < 0.25 and 0.25) or (Scale > 4 and 4) or Scale)
  541.                 Sound:Play()
  542.                 Spawn(function()
  543.                     ShootBullet(Mouse.Hit.p,Barrel1)
  544.                 end)
  545.                 RecoilMesh.VertexColor = Vector3.new(1,math.random(160,245)/255,20/255)
  546.                 PartWeld.C0 = PartWeld.C0 * CFrame.Angles(0,math.rad(math.random(-40,40)),0)
  547.                 local Shell = Instance.new("Part",Workspace)
  548.                 Shell.FormFactor = "Custom"
  549.                 Shell.BrickColor = BrickColor.new("Bright yellow")
  550.                 Shell.Size = Vector3.new(0.2,0.5,0.2)*Scale
  551.                 Shell.CFrame = Barrel.CFrame*CFrame.new(0.5,0.5,0)*CFrame.Angles(math.rad(-90),0,0)
  552.                 Shell.Velocity = ((Barrel.CFrame*CFrame.new(5,0,math.random(-2,2))).p-Barrel.CFrame.p)*5*Scale
  553.                 local Mesh = Instance.new("CylinderMesh",Shell)
  554.                 Mesh.Scale = Vector3.new(0.2,0.5,0.2)*Scale/Shell.Size
  555.                 Spawn(function()
  556.                     wait(5)
  557.                     Shell:Destroy()
  558.                 end)
  559.                 for i = 1,20,7.5 do
  560.                     RotationOffset = RotationOffset*CFrame.Angles(math.rad(7.5),0,0)
  561.                     Part1Joint = Part1Joint*CFrame.new(Vector3.new(0,-0.15,0)*Scale)
  562.                     Barrel2Weld.C0 = Barrel2Weld.C0*CFrame.new(Vector3.new(0,0,0.15)*Scale)
  563.                     Light.Brightness = Light.Brightness+38
  564.                     RecoilMesh.Scale = RecoilMesh.Scale+(Vector3.new(0,0.375,0)*Scale)
  565.                     RenderStepped:wait()
  566.                 end
  567.                 wait(0.02)
  568.                 for i = 1,20,3.75 do
  569.                     RotationOffset = RotationOffset*CFrame.Angles(math.rad(-3.75),0,0)
  570.                     Part1Joint = Part1Joint*CFrame.new(Vector3.new(0,0.075,0)*Scale)
  571.                     Barrel2Weld.C0 = Barrel2Weld.C0*CFrame.new(Vector3.new(0,0,-0.075)*Scale)
  572.                     Light.Brightness = Light.Brightness-19
  573.                     RecoilMesh.Scale = RecoilMesh.Scale+(Vector3.new(0,-0.1875,0)*Scale)
  574.                     RenderStepped:wait()
  575.                 end
  576.                 wait(0.02)
  577.                 DB = false
  578.             end
  579.         end
  580.     end
  581. end)
  582.  
  583. Mouse.Button1Up:connect(function()
  584.     Down = false
  585. end)
  586.  
  587. Mouse.KeyDown:connect(function(Key)
  588.     if Key:lower() == "g" and not DB then
  589.         DB = true
  590.         if Gangster == true then
  591.             for i = 1,70,5 do
  592.                 RotationOffset = RotationOffset*CFrame.Angles(0,math.rad(-5),0)
  593.                 RenderStepped:wait()
  594.             end
  595.             Gangster = false
  596.         else
  597.             for i = 1,70,5 do
  598.                 RotationOffset = RotationOffset*CFrame.Angles(0,math.rad(5),0)
  599.                 RenderStepped:wait()
  600.             end
  601.             Gangster = true
  602.         end
  603.         DB = false
  604.     end
  605. end)
  606.  
  607. local Weld = Instance.new("Weld")
  608. Weld.Part0 = Torso
  609. Weld.Part1 = Character["Right Arm"]
  610. Weld.Parent = Torso
  611.  
  612. local Weld2 = Instance.new("Weld")
  613. Weld2.Part0 = Torso
  614. Weld2.Part1 = Character.Head
  615. Weld2.Parent = Torso
  616.  
  617. local RA = Character["Right Arm"]
  618.  
  619. game:GetService("RunService"):BindToRenderStep("Pistol",Enum.RenderPriority.Character.Value,function()
  620.     local Point = Torso.CFrame:vectorToObjectSpace(Mouse.Hit.p-Torso.CFrame.p)
  621.     if Point.Z > 0 then
  622.         if Point.X > 0 then
  623.             Torso.CFrame = CFrame.new(Torso.Position,Vector3.new(Mouse.Hit.X,Torso.Position.Y,Mouse.Hit.Z))*CFrame.Angles(0,math.rad(90),0)
  624.         elseif Point.X < 0 then
  625.             Torso.CFrame = CFrame.new(Torso.Position,Vector3.new(Mouse.Hit.X,Torso.Position.Y,Mouse.Hit.Z))*CFrame.Angles(0,math.rad(-90),0)
  626.         end
  627.     end
  628.  
  629.     local CFr = (Torso.CFrame*Part0Joint):toObjectSpace(CFrame.new((Torso.CFrame*Part0Joint).p,Mouse.Hit.p))--RayEnd))
  630.     Weld.C0 = Part0Joint * (CFr-CFr.p) * RotationOffset
  631.     Weld.C1 = Part1Joint
  632.     Weld.Part0 = Torso
  633.     Weld.Part1 = RA
  634.     local CFr = (Torso.CFrame*Part0JointHead):toObjectSpace(CFrame.new((Torso.CFrame*Part0JointHead).p,Mouse.Hit.p))--RayEnd))
  635.     Weld2.C0 = Part0JointHead * (CFr-CFr.p) * RotationOffsetHead
  636.     Weld2.C1 = Part1JointHead
  637.     Weld2.Part0 = Torso
  638.     Weld2.Part1 = Character.Head
  639.     local Last = Scale
  640.     Scale = game.Players.LocalPlayer.Character.Torso.Size.X/2*(game.Players.LocalPlayer.Character.Torso:FindFirstChild("ScaleInserted") ~= nil and game.Players.LocalPlayer.Character.Torso:FindFirstChild("ScaleInserted").Scale.Z or 1)*0.8
  641.     Speed = 20*Scale
  642.     if Scale ~= Last then
  643.         Part0Joint = CFrame.new(Vector3.new(1,0.75,0)*Scale*1.25)
  644.         Part1Joint = CFrame.new(Vector3.new(-0.5,0.75,0)*Scale*1.25)
  645.         Part0JointHead = CFrame.new(Vector3.new(0,1,0)*Scale*1.25)
  646.         Part1JointHead = CFrame.new(Vector3.new(0,-0.5,0)*Scale*1.25)
  647.     end
  648. end)
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top