SHOW:
|
|
- or go back to the newest paste.
1 | local plr = game.Players.LocalPlayer | |
2 | local char = plr.Character | |
3 | local mouse = plr:GetMouse() | |
4 | local torso = char.Torso | |
5 | local head = char.Head | |
6 | local ra = char["Right Arm"] | |
7 | local la = char["Left Arm"] | |
8 | local rl = char["Right Leg"] | |
9 | local ll = char["Left Leg"] | |
10 | local human = char["Humanoid"] | |
11 | local camera = workspace.CurrentCamera | |
12 | local rs = torso:findFirstChild("Right Shoulder") | |
13 | local ls = torso:findFirstChild("Left Shoulder") | |
14 | local neck = torso:findFirstChild("Neck") | |
15 | local NO_moar_shooting = false | |
16 | local RunService = game:service'RunService' | |
17 | - | local ammo = 8 |
17 | + | local ammo = 1 |
18 | ||
19 | ||
20 | local sound = Instance.new("Sound", head) | |
21 | - | sound.SoundId = "http://roblox.com/asset/?id=10209842" |
21 | + | sound.SoundId = "http://roblox.com/asset/?id=151414336" |
22 | sound.Volume = 1 | |
23 | local reloads = Instance.new("Sound", head) | |
24 | - | reloads.SoundId = "http://roblox.com/asset/?id=10209636" |
24 | + | reloads.SoundId = "http://roblox.com/asset/?id=1529967756" |
25 | reloads.Volume = 1 | |
26 | local activate = Instance.new("Sound", head) | |
27 | - | activate.SoundId = "http://roblox.com/asset/?id=10209894" |
27 | + | activate.SoundId = "http://roblox.com/asset/?id=0" |
28 | activate.Volume = 1 | |
29 | ||
30 | ||
31 | local equipped = false | |
32 | ||
33 | local debounce = false | |
34 | ||
35 | local face = head.face | |
36 | ||
37 | release = Instance.new("Part", nil) | |
38 | release.FormFactor = "Custom" | |
39 | release.Size = Vector3.new(0.3, 1.7, 0.3) | |
40 | release.Transparency = 1 | |
41 | release.BrickColor = BrickColor.Black() | |
42 | local weld = Instance.new("Weld", release) | |
43 | weld.Part0 = release | |
44 | release.Locked = true | |
45 | weld.Part1 = head | |
46 | weld.C0 = CFrame.new(0, -0.5, -0.2) * CFrame.Angles(math.pi/2, 0, 0) | |
47 | local mesh = Instance.new("CylinderMesh", release) | |
48 | ||
49 | release2 = Instance.new("Part", nil) | |
50 | release2.FormFactor = "Custom" | |
51 | release2.Size = Vector3.new(0.2, 1.4, 0.2) | |
52 | release2.Transparency = 1 | |
53 | release2.BrickColor = BrickColor.Black() | |
54 | release2.Locked = true | |
55 | local weld2 = Instance.new("Weld", release2) | |
56 | weld2.Part0 = release2 | |
57 | weld2.Part1 = head | |
58 | weld2.C0 = CFrame.new(0, -0.5, 0) * CFrame.Angles(math.pi/2, 0, 0) | |
59 | local mesh2 = Instance.new("CylinderMesh", release2) | |
60 | ||
61 | headext = Instance.new("Part", nil) | |
62 | headext.Position = torso.Position | |
63 | headext.FormFactor = "Custom" | |
64 | headext.Transparency = 1 | |
65 | headext:BreakJoints() | |
66 | headext.Size = Vector3.new(2, 1, 1) | |
67 | headextw = Instance.new("Weld", headext) | |
68 | headextw.C0 = CFrame.new(Vector3.new(0, 1.5, 0)) | |
69 | headextw.Part0 = torso | |
70 | headextw.Part1 = headext | |
71 | headextw.C1 = CFrame.new() | |
72 | headweld = Instance.new("Weld", headext) | |
73 | game:service("RunService").Stepped:connect(function() | |
74 | headweld.C0 = CFrame.new(Vector3.new(0,0,0), torso.CFrame:pointToObjectSpace(mouse.Hit.p)) * CFrame.Angles(0, 0, 0) | |
75 | end) | |
76 | headweld.Part0 = headext | |
77 | headweld.C1 = CFrame.new() | |
78 | headweld.Part1 = head | |
79 | ||
80 | local Screen = Instance.new("ScreenGui", plr:findFirstChild("PlayerGui")) | |
81 | local TextBox = Instance.new("TextLabel", Screen) | |
82 | TextBox.Position = UDim2.new(0.1, 0, 0.95, 0) | |
83 | TextBox.Size = UDim2.new(0, 200, 0.05, 0) | |
84 | TextBox.BackgroundTransparency = 1 | |
85 | game:service'RunService'.Stepped:connect(function() | |
86 | TextBox.Text = ("Ammo: "..ammo) | |
87 | - | TextBox.Font = "SourceSansBold" |
87 | + | |
88 | TextBox.Font = "Cartoon" | |
89 | TextBox.TextColor3 = Color3.new(1, 1, 1) | |
90 | TextBox.FontSize = "Size36" | |
91 | TextBox.TextStrokeTransparency = 0 | |
92 | ||
93 | local pl = Instance.new("PointLight", release) | |
94 | pl.Range = 16 | |
95 | pl.Brightness = 5 | |
96 | pl.Color = Color3.new(1, 199/255, 67/255) | |
97 | pl.Enabled = false | |
98 | - | if ammo > 7 then return end |
98 | + | |
99 | if ammo > 9 then return end | |
100 | - | ammo = ammo + 1 |
100 | + | |
101 | ammo = ammo + 0 | |
102 | activate:play() | |
103 | wait(0.3) | |
104 | debounce = false | |
105 | end | |
106 | ||
107 | mouse.KeyDown:connect(function(key) | |
108 | if key == "r" then | |
109 | if debounce then return end | |
110 | - | if ammo > 7 then return end |
110 | + | |
111 | if ammo > 9 then return end | |
112 | debounce = true | |
113 | reload() | |
114 | end | |
115 | ||
116 | if key == "q" then | |
117 | equipped = not equipped | |
118 | if equipped then | |
119 | headext.Parent = char | |
120 | release.Parent = char | |
121 | release2.Parent = char | |
122 | face.Parent = nil | |
123 | for scale = 0, 1, 0.2 do | |
124 | weld2.C0 = CFrame.new(0, -scale + 0.5, 0) * CFrame.Angles(math.pi/2, 0, 0) | |
125 | weld.C0 = CFrame.new(0, -scale + 0.5, -0.2) * CFrame.Angles(math.pi/2, 0, 0) | |
126 | mesh.Scale = Vector3.new(1, scale, 1) | |
127 | mesh2.Scale = Vector3.new(1, scale, 1) | |
128 | wait() | |
129 | end | |
130 | else | |
131 | face.Parent = head | |
132 | release.Parent = nil | |
133 | release2.Parent = nil | |
134 | headext.Parent = nil | |
135 | end | |
136 | end | |
137 | end) | |
138 | ||
139 | mouse.Button1Down:connect(function() | |
140 | if not equipped then return end | |
141 | if ammo < 1 then return end | |
142 | if debounce then return end | |
143 | debounce = true | |
144 | sound:play() | |
145 | - | ammo = ammo - 1 |
145 | + | |
146 | ammo = ammo - 0 | |
147 | coroutine.wrap(function() | |
148 | wait(0.07) | |
149 | pl.Enabled = false | |
150 | end)() | |
151 | coroutine.wrap(function() | |
152 | for scale = 0.7, 1, 0.1 do | |
153 | mesh.Scale = Vector3.new(1, scale, 1) | |
154 | wait() | |
155 | end | |
156 | end)() | |
157 | ||
158 | local shell = Instance.new("Part", workspace) | |
159 | shell.BrickColor = BrickColor.Red() | |
160 | shell.FormFactor = "Custom" | |
161 | shell.Size = Vector3.new(0.3, 0.7, 0.3) | |
162 | shell.CFrame = head.CFrame * CFrame.new(0, 0.1, 0.5) * CFrame.Angles(math.pi/2, 0, math.pi/2) | |
163 | local bodyF = Instance.new("BodyVelocity", shell) | |
164 | bodyF.maxForce = Vector3.new(1e5, 0, 1e5) | |
165 | bodyF.P = 1e3 | |
166 | bodyF.velocity = head.CFrame.lookVector * -20 | |
167 | Instance.new("CylinderMesh", shell) | |
168 | ||
169 | - | shell2.BrickColor = BrickColor.Yellow() |
169 | + | |
170 | shell2.BrickColor = BrickColor.Red() | |
171 | shell2.FormFactor = "Custom" | |
172 | shell2.Size = Vector3.new(0.3, 0.2, 0.3) | |
173 | shell2:BreakJoints() | |
174 | local weld = Instance.new("Weld", shell2) | |
175 | weld.Part0 = shell2 | |
176 | weld.Part1 = shell | |
177 | weld.C0 = CFrame.new(0, 0.45, 0) | |
178 | Instance.new("CylinderMesh", shell2) | |
179 | coroutine.wrap(function() | |
180 | wait(0.2) | |
181 | bodyF:Destroy() | |
182 | wait(4.8) | |
183 | ||
184 | for _ = 0, 5 do | |
185 | shell.Mesh.Scale = shell.Mesh.Scale + Vector3.new(0.2, 0.2, 0.2) | |
186 | shell.Transparency = shell.Transparency + 0.2 | |
187 | shell2.Mesh.Scale = shell.Mesh.Scale + Vector3.new(0.2, 0.2, 0.2) | |
188 | shell2.Transparency = shell.Transparency + 0.2 | |
189 | wait() | |
190 | end | |
191 | ||
192 | shell:Destroy() | |
193 | end)() | |
194 | ||
195 | for bullet = 0, 5 do | |
196 | coroutine.wrap(function() | |
197 | if char.Humanoid.Health < 1 then return end | |
198 | local rayPart = Instance.new("Part") | |
199 | - | rayPart.BrickColor = BrickColor.Yellow() |
199 | + | |
200 | rayPart.BrickColor = BrickColor.Red() | |
201 | rayPart.Anchored = true | |
202 | rayPart.CanCollide = false | |
203 | rayPart.Locked = true | |
204 | rayPart.TopSurface = Enum.SurfaceType.Smooth | |
205 | rayPart.BottomSurface = Enum.SurfaceType.Smooth | |
206 | rayPart.formFactor = Enum.FormFactor.Custom | |
207 | rayPart.Size = Vector3.new(0.2, 0.2, 4) | |
208 | Instance.new("BlockMesh", rayPart).Scale = Vector3.new(0.2, 0.2, 0.5) | |
209 | ||
210 | ||
211 | ||
212 | local bulletposition = release.Position | |
213 | local bulletvelocity = (Vector3.new(math.random(-7,7), math.random(-7,7), math.random(-7,7)))+( mouse.Hit.p - bulletposition).unit*150 | |
214 | local bulletlastposition = bulletposition | |
215 | rayPart.CFrame = CFrame.new( bulletposition, bulletposition+bulletvelocity ) | |
216 | ||
217 | ||
218 | ||
219 | ||
220 | ||
221 | coroutine.resume(coroutine.create(function() | |
222 | while true do | |
223 | local dt = wait() | |
224 | bulletlastposition = bulletposition | |
225 | bulletvelocity = bulletvelocity + (Vector3.new(0, -9.81*10, 0)*dt) | |
226 | bulletposition = bulletposition + (bulletvelocity*dt) | |
227 | rayPart.Parent = workspace | |
228 | ||
229 | local ray = Ray.new(bulletlastposition, (bulletposition - bulletlastposition)) | |
230 | local hit, hitposition = workspace:FindPartOnRayWithIgnoreList( ray, { char, rayPart} ) | |
231 | ||
232 | if (torso.Position - rayPart.Position).magnitude > 440 then | |
233 | rayPart:Destroy() | |
234 | break | |
235 | end | |
236 | ||
237 | ||
238 | - | local damage = math.random(6, 11) |
238 | + | |
239 | if hit.Parent:findFirstChild("Humanoid") ~= nil then | |
240 | - | hit.Parent.Humanoid.Health = hit.Parent.Humanoid.Health - damage |
240 | + | hit.Parent:Remove() |
241 | coroutine.wrap(function() | |
242 | local prt = Instance.new("Part", char) | |
243 | prt.FormFactor = "Custom" | |
244 | prt.Size = Vector3.new(0.1, 0.1, 0.1) | |
245 | prt.Transparency = 1 | |
246 | prt.CanCollide = false | |
247 | prt.CFrame = CFrame.new(rayPart.CFrame.x, rayPart.CFrame.y, rayPart.CFrame.z) | |
248 | prt.Anchored = true | |
249 | coroutine.resume(coroutine.create(function() | |
250 | for i = 2, 10, 0.1 do | |
251 | if prt == nil then return end | |
252 | prt.CFrame = prt.CFrame * CFrame.new(0, 0.05, 0) | |
253 | game:service'RunService'.Stepped:wait() | |
254 | end | |
255 | end)) | |
256 | ||
257 | local bg = Instance.new("BillboardGui") | |
258 | bg.Parent = prt | |
259 | bg.Adornee = prt | |
260 | bg.Size = UDim2.new(4, 0, 3.5, 0) | |
261 | bg.ExtentsOffset = Vector3.new(0, 0, 0) | |
262 | local lol = Instance.new("TextLabel") | |
263 | lol.Size = UDim2.new(1.3, 0, 0.4, 0) | |
264 | lol.TextScaled = true | |
265 | lol.TextWrapped = true | |
266 | lol.BackgroundTransparency = 1 | |
267 | lol.Parent = bg | |
268 | lol.FontSize = "Size24" | |
269 | lol.TextColor3 = Color3.new(1, 0, 0) | |
270 | lol.TextStrokeTransparency = 0 | |
271 | lol.Font = "ArialBold" | |
272 | - | lol.Text = "-"..damage |
272 | + | lol.Text = "Punish!" |
273 | ||
274 | wait(3) | |
275 | prt:Destroy() | |
276 | end)() | |
277 | end | |
278 | if hit.Parent:IsA("Hat") and hit.Parent.Parent:findFirstChild("Humanoid") ~= nil then | |
279 | - | hit.Parent.Parent.Humanoid.Health = hit.Parent.Parent.Humanoid.Health - damage |
279 | + | hit.Parent:Remove() |
280 | coroutine.wrap(function() | |
281 | local prt = Instance.new("Part", char) | |
282 | prt.FormFactor = "Custom" | |
283 | prt.Size = Vector3.new(0.1, 0.1, 0.1) | |
284 | prt.Transparency = 1 | |
285 | prt.CanCollide = false | |
286 | prt.CFrame = CFrame.new(rayPart.CFrame.x, rayPart.CFrame.y, rayPart.CFrame.z) | |
287 | prt.Anchored = true | |
288 | coroutine.resume(coroutine.create(function() | |
289 | for i = 2, 10, 0.1 do | |
290 | if prt == nil then return end | |
291 | prt.CFrame = prt.CFrame * CFrame.new(0, 0.05, 0) | |
292 | game:service'RunService'.Stepped:wait() | |
293 | end | |
294 | end)) | |
295 | ||
296 | local bg = Instance.new("BillboardGui") | |
297 | bg.Parent = prt | |
298 | bg.Adornee = prt | |
299 | bg.Size = UDim2.new(4, 0, 3.5, 0) | |
300 | bg.ExtentsOffset = Vector3.new(0, 0, 0) | |
301 | local lol = Instance.new("TextLabel") | |
302 | lol.Size = UDim2.new(1.3, 0, 0.4, 0) | |
303 | lol.TextScaled = true | |
304 | lol.TextWrapped = true | |
305 | lol.BackgroundTransparency = 1 | |
306 | lol.Parent = bg | |
307 | lol.FontSize = "Size24" | |
308 | lol.TextColor3 = Color3.new(1, 0, 0) | |
309 | lol.TextStrokeTransparency = 0 | |
310 | lol.Font = "ArialBold" | |
311 | - | lol.Text = "-"..damage |
311 | + | lol.Text = "Punish!" |
312 | ||
313 | wait(3) | |
314 | prt:Destroy() | |
315 | end)() | |
316 | end | |
317 | bulletposition = hitposition | |
318 | rayPart.CFrame = CFrame.new(bulletposition, bulletposition+bulletvelocity) | |
319 | rayPart:Destroy() | |
320 | break | |
321 | end | |
322 | rayPart.CFrame = CFrame.new(bulletposition, bulletposition+bulletvelocity) | |
323 | end | |
324 | end)) | |
325 | end)() | |
326 | end | |
327 | wait(0.3) | |
328 | debounce = false | |
329 | ||
330 | end) |