SHOW:
|
|
- or go back to the newest paste.
1 | - | plr = game.Players.LocalPlayer |
1 | + | plr = game.Players.Coolboyok11 |
2 | ||
3 | char = plr.Character | |
4 | ||
5 | Humans = char:findFirstChild("Humanoid") | |
6 | ||
7 | BulletTable,Disposables,Lasers = {},{},{} | |
8 | ||
9 | Clips,Bullets,CurrentGun = 999999999,999999,1 | |
10 | ||
11 | Reloading,FlashLight,LaserLight,Silenced,ToolName,LaserColor,plr,char = false,false,false,false,"Cutlass's","Really Black",game.Players.LocalPlayer,plr.Character | |
12 | ||
13 | V3,BC,CF = Vector3.new,BrickColor.new,CFrame | |
14 | ||
15 | for i,v in pairs(plr.Character:GetChildren()) do | |
16 | ||
17 | if v:IsA("Model") and v.Name == "MainModel" then | |
18 | ||
19 | v:Remove() | |
20 | ||
21 | end | |
22 | ||
23 | end | |
24 | ||
25 | for i,v in pairs(plr.Backpack:GetChildren()) do | |
26 | ||
27 | if v.Name == ToolName then | |
28 | ||
29 | v:Remove() | |
30 | ||
31 | end | |
32 | ||
33 | end | |
34 | ||
35 | Bin = Instance.new("HopperBin",plr.Backpack) | |
36 | ||
37 | Bin.Name = ToolName | |
38 | ||
39 | MainModel,GunModelOne,GunModelTwo,SheathOne,SheathTwo = Instance.new("Model"),Instance.new("Model"),Instance.new("Model"),Instance.new("Model"),Instance.new("Model") | |
40 | ||
41 | MainModel.Name,GunModelOne.Name,GunModelTwo.Name,SheathOne.Name,SheathTwo.Name = "MainModel","GunModelOne","GunModelTwo","SheathOne","SheathTwo" | |
42 | ||
43 | MainModel.Parent,GunModelOne.Parent,GunModelTwo.Parent,SheathOne.Parent,SheathTwo.Parent = char,MainModel,MainModel,MainModel,MainModel | |
44 | ||
45 | L1,L2,L3,L4 = Instance.new("SpotLight"), Instance.new("SpotLight"), Instance.new("SpotLight"), Instance.new("SpotLight") | |
46 | ||
47 | L1.Enabled,L2.Enabled,L3.Enabled,L4.Enabled = false,false,false,false | |
48 | ||
49 | L1.Brightness,L2.Brightness,L3.Brightness,L4.Brightness = 60,60,45,45 | |
50 | ||
51 | L1.Range,L2.Range,L3.Range,L4.Range = 35,35,50,50 | |
52 | ||
53 | L1.Color,L2.Color,L3.Color,L4.Color = BrickColor.new("Bright red").Color,BrickColor.new("Bright red").Color,BrickColor.new("Cyan").Color,BrickColor.new("Cyan").Color | |
54 | ||
55 | L3.Name,L4.Name = "Safe","Safe" | |
56 | ||
57 | script.Parent = MainModel | |
58 | ||
59 | function AddPart(name,parent,s1,s2,s3,color) | |
60 | ||
61 | p=Instance.new("Part",parent) | |
62 | ||
63 | p.Name=name | |
64 | ||
65 | p.formFactor="Custom" | |
66 | ||
67 | p.Anchored=false | |
68 | ||
69 | p.Locked=true | |
70 | ||
71 | p.CanCollide=false | |
72 | ||
73 | p.Size=Vector3.new(s1,s2,s3) | |
74 | ||
75 | p.TopSurface = "Smooth" | |
76 | ||
77 | p.BottomSurface = "Smooth" | |
78 | ||
79 | p.BrickColor=BrickColor.new(color) | |
80 | ||
81 | Instance.new("BlockMesh",p).Name = "Mesh" | |
82 | ||
83 | p:BreakJoints() | |
84 | ||
85 | return p | |
86 | ||
87 | end | |
88 | ||
89 | function AddWeld(name,parent,p1,p0,c1,c0) | |
90 | ||
91 | we=Instance.new("Weld",parent) | |
92 | ||
93 | we.Part1=p1 | |
94 | ||
95 | we.Part0=p0 | |
96 | ||
97 | we.C1=c0 | |
98 | ||
99 | we.C0=c1 | |
100 | ||
101 | return we | |
102 | ||
103 | end | |
104 | ||
105 | --Gets a bit confusing down below :3 | |
106 | ||
107 | HandleOne,HandleTwo = AddPart("HandleLeft",GunModelOne,.02,1,.4,"Really black"),AddPart("HandleLeft",GunModelTwo,.02,1,.4,"Really black") | |
108 | ||
109 | HandleWeldLeft,HandleWeldRight = AddWeld("Weld",HandleOne,HandleOne,char["Torso"],CF.new(-1,0,-1),CF.Angles(math.rad(45),math.rad(180),0)),AddWeld("Weld",HandleTwo,HandleTwo,char["Torso"],CF.new(1,0,-1),CF.Angles(math.rad(45),math.rad(180),0)) | |
110 | ||
111 | HandLeft = AddPart("HandLeft",MainModel,1,1,1,"Really black") | |
112 | ||
113 | HandRight = AddPart("HandRight",MainModel,1,1,1,"Really black") | |
114 | ||
115 | HandLeft.Transparency,HandRight.Transparency = 1,1 | |
116 | ||
117 | AddWeld("Weld",HandLeft,HandLeft,char["Left Arm"],CF.new(0,-1,0),CF.Angles(math.rad(90),0,0)) | |
118 | ||
119 | AddWeld("Weld",HandRight,HandRight,char["Right Arm"],CF.new(0,-1,0),CF.Angles(math.rad(90),0,0)) | |
120 | ||
121 | PA1 = AddPart("Part",GunModelOne,.3,.1,1,"Really black") | |
122 | ||
123 | PA1.Mesh.Scale = V3(1,.6,1) | |
124 | ||
125 | WPA1 = AddWeld("Weld",PA1,PA1,HandleOne,CF.new(0,0.5,-.3),CF.new(0,0,0)) | |
126 | ||
127 | PA2 = AddPart("Part",GunModelOne,.1,.5,.1,"Really red") | |
128 | ||
129 | PA2.Mesh:Remove() | |
130 | ||
131 | Instance.new("CylinderMesh",PA2).Scale = V3(.5,1,.5) | |
132 | ||
133 | WPA2 = AddWeld("Weld",PA2,PA2,HandleOne,CF.new(0,.6,-.9),CF.Angles(math.rad(90),0,0)) | |
134 | ||
135 | PA3 = AddPart("Part",GunModelOne,.1,1.3,.1,"Really red") | |
136 | ||
137 | PA3.Mesh:Remove() | |
138 | ||
139 | Instance.new("CylinderMesh",PA3).Scale = V3(.7,1,.8) | |
140 | ||
141 | WPA3 = AddWeld("Weld",PA3,PA3,HandleOne,CF.new(0,.75,-.6),CF.Angles(math.rad(90),0,0)) | |
142 | ||
143 | PA4 = AddPart("Part",GunModelOne,.3,.1,1.2,"Really black") | |
144 | ||
145 | PA4.Mesh.Scale = V3(1,1,1) | |
146 | ||
147 | WPA4 = AddWeld("Weld",PA4,PA4,HandleOne,CF.new(0,.65,-.5),CF.new(0,0,0)) | |
148 | ||
149 | PA5 = AddPart("Part",GunModelOne,.3,.1,.3,"Really black") | |
150 | ||
151 | PA5.Mesh:Remove() | |
152 | ||
153 | Instance.new("CylinderMesh",PA5).Scale = V3(1,1,1) | |
154 | ||
155 | WPA5 = AddWeld("Weld",PA5,PA5,PA4,CF.new(0,0.1,-0.5),CF.Angles(math.rad(90),0,0)) | |
156 | ||
157 | PA6 = AddPart("Part",GunModelOne,.3,.5,.3,"Really black") | |
158 | ||
159 | PA6.Mesh:Remove() | |
160 | ||
161 | Instance.new("CylinderMesh",PA6).Scale = V3(1,1,1) | |
162 | ||
163 | WPA6 = AddWeld("Weld",PA6,PA6,PA4,CF.new(0,0.1,0.35),CF.Angles(math.rad(90),0,0)) | |
164 | ||
165 | PA7 = AddPart("Part",GunModelOne,.1,.1,.5,"Black") | |
166 | ||
167 | PA7.Mesh:Remove() | |
168 | ||
169 | Instance.new("CylinderMesh",PA7).Scale = V3(.9,.9,1) | |
170 | ||
171 | WPA7 = AddWeld("Weld",PA7,PA7,PA3,CF.new(0,-0.31,0),CF.Angles(0,0,0)) | |
172 | ||
173 | BamOne = Instance.new("Sound",PA7) | |
174 | ||
175 | BamOne.Pitch,BamOne.Volume,BamOne.SoundId = 1.4,.5,"rbxassetid://48618802" | |
176 | ||
177 | PA8 = AddPart("Part",GunModelOne,.3,.1,.25,"Really black") | |
178 | ||
179 | PA8.Mesh:Remove() | |
180 | ||
181 | sm = Instance.new("SpecialMesh",PA8) | |
182 | ||
183 | sm.MeshType = "Wedge" | |
184 | ||
185 | sm.Scale = V3(.38,.6,1) | |
186 | ||
187 | WPA8 = AddWeld("Weld",PA8,PA8,PA6,CF.new(0.1,-.3,-0.07),CF.Angles(math.rad(180),0,0)) | |
188 | ||
189 | PA9 = AddPart("Part",GunModelOne,.3,.1,.25,"Really black") | |
190 | ||
191 | PA9.Mesh:Remove() | |
192 | ||
193 | sm = Instance.new("SpecialMesh",PA9) | |
194 | ||
195 | sm.MeshType = "Wedge" | |
196 | ||
197 | sm.Scale = V3(.35,.6,1) | |
198 | ||
199 | WPA9 = AddWeld("Weld",PA9,PA9,PA6,CF.new(-0.1,-.3,-0.07),CF.Angles(math.rad(180),0,0)) | |
200 | ||
201 | PA10 = AddPart("Part",GunModelOne,.3,.1,.25,"Really black") | |
202 | ||
203 | PA10.Mesh:Remove() | |
204 | ||
205 | sm = Instance.new("SpecialMesh",PA10) | |
206 | ||
207 | sm.MeshType = "Wedge" | |
208 | ||
209 | sm.Scale = V3(.35,.6,1) | |
210 | ||
211 | WPA10 = AddWeld("Weld",PA10,PA10,PA6,CF.new(0,-.34,0),CF.Angles(math.rad(100),0,0)) | |
212 | ||
213 | PA11 = AddPart("Part",GunModelOne,.1,.3,.1,"Really black") | |
214 | ||
215 | PA11.Mesh:Remove() | |
216 | ||
217 | sm = Instance.new("SpecialMesh",PA11) | |
218 | ||
219 | sm.MeshType = "Wedge" | |
220 | ||
221 | sm.Scale = V3(.5,1,.5) | |
222 | ||
223 | WPA11 = AddWeld("Weld",PA11,PA11,HandleOne,CF.new(0,.25,-.35),CF.Angles(math.rad(90),0,0)) | |
224 | ||
225 | PA12 = AddPart("Part",GunModelOne,.1,.1,.3,"Really black") | |
226 | ||
227 | PA12.Mesh:Remove() | |
228 | ||
229 | sm = Instance.new("SpecialMesh",PA12) | |
230 | ||
231 | sm.MeshType = "Wedge" | |
232 | ||
233 | sm.Scale = V3(.5,.5,.5) | |
234 | ||
235 | WPA12 = AddWeld("Weld",PA12,PA12,HandleOne,CF.new(0,.37,-.55),CF.Angles(math.rad(90),0,0)) | |
236 | ||
237 | PA13 = AddPart("Part",GunModelOne,.1,.1,.3,"Really black") | |
238 | ||
239 | PA13.Mesh:Remove() | |
240 | ||
241 | sm = Instance.new("SpecialMesh",PA13) | |
242 | ||
243 | sm.MeshType = "Wedge" | |
244 | ||
245 | sm.Scale = V3(.5,.5,.5) | |
246 | ||
247 | WPA13 = AddWeld("Weld",PA13,PA13,HandleOne,CF.new(0,.37,-.45),CF.Angles(math.rad(270),0,0)) | |
248 | ||
249 | PA14 = AddPart("Part",GunModelOne,.1,.1,.3,"Really black") | |
250 | ||
251 | PA14.Mesh:Remove() | |
252 | ||
253 | sm = Instance.new("SpecialMesh",PA14) | |
254 | ||
255 | sm.MeshType = "Wedge" | |
256 | ||
257 | sm.Scale = V3(.5,.5,.5) | |
258 | ||
259 | WPA14 = AddWeld("Weld",PA14,PA14,HandleOne,CF.new(0,.4,-.3),CF.Angles(math.rad(55),0,0)) | |
260 | ||
261 | PA15 = AddPart("Part",GunModelOne,.1,.3,.3,"Really black") | |
262 | ||
263 | PA15.Mesh:Remove() | |
264 | ||
265 | sm = Instance.new("SpecialMesh",PA15) | |
266 | ||
267 | sm.MeshType = "Wedge" | |
268 | ||
269 | sm.Scale = V3(1,1,.25) | |
270 | ||
271 | WPA15 = AddWeld("Weld",PA15,PA15,HandleOne,CF.new(0,-0.35,-.23),CF.Angles(math.rad(0),0,0)) | |
272 | ||
273 | PA16 = AddPart("Part",GunModelOne,.02,1,.3,"Really red") | |
274 | ||
275 | PA16.Mesh.Scale = V3(1.1,.9,1) | |
276 | ||
277 | WPA16 = AddWeld("Weld",PA16,PA16,HandleOne,CF.new(0,0,0),CF.new(0,0,0)) | |
278 | ||
279 | PA17 = AddPart("Part",GunModelOne,.1,.3,.3,"Really red") | |
280 | ||
281 | PA17.Mesh:Remove() | |
282 | ||
283 | sm = Instance.new("SpecialMesh",PA17) | |
284 | ||
285 | sm.MeshType = "Wedge" | |
286 | ||
287 | sm.Scale = V3(1.1,1,.25) | |
288 | ||
289 | WPA17 = AddWeld("Weld",PA17,PA17,PA15,CF.new(0,0.05,0.05),CF.Angles(math.rad(0),0,0)) | |
290 | ||
291 | PA18 = AddPart("Part",GunModelOne,.1,.3,.1,"Really black") | |
292 | ||
293 | PA18.Mesh:Remove() | |
294 | ||
295 | Instance.new("CylinderMesh",PA18).Scale = V3(.5,.8,.5) | |
296 | ||
297 | WPA18 = AddWeld("Weld",PA18,PA18,HandleOne,CF.new(0,0.2,0),CF.Angles(math.rad(90),math.rad(90),0)) | |
298 | ||
299 | PA19 = AddPart("Part",GunModelOne,.1,.3,.1,"Really black") | |
300 | ||
301 | PA19.Mesh:Remove() | |
302 | ||
303 | Instance.new("CylinderMesh",PA19).Scale = V3(.5,1,.5) | |
304 | ||
305 | WPA19 = AddWeld("Weld",PA19,PA19,PA3,CF.new(0,0.51,0),CF.Angles(math.rad(0),math.rad(0),0)) | |
306 | ||
307 | PA20 = AddPart("Part",GunModelOne,.1,.3,.1,"Really black") | |
308 | ||
309 | PA20.Mesh:Remove() | |
310 | ||
311 | PA20.Transparency = 1 | |
312 | ||
313 | L2.Parent = PA20 | |
314 | ||
315 | L3.Parent = PA20 | |
316 | ||
317 | WPA20 = AddWeld("Weld",PA20,PA20,PA3,CF.new(0,0.6,0),CF.Angles(math.rad(261),0,0)) | |
318 | ||
319 | PA21 = AddPart("Part",GunModelOne,.1,.25,.1,"Black") | |
320 | ||
321 | WPA21 = AddWeld("Weld",PA21,PA21,PA3,CF.new(0,0.1,-0.35),CF.Angles(math.rad(0),0,0)) | |
322 | ||
323 | PA22 = AddPart("Part",GunModelOne,.1,.35,.3,"Black") | |
324 | ||
325 | WPA22 = AddWeld("Weld",PA21,PA21,PA22,CF.new(0,0,0.2),CF.Angles(math.rad(0),0,0)) | |
326 | ||
327 | PA23 = AddPart("Part",GunModelOne,.1,.35,.1,"Really black") | |
328 | ||
329 | PA23.Mesh:Remove() | |
330 | ||
331 | PA23.Transparency = 0.4 | |
332 | ||
333 | Instance.new("CylinderMesh",PA23).Scale = Vector3.new(0.5,1,0.5) | |
334 | ||
335 | WPA23 = AddWeld("Weld",PA22,PA22,PA23,CF.new(0,-0.03,0.05),CF.Angles(math.rad(0),0,0)) | |
336 | ||
337 | PA24 = AddPart("Part",GunModelOne,.1,.35,.1,"Really red") | |
338 | ||
339 | PA24.Mesh:Remove() | |
340 | ||
341 | PA24.Transparency = 1 | |
342 | ||
343 | Instance.new("CylinderMesh",PA24).Scale = Vector3.new(0.5,1,0.5) | |
344 | ||
345 | WPA24 = AddWeld("Weld",PA22,PA22,PA24,CF.new(0,-0.03,-0.06),CF.Angles(math.rad(90),0,0)) | |
346 | ||
347 | PA26 = AddPart("Part",GunModelOne,.1,.35,.1,LaserColor) | |
348 | ||
349 | PA26.Mesh:Remove() | |
350 | ||
351 | PA26.Transparency = 0.4 | |
352 | ||
353 | Instance.new("CylinderMesh",PA26).Scale = Vector3.new(0.5,1,0.5) | |
354 | ||
355 | WPA26 = AddWeld("Weld",PA22,PA22,PA26,CF.new(0,-0.03,-0.06),CF.Angles(math.rad(0),0,0)) | |
356 | ||
357 | --Gun 2 Below | |
358 | ||
359 | PB1 = AddPart("Part",GunModelTwo,.3,.1,1,"Really black") | |
360 | ||
361 | PB1.Mesh.Scale = V3(1,.6,1) | |
362 | ||
363 | WPB1 = AddWeld("Weld",PB1,PB1,HandleTwo,CF.new(0,0.5,-.3),CF.new(0,0,0)) | |
364 | ||
365 | PB2 = AddPart("Part",GunModelTwo,.1,.5,.1,"Really red") | |
366 | ||
367 | PB2.Mesh:Remove() | |
368 | ||
369 | Instance.new("CylinderMesh",PB2).Scale = V3(.5,1,.5) | |
370 | ||
371 | WPB2 = AddWeld("Weld",PB2,PB2,HandleTwo,CF.new(0,.6,-.9),CF.Angles(math.rad(90),0,0)) | |
372 | ||
373 | PB3 = AddPart("Part",GunModelTwo,.1,1.3,.1,"Really red") | |
374 | ||
375 | PB3.Mesh:Remove() | |
376 | ||
377 | Instance.new("CylinderMesh",PB3).Scale = V3(.7,1,.8) | |
378 | ||
379 | WPB3 = AddWeld("Weld",PB3,PB3,HandleTwo,CF.new(0,.75,-.6),CF.Angles(math.rad(90),0,0)) | |
380 | ||
381 | PB4 = AddPart("Part",GunModelTwo,.3,.1,1.2,"Really black") | |
382 | ||
383 | PB4.Mesh.Scale = V3(1,1,1) | |
384 | ||
385 | WPB4 = AddWeld("Weld",PB4,PB4,HandleTwo,CF.new(0,.65,-.5),CF.new(0,0,0)) | |
386 | ||
387 | PB5 = AddPart("Part",GunModelTwo,.3,.1,.3,"Really black") | |
388 | ||
389 | PB5.Mesh:Remove() | |
390 | ||
391 | Instance.new("CylinderMesh",PB5).Scale = V3(1,1,1) | |
392 | ||
393 | WPB5 = AddWeld("Weld",PB5,PB5,PB4,CF.new(0,0.1,-0.5),CF.Angles(math.rad(90),0,0)) | |
394 | ||
395 | PB6 = AddPart("Part",GunModelTwo,.3,.5,.3,"Really black") | |
396 | ||
397 | PB6.Mesh:Remove() | |
398 | ||
399 | Instance.new("CylinderMesh",PB6).Scale = V3(1,1,1) | |
400 | ||
401 | WPB6 = AddWeld("Weld",PB6,PB6,PB4,CF.new(0,0.1,0.35),CF.Angles(math.rad(90),0,0)) | |
402 | ||
403 | PB7 = AddPart("Part",GunModelTwo,.1,.1,.5,"Black") | |
404 | ||
405 | PB7.Mesh:Remove() | |
406 | ||
407 | Instance.new("CylinderMesh",PB7).Scale = V3(.9,.9,1) | |
408 | ||
409 | WPB7 = AddWeld("Weld",PB7,PB7,PB3,CF.new(0,-0.31,0),CF.Angles(0,0,0)) | |
410 | ||
411 | BamTwo = Instance.new("Sound",PB7) | |
412 | ||
413 | BamTwo.Pitch,BamTwo.Volume,BamTwo.SoundId = 1.4,.5,"rbxassetid://48618802" | |
414 | ||
415 | PB8 = AddPart("Part",GunModelTwo,.3,.1,.25,"Really black") | |
416 | ||
417 | PB8.Mesh:Remove() | |
418 | ||
419 | sm = Instance.new("SpecialMesh",PB8) | |
420 | ||
421 | sm.MeshType = "Wedge" | |
422 | ||
423 | sm.Scale = V3(.38,.6,1) | |
424 | ||
425 | WPB8 = AddWeld("Weld",PB8,PB8,PB6,CF.new(0.1,-.3,-0.07),CF.Angles(math.rad(180),0,0)) | |
426 | ||
427 | PB9 = AddPart("Part",GunModelOne,.3,.1,.25,"Really black") | |
428 | ||
429 | PB9.Mesh:Remove() | |
430 | ||
431 | sm = Instance.new("SpecialMesh",PB9) | |
432 | ||
433 | sm.MeshType = "Wedge" | |
434 | ||
435 | sm.Scale = V3(.35,.6,1) | |
436 | ||
437 | WPB9 = AddWeld("Weld",PB9,PB9,PB6,CF.new(-0.1,-.3,-0.07),CF.Angles(math.rad(180),0,0)) | |
438 | ||
439 | PB10 = AddPart("Part",GunModelTwo,.3,.1,.25,"Really black") | |
440 | ||
441 | PB10.Mesh:Remove() | |
442 | ||
443 | sm = Instance.new("SpecialMesh",PB10) | |
444 | ||
445 | sm.MeshType = "Wedge" | |
446 | ||
447 | sm.Scale = V3(.35,.6,1) | |
448 | ||
449 | WPB10 = AddWeld("Weld",PB10,PB10,PB6,CF.new(0,-.34,0),CF.Angles(math.rad(100),0,0)) | |
450 | ||
451 | PB11 = AddPart("Part",GunModelTwo,.1,.3,.1,"Really black") | |
452 | ||
453 | PB11.Mesh:Remove() | |
454 | ||
455 | sm = Instance.new("SpecialMesh",PB11) | |
456 | ||
457 | sm.MeshType = "Wedge" | |
458 | ||
459 | sm.Scale = V3(.5,1,.5) | |
460 | ||
461 | WPB11 = AddWeld("Weld",PB11,PB11,HandleTwo,CF.new(0,.25,-.35),CF.Angles(math.rad(90),0,0)) | |
462 | ||
463 | PB12 = AddPart("Part",GunModelTwo,.1,.1,.3,"Really black") | |
464 | ||
465 | PB12.Mesh:Remove() | |
466 | ||
467 | sm = Instance.new("SpecialMesh",PB12) | |
468 | ||
469 | sm.MeshType = "Wedge" | |
470 | ||
471 | sm.Scale = V3(.5,.5,.5) | |
472 | ||
473 | WPB12 = AddWeld("Weld",PB12,PB12,HandleTwo,CF.new(0,.37,-.55),CF.Angles(math.rad(90),0,0)) | |
474 | ||
475 | PB13 = AddPart("Part",GunModelTwo,.1,.1,.3,"Really black") | |
476 | ||
477 | PB13.Mesh:Remove() | |
478 | ||
479 | sm = Instance.new("SpecialMesh",PB13) | |
480 | ||
481 | sm.MeshType = "Wedge" | |
482 | ||
483 | sm.Scale = V3(.5,.5,.5) | |
484 | ||
485 | WPB13 = AddWeld("Weld",PB13,PB13,HandleTwo,CF.new(0,.37,-.45),CF.Angles(math.rad(270),0,0)) | |
486 | ||
487 | PB14 = AddPart("Part",GunModelTwo,.1,.1,.3,"Really black") | |
488 | ||
489 | PB14.Mesh:Remove() | |
490 | ||
491 | sm = Instance.new("SpecialMesh",PB14) | |
492 | ||
493 | sm.MeshType = "Wedge" | |
494 | ||
495 | sm.Scale = V3(.5,.5,.5) | |
496 | ||
497 | WPB14 = AddWeld("Weld",PB14,PB14,HandleTwo,CF.new(0,.4,-.3),CF.Angles(math.rad(55),0,0)) | |
498 | ||
499 | PB15 = AddPart("Part",GunModelTwo,.1,.3,.3,"Really black") | |
500 | ||
501 | PB15.Mesh:Remove() | |
502 | ||
503 | sm = Instance.new("SpecialMesh",PB15) | |
504 | ||
505 | sm.MeshType = "Wedge" | |
506 | ||
507 | sm.Scale = V3(1,1,.25) | |
508 | ||
509 | WPB15 = AddWeld("Weld",PB15,PB15,HandleTwo,CF.new(0,-0.35,-.23),CF.Angles(math.rad(0),0,0)) | |
510 | ||
511 | PB16 = AddPart("Part",GunModelTwo,.02,1,.3,"Really red") | |
512 | ||
513 | PB16.Mesh.Scale = V3(1.1,.9,1) | |
514 | ||
515 | WPB16 = AddWeld("Weld",PB16,PB16,HandleTwo,CF.new(0,0,0),CF.new(0,0,0)) | |
516 | ||
517 | PB17 = AddPart("Part",GunModelTwo,.1,.3,.3,"Really red") | |
518 | ||
519 | PB17.Mesh:Remove() | |
520 | ||
521 | sm = Instance.new("SpecialMesh",PB17) | |
522 | ||
523 | sm.MeshType = "Wedge" | |
524 | ||
525 | sm.Scale = V3(1.1,1,.25) | |
526 | ||
527 | WPB17 = AddWeld("Weld",PB17,PB17,PB15,CF.new(0,0.05,0.05),CF.Angles(math.rad(0),0,0)) | |
528 | ||
529 | PB18 = AddPart("Part",GunModelTwo,.1,.3,.1,"Really black") | |
530 | ||
531 | PB18.Mesh:Remove() | |
532 | ||
533 | Instance.new("CylinderMesh",PB18).Scale = V3(.5,.8,.5) | |
534 | ||
535 | WPB18 = AddWeld("Weld",PB18,PB18,HandleTwo,CF.new(0,0.2,0),CF.Angles(math.rad(90),math.rad(90),0)) | |
536 | ||
537 | PB19 = AddPart("Part",GunModelTwo,.1,.3,.1,"Really black") | |
538 | ||
539 | PB19.Mesh:Remove() | |
540 | ||
541 | Instance.new("CylinderMesh",PB19).Scale = V3(.5,1,.5) | |
542 | ||
543 | WPB19 = AddWeld("Weld",PB19,PB19,PB3,CF.new(0,0.51,0),CF.Angles(math.rad(0),math.rad(0),0)) | |
544 | ||
545 | PB20 = AddPart("Part",GunModelTwo,.1,.3,.1,"Really black") | |
546 | ||
547 | PB20.Mesh:Remove() | |
548 | ||
549 | PB20.Transparency = 1 | |
550 | ||
551 | L1.Parent = PB20 | |
552 | ||
553 | L4.Parent = PB20 | |
554 | ||
555 | WPB20 = AddWeld("Weld",PB20,PB20,PB3,CF.new(0,0.6,0),CF.Angles(math.rad(261),0,0)) | |
556 | ||
557 | PB21 = AddPart("Part",GunModelTwo,.1,.25,.1,"Black") | |
558 | ||
559 | WPB21 = AddWeld("Weld",PB21,PB21,PB3,CF.new(0,0.1,-0.35),CF.Angles(math.rad(0),0,0)) | |
560 | ||
561 | PB22 = AddPart("Part",GunModelTwo,.1,.35,.3,"Black") | |
562 | ||
563 | WPB22 = AddWeld("Weld",PB21,PB21,PB22,CF.new(0,0,0.2),CF.Angles(math.rad(0),0,0)) | |
564 | ||
565 | PB23 = AddPart("Part",GunModelTwo,.1,.35,.1,"Really black") | |
566 | ||
567 | PB23.Mesh:Remove() | |
568 | ||
569 | PB23.Transparency = 0.4 | |
570 | ||
571 | Instance.new("CylinderMesh",PB23).Scale = Vector3.new(0.5,1,0.5) | |
572 | ||
573 | WPB23 = AddWeld("Weld",PB22,PB22,PB23,CF.new(0,-0.03,0.05),CF.Angles(math.rad(0),0,0)) | |
574 | ||
575 | PB24 = AddPart("Part",GunModelTwo,.1,.35,.1,"Really black") | |
576 | ||
577 | PB24.Mesh:Remove() | |
578 | ||
579 | PB24.Transparency = 0.4 | |
580 | ||
581 | Instance.new("CylinderMesh",PB24).Scale = Vector3.new(0.5,1,0.5) | |
582 | ||
583 | WPB24 = AddWeld("Weld",PB22,PB22,PB24,CF.new(0,-0.03,-0.06),CF.Angles(math.rad(90),0,0)) | |
584 | ||
585 | PB26 = AddPart("Part",GunModelOne,.1,.35,.1,LaserColor) | |
586 | ||
587 | PB26.Mesh:Remove() | |
588 | ||
589 | PB26.Transparency = 0.4 | |
590 | ||
591 | Instance.new("CylinderMesh",PB26).Scale = Vector3.new(0.5,1,0.5) | |
592 | ||
593 | WPB26 = AddWeld("Weld",PB22,PB22,PB26,CF.new(0,-0.03,-0.06),CF.Angles(math.rad(0),0,0)) | |
594 | ||
595 | --End Of gun creation. | |
596 | ||
597 | --Holder's Creation | |
598 | ||
599 | PC1 = AddPart("Part",SheathOne,.5,1.5,.7,"Really black") | |
600 | ||
601 | WPC1 = AddWeld("Weld",PC1,PC1,char.Torso,CF.new(-1,0,0),CF.Angles(math.rad(45),0,0)) | |
602 | ||
603 | --Holder Two | |
604 | ||
605 | PD1 = AddPart("Part",SheathTwo,.5,1.5,.7,"Really black") | |
606 | ||
607 | WPD1 = AddWeld("Weld",PD1,PD1,char.Torso,CF.new(1,0,0),CF.Angles(math.rad(45),0,0)) | |
608 | ||
609 | --End Of Holders | |
610 | ||
611 | --Extras | |
612 | ||
613 | PE1 = AddPart("Part",MainModel,2.1,.5,1.1,"Really black") | |
614 | ||
615 | WPE1 = AddWeld("Weld",PE1,PE1,char.Torso,CF.new(0,-0.8,0),CF.Angles(math.rad(0),0,0)) | |
616 | ||
617 | PE2 = AddPart("Part",MainModel,.8,.8,.7,"Really black") | |
618 | ||
619 | WPE2 = AddWeld("Weld",PE2,PE2,PE1,CF.new(0.4,-0.13,.9),CF.Angles(math.rad(0),0,0)) | |
620 | ||
621 | PE3 = AddPart("Part",MainModel,.75,.8,.65,"Really black") | |
622 | ||
623 | WPE3 = AddWeld("Weld",PE3,PE3,PE2,CF.new(0,0.02,0),CF.Angles(math.rad(0),0,0)) | |
624 | ||
625 | PE4 = AddPart("Part",MainModel,2.2,.25,1.2,"Really black") | |
626 | ||
627 | WPE4 = AddWeld("Weld",PE4,PE4,PE1,CF.new(0,0,0),CF.Angles(math.rad(0),0,0)) | |
628 | ||
629 | ch,player = char,plr | |
630 | ||
631 | RW,LW,HW,RLG,LLG = Instance.new("Motor"),Instance.new("Motor"),Instance.new("Motor"),Instance.new("Motor"),Instance.new("Motor") | |
632 | ||
633 | RSH, LSH, NCK, LG2, LG1 = ch.Torso["Right Shoulder"], ch.Torso["Left Shoulder"], ch.Torso["Neck"], ch.Torso["Right Hip"], ch.Torso["Left Hip"] | |
634 | ||
635 | RW.C0,RW.C1,RW.Parent,RW.Part0 = CFrame.new(1.5, 0.5, 0),CFrame.new(0, 0.5, 0),MainModel,ch.Torso | |
636 | ||
637 | LW.C0,LW.C1,LW.Parent,LW.Part0 = CFrame.new(-1.5, 0.5, 0),CFrame.new(0, 0.5, 0),MainModel,ch.Torso | |
638 | ||
639 | HW.C1,HW.Parent,HW.Part0 = CFrame.new(0,-.7,0),MainModel,ch.Torso | |
640 | ||
641 | RLG.C1,RLG.Part0,RLG.Parent = CFrame.new(-.5,2,0),ch.Torso,MainModel | |
642 | ||
643 | LLG.C1,LLG.Part0,LLG.Parent = CFrame.new(.5,2,0),ch.Torso,MainModel | |
644 | ||
645 | function RWFunc() | |
646 | ||
647 | RW.Part1 = ch["Right Arm"] | |
648 | ||
649 | RSH.Part1 = nil | |
650 | ||
651 | end | |
652 | ||
653 | function LWFunc() | |
654 | ||
655 | LW.Part1 = ch["Left Arm"] | |
656 | ||
657 | LSH.Part1 = nil | |
658 | ||
659 | end | |
660 | ||
661 | function RWRem() | |
662 | ||
663 | RW.Part1 = nil | |
664 | ||
665 | RSH.Part1 = ch["Right Arm"] | |
666 | ||
667 | end | |
668 | ||
669 | function LWRem() | |
670 | ||
671 | LW.Part1 = nil | |
672 | ||
673 | LSH.Part1 = ch["Left Arm"] | |
674 | ||
675 | end | |
676 | ||
677 | function HWFunc() | |
678 | ||
679 | NCK.Part1 = nil | |
680 | ||
681 | HW.Part1 = ch.Head | |
682 | ||
683 | end | |
684 | ||
685 | function HWRem() | |
686 | ||
687 | NCK.Part1 = ch.Head | |
688 | ||
689 | HW.Part1 = nil | |
690 | ||
691 | end | |
692 | ||
693 | function Leg1Func() | |
694 | ||
695 | l1=ch["Left Leg"] | |
696 | ||
697 | l1.Name = "Left Legg" | |
698 | ||
699 | l1.CanCollide = true | |
700 | ||
701 | LG1.Part1 = nil | |
702 | ||
703 | LLG.Part1 = l1 | |
704 | ||
705 | end | |
706 | ||
707 | function Leg2Func() | |
708 | ||
709 | l2=ch["Right Leg"] | |
710 | ||
711 | l2.Name = "Right Legg" | |
712 | ||
713 | l2.CanCollide = true | |
714 | ||
715 | LG2.Part1 = nil | |
716 | ||
717 | RLG.Part1 = l2 | |
718 | ||
719 | end | |
720 | ||
721 | function Leg1Rem() | |
722 | ||
723 | l1=ch["Left Legg"] | |
724 | ||
725 | l1.Name = "Left Leg" | |
726 | ||
727 | l1.CanCollide = false | |
728 | ||
729 | LG1.Part1 = l1 | |
730 | ||
731 | LLG.Part1 = nil | |
732 | ||
733 | end | |
734 | ||
735 | function Leg2Rem() | |
736 | ||
737 | l2=ch["Right Legg"] | |
738 | ||
739 | l2.Name = "Right Leg" | |
740 | ||
741 | l2.CanCollide = false | |
742 | ||
743 | LG2.Part1 = l2 | |
744 | ||
745 | RLG.Part1 = nil | |
746 | ||
747 | end | |
748 | ||
749 | function Unequip() | |
750 | ||
751 | RWRem() | |
752 | ||
753 | LWRem() | |
754 | ||
755 | HWRem() | |
756 | ||
757 | HandleWeldLeft.Part0 = char.Torso | |
758 | ||
759 | HandleWeldRight.Part0 = char.Torso | |
760 | ||
761 | HandleWeldLeft.C0 = CF.Angles(math.rad(45),math.rad(180),0) | |
762 | ||
763 | HandleWeldLeft.C1 = CF.new(-1,.6,-.7) | |
764 | ||
765 | HandleWeldRight.C0 = CF.Angles(math.rad(45),math.rad(180),0) | |
766 | ||
767 | HandleWeldRight.C1 = CF.new(1,.6,-.7) | |
768 | ||
769 | pcall(function() char.Torso.TurnGyro:Remove() end) | |
770 | ||
771 | end | |
772 | ||
773 | Unequip() | |
774 | ||
775 | function Equip() | |
776 | ||
777 | HandleWeldLeft.C0 = CF.Angles(0,0,0) | |
778 | ||
779 | HandleWeldLeft.C1 = CF.new(0,0,0) | |
780 | ||
781 | HandleWeldRight.C0 = CF.Angles(0,0,0) | |
782 | ||
783 | HandleWeldRight.C1 = CF.new(0,0,0) | |
784 | ||
785 | HandleWeldRight.Part0 = HandRight | |
786 | ||
787 | HandleWeldLeft.Part0 = HandLeft | |
788 | ||
789 | RWFunc() | |
790 | ||
791 | LWFunc() | |
792 | ||
793 | HWFunc() | |
794 | ||
795 | end | |
796 | ||
797 | function CreateBullet(Part) | |
798 | ||
799 | Bullet = Instance.new("Part",char.Torso) | |
800 | ||
801 | Bullet.Name = "Bullet" | |
802 | ||
803 | Bullet.formFactor = "Custom" | |
804 | ||
805 | Bullet.CanCollide = false | |
806 | ||
807 | Bullet.Anchored = true | |
808 | ||
809 | Bullet.Size = V3(.2,.2,0.7) | |
810 | ||
811 | Bullet.CFrame = Part.CFrame * CF.Angles(270,0,0) | |
812 | ||
813 | Bullet.Anchored = true | |
814 | ||
815 | Bullet.BrickColor = BrickColor.new("Really black") | |
816 | ||
817 | Bullet.Reflectance = 0.3 | |
818 | ||
819 | Bullet:BreakJoints() | |
820 | ||
821 | --M = Instance.new("SpecialMesh",Bullet) | |
822 | ||
823 | --M.MeshType = "Sphere" | |
824 | ||
825 | table.insert(BulletTable,Bullet) | |
826 | ||
827 | game.Debris:AddItem(Bullet,10) | |
828 | ||
829 | end | |
830 | ||
831 | function DisplayDamage(dmg,head) | |
832 | ||
833 | if head and dmg then | |
834 | ||
835 | local Model = Instance.new("Model") | |
836 | ||
837 | local Part = Instance.new("Part",Model) | |
838 | ||
839 | local Human = Instance.new("Humanoid") | |
840 | ||
841 | Instance.new("BlockMesh",Part) | |
842 | ||
843 | -- | |
844 | ||
845 | Model.Name = tostring(dmg) | |
846 | ||
847 | Human.Parent = Model | |
848 | ||
849 | Human.MaxHealth = 0 | |
850 | ||
851 | Human.Health = 0 | |
852 | ||
853 | Part.formFactor = "Custom" | |
854 | ||
855 | Part.Size = Vector3.new(0.8,0.3,0.8) | |
856 | ||
857 | Part.CanCollide=false | |
858 | ||
859 | Part.CFrame = CFrame.new(head.Position) * CFrame.new(0, 3, 0) | |
860 | ||
861 | Part.Name = "Head" | |
862 | ||
863 | if Model.Name:find("Critical") then | |
864 | ||
865 | Part.BrickColor = BrickColor.new("Bright blue") | |
866 | ||
867 | else | |
868 | ||
869 | Part.BrickColor = BrickColor.new("Really red") | |
870 | ||
871 | end | |
872 | ||
873 | local bp = Instance.new("BodyPosition") | |
874 | ||
875 | bp.P = 14000 | |
876 | ||
877 | bp.maxForce = Vector3.new(math.huge, math.huge, math.huge) | |
878 | ||
879 | bp.position = head.Position + Vector3.new(math.random(1,6), math.random(5,7), math.random(1,6)) | |
880 | ||
881 | coroutine.resume(coroutine.create(function() | |
882 | ||
883 | wait() | |
884 | ||
885 | Model.Parent = workspace | |
886 | ||
887 | bp.Parent = Part | |
888 | ||
889 | wait(1.4) | |
890 | ||
891 | Model:remove() | |
892 | ||
893 | end)) | |
894 | ||
895 | end | |
896 | ||
897 | end | |
898 | ||
899 | function UnCrouch() | |
900 | ||
901 | Leg1Rem() | |
902 | ||
903 | Leg2Rem() | |
904 | ||
905 | end | |
906 | ||
907 | function Crouch() | |
908 | ||
909 | Leg2Func() | |
910 | ||
911 | Leg1Func() | |
912 | ||
913 | LLG.C1 = CF.new(.5,.5,1.5) * CF.Angles(math.rad(90),0,0) | |
914 | ||
915 | RLG.C1 = CF.new(-.5,1,1) * CF.Angles(math.rad(0),0,0) | |
916 | ||
917 | end | |
918 | ||
919 | function DoReload() | |
920 | ||
921 | if Reloading then return end | |
922 | ||
923 | pcall(function() | |
924 | ||
925 | gui = plr.PlayerGui:findFirstChild("Ammo") | |
926 | ||
927 | for i,v in pairs(gui:GetChildren()) do | |
928 | ||
929 | if v.Name == "Reload Gun" then | |
930 | ||
931 | v:Remove() | |
932 | ||
933 | end | |
934 | ||
935 | end | |
936 | ||
937 | end) | |
938 | ||
939 | Reloading = true | |
940 | ||
941 | Clips = Clips - 1 | |
942 | ||
943 | wait(.1) | |
944 | ||
945 | EmptiedClip(HandleOne) | |
946 | ||
947 | EmptiedClip(HandleTwo) | |
948 | ||
949 | ReloadAnim() | |
950 | ||
951 | Reloading = false | |
952 | ||
953 | end | |
954 | ||
955 | function Flash(Part) | |
956 | ||
957 | for i,v in pairs(Part:GetChildren()) do | |
958 | ||
959 | if v:IsA("SpotLight") and v.Name ~= "Safe" then | |
960 | ||
961 | v.Enabled = true | |
962 | ||
963 | coroutine.resume(coroutine.create(function() | |
964 | ||
965 | wait(0.1) | |
966 | ||
967 | v.Enabled = false | |
968 | ||
969 | end)) | |
970 | ||
971 | end | |
972 | ||
973 | end | |
974 | ||
975 | end | |
976 | ||
977 | function EmptiedClip(part) | |
978 | ||
979 | EmptyClip = Instance.new("Part",MainModel) | |
980 | ||
981 | EmptyClip.Name = "EmtpyClip" | |
982 | ||
983 | EmptyClip.formFactor = "Custom" | |
984 | ||
985 | EmptyClip.BrickColor = BrickColor.new("Really red") | |
986 | ||
987 | EmptyClip.CanCollide = true | |
988 | ||
989 | EmptyClip.Reflectance = .1 | |
990 | ||
991 | EmptyClip.Size = part.Size - Vector3.new(0.1,0.1,0.1) | |
992 | ||
993 | EmptyClip.CFrame = part.CFrame * CF.Angles(0,0,0) | |
994 | ||
995 | EmptyClip:BreakJoints() | |
996 | ||
997 | game.Debris:AddItem(EmptyClip,6) | |
998 | ||
999 | Instance.new("BlockMesh",EmptyClip) | |
1000 | ||
1001 | end | |
1002 | ||
1003 | function WarnLow() | |
1004 | ||
1005 | pg = plr.PlayerGui:findFirstChild("Ammo") | |
1006 | ||
1007 | if pg then | |
1008 | ||
1009 | Warn = Instance.new("TextLabel",pg) | |
1010 | ||
1011 | Warn.Name = "Reload Gun" | |
1012 | ||
1013 | Warn.Font = "ArialBold" | |
1014 | ||
1015 | Warn.FontSize = "Size24" | |
1016 | ||
1017 | Warn.Position = UDim2.new(0.5,0,0.5,0) | |
1018 | ||
1019 | Warn.Text = "Reload (r)" | |
1020 | ||
1021 | Warn.TextColor3 = BrickColor.new("Bright red").Color | |
1022 | ||
1023 | game.Debris:AddItem(Warn,2) | |
1024 | ||
1025 | end | |
1026 | ||
1027 | end | |
1028 | ||
1029 | function AddShell(Part) | |
1030 | ||
1031 | Shell = Instance.new("Part",MainModel) | |
1032 | ||
1033 | Shell.Name = "Shell" | |
1034 | ||
1035 | Shell.formFactor = "Custom" | |
1036 | ||
1037 | Shell.BrickColor = BrickColor.new("Really red") | |
1038 | ||
1039 | Shell.CanCollide = true | |
1040 | ||
1041 | Shell.Size = V3(.1,.35,.1) | |
1042 | ||
1043 | Shell.CFrame = Part.CFrame | |
1044 | ||
1045 | Shell:BreakJoints() | |
1046 | ||
1047 | Instance.new("CylinderMesh",Shell) | |
1048 | ||
1049 | game.Debris:AddItem(Shell,5) | |
1050 | ||
1051 | end | |
1052 | ||
1053 | function RemoveLS() | |
1054 | ||
1055 | god,err = ypcall(function() | |
1056 | ||
1057 | for i,v in pairs(Lasers) do | |
1058 | ||
1059 | pcall(function() | |
1060 | ||
1061 | if v:IsA("BasePart") then | |
1062 | ||
1063 | pcall(function() | |
1064 | ||
1065 | v:Remove() | |
1066 | ||
1067 | end) | |
1068 | ||
1069 | elseif type(v) == "userdata" then | |
1070 | ||
1071 | pcall(function() | |
1072 | ||
1073 | v:disconnect() | |
1074 | ||
1075 | end) | |
1076 | ||
1077 | end | |
1078 | ||
1079 | end) | |
1080 | ||
1081 | end | |
1082 | ||
1083 | end) | |
1084 | ||
1085 | if err then print(err) end | |
1086 | ||
1087 | Lasers = {} | |
1088 | ||
1089 | end | |
1090 | ||
1091 | function lerp(a,b,c) | |
1092 | ||
1093 | return a+(b-a)*c | |
1094 | ||
1095 | end | |
1096 | ||
1097 | function AnimLerp(c1,c2,al) | |
1098 | ||
1099 | local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()}local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()} | |
1100 | ||
1101 | for i,v in pairs(com1) do com1[i] = lerp(v,com2[i],al) end | |
1102 | ||
1103 | return CFrame.new(com1[1],com1[2],com1[3]) * CFrame.Angles(select(4,unpack(com1))) | |
1104 | ||
1105 | end | |
1106 | ||
1107 | function ReloadAnim() | |
1108 | ||
1109 | OldCf = RW.C0 | |
1110 | ||
1111 | OldCf2 = LW.C0 | |
1112 | ||
1113 | OldCf3 = HW.C0 | |
1114 | ||
1115 | --[[ | |
1116 | ||
1117 | HW.C0 = CFrame.new(Vector3.new(0, .8, 0), point * Vector3.new(1, 1, (point.Z >= 0 and 0 or 1))) | |
1118 | ||
1119 | ]]-- | |
1120 | ||
1121 | pcall(function() | |
1122 | ||
1123 | Hman = plr.Character:findFirstChild("Humanoid") | |
1124 | ||
1125 | OldWalk = Hman.WalkSpeed | |
1126 | ||
1127 | Hman.WalkSpeed = Hman.WalkSpeed/2 | |
1128 | ||
1129 | end) | |
1130 | ||
1131 | for i,v in pairs(char.Torso:GetChildren()) do | |
1132 | ||
1133 | if v:IsA("BodyGyro") then | |
1134 | ||
1135 | v:Remove() | |
1136 | ||
1137 | end | |
1138 | ||
1139 | end | |
1140 | ||
1141 | for i=0,1,0.1 do | |
1142 | ||
1143 | wait(0.02) | |
1144 | ||
1145 | LW.C0 = AnimLerp(LW.C0,CFrame.new(-1.2,.5,0) * CFrame.Angles(math.rad(90),0,math.rad(0)),0.2) | |
1146 | ||
1147 | HW.C0 = AnimLerp(HW.C0,CFrame.new(0,.8,0) * CFrame.Angles(math.rad(-10),0,0),0.2) | |
1148 | ||
1149 | end | |
1150 | ||
1151 | for i=0,1,0.05 do | |
1152 | ||
1153 | wait() | |
1154 | ||
1155 | RW.C0 = AnimLerp(RW.C0,CFrame.new(1,.5,0) * CFrame.Angles(math.rad(90),0,math.rad(-60)),0.2) | |
1156 | ||
1157 | HW.C0 = AnimLerp(HW.C0,CFrame.new(0,.8,0) * CFrame.Angles(math.rad(-10),math.rad(20),0),0.2) | |
1158 | ||
1159 | end | |
1160 | ||
1161 | for i=0,1,0.05 do | |
1162 | ||
1163 | wait() | |
1164 | ||
1165 | RW.C0 = AnimLerp(RW.C0,CFrame.new(1,.5,0) * CFrame.Angles(math.rad(90 - 20),0,math.rad(-60)),0.2) | |
1166 | ||
1167 | end | |
1168 | ||
1169 | for i=0,1,0.05 do | |
1170 | ||
1171 | wait() | |
1172 | ||
1173 | RW.C0 = AnimLerp(RW.C0,CFrame.new(1,.5,0) * CFrame.Angles(math.rad(70 + 20),0,math.rad(-60)),0.2) | |
1174 | ||
1175 | end | |
1176 | ||
1177 | WPA4.C1 = CF.new(0,0,0) | |
1178 | ||
1179 | for i=0,1,0.05 do | |
1180 | ||
1181 | wait() | |
1182 | ||
1183 | RW.C0 = AnimLerp(RW.C0,CFrame.new(1.2,.5,0) * CFrame.Angles(math.rad(90),0,math.rad(0)),0.2) | |
1184 | ||
1185 | end | |
1186 | ||
1187 | for i=0,1,0.1 do | |
1188 | ||
1189 | wait(0.02) | |
1190 | ||
1191 | LW.C0 = AnimLerp(LW.C0,CFrame.new(-1,.5,0) * CFrame.Angles(math.rad(90),0,math.rad(60)),0.2) | |
1192 | ||
1193 | HW.C0 = AnimLerp(HW.C0,CFrame.new(0,.8,0) * CFrame.Angles(math.rad(-10),math.rad(-20),0),0.2) | |
1194 | ||
1195 | end | |
1196 | ||
1197 | for i=0,1,0.1 do | |
1198 | ||
1199 | wait(0.02) | |
1200 | ||
1201 | LW.C0 = AnimLerp(LW.C0,CFrame.new(-1,.5,0) * CFrame.Angles(math.rad(90 - 20),0,math.rad(60)),0.2) | |
1202 | ||
1203 | end | |
1204 | ||
1205 | for i=0,1,0.1 do | |
1206 | ||
1207 | wait(0.02) | |
1208 | ||
1209 | LW.C0 = AnimLerp(LW.C0,CFrame.new(-1,.5,0) * CFrame.Angles(math.rad(70 + 20),0,math.rad(60)),0.2) | |
1210 | ||
1211 | end | |
1212 | ||
1213 | WPB4.C1 = CF.new(0,0,0) | |
1214 | ||
1215 | Bullets = 10000 | |
1216 | ||
1217 | UpdateBullets() | |
1218 | ||
1219 | for i=0,1,0.1 do | |
1220 | ||
1221 | wait(0.02) | |
1222 | ||
1223 | LW.C0 = AnimLerp(LW.C0,OldCf2,0.2) | |
1224 | ||
1225 | RW.C0 = AnimLerp(RW.C0,OldCf,0.2) | |
1226 | ||
1227 | HW.C0 = AnimLerp(HW.C0,OldCf3,0.2) | |
1228 | ||
1229 | end | |
1230 | ||
1231 | pcall(function() | |
1232 | ||
1233 | Hman = plr.Character:findFirstChild("Humanoid") | |
1234 | ||
1235 | Hman.WalkSpeed = OldWalk | |
1236 | ||
1237 | end) | |
1238 | ||
1239 | end | |
1240 | ||
1241 | Bin.Selected:connect(function(mouse) | |
1242 | ||
1243 | function MLS() | |
1244 | ||
1245 | PB25 = AddPart("Part",GunModelTwo,.1,.35,.1,LaserColor) | |
1246 | ||
1247 | PB25.Mesh:Remove() | |
1248 | ||
1249 | PB25.Anchored = true | |
1250 | ||
1251 | PB25.Transparency = 0.4 | |
1252 | ||
1253 | Instance.new("CylinderMesh",PB25).Scale = Vector3.new(0.5,1,0.5) | |
1254 | ||
1255 | PA25 = AddPart("Part",GunModelOne,.1,.35,.1,LaserColor) | |
1256 | ||
1257 | PA25.Mesh:Remove() | |
1258 | ||
1259 | PA25.Transparency = 0.4 | |
1260 | ||
1261 | PA25.Anchored = true | |
1262 | ||
1263 | Instance.new("CylinderMesh",PA25).Scale = Vector3.new(0.5,1,0.5) | |
1264 | ||
1265 | Delay(0,function() | |
1266 | ||
1267 | con = game:service("RunService").Stepped:connect(function() | |
1268 | ||
1269 | if LaserLight and PA25 and PB25 then | |
1270 | ||
1271 | --Below PA LEFT Laser | |
1272 | ||
1273 | local cf = CFrame.new(Vector3.new(0,0,0),PA24.CFrame.lookVector) | |
1274 | ||
1275 | ray1 = Ray.new(PA24.CFrame.p,cf.lookVector*300) | |
1276 | ||
1277 | hit,position = game:service("Workspace"):FindPartOnRay(ray1, char) | |
1278 | ||
1279 | dist = (position - PA24.CFrame.p).magnitude | |
1280 | ||
1281 | PA25.Size = Vector3.new(PA24.Size.X,dist,PA24.Size.Z) | |
1282 | ||
1283 | PA25.CFrame = CFrame.new((position+PA24.CFrame.p)/2, PA24.CFrame.p) * CFrame.Angles(math.rad(270),0,0) | |
1284 | ||
1285 | --Now PB RIGHT Laser | |
1286 | ||
1287 | local cf = CFrame.new(Vector3.new(0,0,0),PB24.CFrame.lookVector) | |
1288 | ||
1289 | ray1 = Ray.new(PB24.CFrame.p,cf.lookVector*300) | |
1290 | ||
1291 | hit,position = game:service("Workspace"):FindPartOnRay(ray1, char) | |
1292 | ||
1293 | dist = (position - PB24.CFrame.p).magnitude | |
1294 | ||
1295 | PB25.Size = Vector3.new(PB24.Size.X,dist,PB24.Size.Z) | |
1296 | ||
1297 | PB25.CFrame = CFrame.new((position+PB24.CFrame.p)/2, PB24.CFrame.p) * CFrame.Angles(math.rad(270),0,0) | |
1298 | ||
1299 | end | |
1300 | ||
1301 | end) | |
1302 | ||
1303 | end) | |
1304 | ||
1305 | table.insert(Lasers,con) | |
1306 | ||
1307 | table.insert(Lasers,PA25) | |
1308 | ||
1309 | table.insert(Lasers,PB25) | |
1310 | ||
1311 | end | |
1312 | ||
1313 | if LaserLight then | |
1314 | ||
1315 | MLS() | |
1316 | ||
1317 | end | |
1318 | ||
1319 | function AddBody() | |
1320 | ||
1321 | Body = Instance.new("BodyGyro",char["Torso"]) | |
1322 | ||
1323 | Body.P = 200000 | |
1324 | ||
1325 | Body.maxTorque = V3(1,1,1)/0 | |
1326 | ||
1327 | return Body | |
1328 | ||
1329 | end | |
1330 | ||
1331 | Debug = true | |
1332 | ||
1333 | Equip() | |
1334 | ||
1335 | Gui = Instance.new("ScreenGui",plr.PlayerGui) | |
1336 | ||
1337 | Gui.Name = "Ammo" | |
1338 | ||
1339 | Frame = Instance.new("Frame",Gui) | |
1340 | ||
1341 | Frame.Name = "MainFrame" | |
1342 | ||
1343 | Frame.Size = UDim2.new(.15,0,.1,0) | |
1344 | ||
1345 | Frame.Position = UDim2.new(0.85,0,0.75,0) | |
1346 | ||
1347 | Frame.BackgroundTransparency = 0.2 | |
1348 | ||
1349 | Frame.BackgroundColor = BrickColor.new("Really black") | |
1350 | ||
1351 | Frame.Active = true | |
1352 | ||
1353 | Frame.Draggable = true | |
1354 | ||
1355 | Dis = Instance.new("TextLabel",Frame) | |
1356 | ||
1357 | Dis.Name = "Real Numbers" | |
1358 | ||
1359 | Dis.Font = "ArialBold" | |
1360 | ||
1361 | Dis.FontSize = "Size24" | |
1362 | ||
1363 | Dis.Position = UDim2.new(0.5,0,0.5,0) | |
1364 | ||
1365 | Dis.TextColor3 = BrickColor.new("Really red").Color | |
1366 | ||
1367 | Dis.Text = Bullets.."/"..Clips | |
1368 | ||
1369 | Cred = Instance.new("TextLabel",Frame) | |
1370 | ||
1371 | Cred.Name = "Credz" | |
1372 | ||
1373 | Cred.Font = "ArialBold" | |
1374 | ||
1375 | Cred.FontSize = "Size12" | |
1376 | ||
1377 | Cred.Position = UDim2.new(0.5,0,0.05,0) | |
1378 | ||
1379 | Cred.Text = "Ma".."de B".."y"..": ".."Fr".."o".."st".."ftw" | |
1380 | ||
1381 | Cred.TextColor3 = BrickColor.new("Really red").Color | |
1382 | ||
1383 | function UpdateBullets() | |
1384 | ||
1385 | Dis.Text = Bullets.."/"..Clips | |
1386 | ||
1387 | end | |
1388 | ||
1389 | Delay(0,function() | |
1390 | ||
1391 | torso = char["Torso"] | |
1392 | ||
1393 | mouse.Move:connect(function() | |
1394 | ||
1395 | if Reloading then | |
1396 | ||
1397 | return | |
1398 | ||
1399 | end | |
1400 | ||
1401 | Body = char.Torso:findFirstChild("BodyGyro") or AddBody() | |
1402 | ||
1403 | x = math.pi/2 | |
1404 | ||
1405 | Left = false | |
1406 | ||
1407 | Right = false | |
1408 | ||
1409 | local point = torso.CFrame:pointToObjectSpace(mouse.Hit.p) | |
1410 | ||
1411 | RW.C0 = CFrame.new(Vector3.new(1.2, .5, 0), point * Vector3.new(1, 1, (point.Z >= 0 and 0 or 1))) * CFrame.Angles(x,0,0) | |
1412 | ||
1413 | LW.C0 = CFrame.new(Vector3.new(-1.2, .5, 0), point * Vector3.new(1, 1, (point.Z >= 0 and 0 or 1))) * CFrame.Angles(x,0,0) | |
1414 | ||
1415 | HW.C0 = CFrame.new(Vector3.new(0, .8, 0), point * Vector3.new(1, 1, (point.Z >= 0 and 0 or 1))) | |
1416 | ||
1417 | if point.Z > -5 then | |
1418 | ||
1419 | if point.X > 0 then | |
1420 | ||
1421 | Left = true | |
1422 | ||
1423 | elseif point.X < 0 then | |
1424 | ||
1425 | Right = true | |
1426 | ||
1427 | end | |
1428 | ||
1429 | end | |
1430 | ||
1431 | if Right then | |
1432 | ||
1433 | Body.cframe = torso.cFrame * CF.Angles(0,math.rad(15),math.rad(0)) | |
1434 | ||
1435 | elseif Left then | |
1436 | ||
1437 | Body.cframe = torso.CFrame * CF.Angles(0,math.rad(-15),math.rad(0)) | |
1438 | ||
1439 | else | |
1440 | ||
1441 | Body.cframe = torso.CFrame | |
1442 | ||
1443 | end | |
1444 | ||
1445 | end) | |
1446 | ||
1447 | end) | |
1448 | ||
1449 | mouse.KeyDown:connect(function(Key) | |
1450 | ||
1451 | if Key == "c" then | |
1452 | ||
1453 | if Debug == true then | |
1454 | ||
1455 | Crouch() | |
1456 | ||
1457 | Debug = false | |
1458 | ||
1459 | elseif Debug == false then | |
1460 | ||
1461 | UnCrouch() | |
1462 | ||
1463 | Debug = true | |
1464 | ||
1465 | end | |
1466 | ||
1467 | elseif Key == "l" then | |
1468 | ||
1469 | if LaserLight then | |
1470 | ||
1471 | LaserLight = false | |
1472 | ||
1473 | RemoveLS() | |
1474 | ||
1475 | elseif not LaserLight then | |
1476 | ||
1477 | LaserLight = true | |
1478 | ||
1479 | MLS() | |
1480 | ||
1481 | end | |
1482 | ||
1483 | elseif Key == "r" then | |
1484 | ||
1485 | DoReload() | |
1486 | ||
1487 | elseif Key == "f" then | |
1488 | ||
1489 | if FlashLight == true then | |
1490 | ||
1491 | FlashLight = false | |
1492 | ||
1493 | L3.Enabled = false | |
1494 | ||
1495 | L4.Enabled = false | |
1496 | ||
1497 | elseif FlashLight == false then | |
1498 | ||
1499 | FlashLight = true | |
1500 | ||
1501 | L3.Enabled = true | |
1502 | ||
1503 | L4.Enabled = true | |
1504 | ||
1505 | end | |
1506 | ||
1507 | end | |
1508 | ||
1509 | end) | |
1510 | ||
1511 | mouse.KeyUp:connect(function() | |
1512 | ||
1513 | end) | |
1514 | ||
1515 | mouse.Button1Down:connect(function() | |
1516 | ||
1517 | if Reloading then return end | |
1518 | ||
1519 | if Clips < 1 and Bullets < 1 then | |
1520 | ||
1521 | return | |
1522 | ||
1523 | end | |
1524 | ||
1525 | if Bullets == 0 or Bullets < 0 then | |
1526 | ||
1527 | WarnLow() | |
1528 | ||
1529 | WPA4.C1 = CF.new(0,0,-.2) | |
1530 | ||
1531 | WPB4.C1 = CF.new(0,0,-.2) | |
1532 | ||
1533 | return | |
1534 | ||
1535 | end | |
1536 | ||
1537 | Bullets = Bullets - 1 | |
1538 | ||
1539 | UpdateBullets() | |
1540 | ||
1541 | if CurrentGun == 1 then | |
1542 | ||
1543 | CurrentGun = 2 | |
1544 | ||
1545 | WPA4.C1 = CF.new(0,0,-.2) | |
1546 | ||
1547 | ShotLeft = true | |
1548 | ||
1549 | BamOne:Play() | |
1550 | ||
1551 | Flash(PA20) | |
1552 | ||
1553 | CreateBullet(PA20) | |
1554 | ||
1555 | AddShell(PA7) | |
1556 | ||
1557 | wait(.2) | |
1558 | ||
1559 | WPA4.C1 = CF.new(0,0,0) | |
1560 | ||
1561 | elseif CurrentGun == 2 then | |
1562 | ||
1563 | CurrentGun = 1 | |
1564 | ||
1565 | ShotRight = true | |
1566 | ||
1567 | WPB4.C1 = CF.new(0,0,-.2) | |
1568 | ||
1569 | BamTwo:Play() | |
1570 | ||
1571 | Flash(PB20) | |
1572 | ||
1573 | CreateBullet(PB20) | |
1574 | ||
1575 | AddShell(PB7) | |
1576 | ||
1577 | wait(.2) | |
1578 | ||
1579 | WPB4.C1 = CF.new(0,0,0) | |
1580 | ||
1581 | end | |
1582 | ||
1583 | end) | |
1584 | ||
1585 | end) | |
1586 | ||
1587 | Bin.Deselected:connect(function(mouse) | |
1588 | ||
1589 | Unequip() | |
1590 | ||
1591 | RemoveLS() | |
1592 | ||
1593 | L3.Enabled = false | |
1594 | ||
1595 | L4.Enabled = false | |
1596 | ||
1597 | FlashLight = false | |
1598 | ||
1599 | pcall(function() | |
1600 | ||
1601 | UnCrouch() | |
1602 | ||
1603 | end) | |
1604 | ||
1605 | for i,v in pairs(char.Torso:GetChildren()) do | |
1606 | ||
1607 | if v:IsA("BodyGyro") then | |
1608 | ||
1609 | v:Remove() | |
1610 | ||
1611 | end | |
1612 | ||
1613 | end | |
1614 | ||
1615 | for i=1,5 do | |
1616 | ||
1617 | pcall(function() plr.PlayerGui["Ammo"]:Remove() end) | |
1618 | ||
1619 | end | |
1620 | ||
1621 | end) | |
1622 | ||
1623 | Delay(0,function() | |
1624 | ||
1625 | BulletSpeed = 20 | |
1626 | ||
1627 | Twirl = 0.2 | |
1628 | ||
1629 | game:service("RunService").Stepped:connect(function() | |
1630 | ||
1631 | for i,v in pairs(BulletTable) do | |
1632 | ||
1633 | pcall(function() | |
1634 | ||
1635 | if v:IsA("BasePart") then | |
1636 | ||
1637 | ray = Ray.new(v.Position, v.CFrame.lookVector*(0.5+BulletSpeed)) | |
1638 | ||
1639 | v.CFrame = v.CFrame * CFrame.new(0,0,-BulletSpeed) * CFrame.Angles(0,0,-Twirl) | |
1640 | ||
1641 | local Hit,Var = workspace:findPartOnRay(ray, char) | |
1642 | ||
1643 | function RemoveBullet() | |
1644 | ||
1645 | v:Remove() | |
1646 | ||
1647 | table.remove("BulletTable", i) | |
1648 | ||
1649 | end | |
1650 | ||
1651 | if Hit and Hit.Parent then | |
1652 | ||
1653 | local Human = Hit.Parent:findFirstChild("Humanoid") | |
1654 | ||
1655 | local Head = Hit.Parent:findFirstChild("Head") | |
1656 | ||
1657 | local Torso = Hit.Parent:findFirstChild("Torso") | |
1658 | ||
1659 | if v.Parent ~= char.Torso then | |
1660 | ||
1661 | v:Remove() | |
1662 | ||
1663 | table.remove(BulletTable, i) | |
1664 | ||
1665 | end | |
1666 | ||
1667 | if Hit.Parent:IsA("Hat") then | |
1668 | ||
1669 | local Human = Hit.Parent.Parent:findFirstChild("Humanoid") | |
1670 | ||
1671 | local Head = Hit.Parent.Parent:findFirstChild("Head") | |
1672 | ||
1673 | local Torso = Hit.Parent.Parent:findFirstChild("Torso") | |
1674 | ||
1675 | if Human and Head and Torso then | |
1676 | ||
1677 | Damage = math.random(20,30) | |
1678 | ||
1679 | Human:TakeDamage(Damage) | |
1680 | ||
1681 | if Human.Health < 1 then | |
1682 | ||
1683 | Obj = Instance.new("ObjectValue",Human) | |
1684 | ||
1685 | Obj.Name = "creator" | |
1686 | ||
1687 | Obj.Value = plr | |
1688 | ||
1689 | end | |
1690 | ||
1691 | DisplayDamage(Damage,Head) | |
1692 | ||
1693 | RemoveBullet() | |
1694 | ||
1695 | end | |
1696 | ||
1697 | elseif Human and Head and Torso then | |
1698 | ||
1699 | if Hit == Head then | |
1700 | ||
1701 | Damage = math.random(20,30) | |
1702 | ||
1703 | else | |
1704 | ||
1705 | Damage = math.random(20,30) | |
1706 | ||
1707 | end | |
1708 | ||
1709 | Human:TakeDamage(Damage) | |
1710 | ||
1711 | if Human.Health < 1 then | |
1712 | ||
1713 | Obj = Instance.new("ObjectValue",Human) | |
1714 | ||
1715 | Obj.Name = "creator" | |
1716 | ||
1717 | Obj.Value = plr | |
1718 | ||
1719 | end | |
1720 | ||
1721 | DisplayDamage(Damage,Head) | |
1722 | ||
1723 | RemoveBullet() | |
1724 | ||
1725 | elseif Hit then | |
1726 | ||
1727 | RemoveBullet() | |
1728 | ||
1729 | end | |
1730 | ||
1731 | end | |
1732 | ||
1733 | end | |
1734 | ||
1735 | end) | |
1736 | ||
1737 | end | |
1738 | ||
1739 | end) | |
1740 | ||
1741 | end) |