View difference between Paste ID: VGTtUXyd and 902mRsuw
SHOW: | | - or go back to the newest paste.
1
--https://github.com/Mokiros/roblox-FE-compatibility
2-
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
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)