SHOW:
|
|
- or go back to the newest paste.
1 | Players = game:GetService("Players") | |
2 | ||
3 | - | Me = Players.sethcuzzone5 |
3 | + | Me = Players.timetodie23232223 |
4 | ||
5 | Char = Me.Character | |
6 | ||
7 | necko = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) | |
8 | ||
9 | Asset = "http://www.roblox.com/asset/?id=" | |
10 | ||
11 | EffectModel = nil | |
12 | ||
13 | MeleeDmg = 55 | |
14 | ||
15 | Accuracy = {Minimum = 2, Maximum = 5.5, Momentum = 2} | |
16 | ||
17 | Selected = false | |
18 | ||
19 | ReloadFlash = false | |
20 | ||
21 | Attacking = false | |
22 | ||
23 | ReloadHold = false | |
24 | ||
25 | Reloading = false | |
26 | ||
27 | Swinging = false | |
28 | ||
29 | Aiming = false | |
30 | ||
31 | ReloadOn = false | |
32 | ||
33 | Debounce = true | |
34 | ||
35 | Hurt = false | |
36 | ||
37 | ModelName = "Weapon" | |
38 | ||
39 | ToolName = "Weapon" | |
40 | ||
41 | Icon = Asset..(58334502) | |
42 | ||
43 | ||
44 | ||
45 | function ReNew() | |
46 | ||
47 | if EffectModel then | |
48 | ||
49 | if EffectModel.Parent ~= workspace then | |
50 | ||
51 | pcall(function() EffectModel:remove() end) | |
52 | ||
53 | EffectModel = Instance.new("Model",workspace) | |
54 | ||
55 | EffectModel.Name = "Effects" | |
56 | ||
57 | end | |
58 | ||
59 | else | |
60 | ||
61 | EffectModel = Instance.new("Model",workspace) | |
62 | ||
63 | EffectModel.Name = "Effects" | |
64 | ||
65 | end | |
66 | ||
67 | end | |
68 | ||
69 | ||
70 | ||
71 | Ammunition = { | |
72 | ||
73 | MaxAmmo = 8, | |
74 | ||
75 | Ammo = 0, | |
76 | ||
77 | Ammoleft = 40, | |
78 | ||
79 | } | |
80 | ||
81 | ||
82 | ||
83 | Images = { | |
84 | ||
85 | Asset..(64291927), | |
86 | ||
87 | Asset..(64291941), | |
88 | ||
89 | Asset..(64291961), | |
90 | ||
91 | Asset..(64291977), | |
92 | ||
93 | } | |
94 | ||
95 | ||
96 | ||
97 | Sounds = { | |
98 | ||
99 | Fire = {Id = Asset..(2697294), Pitch = 0.92, Volume = 0.8}, | |
100 | ||
101 | Reload = {Id = Asset..(2697295), Pitch = 1, Volume = 0.5}, | |
102 | ||
103 | Slash = {Id = "rbxasset://sounds//swordslash.wav", Pitch = 1.2, Volume = 0.6}, | |
104 | ||
105 | Out = {Id = "rbxasset://sounds\\clickfast.wav", Pitch = 1.4, Volume = 0.6}, | |
106 | ||
107 | Hit = {Id = Asset..(10209590), Pitch = 1.1, Volume = 0.45}, | |
108 | ||
109 | PartHit = {Id = "rbxasset://sounds\\metal.ogg", Pitch = 1, Volume = 0.2}, | |
110 | ||
111 | } | |
112 | ||
113 | ||
114 | ||
115 | ContentProvider = game:GetService("ContentProvider") | |
116 | ||
117 | for _,v in pairs(Images) do ContentProvider:Preload(v) end | |
118 | ||
119 | ||
120 | ||
121 | V3 = Vector3.new | |
122 | ||
123 | C3 = Color3.new | |
124 | ||
125 | BN = BrickColor.new | |
126 | ||
127 | CN = CFrame.new | |
128 | ||
129 | CA = CFrame.Angles | |
130 | ||
131 | MR = math.rad | |
132 | ||
133 | MRA = math.random | |
134 | ||
135 | MP = math.pi | |
136 | ||
137 | MH = math.huge | |
138 | ||
139 | UD = UDim2.new | |
140 | ||
141 | ||
142 | ||
143 | function RC(Pos, Dir, Max, Ignore) | |
144 | ||
145 | return workspace:FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999)), Ignore) | |
146 | ||
147 | end | |
148 | ||
149 | ||
150 | ||
151 | function RayC(Start, En, MaxDist, Ignore) | |
152 | ||
153 | return RC(Start, (En - Start), MaxDist, Ignore) | |
154 | ||
155 | end | |
156 | ||
157 | ||
158 | ||
159 | function ComputePos(pos1, pos2) | |
160 | ||
161 | return CN(pos1, V3(pos2.x, pos1.y, pos2.z)) | |
162 | ||
163 | end | |
164 | ||
165 | ||
166 | ||
167 | function DetectSurface(pos, part) | |
168 | ||
169 | local surface = nil | |
170 | ||
171 | local pospos = part.CFrame | |
172 | ||
173 | local pos2 = pospos:pointToObjectSpace(pos) | |
174 | ||
175 | local siz = part.Size | |
176 | ||
177 | local shaep = part.Shape | |
178 | ||
179 | if shaep == Enum.PartType.Ball or shaep == Enum.PartType.Cylinder then | |
180 | ||
181 | surface = {"Anything", CN(pospos.p, pos)*CN(0, 0, -(pospos.p - pos).magnitude+0.12)*CA(MR(-90), 0, 0)} | |
182 | ||
183 | else | |
184 | ||
185 | if pos2.Y > ((siz.Y/2)-0.01) then | |
186 | ||
187 | surface = {"Top", CA(0, 0, 0)} | |
188 | ||
189 | elseif pos2.Y < -((siz.Y/2)-0.01) then | |
190 | ||
191 | surface = {"Bottom", CA(-MP, 0, 0)} | |
192 | ||
193 | elseif pos2.X > ((siz.X/2)-0.01) then | |
194 | ||
195 | surface = {"Right", CA(0, 0, MR(-90))} | |
196 | ||
197 | elseif pos2.X < -((siz.X/2)-0.01) then | |
198 | ||
199 | surface = {"Left", CA(0, 0, MR(90))} | |
200 | ||
201 | elseif pos2.Z > ((siz.Z/2)-0.01) then | |
202 | ||
203 | surface = {"Back", CA(MR(90), 0, 0)} | |
204 | ||
205 | elseif pos2.Z < -((siz.Z/2)-0.01) then | |
206 | ||
207 | surface = {"Front", CA(MR(-90), 0, 0)} | |
208 | ||
209 | end | |
210 | ||
211 | end | |
212 | ||
213 | return surface | |
214 | ||
215 | end | |
216 | ||
217 | ||
218 | ||
219 | function Compute(pos1, pos2) | |
220 | ||
221 | local pos3 = Vector3.new(pos2.x, pos1.y, pos2.z) | |
222 | ||
223 | return CN(pos1, pos3) | |
224 | ||
225 | end | |
226 | ||
227 | ||
228 | ||
229 | function waitChild(n, p) | |
230 | ||
231 | local c = p:findFirstChild(n) | |
232 | ||
233 | if c then return c end | |
234 | ||
235 | while true do | |
236 | ||
237 | c = p.ChildAdded:wait() | |
238 | ||
239 | if c.Name == n then return c end | |
240 | ||
241 | end | |
242 | ||
243 | end | |
244 | ||
245 | ||
246 | ||
247 | function Notime(func) | |
248 | ||
249 | coroutine.resume(coroutine.create(function() | |
250 | ||
251 | func() | |
252 | ||
253 | end)) | |
254 | ||
255 | end | |
256 | ||
257 | ||
258 | ||
259 | local C3 = Color3.new | |
260 | ||
261 | local UD = UDim2.new | |
262 | ||
263 | local V2 = Vector2.new | |
264 | ||
265 | ||
266 | ||
267 | Torso = waitChild("Torso", Char) | |
268 | ||
269 | Head = waitChild("Head", Char) | |
270 | ||
271 | Rarm = waitChild("Right Arm", Char) | |
272 | ||
273 | Larm = waitChild("Left Arm", Char) | |
274 | ||
275 | Rleg = waitChild("Right Leg", Char) | |
276 | ||
277 | Lleg = waitChild("Left Leg", Char) | |
278 | ||
279 | Neck = waitChild("Neck", Torso) | |
280 | ||
281 | Hum = waitChild("Humanoid", Char) | |
282 | ||
283 | ||
284 | ||
285 | RSH = waitChild("Right Shoulder", Torso) | |
286 | ||
287 | LSH = waitChild("Left Shoulder", Torso) | |
288 | ||
289 | RH = waitChild("Right Hip", Torso) | |
290 | ||
291 | LH = waitChild("Left Hip", Torso) | |
292 | ||
293 | ||
294 | ||
295 | RSH.Part0 = Torso | |
296 | ||
297 | LSH.Part0 = Torso | |
298 | ||
299 | RH.Part0 = Torso | |
300 | ||
301 | LH.Part0 = Torso | |
302 | ||
303 | ||
304 | ||
305 | local Classes = {"Frame", "ImageLabel", "ImageButton", "TextLabel", "TextButton", "TextBox"} | |
306 | ||
307 | function Make(Class, Par, Size, Pos, Color, Trans, Border, Borderc, Txt, TxtC, Img) | |
308 | ||
309 | local Mk = "Frame" | |
310 | ||
311 | for _,v in pairs(Classes) do | |
312 | ||
313 | if Class == v then | |
314 | ||
315 | Mk = v | |
316 | ||
317 | end | |
318 | ||
319 | end | |
320 | ||
321 | local g = Instance.new(Mk) | |
322 | ||
323 | g.Size = Size | |
324 | ||
325 | g.Position = Pos | |
326 | ||
327 | g.BackgroundColor3 = Color | |
328 | ||
329 | g.Transparency = Trans | |
330 | ||
331 | g.BorderSizePixel = Border | |
332 | ||
333 | g.BorderColor3 = Borderc | |
334 | ||
335 | if Mk == "TextButton" or Mk == "TextLabel" or Mk == "TextBox" then | |
336 | ||
337 | g.Text = Txt | |
338 | ||
339 | g.TextColor3 = TxtC | |
340 | ||
341 | elseif Mk == "ImageLabel" or Mk == "ImageButton" then | |
342 | ||
343 | g.Image = Img | |
344 | ||
345 | end | |
346 | ||
347 | g.Parent = Par | |
348 | ||
349 | return g | |
350 | ||
351 | end | |
352 | ||
353 | ||
354 | ||
355 | Gui = Me:findFirstChild("PlayerGui") | |
356 | ||
357 | if Gui then | |
358 | ||
359 | for _,v in pairs(Gui:children()) do if v.Name == "Weapon GUI" then v:remove() end end | |
360 | ||
361 | end | |
362 | ||
363 | ||
364 | ||
365 | Screen = Instance.new("ScreenGui") | |
366 | ||
367 | Screen.Name = "Weapon GUI" | |
368 | ||
369 | ||
370 | ||
371 | AmmoTable = {} | |
372 | ||
373 | AccuracyGuis = {} | |
374 | ||
375 | lul = { | |
376 | ||
377 | {unit = V2(0, -1), size = V2(2, 25), offset = V2(-1, -1-25)}, | |
378 | ||
379 | {unit = V2(1, 0), size = V2(25, 2), offset = V2(1, -1)}, | |
380 | ||
381 | {unit = V2(0, 1), size = V2(2, 25), offset = V2(-1, -1)}, | |
382 | ||
383 | {unit = V2(-1, 0), size = V2(25, 2), offset = V2(-1-25, -1)} | |
384 | ||
385 | } | |
386 | ||
387 | ||
388 | ||
389 | Main = Make("Frame", Screen, UD(0, 175, 0, 20), UD(1, -185-60, 1, -30), C3(0.25, 0.25, 0.3), 0.6, 0, C3()) | |
390 | ||
391 | ||
392 | ||
393 | for i = 1, Ammunition.MaxAmmo, 1 do | |
394 | ||
395 | local Fr = Make("Frame", Main, UD(0, 8, 0, 14), UD(1, -12*i, 0, -14-6), C3(0.25, 0.25, 0.3), 0.6, 0, C3()) | |
396 | ||
397 | table.insert(AmmoTable, Fr) | |
398 | ||
399 | end | |
400 | ||
401 | ||
402 | ||
403 | AmmoAtm = Make("TextLabel", Main, UD(0, 0, 0, 0), UD(0, 8, 0.5, 0), C3(), 0, 0, C3(), "0", C3(1, 1, 1)) | |
404 | ||
405 | AmmoAtm.BackgroundTransparency = 1 | |
406 | ||
407 | AmmoAtm.TextXAlignment = "Left" | |
408 | ||
409 | AmmoAtm.Font = "ArialBold" | |
410 | ||
411 | AmmoAtm.FontSize = "Size18" | |
412 | ||
413 | ||
414 | ||
415 | AmmoLeft = Make("TextLabel", Main, UD(0, 0, 0, 0), UD(1, -8, 0.5, 0), C3(), 0, 0, C3(), "40", C3(1, 1, 1)) | |
416 | ||
417 | AmmoLeft.BackgroundTransparency = 1 | |
418 | ||
419 | AmmoLeft.TextXAlignment = "Right" | |
420 | ||
421 | AmmoLeft.Font = "ArialBold" | |
422 | ||
423 | AmmoLeft.FontSize = "Size18" | |
424 | ||
425 | ||
426 | ||
427 | ReloadGui = Make("TextLabel", Main, UD(0, 0, 0, 0), UD(1, -12, 0, -40), C3(), 1, 0, C3(), "RELOAD", C3(1, 0.25, 0.1)) | |
428 | ||
429 | ReloadGui.TextXAlignment = "Right" | |
430 | ||
431 | ReloadGui.Font = "ArialBold" | |
432 | ||
433 | ReloadGui.FontSize = "Size24" | |
434 | ||
435 | ||
436 | ||
437 | for _, prop in pairs(lul) do | |
438 | ||
439 | local g = Make("Frame", Screen, UD(0, prop.size.x, 0, prop.size.y), UD(0.5, prop.offset.x, 0.5, prop.offset.y), C3(0.8, 0.8, 0.9), 1, 0, C3()) | |
440 | ||
441 | table.insert(AccuracyGuis, {Gui = g, props = prop}) | |
442 | ||
443 | end | |
444 | ||
445 | ||
446 | ||
447 | Screen.Parent = Gui | |
448 | ||
449 | ||
450 | ||
451 | local Offset = 0.1 | |
452 | ||
453 | local Thing = 1 | |
454 | ||
455 | local Speed1 = 0.1 | |
456 | ||
457 | local Speed2 = 0 | |
458 | ||
459 | local TempAcc = 0 | |
460 | ||
461 | local AccTimesMax = 17 | |
462 | ||
463 | local AccTime = 1.25 | |
464 | ||
465 | local AccTimes = AccTimesMax | |
466 | ||
467 | local AccOn = false | |
468 | ||
469 | function AddInaccuracy(Acc) | |
470 | ||
471 | TempAcc = Acc | |
472 | ||
473 | end | |
474 | ||
475 | Notime(function() | |
476 | ||
477 | while true do | |
478 | ||
479 | ReNew() | |
480 | ||
481 | AmmoAtm.Text = Ammunition.Ammo | |
482 | ||
483 | AmmoLeft.Text = Ammunition.Ammoleft | |
484 | ||
485 | for i,v in pairs(AmmoTable) do | |
486 | ||
487 | v.Transparency = 1 | |
488 | ||
489 | end | |
490 | ||
491 | for i = 1, Ammunition.Ammo do | |
492 | ||
493 | AmmoTable[i].Transparency = 0.6 | |
494 | ||
495 | end | |
496 | ||
497 | if Ammunition.Ammo <= Ammunition.MaxAmmo/4 then ReloadFlash = true else ReloadFlash = false end | |
498 | ||
499 | local Speed = Torso.Velocity.magnitude | |
500 | ||
501 | Offset = 0 | |
502 | ||
503 | if Speed > 1 then | |
504 | ||
505 | Speed1 = Speed | |
506 | ||
507 | Thing = Thing*1.2 | |
508 | ||
509 | else | |
510 | ||
511 | Speed2 = Speed | |
512 | ||
513 | local lol = 1.4 | |
514 | ||
515 | if AccOn then lol = AccTime end | |
516 | ||
517 | Thing = Thing/lol | |
518 | ||
519 | end | |
520 | ||
521 | if TempAcc ~= 0 then | |
522 | ||
523 | Speed1 = TempAcc | |
524 | ||
525 | Thing = TempAcc/2 | |
526 | ||
527 | AccOn = true | |
528 | ||
529 | if TempAcc ~= 0 then | |
530 | ||
531 | AccTimes = AccTimes - 1 | |
532 | ||
533 | if AccTimes < 1 then AccTimes = AccTimesMax Notime(function() wait(0.4) AccOn = false end) TempAcc = 0 end | |
534 | ||
535 | end | |
536 | ||
537 | end | |
538 | ||
539 | if Thing < 1 then Thing = 1 elseif Thing > 14 then Thing = 14 end | |
540 | ||
541 | Offset = Accuracy.Minimum + ((Speed1 - Speed1/Thing)/(Speed1 - Speed1/14))*Accuracy.Maximum | |
542 | ||
543 | Accuracy.Momentum = Offset | |
544 | ||
545 | wait() | |
546 | ||
547 | end | |
548 | ||
549 | end) | |
550 | ||
551 | ||
552 | ||
553 | Notime(function() | |
554 | ||
555 | while true do | |
556 | ||
557 | if ReloadFlash then | |
558 | ||
559 | if ReloadOn then | |
560 | ||
561 | ReloadOn = false | |
562 | ||
563 | ReloadGui.Transparency = 1 | |
564 | ||
565 | else | |
566 | ||
567 | ReloadOn = true | |
568 | ||
569 | ReloadGui.Transparency = 0 | |
570 | ||
571 | end | |
572 | ||
573 | else | |
574 | ||
575 | ReloadGui.Transparency = 1 | |
576 | ||
577 | end | |
578 | ||
579 | wait(0.4) | |
580 | ||
581 | end | |
582 | ||
583 | end) | |
584 | ||
585 | ||
586 | ||
587 | ||
588 | ||
589 | Add = { | |
590 | ||
591 | Head = function(P, Scale) | |
592 | ||
593 | local m = Instance.new("SpecialMesh") | |
594 | ||
595 | m.MeshType = "Head" | |
596 | ||
597 | m.Scale = Scale or V3(1, 1, 1) | |
598 | ||
599 | m.Parent = P | |
600 | ||
601 | return m | |
602 | ||
603 | end, | |
604 | ||
605 | Sphere = function(P, Scale) | |
606 | ||
607 | local m = Instance.new("SpecialMesh") | |
608 | ||
609 | m.MeshType = "Sphere" | |
610 | ||
611 | m.Scale = Scale or V3(1, 1, 1) | |
612 | ||
613 | m.Parent = P | |
614 | ||
615 | return m | |
616 | ||
617 | end, | |
618 | ||
619 | Wedge = function(P, Scale) | |
620 | ||
621 | local m = Instance.new("SpecialMesh") | |
622 | ||
623 | m.MeshType = "Wedge" | |
624 | ||
625 | m.Scale = Scale or V3(1, 1, 1) | |
626 | ||
627 | m.Parent = P | |
628 | ||
629 | return m | |
630 | ||
631 | end, | |
632 | ||
633 | Block = function(P, Scale, Bevel) | |
634 | ||
635 | local m = Instance.new("BlockMesh") | |
636 | ||
637 | m.Bevel = Bevel | |
638 | ||
639 | m.Scale = Scale or V3(1,1,1) | |
640 | ||
641 | m.Parent = P | |
642 | ||
643 | return m | |
644 | ||
645 | end | |
646 | ||
647 | } | |
648 | ||
649 | ||
650 | ||
651 | for _,v in pairs(Sounds) do | |
652 | ||
653 | ContentProvider:Preload(v.Id) | |
654 | ||
655 | end | |
656 | ||
657 | ||
658 | ||
659 | function PlaySound(Sound, bool) | |
660 | ||
661 | Pitch = Sound.Pitch | |
662 | ||
663 | if bool then | |
664 | ||
665 | Pitch = MRA((Sound.Pitch*0.75)*1000, (Sound.Pitch*1.15)*1000)/1000 | |
666 | ||
667 | end | |
668 | ||
669 | local a = Instance.new("Sound") | |
670 | ||
671 | a.SoundId = Sound.Id | |
672 | ||
673 | a.Volume = Sound.Volume | |
674 | ||
675 | a.Pitch = Pitch | |
676 | ||
677 | a.Name = "FX" | |
678 | ||
679 | a.Parent = Torso | |
680 | ||
681 | a:play() | |
682 | ||
683 | Notime(function() | |
684 | ||
685 | wait(1) | |
686 | ||
687 | a:remove() | |
688 | ||
689 | end) | |
690 | ||
691 | end | |
692 | ||
693 | ||
694 | ||
695 | function GetParts(pos, dist) | |
696 | ||
697 | local parts = {} | |
698 | ||
699 | local function o(p) | |
700 | ||
701 | for _,v in pairs(p:children()) do | |
702 | ||
703 | if v:IsA("BasePart") then | |
704 | ||
705 | if (pos - v.Position).magnitude <= dist then | |
706 | ||
707 | table.insert(parts, {v, (pos - v.Position).magnitude, v.Anchored}) | |
708 | ||
709 | end | |
710 | ||
711 | end | |
712 | ||
713 | o(v) | |
714 | ||
715 | end | |
716 | ||
717 | end | |
718 | ||
719 | o(workspace) | |
720 | ||
721 | return parts | |
722 | ||
723 | end | |
724 | ||
725 | ||
726 | ||
727 | function GetHum(P) | |
728 | ||
729 | for _,v in pairs(P:children()) do | |
730 | ||
731 | if v:IsA("Humanoid") then | |
732 | ||
733 | if v.Health > 0 then | |
734 | ||
735 | return v | |
736 | ||
737 | end | |
738 | ||
739 | end | |
740 | ||
741 | end | |
742 | ||
743 | end | |
744 | ||
745 | ||
746 | ||
747 | function GetGroup(Pos, Distance, Hit) | |
748 | ||
749 | local tab = {} | |
750 | ||
751 | for _,v in pairs(workspace:children()) do | |
752 | ||
753 | local h = GetHum(v) | |
754 | ||
755 | local t = v:findFirstChild("Torso") | |
756 | ||
757 | if h and t and v ~= Hit.Parent then | |
758 | ||
759 | if (t.Position - Pos).magnitude <= Distance then | |
760 | ||
761 | table.insert(tab, {h, v, (t.Position - Pos).magnitude}) | |
762 | ||
763 | end | |
764 | ||
765 | end | |
766 | ||
767 | end | |
768 | ||
769 | if Hit then | |
770 | ||
771 | local h = GetHum(Hit.Parent) | |
772 | ||
773 | if h then | |
774 | ||
775 | table.insert(tab, {h, Hit.Parent, 0}) | |
776 | ||
777 | end | |
778 | ||
779 | end | |
780 | ||
781 | return tab | |
782 | ||
783 | end | |
784 | ||
785 | ||
786 | ||
787 | function Part(Par, Anc, Colli, Tran, Ref, Col, Siz) | |
788 | ||
789 | local p = Instance.new("Part") | |
790 | ||
791 | p.formFactor = "Custom" | |
792 | ||
793 | p.TopSurface = 0 | |
794 | ||
795 | p.BottomSurface = 0 | |
796 | ||
797 | p.Transparency = Tran | |
798 | ||
799 | p.Reflectance = Ref | |
800 | ||
801 | p.Anchored = Anc | |
802 | ||
803 | p.CanCollide = Colli | |
804 | ||
805 | p.BrickColor = Col | |
806 | ||
807 | p.Size = Siz | |
808 | ||
809 | p.Locked = true | |
810 | ||
811 | p.Parent = Par | |
812 | ||
813 | p:BreakJoints() | |
814 | ||
815 | return p | |
816 | ||
817 | end | |
818 | ||
819 | ||
820 | ||
821 | function Weld(P0, P1, C0, C1) | |
822 | ||
823 | local w = Instance.new("Weld") | |
824 | ||
825 | w.Part0 = P0 | |
826 | ||
827 | w.Part1 = P1 | |
828 | ||
829 | if C0 then | |
830 | ||
831 | w.C0 = C0 | |
832 | ||
833 | end | |
834 | ||
835 | if C1 then | |
836 | ||
837 | w.C1 = C1 | |
838 | ||
839 | end | |
840 | ||
841 | w.Parent = P0 | |
842 | ||
843 | return w | |
844 | ||
845 | end | |
846 | ||
847 | ||
848 | ||
849 | for _,v in pairs(Char:children()) do | |
850 | ||
851 | if v.Name == ModelName then | |
852 | ||
853 | v:remove() | |
854 | ||
855 | end | |
856 | ||
857 | end | |
858 | ||
859 | ||
860 | ||
861 | for _,v in pairs(Char:children()) do if v.Name == ModelName then v:remove() end end | |
862 | ||
863 | ||
864 | ||
865 | Model = Instance.new("Model") | |
866 | ||
867 | Model.Name = ModelName | |
868 | ||
869 | ||
870 | ||
871 | FTorso = Part(Model, false, false, 1, 0, Torso.BrickColor, V3(2, 2, 1)) | |
872 | ||
873 | FW = Weld(Torso, FTorso) | |
874 | ||
875 | ||
876 | ||
877 | RAB = Part(Model, false, false, 1, 0, BN("White"), V3(0.2, 0.2, 0.2)) | |
878 | ||
879 | LAB = Part(Model, false, false, 1, 0, BN("White"), V3(0.2, 0.2, 0.2)) | |
880 | ||
881 | RLB = Part(Model, false, false, 1, 0, BN("White"), V3(0.2, 0.2, 0.2)) | |
882 | ||
883 | LLB = Part(Model, false, false, 1, 0, BN("White"), V3(0.2, 0.2, 0.2)) | |
884 | ||
885 | ||
886 | ||
887 | RABW = Weld(Torso, RAB, CN(), CN(-1.5, -0.5, 0)) | |
888 | ||
889 | LABW = Weld(Torso, LAB, CN(), CN(1.5, -0.5, 0)) | |
890 | ||
891 | RLBW = Weld(Torso, RLB, CN(), CN(-0.5, 1, 0)) | |
892 | ||
893 | LLBW = Weld(Torso, LLB, CN(), CN(0.5, 1, 0)) | |
894 | ||
895 | ||
896 | ||
897 | RAW = Weld(RAB, nil, CN(), CN(0, 0.5, 0)) | |
898 | ||
899 | LAW = Weld(LAB, nil, CN(), CN(0, 0.5, 0)) | |
900 | ||
901 | RLW = Weld(RLB, nil, CN(), CN(0, 1, 0)) | |
902 | ||
903 | LLW = Weld(LLB, nil, CN(), CN(0, 1, 0)) | |
904 | ||
905 | ||
906 | ||
907 | TW = Weld(Torso, nil, CN(-0.4, -1.5, 0.7), CA(MR(55), MR(-90), MR(0))) | |
908 | ||
909 | ||
910 | ||
911 | local FH = Instance.new("Humanoid",Model) | |
912 | ||
913 | FH.PlatformStand = true | |
914 | ||
915 | FH.MaxHealth = math.huge | |
916 | ||
917 | FH.Health = math.huge | |
918 | ||
919 | ||
920 | ||
921 | pcall(function() Torso:findFirstChild("Shirt"):clone().Parent = Model end) | |
922 | ||
923 | ||
924 | ||
925 | local hh = Part(Model, false, false, 1, 0, BN("White"), V3(0.2, 0.2, 0.2)) | |
926 | ||
927 | hh.Name = "Head" | |
928 | ||
929 | Weld(FTorso, hh) | |
930 | ||
931 | ||
932 | ||
933 | Weapon = Instance.new("Model") | |
934 | ||
935 | Weapon.Name = "Weapon" | |
936 | ||
937 | ||
938 | ||
939 | HB = Part(Weapon, false, false, 1, 0, BN("White"), V3(0.2, 0.2, 0.2)) | |
940 | ||
941 | HBW = Weld(Rarm, HB, CN(0, -0.7, 0), CA(MR(-90), MR(180), 0)) | |
942 | ||
943 | HW = Weld(HB, nil, CA(MR(38), MR(-28), MR(-90)) * CN(0, -0.2, -3.8)) | |
944 | ||
945 | ||
946 | ||
947 | LHB = Part(Weapon, false, false, 1, 0, BN("White"), V3(0.2, 0.2, 0.2)) | |
948 | ||
949 | LHBW = Weld(Larm, LHB, CN(0, -0.7, 0), CA(MR(-90), MR(180), 0)) | |
950 | ||
951 | LHW = Weld(LHB, nil, CA(MR(-2), MR(30), MR(-3)) * CN(-0.1, 0.32, -0.24)) | |
952 | ||
953 | LHWK = Weld(LHB, nil, CA(MR(170), 0, 0)) | |
954 | ||
955 | ||
956 | ||
957 | ||
958 | ||
959 | Handle = Part(Weapon, false, false, 0, 0, BN("Black"), V3(0.5, 0.9, 0.9)) | |
960 | ||
961 | TW.Part1 = Handle | |
962 | ||
963 | ||
964 | ||
965 | Handle2 = Part(Weapon, false, false, 0, 0, BN("Black"), V3(0.5, 0.6, 1.6)) | |
966 | ||
967 | Weld(Handle, Handle2, CA(MR(-45), 0, 0), CN(0, 0.5, -0.4)) | |
968 | ||
969 | ||
970 | ||
971 | Handle3 = Part(Weapon, false, false, 0, 0, BN("Black"), V3(0.5, 0.7, 1.3)) | |
972 | ||
973 | Weld(Handle2, Handle3, CA(MR(45), 0, 0), CN(0, -0.4, -0.9)) | |
974 | ||
975 | ||
976 | ||
977 | Pipe1 = Part(Weapon, false, false, 0, 0.1, BN("Light grey"), V3(0.3, 0.3, 3.2)) | |
978 | ||
979 | Add.Block(Pipe1, V3(1,1,1), 0.08) | |
980 | ||
981 | Weld(Handle3, Pipe1, CN(0, 0.15, 1.6+0.55)) | |
982 | ||
983 | ||
984 | ||
985 | Pipe2 = Part(Weapon, false, false, 0, 0.1, BN("Light grey"), V3(0.3, 0.3, 1.7)) | |
986 | ||
987 | Add.Block(Pipe2, V3(1,1,1), 0.08) | |
988 | ||
989 | Weld(Handle3, Pipe2, CN(0, -0.15, 0.85+0.55)) | |
990 | ||
991 | ||
992 | ||
993 | Pipe3 = Part(Weapon, false, false, 0, 0.1, BN("Light grey"), V3(0.25, 0.25, 1.6)) | |
994 | ||
995 | Add.Block(Pipe3, V3(1,1,1), 0.065) | |
996 | ||
997 | Weld(Pipe2, Pipe3, CN(0, 0, 0.8+0.7)) | |
998 | ||
999 | ||
1000 | ||
1001 | Pump = Part(Weapon, false, false, 0, 0, BN("Black"), V3(0.45, 0.45, 1.1)) | |
1002 | ||
1003 | Add.Block(Pump, V3(1,1,1), 0.225/2) | |
1004 | ||
1005 | PumpWeld = Weld(Pipe2, Pump, CN(0, 0, 0.6), CN(0, 0, 0)) | |
1006 | ||
1007 | ||
1008 | ||
1009 | Pump2 = Part(Weapon, false, false, 0, 0, BN("Black"), V3(0.5, 0.5, 0.3)) | |
1010 | ||
1011 | Add.Block(Pump, V3(1,1,1), 0.13) | |
1012 | ||
1013 | Weld(Pump, Pump2, CN(0, 0, -0.5)) | |
1014 | ||
1015 | ||
1016 | ||
1017 | for degrees = -20, 200, 20 do | |
1018 | ||
1019 | local Derp = Part(Weapon, false, false, 0, 0, BN("Black"), V3(0.2, 0.2, 0.2)) | |
1020 | ||
1021 | Add.Block(Derp, V3(0.4,0.6,0.4), 0.02) | |
1022 | ||
1023 | Weld(Handle3, Derp, CN(0, -0.45, -0.32) * CA(MR(degrees), 0, 0), CN(0, 0, -0.2)) | |
1024 | ||
1025 | end | |
1026 | ||
1027 | ||
1028 | ||
1029 | Derp = Part(Weapon, false, false, 0, 0, BN("Black"), V3(0.2, 0.2, 0.3)) | |
1030 | ||
1031 | Add.Block(Derp, V3(0.4,1,1), 0.02) | |
1032 | ||
1033 | Weld(Handle3, Derp, CN(0, 0, -0.32) * CA(MR(-20), 0, 0), CN(0, 0.45, -0.2)) | |
1034 | ||
1035 | ||
1036 | ||
1037 | Trigger = Part(Weapon, false, false, 0, 0, BN("Really black"), V3(0.2, 0.3, 0.2)) | |
1038 | ||
1039 | Add.Block(Trigger, V3(0.5, 0.9, 0.3), 0.02) | |
1040 | ||
1041 | TriggerWeld = Weld(Handle3, Trigger, CN(0, -0.45, -0.4) * CA(MR(2), 0, 0)) | |
1042 | ||
1043 | ||
1044 | ||
1045 | Aim = Part(Weapon, false, false, 0, 0, BN("Black"), V3(0.3, 0.2, 0.7)) | |
1046 | ||
1047 | Add.Block(Aim, V3(1,0.7,1), 0.05) | |
1048 | ||
1049 | Weld(Pipe1, Aim, CN(0, 0.12, 1.1)) | |
1050 | ||
1051 | ||
1052 | ||
1053 | Aim1 = Part(Weapon, false, false, 0, 0, BN("Black"), V3(0.2, 0.2, 0.2)) | |
1054 | ||
1055 | Add.Block(Aim1, V3(0.3, 0.7, 0.5)) | |
1056 | ||
1057 | Weld(Aim, Aim1, CN(-.1, 0.1, -0.25)) | |
1058 | ||
1059 | ||
1060 | ||
1061 | Aim2 = Part(Weapon, false, false, 0, 0, BN("Black"), V3(0.2, 0.2, 0.2)) | |
1062 | ||
1063 | Add.Block(Aim2, V3(0.3, 0.7, 0.5)) | |
1064 | ||
1065 | Weld(Aim, Aim2, CN(.1, 0.1, -0.25)) | |
1066 | ||
1067 | ||
1068 | ||
1069 | Aim3 = Part(Weapon, false, false, 0, 0, BN("Black"), V3(0.2, 0.2, 0.2)) | |
1070 | ||
1071 | Add.Block(Aim3, V3(0.3, 0.7, 0.5)) | |
1072 | ||
1073 | Weld(Aim, Aim3, CN(0, 0.1, 0.25)) | |
1074 | ||
1075 | ||
1076 | ||
1077 | BulletFlip = Part(Weapon, false, false, 0, 0, BN("Light grey"), V3(0.2, 0.3, 0.6)) | |
1078 | ||
1079 | Flip = Weld(Handle3, BulletFlip, CN(-0.18, 0.1, 0.2) * CA(0, MR(-10), 0)) | |
1080 | ||
1081 | ||
1082 | ||
1083 | ||
1084 | ||
1085 | ||
1086 | ||
1087 | BeltWelds = {} | |
1088 | ||
1089 | ||
1090 | ||
1091 | BeltK = nil | |
1092 | ||
1093 | for i = -0.5, 0.5, 1 do | |
1094 | ||
1095 | local Belt = Part(Weapon, false, false, 0, 0, BN("Black"), V3(2.1, 0.3, 0.2)) | |
1096 | ||
1097 | table.insert(BeltWelds, Weld(Torso, Belt, CN(0, -0.9, i))) | |
1098 | ||
1099 | end | |
1100 | ||
1101 | for i = 1, -1, -2 do | |
1102 | ||
1103 | local Belt = Part(Weapon, false, false, 0, 0, BN("Black"), V3(0.2, 0.3, 1.1)) | |
1104 | ||
1105 | table.insert(BeltWelds, Weld(Torso, Belt, CN(i, -0.9, 0))) | |
1106 | ||
1107 | BeltK = Belt | |
1108 | ||
1109 | end | |
1110 | ||
1111 | ||
1112 | ||
1113 | for i = -0.25, 0.25, 0.5 do | |
1114 | ||
1115 | local Pocket = Part(Weapon, false, false, 0, 0, BN("Black"), V3(1.1, 0.9, 0.2)) | |
1116 | ||
1117 | table.insert(BeltWelds, Weld(Torso, Pocket, CN(0.8, -1.2, -0.8) * CA(0, MR(-15), 0), CN(0, 0, i))) | |
1118 | ||
1119 | end | |
1120 | ||
1121 | ||
1122 | ||
1123 | for i = -0.5, 0.5, 1 do | |
1124 | ||
1125 | local Pocket = Part(Weapon, false, false, 0, 0, BN("Black"), V3(0.6, 0.9, 0.2)) | |
1126 | ||
1127 | table.insert(BeltWelds, Weld(Torso, Pocket, CN(0.8, -1.2, -0.8) * CA(0, MR(-15)+MP/2, 0), CN(0, 0, i))) | |
1128 | ||
1129 | end | |
1130 | ||
1131 | Pocket = Part(Weapon, false, false, 0, 0, BN("Black"), V3(1.1, 0.2, 0.6)) | |
1132 | ||
1133 | table.insert(BeltWelds, Weld(Torso, Pocket, CN(0.8, -1.6, -0.8) * CA(0, MR(-15), 0))) | |
1134 | ||
1135 | ||
1136 | ||
1137 | function Shell(P) | |
1138 | ||
1139 | local Shel = Instance.new("Model") | |
1140 | ||
1141 | local Back = Part(Shel, false, false, 0, 0, BN("Bright yellow"), V3(0.3, 0.3, 0.25)) | |
1142 | ||
1143 | local Main = Part(Shel, false, false, 0, 0, BN("Bright red"), V3(0.3, 0.3, 0.4)) | |
1144 | ||
1145 | Add.Block(Back, V3(1,1,1), 0.077) | |
1146 | ||
1147 | Add.Block(Main, V3(1,1,1), 0.077) | |
1148 | ||
1149 | Weld(Main, Back, CN(0, 0, -0.225)) | |
1150 | ||
1151 | Shel.Parent = P | |
1152 | ||
1153 | return {Model = Shel, Back = Back, Main = Main} | |
1154 | ||
1155 | end | |
1156 | ||
1157 | ||
1158 | ||
1159 | for y = 0.15, 0.65, 0.25 do | |
1160 | ||
1161 | for x = -0.12, 0.13, 0.24 do | |
1162 | ||
1163 | for z = -0.25, 0.26, 0.5 do | |
1164 | ||
1165 | local sh = Shell(Weapon) | |
1166 | ||
1167 | Weld(Pocket, sh.Main, CN(z-0.05, y, x), CA(0, MP/2, 0)) | |
1168 | ||
1169 | end | |
1170 | ||
1171 | end | |
1172 | ||
1173 | end | |
1174 | ||
1175 | ||
1176 | ||
1177 | KnifeSheath = Part(Weapon, false, false, 0, 0, BN("Black"), V3(0.3, 0.9, 0.6)) | |
1178 | ||
1179 | SheathWeld = Weld(BeltK, KnifeSheath, CN(-0.2, -0.3, -0.25) * CA(MR(-20), 0, 0)) | |
1180 | ||
1181 | ||
1182 | ||
1183 | KnifeHandle = Part(Weapon, false, false, 0, 0, BN("Really black"), V3(0.3, 0.6, 0.3)) | |
1184 | ||
1185 | KnifeWeld = Weld(KnifeSheath, KnifeHandle, CA(MP, 0, 0), CN(0, 0.9, 0)) | |
1186 | ||
1187 | ||
1188 | ||
1189 | KnifeHandle2 = Part(Weapon, false, false, 0, 0, BN("Dark grey"), V3(0.3, 0.2, 0.4)) | |
1190 | ||
1191 | Weld(KnifeHandle, KnifeHandle2, CN(0, 0.35, 0)) | |
1192 | ||
1193 | ||
1194 | ||
1195 | KnifeBlade1 = Part(Weapon, false, false, 0, 0.1, BN("Light grey"), V3(0.2, 0.8, 0.3)) | |
1196 | ||
1197 | Add.Block(KnifeBlade1, V3(0.4, 1, 1), 0.05) | |
1198 | ||
1199 | Weld(KnifeHandle2, KnifeBlade1, CN(0, 0.42, 0)) | |
1200 | ||
1201 | ||
1202 | ||
1203 | KnifeBlade2 = Part(Weapon, false, false, 0, 0.1, BN("Light grey"), V3(0.2, 0.24, 0.24)) | |
1204 | ||
1205 | Add.Block(KnifeBlade2, V3(0.4, 1, 1), 0.05) | |
1206 | ||
1207 | Weld(KnifeBlade1, KnifeBlade2, CN(0, 0.32, 0), CA(MR(45), 0, 0)) | |
1208 | ||
1209 | ||
1210 | ||
1211 | function Show_Damage(P, D, Area) | |
1212 | ||
1213 | local mo = Instance.new("Model") | |
1214 | ||
1215 | mo.Name = D | |
1216 | ||
1217 | local p = Part(mo, true, false, 0, 0, BN("Bright red"), V3(0.2, 0.2, 0.2)) | |
1218 | ||
1219 | p.Name = "Head" | |
1220 | ||
1221 | local m = Instance.new("SpecialMesh") | |
1222 | ||
1223 | m.MeshType = "Brick" | |
1224 | ||
1225 | m.Scale = Vector3.new(3.5, 2.3, 3.5) | |
1226 | ||
1227 | m.Parent = p | |
1228 | ||
1229 | local h = Instance.new("Humanoid") | |
1230 | ||
1231 | h.Health = 0 | |
1232 | ||
1233 | h.MaxHealth = 0 | |
1234 | ||
1235 | h.Name = "asd" | |
1236 | ||
1237 | h.Parent = mo | |
1238 | ||
1239 | local nah = true | |
1240 | ||
1241 | mo.Parent = workspace | |
1242 | ||
1243 | local cf = CN(P) * CN(MRA(-Area*100, Area*100)/100, MRA(-Area*100, Area*100)/100, MRA(-Area*100, Area*100)/100) | |
1244 | ||
1245 | p.CFrame = cf | |
1246 | ||
1247 | Notime(function() | |
1248 | ||
1249 | Notime(function() | |
1250 | ||
1251 | for i = 0, 6, 0.03 do | |
1252 | ||
1253 | wait() | |
1254 | ||
1255 | p.CFrame = cf * CN(0, i, 0) | |
1256 | ||
1257 | end | |
1258 | ||
1259 | end) | |
1260 | ||
1261 | wait(1.5) | |
1262 | ||
1263 | for i = 0, 1, 0.05 do | |
1264 | ||
1265 | p.Transparency = i | |
1266 | ||
1267 | if nah then mo.Name = "" nah = false else mo.Name = "- "..D nah = true end | |
1268 | ||
1269 | wait() | |
1270 | ||
1271 | end | |
1272 | ||
1273 | mo:remove() | |
1274 | ||
1275 | end) | |
1276 | ||
1277 | end | |
1278 | ||
1279 | ||
1280 | ||
1281 | function Hit(part) | |
1282 | ||
1283 | local H = GetHum(part.Parent) | |
1284 | ||
1285 | if H and Debounce and Hurt then | |
1286 | ||
1287 | Debounce = false | |
1288 | ||
1289 | local Dmg = MRA(MeleeDmg/1.3, MeleeDmg) | |
1290 | ||
1291 | H.Health = H.Health - Dmg | |
1292 | ||
1293 | Show_Damage(KnifeBlade2.Position, Dmg, 0.1) | |
1294 | ||
1295 | end | |
1296 | ||
1297 | end | |
1298 | ||
1299 | ||
1300 | ||
1301 | KnifeBlade1.Touched:connect(Hit) | |
1302 | ||
1303 | KnifeBlade2.Touched:connect(Hit) | |
1304 | ||
1305 | ||
1306 | ||
1307 | Weapon.Parent = Model | |
1308 | ||
1309 | Model.Parent = Char | |
1310 | ||
1311 | ||
1312 | ||
1313 | if script.Parent.className ~= "HopperBin" then | |
1314 | ||
1315 | h = Instance.new("HopperBin", Me.Backpack) | |
1316 | ||
1317 | h.Name = ToolName | |
1318 | ||
1319 | script.Parent = h | |
1320 | ||
1321 | end | |
1322 | ||
1323 | ||
1324 | ||
1325 | bin = script.Parent | |
1326 | ||
1327 | ||
1328 | ||
1329 | function Attach(t) | |
1330 | ||
1331 | RSH.Part0 = t | |
1332 | ||
1333 | LSH.Part0 = t | |
1334 | ||
1335 | RH.Part0 = t | |
1336 | ||
1337 | LH.Part0 = t | |
1338 | ||
1339 | RABW.Part0 = t | |
1340 | ||
1341 | LABW.Part0 = t | |
1342 | ||
1343 | LLBW.Part0 = t | |
1344 | ||
1345 | RLBW.Part0 = t | |
1346 | ||
1347 | for _,v in pairs(BeltWelds) do | |
1348 | ||
1349 | v.Part0 = t | |
1350 | ||
1351 | end | |
1352 | ||
1353 | if t == Torso then | |
1354 | ||
1355 | FTorso.Transparency = 1 | |
1356 | ||
1357 | else | |
1358 | ||
1359 | Torso.Transparency = 1 | |
1360 | ||
1361 | end | |
1362 | ||
1363 | t.Transparency = 0 | |
1364 | ||
1365 | end | |
1366 | ||
1367 | ||
1368 | ||
1369 | function Normal() | |
1370 | ||
1371 | RAW.C0 = CA(MR(90), 0, MR(-65)) * CN(0.6, -0.9, 0) | |
1372 | ||
1373 | LAW.C0 = CA(MR(85), 0, MR(-40)) * CN(0.5, -0.5, 0) | |
1374 | ||
1375 | FW.C0 = CA(0, MR(-70), 0) | |
1376 | ||
1377 | HW.C0 = CA(MR(0), MR(5), MR(0)) * CN(0.4, 0, -1.2) | |
1378 | ||
1379 | LHW.C0 = CA(MR(-2), MR(30), MR(-3)) * CN(-0.1, 0.32, -0.24) | |
1380 | ||
1381 | PumpWeld.C1 = CN(0, 0, 0) | |
1382 | ||
1383 | Flip.C1 = CN(0, 0, 0) | |
1384 | ||
1385 | Attach(FTorso) | |
1386 | ||
1387 | LHW.Part1 = nil | |
1388 | ||
1389 | TW.Part1 = nil | |
1390 | ||
1391 | LHWK.Part1 = nil | |
1392 | ||
1393 | KnifeWeld.Part1 = KnifeHandle | |
1394 | ||
1395 | Neck.C0 = necko | |
1396 | ||
1397 | HW.Part1 = Handle | |
1398 | ||
1399 | end | |
1400 | ||
1401 | ||
1402 | ||
1403 | function Swing() | |
1404 | ||
1405 | Swinging = true | |
1406 | ||
1407 | for i = 0.5, 1, 0.5 do | |
1408 | ||
1409 | LAW.C0 = CA(MR(85-8*i), 0, MR(-40+5*i)) * CN(0.5, -0.5+0.2*i, 0) | |
1410 | ||
1411 | RAW.C0 = CA(MR(90-5*i), 0, MR(-65-5*i)) * CN(0.6+0.05*i, -0.9+0.05*i, -0.1*i) | |
1412 | ||
1413 | HW.C0 = CA(MR(-5*i), MR(5+5*i), MR(0)) * CN(0.4, 0, -1.2) | |
1414 | ||
1415 | FW.C0 = CA(0, MR(-70+8*i), 0) | |
1416 | ||
1417 | wait() | |
1418 | ||
1419 | end | |
1420 | ||
1421 | for i = 0.33, 1, 0.33 do | |
1422 | ||
1423 | LAW.C0 = CA(MR(77-37*i), 0, MR(-35+30*i)) * CN(0.5-0.15*i, -0.3+0.3*i, 0) | |
1424 | ||
1425 | RAW.C0 = CA(MR(85-15*i), 0, MR(-70-5*i)) * CN(0.65+0.15*i, -0.85+0.2*i, -0.1-0.2*i) | |
1426 | ||
1427 | HW.C0 = CA(MR(-5-15*i), MR(10+10*i), MR(0)) * CN(0.4, 0, -1.2) | |
1428 | ||
1429 | FW.C0 = CA(0, MR(-62+58*i), 0) | |
1430 | ||
1431 | wait() | |
1432 | ||
1433 | end | |
1434 | ||
1435 | LHWK.Part1 = KnifeHandle | |
1436 | ||
1437 | KnifeWeld.Part1 = nil | |
1438 | ||
1439 | PlaySound(Sounds.Slash) | |
1440 | ||
1441 | for i = 0.25, 1, 0.25 do | |
1442 | ||
1443 | LAW.C0 = CA(MR(40+30*i), 0, MR(-5-45*i)) * CN(0.35-0.2*i, -0.5*i, 0) | |
1444 | ||
1445 | RAW.C0 = CA(MR(70-15*i), 0, MR(-75-5*i)) * CN(0.8, -0.65+0.15*i, -0.3-0.05*i) | |
1446 | ||
1447 | HW.C0 = CA(MR(-20-10*i), MR(20+5*i), MR(0)) * CN(0.4, 0, -1.2) | |
1448 | ||
1449 | FW.C0 = CA(0, MR(-4+14*i), 0) | |
1450 | ||
1451 | LHWK.C0 = CN(0, -0.1*i, 0.2*i) * CA(MR(170), 0, MR(-50*i)) | |
1452 | ||
1453 | wait() | |
1454 | ||
1455 | end | |
1456 | ||
1457 | Hurt = true | |
1458 | ||
1459 | Debounce = true | |
1460 | ||
1461 | for i = 0.25, 1, 0.25 do | |
1462 | ||
1463 | LAW.C0 = CA(MR(70+20*i), 0, MR(-50+35*i)) * CN(0.15-0.05*i, -0.5-0.3*i, 0) | |
1464 | ||
1465 | FW.C0 = CA(0, MR(10-60*i), 0) | |
1466 | ||
1467 | LHWK.C0 = CN(0, -0.1-0.05*i, 0.2+0.1*i) * CA(MR(170), 0, MR(-50-40*i)) | |
1468 | ||
1469 | wait() | |
1470 | ||
1471 | end | |
1472 | ||
1473 | for i = 0.25, 1, 0.25 do | |
1474 | ||
1475 | LAW.C0 = CA(MR(90+10*i), 0, MR(-15+15*i)) * CN(0.1, -0.9, 0) | |
1476 | ||
1477 | FW.C0 = CA(0, MR(-50-40*i), 0) | |
1478 | ||
1479 | LHWK.C0 = CN(0, -0.15, 0.3) * CA(MR(170), 0, MR(-90)) | |
1480 | ||
1481 | wait() | |
1482 | ||
1483 | end | |
1484 | ||
1485 | for i = 0.33, 1, 0.33 do | |
1486 | ||
1487 | LAW.C0 = CA(MR(100+3*i), 0, 0) * CN(0.1, -0.9, 0) | |
1488 | ||
1489 | FW.C0 = CA(0, MR(-90-6*i), 0) | |
1490 | ||
1491 | LHWK.C0 = CN(0, -0.15, 0.3) * CA(MR(170), 0, MR(-90)) | |
1492 | ||
1493 | wait() | |
1494 | ||
1495 | end | |
1496 | ||
1497 | Hurt = false | |
1498 | ||
1499 | wait(0.04) | |
1500 | ||
1501 | for i = 0.25, 1, 0.25 do | |
1502 | ||
1503 | LAW.C0 = CA(MR(103-13*i), 0, 0) * CN(0.1, -0.9+0.1*i, 0) | |
1504 | ||
1505 | FW.C0 = CA(0, MR(-96+16*i), 0) | |
1506 | ||
1507 | LHWK.C0 = CN(0, -0.15, 0.3-0.1*i) * CA(MR(170), 0, MR(-90+15*i)) | |
1508 | ||
1509 | wait() | |
1510 | ||
1511 | end | |
1512 | ||
1513 | for i = 0.25, 1, 0.25 do | |
1514 | ||
1515 | LAW.C0 = CA(MR(90-42*i), 0, 0) * CN(0.1+0.1*i, -0.8+0.3*i, 0) | |
1516 | ||
1517 | RAW.C0 = CA(MR(55+15*i), 0, MR(-80+5*i)) * CN(0.8-0.05*i, -0.5-0.1*i, -0.35+0.05*i) | |
1518 | ||
1519 | FW.C0 = CA(0, MR(-80+10*i), 0) | |
1520 | ||
1521 | HW.C0 = CA(MR(-30+20*i), MR(25-15*i), MR(0)) * CN(0.4, 0, -1.2) | |
1522 | ||
1523 | LHWK.C0 = CN(0, -0.15, 0.2-0.45*i) * CA(MR(170), 0, MR(-75+75*i)) | |
1524 | ||
1525 | wait() | |
1526 | ||
1527 | end | |
1528 | ||
1529 | for i = 0.5, 1, 0.5 do | |
1530 | ||
1531 | LAW.C0 = CA(MR(48-8*i), 0, 0) * CN(0.2+0.05*i, -0.5, 0) | |
1532 | ||
1533 | RAW.C0 = CA(MR(70+10*i), 0, MR(-75+7*i)) * CN(0.75-0.05*i, -0.6-0.1*i, -0.3+0.05*i) | |
1534 | ||
1535 | FW.C0 = CA(0, MR(-70), 0) | |
1536 | ||
1537 | HW.C0 = CA(MR(-10+10*i), MR(10-5*i), MR(0)) * CN(0.4, 0, -1.2) | |
1538 | ||
1539 | LHWK.C0 = CN(0, -0.15, -0.25-0.15*i) * CA(MR(170), 0, 0) | |
1540 | ||
1541 | wait() | |
1542 | ||
1543 | end | |
1544 | ||
1545 | LHWK.Part1 = nil | |
1546 | ||
1547 | KnifeWeld.Part1 = KnifeHandle | |
1548 | ||
1549 | for i = 0.25, 1, 0.25 do | |
1550 | ||
1551 | LAW.C0 = CA(MR(40+40*i), 0, MR(-30*i)) * CN(0.25+0.2*i, -0.5, 0) | |
1552 | ||
1553 | RAW.C0 = CA(MR(80+10*i), 0, MR(-68+3*i)) * CN(0.7-0.1*i, -0.7-0.2*i, -0.25+0.2*i) | |
1554 | ||
1555 | wait() | |
1556 | ||
1557 | end | |
1558 | ||
1559 | for i = 0.5, 1, 0.5 do | |
1560 | ||
1561 | LAW.C0 = CA(MR(80+5*i), 0, MR(-30-10*i)) * CN(0.45+0.05*i, -0.5, -0.05+0.05*i) | |
1562 | ||
1563 | RAW.C0 = CA(MR(90), 0, MR(-65)) * CN(0.6, -0.9, 0) | |
1564 | ||
1565 | wait() | |
1566 | ||
1567 | end | |
1568 | ||
1569 | Normal() | |
1570 | ||
1571 | Swinging = false | |
1572 | ||
1573 | end | |
1574 | ||
1575 | ||
1576 | ||
1577 | function Reload(once) | |
1578 | ||
1579 | while Ammunition.Ammo < Ammunition.MaxAmmo and Ammunition.Ammoleft > 0 do | |
1580 | ||
1581 | wait() | |
1582 | ||
1583 | for i = 0.33, 1, 0.33 do | |
1584 | ||
1585 | RAW.C0 = CA(MR(45-2*i), 0, MR(-15)) * CN(0, -0.15-0.05*i, 0) | |
1586 | ||
1587 | LAW.C0 = CA(MR(50), MR(40), MR(-15)) * CN(0.5, -0.5, 0) | |
1588 | ||
1589 | LHW.C0 = CA(MR(-35), MR(60), MR(-45)) * CN(-0.6, 0.2, -0.24) | |
1590 | ||
1591 | wait() | |
1592 | ||
1593 | end | |
1594 | ||
1595 | for i = 0.25, 1, 0.25 do | |
1596 | ||
1597 | RAW.C0 = CA(MR(43-8*i), 0, MR(-15)) * CN(0, -0.2-0.2*i, 0) | |
1598 | ||
1599 | LAW.C0 = CA(MR(50), MR(40), MR(-15)) * CN(0.5, -0.5, 0) | |
1600 | ||
1601 | LHW.C0 = CA(MR(-35), MR(60), MR(-45)) * CN(-0.6, 0.2, -0.24) | |
1602 | ||
1603 | wait() | |
1604 | ||
1605 | end | |
1606 | ||
1607 | for i = 0.5, 1, 0.5 do | |
1608 | ||
1609 | RAW.C0 = CA(MR(35-2*i), 0, MR(-15)) * CN(0, -0.4-0.05*i, 0) | |
1610 | ||
1611 | wait() | |
1612 | ||
1613 | end | |
1614 | ||
1615 | local shel = Shell(Weapon) | |
1616 | ||
1617 | local w = Weld(Rarm, shel.Main, CN(0, -1.25, 0.45), CA(MR(-140), 0, MR(60))) | |
1618 | ||
1619 | for i = 0.25, 1, 0.25 do | |
1620 | ||
1621 | RAW.C0 = CA(MR(33+20*i), 0, MR(-15-10*i)) * CN(0, -0.45+0.2*i, 0) | |
1622 | ||
1623 | LAW.C0 = CA(MR(50-5*i), MR(40), MR(-15+5*i)) * CN(0.5, -0.5, 0) | |
1624 | ||
1625 | w.C0 = CN(-0.1*i, -1.25, 0.45-0.25*i) | |
1626 | ||
1627 | wait() | |
1628 | ||
1629 | end | |
1630 | ||
1631 | for i = 0.2, 1, 0.2 do | |
1632 | ||
1633 | RAW.C0 = CA(MR(53+32*i), 0, MR(-25-12*i)) * CN(0, -0.25-0.3*i, 0) | |
1634 | ||
1635 | LAW.C0 = CA(MR(45), MR(40), MR(-10+10*i)) * CN(0.5, -0.5+0.15*i, 0) | |
1636 | ||
1637 | w.C0 = CN(-0.1-0.1*i, -1.25, 0.2-0.3*i) | |
1638 | ||
1639 | w.C1 = CA(MR(-140+50*i), 0, MR(60)) | |
1640 | ||
1641 | wait() | |
1642 | ||
1643 | end | |
1644 | ||
1645 | PlaySound(Sounds.Reload, false) | |
1646 | ||
1647 | for i = 0.25, 1, 0.25 do | |
1648 | ||
1649 | RAW.C0 = CA(MR(85+10*i), 0, MR(-42-8*i)) * CN(0, -0.55-0.1*i, 0) | |
1650 | ||
1651 | LAW.C0 = CA(MR(45), MR(40), 0) * CN(0.5, -0.35, 0) | |
1652 | ||
1653 | w.C0 = CN(-0.2-0.05*i, -1.25, -0.1-0.1*i) | |
1654 | ||
1655 | wait() | |
1656 | ||
1657 | end | |
1658 | ||
1659 | shel.Model:remove() shell = nil | |
1660 | ||
1661 | Ammunition.Ammo = Ammunition.Ammo + 1 | |
1662 | ||
1663 | Ammunition.Ammoleft = Ammunition.Ammoleft - 1 | |
1664 | ||
1665 | wait(0.1) | |
1666 | ||
1667 | for i = 0.33, 1, 0.33 do | |
1668 | ||
1669 | RAW.C0 = CA(MR(95-10*i), 0, MR(-50+10*i)) * CN(0, -0.65+0.1*i, 0) | |
1670 | ||
1671 | LAW.C0 = CA(MR(45+5*i), MR(40), MR(-12*i)) * CN(0.5, -0.35-0.1*i, 0) | |
1672 | ||
1673 | wait() | |
1674 | ||
1675 | end | |
1676 | ||
1677 | for i = 0.25, 1, 0.25 do | |
1678 | ||
1679 | RAW.C0 = CA(MR(85-40*i), 0, MR(-40+25*i)) * CN(0, -0.55+0.4*i, 0) | |
1680 | ||
1681 | LAW.C0 = CA(MR(50), MR(40), MR(-12-3*i)) * CN(0.5, -0.45-0.05*i, 0) | |
1682 | ||
1683 | wait() | |
1684 | ||
1685 | end | |
1686 | ||
1687 | if once then break end | |
1688 | ||
1689 | if not ReloadHold then break end | |
1690 | ||
1691 | end | |
1692 | ||
1693 | for i = 0.33, 1, 0.33 do | |
1694 | ||
1695 | RAW.C0 = CA(MR(45+10*i), 0, MR(-15-10*i)) * CN(0.1*i, -0.15-0.1*i, 0) | |
1696 | ||
1697 | LAW.C0 = CA(MR(52+12*i), MR(40-5*i), MR(-15-5*i)) * CN(0.5, -0.5, 0) | |
1698 | ||
1699 | LHW.C0 = CA(MR(-35+10*i), MR(60-10*i), MR(-45+10*i)) * CN(-0.6+0.1*i, 0.2, -0.24) | |
1700 | ||
1701 | wait() | |
1702 | ||
1703 | end | |
1704 | ||
1705 | for i = 0.2, 1, 0.2 do | |
1706 | ||
1707 | RAW.C0 = CA(MR(55+30*i), 0, MR(-25-30*i)) * CN(0.1+0.4*i, -0.25-0.55*i, 0) | |
1708 | ||
1709 | LAW.C0 = CA(MR(70+10*i), MR(35-30*i), MR(-20-15*i)) * CN(0.5, -0.5, 0) | |
1710 | ||
1711 | LHW.C0 = CA(MR(-25+18*i), MR(50-15*i), MR(-35+25*i)) * CN(-0.5+0.3*i, 0.2+0.1*i, -0.24) | |
1712 | ||
1713 | wait() | |
1714 | ||
1715 | end | |
1716 | ||
1717 | for i = 0.25, 1, 0.25 do | |
1718 | ||
1719 | RAW.C0 = CA(MR(85+5*i), 0, MR(-55-10*i)) * CN(0.5+0.1*i, -0.8-0.1*i, 0) | |
1720 | ||
1721 | LAW.C0 = CA(MR(80+5*i), MR(5-5*i), MR(-35-5*i)) * CN(0.5, -0.5, 0) | |
1722 | ||
1723 | LHW.C0 = CA(MR(-7+5*i), MR(35-5*i), MR(-10+7*i)) * CN(-0.2+0.1*i, 0.3+0.02*i, -0.24) | |
1724 | ||
1725 | wait() | |
1726 | ||
1727 | end | |
1728 | ||
1729 | end | |
1730 | ||
1731 | ||
1732 | ||
1733 | function ReloadStart(once) | |
1734 | ||
1735 | Reloading = true | |
1736 | ||
1737 | HW.Part1 = nil | |
1738 | ||
1739 | LHW.Part1 = Pipe2 | |
1740 | ||
1741 | for i = 0.25, 1, 0.25 do | |
1742 | ||
1743 | RAW.C0 = CA(MR(90-10*i), 0, MR(-65+10*i)) * CN(0.6-0.2*i, -0.9+0.15*i, 0) | |
1744 | ||
1745 | LAW.C0 = CA(MR(85-5*i), MR(7*i), MR(-40+5*i)) * CN(0.5, -0.5, 0) | |
1746 | ||
1747 | LHW.C0 = CA(MR(-2-8*i), MR(30+5*i), MR(-3-12*i)) * CN(-0.1-0.1*i, 0.32-0.12*i, -0.24) | |
1748 | ||
1749 | wait() | |
1750 | ||
1751 | end | |
1752 | ||
1753 | for i = 0.15, 1, 0.15 do | |
1754 | ||
1755 | RAW.C0 = CA(MR(80-35*i), 0, MR(-55+40*i)) * CN(0.4-0.4*i, -0.75+0.6*i, 0) | |
1756 | ||
1757 | LAW.C0 = CA(MR(80-30*i), MR(7+33*i), MR(-35+20*i)) * CN(0.5, -0.5, 0) | |
1758 | ||
1759 | LHW.C0 = CA(MR(-10-25*i), MR(35+25*i), MR(-15-30*i)) * CN(-0.2-0.4*i, 0.2, -0.24) | |
1760 | ||
1761 | wait() | |
1762 | ||
1763 | end | |
1764 | ||
1765 | Reload(once) | |
1766 | ||
1767 | Normal() | |
1768 | ||
1769 | Reloading = false | |
1770 | ||
1771 | end | |
1772 | ||
1773 | ||
1774 | ||
1775 | function AimEet() | |
1776 | ||
1777 | end | |
1778 | ||
1779 | ||
1780 | ||
1781 | function Shoot(Start, To) | |
1782 | ||
1783 | local Accu = CA(MR(MRA(-Accuracy.Momentum*1000, Accuracy.Momentum*1000)/1700), MR(MRA(-Accuracy.Momentum*1000, Accuracy.Momentum*1000)/1000), MR(MRA(-Accuracy.Momentum*1000, Accuracy.Momentum*1000)/1000)) | |
1784 | ||
1785 | for Pellets = 1, 8 do | |
1786 | ||
1787 | local Power = 20 | |
1788 | ||
1789 | local Drop = 0.2 | |
1790 | ||
1791 | local Face = CN(Start, To) * Accu * CA(MR(MRA(-10000, 10000)/2500), MR(MRA(-10000, 10000)/2500), MR(MRA(-10000, 10000)/2500)) | |
1792 | ||
1793 | local Pellet = Part(PelletModel, true, false, 0, 0, BN("Dark grey"), V3(0.2, 0.2, 0.3)) | |
1794 | ||
1795 | Pellet.CFrame = Face | |
1796 | ||
1797 | local LastPoint = Face.p | |
1798 | ||
1799 | Notime(function() | |
1800 | ||
1801 | local HitObj | |
1802 | ||
1803 | local HitPos | |
1804 | ||
1805 | local DistThing = 250 | |
1806 | ||
1807 | for Distance = Power, 600, Power do | |
1808 | ||
1809 | Face = Face * CA(MR(-Drop), 0, 0) * CN(0, 0, -Power) | |
1810 | ||
1811 | local PointNow = Face.p | |
1812 | ||
1813 | local Hit, Pos = RayC(LastPoint, PointNow, Power+2, EffectModel) | |
1814 | ||
1815 | if Hit then | |
1816 | ||
1817 | DistThing = Distance | |
1818 | ||
1819 | if DistThing > 250 then DistThing = 200 end | |
1820 | ||
1821 | PointNow = Pos | |
1822 | ||
1823 | HitPos = Pos | |
1824 | ||
1825 | HitObj = Hit | |
1826 | ||
1827 | end | |
1828 | ||
1829 | local Dist = (PointNow - LastPoint).magnitude | |
1830 | ||
1831 | Pellet.CFrame = Face | |
1832 | ||
1833 | Drop = Drop + 0.04 | |
1834 | ||
1835 | local Effect = Part(EffectModel, true, false, 0, 0, BN("White"), V3(0.2, 0.2, 0.2)) | |
1836 | ||
1837 | Effect.CFrame = CN(LastPoint, PointNow) * CA(MR(-90), 0, 0) * CN(0, Dist/2, 0) | |
1838 | ||
1839 | local H = Add.Head(Effect, V3(0.8, Dist*5, 0.8)) | |
1840 | ||
1841 | LastPoint = Face.p | |
1842 | ||
1843 | Power = Power - Drop/3 | |
1844 | ||
1845 | Notime(function() | |
1846 | ||
1847 | for i = 0, 1, 0.2 do | |
1848 | ||
1849 | wait() | |
1850 | ||
1851 | Effect.Transparency = i | |
1852 | ||
1853 | end | |
1854 | ||
1855 | Effect:remove() | |
1856 | ||
1857 | end) | |
1858 | ||
1859 | if Hit then | |
1860 | ||
1861 | Pellet.CFrame = CN(Pos) | |
1862 | ||
1863 | break | |
1864 | ||
1865 | end | |
1866 | ||
1867 | wait() | |
1868 | ||
1869 | end | |
1870 | ||
1871 | Pellet:remove() | |
1872 | ||
1873 | if HitObj then | |
1874 | ||
1875 | local Surface = DetectSurface(HitPos, HitObj) | |
1876 | ||
1877 | local C = CN(HitPos) * CA(HitObj.CFrame:toEulerAnglesXYZ()) * Surface[2] | |
1878 | ||
1879 | if Surface[1] == "Anything" then | |
1880 | ||
1881 | C = Surface[2] | |
1882 | ||
1883 | end | |
1884 | ||
1885 | local H = nil | |
1886 | ||
1887 | if HitObj.Parent ~= workspace then | |
1888 | ||
1889 | H = GetHum(HitObj.Parent) | |
1890 | ||
1891 | if HitObj.Parent.Parent ~= workspace and H == nil then | |
1892 | ||
1893 | H = GetHum(HitObj.Parent.Parent) | |
1894 | ||
1895 | end | |
1896 | ||
1897 | end | |
1898 | ||
1899 | if H then | |
1900 | ||
1901 | local Dmg = DistThing/200 | |
1902 | ||
1903 | Dmg = (1-Dmg)*15 | |
1904 | ||
1905 | Dmg = MRA(Dmg*850, Dmg*1100)/1000 | |
1906 | ||
1907 | H.Health = H.Health - Dmg | |
1908 | ||
1909 | PlaySound(Sounds.Hit) | |
1910 | ||
1911 | Show_Damage(HitObj.Position, math.floor(Dmg), 1.5) | |
1912 | ||
1913 | else | |
1914 | ||
1915 | PlaySound(Sounds.PartHit) | |
1916 | ||
1917 | local BulletHole = Part(EffectModel, true, false, 1, 0, BN("White"), V3(0.8, 0.2, 0.8)) | |
1918 | ||
1919 | BulletHole.CFrame = C * CN(0, -0.085, 0) | |
1920 | ||
1921 | local Dec = Instance.new("Decal",BulletHole) | |
1922 | ||
1923 | Dec.Texture = Images[MRA(1,#Images)] | |
1924 | ||
1925 | Dec.Face = "Top" | |
1926 | ||
1927 | if not HitObj.Anchored then | |
1928 | ||
1929 | BulletHole.Anchored = false | |
1930 | ||
1931 | local W = Weld(HitObj, BulletHole, HitObj.CFrame:toObjectSpace(C)) | |
1932 | ||
1933 | end | |
1934 | ||
1935 | Notime(function() | |
1936 | ||
1937 | wait(MRA(700, 15000)/100) | |
1938 | ||
1939 | BulletHole:remove() | |
1940 | ||
1941 | end) | |
1942 | ||
1943 | end | |
1944 | ||
1945 | end | |
1946 | ||
1947 | end) | |
1948 | ||
1949 | end | |
1950 | ||
1951 | end | |
1952 | ||
1953 | ||
1954 | ||
1955 | function ShootAnim(From, To) | |
1956 | ||
1957 | Shoot(From, To) | |
1958 | ||
1959 | AddInaccuracy(16) | |
1960 | ||
1961 | PlaySound(Sounds.Fire, false) | |
1962 | ||
1963 | for i = 0.33, 1, 0.33 do | |
1964 | ||
1965 | RAW.C0 = CA(MR(90+10*i), 0, MR(-65)) * CN(0.6, -0.9+0.5*i, 0) | |
1966 | ||
1967 | LAW.C0 = CA(MR(85+26*i), 0, MR(-40)) * CN(0.5, -0.5+0.1*i, 0) | |
1968 | ||
1969 | HW.C0 = CA(MR(-15*i), MR(5), MR(0)) * CN(0.4, 0, -1.2) | |
1970 | ||
1971 | wait() | |
1972 | ||
1973 | end | |
1974 | ||
1975 | for i = 0.2, 1, 0.2 do | |
1976 | ||
1977 | RAW.C0 = CA(MR(100+5*i), 0, MR(-65)) * CN(0.6, -0.4+0.15*i, 0) | |
1978 | ||
1979 | LAW.C0 = CA(MR(111+4*i), 0, MR(-40)) * CN(0.5, -0.4+0.05*i, 0) | |
1980 | ||
1981 | HW.C0 = CA(MR(-15-2*i), MR(5), MR(0)) * CN(0.4, 0, -1.2) | |
1982 | ||
1983 | wait() | |
1984 | ||
1985 | end | |
1986 | ||
1987 | for i = 0.5, 1, 0.5 do | |
1988 | ||
1989 | RAW.C0 = CA(MR(105+2*i), 0, MR(-65)) * CN(0.6, -0.25+0.03*i, 0) | |
1990 | ||
1991 | LAW.C0 = CA(MR(115+2*i), 0, MR(-40)) * CN(0.5, -0.35+0.02*i, 0) | |
1992 | ||
1993 | HW.C0 = CA(MR(-17), MR(5), MR(0)) * CN(0.4, 0, -1.2) | |
1994 | ||
1995 | wait() | |
1996 | ||
1997 | end | |
1998 | ||
1999 | for i = 0.2, 1, 0.2 do | |
2000 | ||
2001 | RAW.C0 = CA(MR(107-12*i), 0, MR(-65)) * CN(0.6, -0.22-0.68*i, 0) | |
2002 | ||
2003 | LAW.C0 = CA(MR(117-17*i), 0, MR(-40)) * CN(0.5, -0.33-0.02*i, 0) | |
2004 | ||
2005 | HW.C0 = CA(MR(-17+2*i), MR(5), MR(0)) * CN(0.4, 0, -1.2) | |
2006 | ||
2007 | wait() | |
2008 | ||
2009 | end | |
2010 | ||
2011 | for i = 0.33, 1, 0.33 do | |
2012 | ||
2013 | RAW.C0 = CA(MR(95-5*i), 0, MR(-65)) * CN(0.6, -0.9-0.1*i, 0) | |
2014 | ||
2015 | LAW.C0 = CA(MR(100-5*i), 0, MR(-40)) * CN(0.5+0.1*i, -0.35+0.1*i, 0) | |
2016 | ||
2017 | HW.C0 = CA(MR(-15+11*i), MR(5), MR(0)) * CN(0.4, 0, -1.2) | |
2018 | ||
2019 | PumpWeld.C1 = CN(0, 0, 0.1*i) | |
2020 | ||
2021 | wait() | |
2022 | ||
2023 | end | |
2024 | ||
2025 | for i = 0.33, 1, 0.33 do | |
2026 | ||
2027 | RAW.C0 = CA(MR(90-3*i), 0, MR(-65)) * CN(0.6, -1+0.05*i, 0) | |
2028 | ||
2029 | LAW.C0 = CA(MR(95-5*i), 0, MR(-40)) * CN(0.6+0.2*i, -0.25+0.35*i, 0) | |
2030 | ||
2031 | HW.C0 = CA(MR(-4+4*i), MR(5), MR(0)) * CN(0.4, 0, -1.2) | |
2032 | ||
2033 | PumpWeld.C1 = CN(0, 0, 0.1+0.6*i) | |
2034 | ||
2035 | Flip.C1 = CN(0, 0, 0.5*i) | |
2036 | ||
2037 | wait() | |
2038 | ||
2039 | end | |
2040 | ||
2041 | local sh = Shell(workspace) | |
2042 | ||
2043 | sh.Main.CanCollide = true | |
2044 | ||
2045 | sh.Back.CanCollide = true | |
2046 | ||
2047 | sh.Main.CFrame = Handle3.CFrame * CN(0.3, 0.2, 0) | |
2048 | ||
2049 | sh.Main.Velocity = (Handle3.CFrame * CA(0, MR(90), 0)).lookVector * 15 | |
2050 | ||
2051 | Notime(function() | |
2052 | ||
2053 | wait(MRA(100,180)/10) | |
2054 | ||
2055 | for i = 0, 1, 0.005 do | |
2056 | ||
2057 | sh.Main.Transparency = i | |
2058 | ||
2059 | sh.Back.Transparency = i | |
2060 | ||
2061 | wait() | |
2062 | ||
2063 | end | |
2064 | ||
2065 | sh.Model:remove() | |
2066 | ||
2067 | end) | |
2068 | ||
2069 | for i = 0.33, 1, 0.33 do | |
2070 | ||
2071 | RAW.C0 = CA(MR(87+3*i), 0, MR(-65)) * CN(0.6, -0.95+0.05*i, 0) | |
2072 | ||
2073 | LAW.C0 = CA(MR(90-5*i), 0, MR(-40)) * CN(0.8-0.3*i, 0.1-0.6*i, 0) | |
2074 | ||
2075 | HW.C0 = CA(0, MR(5), 0) * CN(0.4, 0, -1.2) | |
2076 | ||
2077 | PumpWeld.C1 = CN(0, 0, 0.7-0.7*i) | |
2078 | ||
2079 | Flip.C1 = CN(0, 0, 0.5-0.5*i) | |
2080 | ||
2081 | wait() | |
2082 | ||
2083 | end | |
2084 | ||
2085 | Normal() | |
2086 | ||
2087 | end | |
2088 | ||
2089 | ||
2090 | ||
2091 | function ShootFunc(From, To) | |
2092 | ||
2093 | local H, Pos = RayC(From, To, 10, EffectModel) | |
2094 | ||
2095 | local Can = true | |
2096 | ||
2097 | if H then | |
2098 | ||
2099 | if H:IsDescendantOf(Char) then | |
2100 | ||
2101 | Can = false | |
2102 | ||
2103 | end | |
2104 | ||
2105 | end | |
2106 | ||
2107 | if Can then | |
2108 | ||
2109 | Attacking = true | |
2110 | ||
2111 | Ammunition.Ammo = Ammunition.Ammo - 1 | |
2112 | ||
2113 | if Ammunition.Ammo < 0 then Ammunition.Ammo = 0 end | |
2114 | ||
2115 | ShootAnim(From, To) | |
2116 | ||
2117 | Attacking = false | |
2118 | ||
2119 | end | |
2120 | ||
2121 | end | |
2122 | ||
2123 | ||
2124 | ||
2125 | function SelectAnim() | |
2126 | ||
2127 | RAW.Part1 = Rarm | |
2128 | ||
2129 | for i = 0.25, 1, 0.25 do | |
2130 | ||
2131 | RAW.C0 = CA(MR(-10*i), 0, MR(2*i)) | |
2132 | ||
2133 | wait() | |
2134 | ||
2135 | end | |
2136 | ||
2137 | for i = 0.1, 1, 0.1 do | |
2138 | ||
2139 | RAW.C0 = CN(-0.15*i, 0, -0.45*i) * CA(MR(-10-115*i), 0, MR(2+8*i)) * CN(0, -0.4*i, 0) | |
2140 | ||
2141 | wait() | |
2142 | ||
2143 | end | |
2144 | ||
2145 | for i = 0.25, 1, 0.25 do | |
2146 | ||
2147 | RAW.C0 = CN(-0.15, 0, -0.45-0.05*i) * CA(MR(-125-15*i), 0, MR(10)) * CN(0, -0.4, 0) | |
2148 | ||
2149 | wait() | |
2150 | ||
2151 | end | |
2152 | ||
2153 | TW.Part1 = nil | |
2154 | ||
2155 | HW.Part1 = Handle | |
2156 | ||
2157 | for i = 0.25, 1, 0.25 do | |
2158 | ||
2159 | RAW.C0 = CN(-0.15+0.15*i, 0, -0.5+0.1*i) * CA(MR(-140+10*i), 0, MR(10+2*i)) * CN(0, -0.4+0.15*i, 0) | |
2160 | ||
2161 | HW.C0 = CA(MR(38+12*i), MR(-28-15*i), MR(-90-10*i)) * CN(0, -0.1*i, -3.8) | |
2162 | ||
2163 | wait() | |
2164 | ||
2165 | end | |
2166 | ||
2167 | Attach(FTorso) | |
2168 | ||
2169 | for i = 0.1, 1, 0.1 do | |
2170 | ||
2171 | RAW.C0 = CN(0, 0, -0.4+0.3*i) * CA(MR(-130+90*i), 0, MR(12+30*i)) * CN(0, -0.25+0.25*i, 0) | |
2172 | ||
2173 | HW.C0 = CA(MR(50+30*i), MR(-43-50*i), MR(-100-50*i)) * CN(0, -0.1-0.7*i, -3.8+0.7*i) | |
2174 | ||
2175 | FW.C0 = CA(0, MR(-15*i), 0) | |
2176 | ||
2177 | wait() | |
2178 | ||
2179 | end | |
2180 | ||
2181 | LAW.Part1 = Larm | |
2182 | ||
2183 | for i = 0.15, 1, 0.15 do | |
2184 | ||
2185 | RAW.C0 = CN(0, 0, -0.1+0.1*i) * CA(MR(-40+60*i), 0, MR(42+4*i)) | |
2186 | ||
2187 | LAW.C0 = CA(MR(10*i), 0, MR(-8*i)) * CN(0, -0.15*i, 0) | |
2188 | ||
2189 | FW.C0 = CA(0, MR(-15-20*i), 0) | |
2190 | ||
2191 | HW.C0 = CA(MR(80+50*i), MR(-93-57*i), MR(-150-30*i)) * CN(0, -0.8, -3.1+1*i) | |
2192 | ||
2193 | wait() | |
2194 | ||
2195 | end | |
2196 | ||
2197 | for i = 0.15, 1, 0.15 do | |
2198 | ||
2199 | RAW.C0 = CA(MR(20+58*i), 0, MR(46-60*i)) * CN(0.2*i, -0.35*i, 0) | |
2200 | ||
2201 | LAW.C0 = CA(MR(10+65*i), 0, MR(-8-32*i)) * CN(0.3*i, -0.15-0.25*i, 0) | |
2202 | ||
2203 | FW.C0 = CA(0, MR(-35-30*i), 0) | |
2204 | ||
2205 | HW.C0 = CA(MR(130+50*i), MR(-150-20*i), MR(-180)) * CN(0.25*i, -0.8+0.3*i, -2.1+0.9*i) | |
2206 | ||
2207 | wait() | |
2208 | ||
2209 | end | |
2210 | ||
2211 | for i = 0.2, 1, 0.2 do | |
2212 | ||
2213 | RAW.C0 = CA(MR(78+8*i), 0, MR(-14-41*i)) * CN(0.2+0.35*i, -0.35-0.55*i, 0) | |
2214 | ||
2215 | LAW.C0 = CA(MR(75+7*i), 0, MR(-40)) * CN(0.3+0.15*i, -0.4-0.06*i, 0) | |
2216 | ||
2217 | FW.C0 = CA(0, MR(-65-5*i), 0) | |
2218 | ||
2219 | HW.C0 = CA(MR(0), MR(-10+10*i), MR(0)) * CN(0.25+0.1*i, -0.5+0.4*i, -1.2) | |
2220 | ||
2221 | wait() | |
2222 | ||
2223 | end | |
2224 | ||
2225 | for i = 0.25, 1, 0.25 do | |
2226 | ||
2227 | RAW.C0 = CA(MR(86+4*i), 0, MR(-55-10*i)) * CN(0.55+0.05*i, -0.8-0.1*i, 0) | |
2228 | ||
2229 | LAW.C0 = CA(MR(82+3*i), 0, MR(-40)) * CN(0.45+0.05*i, -0.46-0.04*i, 0) | |
2230 | ||
2231 | FW.C0 = CA(0, MR(-70), 0) | |
2232 | ||
2233 | HW.C0 = CA(MR(0), MR(5*i), MR(0)) * CN(0.35+0.05*i, -0.1+0.1*i, -1.2) | |
2234 | ||
2235 | wait() | |
2236 | ||
2237 | end | |
2238 | ||
2239 | end | |
2240 | ||
2241 | ||
2242 | ||
2243 | function DeselAnim() | |
2244 | ||
2245 | for i = 0.25, 1, 0.25 do | |
2246 | ||
2247 | RAW.C0 = CA(MR(90-10*i), 0, MR(-65+10*i)) * CN(0.6-0.05*i, -0.9+0.35*i, 0) | |
2248 | ||
2249 | LAW.C0 = CA(MR(85-10*i), 0, MR(-40+4*i)) * CN(0.5-0.05*i, -0.5+0.04*i, 0) | |
2250 | ||
2251 | FW.C0 = CA(0, MR(-70+10*i), 0) | |
2252 | ||
2253 | HW.C0 = CA(MR(180-10*i), MR(-185+10*i), MR(180-10*i)) * CN(0.4-0.05*i, -0.1*i, -1.2) | |
2254 | ||
2255 | wait() | |
2256 | ||
2257 | end | |
2258 | ||
2259 | for i = 0.07, 1, 0.07 do | |
2260 | ||
2261 | RAW.C0 = CA(MR(80-80*i), 0, MR(-55+90*i)) * CN(0.55-0.35*i, -0.55+0.55*i, 0) | |
2262 | ||
2263 | LAW.C0 = CA(MR(75-70*i), 0, MR(-36+30*i)) * CN(0.45-0.35*i, -0.46+0.36*i, 0) | |
2264 | ||
2265 | FW.C0 = CA(0, MR(-60+40*i), 0) | |
2266 | ||
2267 | HW.C0 = CA(MR(170-70*i), MR(-175+70*i), MR(170-70*i)) * CN(0.35-0.35*i, -0.1-0.1*i, -1.2-1*i) | |
2268 | ||
2269 | wait() | |
2270 | ||
2271 | end | |
2272 | ||
2273 | for i = 0.25, 1, 0.25 do | |
2274 | ||
2275 | RAW.C0 = CN(-0.1*i, 0, -0.15*i) * CA(MR(-30*i), 0, MR(35+10*i)) * CN(0.2-0.2*i, 0, 0) | |
2276 | ||
2277 | LAW.C0 = CA(MR(5-5*i), 0, MR(-6+6*i)) * CN(0.1-0.1*i, -0.1+0.1*i, 0) | |
2278 | ||
2279 | FW.C0 = CA(0, MR(-20+15*i), 0) | |
2280 | ||
2281 | HW.C0 = CA(MR(100-20*i), MR(-105+15*i), MR(100-15*i)) * CN(0, -0.2, -2.2-0.3*i) | |
2282 | ||
2283 | wait() | |
2284 | ||
2285 | end | |
2286 | ||
2287 | LAW.Part1 = nil | |
2288 | ||
2289 | for i = 0.12, 1, 0.12 do | |
2290 | ||
2291 | RAW.C0 = CN(-0.1-0.05*i, 0, -0.15-0.3*i) * CA(MR(-30-100*i), 0, MR(45-30*i)) * CN(0, -0.3*i, 0) | |
2292 | ||
2293 | FW.C0 = CA(0, MR(-5+5*i), 0) | |
2294 | ||
2295 | HW.C0 = CA(MR(80-37*i), MR(-90+55*i), MR(85-135*i)) * CN(0, -0.2, -2.5-0.9*i) | |
2296 | ||
2297 | wait() | |
2298 | ||
2299 | end | |
2300 | ||
2301 | Attach(Torso) | |
2302 | ||
2303 | for i = 0.2, 1, 0.2 do | |
2304 | ||
2305 | RAW.C0 = CN(-0.15*i, 0, -0.45-0.05*i) * CA(MR(-130-10*i), 0, MR(15-5*i)) * CN(0, -0.3-0.1*i, 0) | |
2306 | ||
2307 | HW.C0 = CA(MR(43-5*i), MR(-35+7*i), MR(-50-40*i)) * CN(0, -0.2, -3.4-0.4*i) | |
2308 | ||
2309 | wait() | |
2310 | ||
2311 | end | |
2312 | ||
2313 | TW.Part1 = Handle | |
2314 | ||
2315 | HW.Part1 = nil | |
2316 | ||
2317 | for i = 0.25, 1, 0.25 do | |
2318 | ||
2319 | RAW.C0 = CN(-0.15+0.05*i, 0, -0.5+0.15*i) * CA(MR(-140+10*i), 0, MR(10-3*i)) * CN(0, -0.4+0.1*i, 0) | |
2320 | ||
2321 | wait() | |
2322 | ||
2323 | end | |
2324 | ||
2325 | for i = 0.15, 1, 0.15 do | |
2326 | ||
2327 | RAW.C0 = CN(-0.1+0.1*i, 0, -0.35+0.25*i) * CA(MR(-130+115*i), 0, MR(7-7*i)) * CN(0, -0.3+0.25*i, 0) | |
2328 | ||
2329 | wait() | |
2330 | ||
2331 | end | |
2332 | ||
2333 | for i = 0.33, 1, 0.33 do | |
2334 | ||
2335 | RAW.C0 = CN(0, 0, -0.1+0.1*i) * CA(MR(-15+15*i), 0, 0) * CN(0, -0.05+0.05*i, 0) | |
2336 | ||
2337 | wait() | |
2338 | ||
2339 | end | |
2340 | ||
2341 | Attach(Torso) | |
2342 | ||
2343 | TW.Part1 = Handle | |
2344 | ||
2345 | HW.Part1 = nil | |
2346 | ||
2347 | RAW.Part1 = nil | |
2348 | ||
2349 | LAW.Part1 = nil | |
2350 | ||
2351 | end | |
2352 | ||
2353 | ||
2354 | ||
2355 | function ReloadFunc(once) | |
2356 | ||
2357 | if Ammunition.Ammo < Ammunition.MaxAmmo and Selected and not Reloading and not Attacking and Ammunition.Ammoleft > 0 then | |
2358 | ||
2359 | if not once then | |
2360 | ||
2361 | ReloadHold = true | |
2362 | ||
2363 | end | |
2364 | ||
2365 | ReloadStart(once) | |
2366 | ||
2367 | end | |
2368 | ||
2369 | end | |
2370 | ||
2371 | ||
2372 | ||
2373 | function onSelected(mouse) | |
2374 | ||
2375 | SelectAnim() | |
2376 | ||
2377 | mouse.Icon = Icon | |
2378 | ||
2379 | Selected = true | |
2380 | ||
2381 | Notime(function() | |
2382 | ||
2383 | for _, g in pairs(AccuracyGuis) do | |
2384 | ||
2385 | g.Gui.Transparency = 0.2 | |
2386 | ||
2387 | end | |
2388 | ||
2389 | while Selected do | |
2390 | ||
2391 | pcall(function() | |
2392 | ||
2393 | for _, g in pairs(AccuracyGuis) do | |
2394 | ||
2395 | g.Gui.Position = UD(0, mouse.X+g.props.offset.x+g.props.unit.x*(Accuracy.Momentum*11), 0, mouse.Y+g.props.offset.y+g.props.unit.y*(Accuracy.Momentum*11)) | |
2396 | ||
2397 | end | |
2398 | ||
2399 | end) | |
2400 | ||
2401 | wait() | |
2402 | ||
2403 | end | |
2404 | ||
2405 | end) | |
2406 | ||
2407 | mouse.Button1Down:connect(function() | |
2408 | ||
2409 | if Selected and not Attacking and not Swinging then | |
2410 | ||
2411 | if Reloading then | |
2412 | ||
2413 | ReloadHold = false | |
2414 | ||
2415 | else | |
2416 | ||
2417 | if Ammunition.Ammo < 1 then | |
2418 | ||
2419 | ReloadFunc(true) | |
2420 | ||
2421 | else | |
2422 | ||
2423 | ShootFunc((Pipe1.CFrame * CN(0, 0, 1.65)).p, mouse.Hit.p) | |
2424 | ||
2425 | end | |
2426 | ||
2427 | if Ammunition.Ammo < 1 and Ammunition.Ammoleft < 1 then | |
2428 | ||
2429 | PlaySound(Sounds.Out) | |
2430 | ||
2431 | end | |
2432 | ||
2433 | end | |
2434 | ||
2435 | end | |
2436 | ||
2437 | end) | |
2438 | ||
2439 | mouse.KeyDown:connect(function(key) | |
2440 | ||
2441 | key = key:lower() | |
2442 | ||
2443 | if Selected and not Attacking and not Swinging then | |
2444 | ||
2445 | if key == "r" then | |
2446 | ||
2447 | ReloadFunc() | |
2448 | ||
2449 | elseif key == "e" then | |
2450 | ||
2451 | Swing() | |
2452 | ||
2453 | end | |
2454 | ||
2455 | end | |
2456 | ||
2457 | end) | |
2458 | ||
2459 | mouse.KeyUp:connect(function(key) | |
2460 | ||
2461 | key = key:lower() | |
2462 | ||
2463 | if key == "r" then | |
2464 | ||
2465 | ReloadHold = false | |
2466 | ||
2467 | end | |
2468 | ||
2469 | end) | |
2470 | ||
2471 | end | |
2472 | ||
2473 | ||
2474 | ||
2475 | function onDeselected(mouse) | |
2476 | ||
2477 | Selected = false | |
2478 | ||
2479 | for _, g in pairs(AccuracyGuis) do | |
2480 | ||
2481 | g.Gui.Transparency = 1 | |
2482 | ||
2483 | end | |
2484 | ||
2485 | DeselAnim() | |
2486 | ||
2487 | end | |
2488 | ||
2489 | ||
2490 | ||
2491 | bin.Selected:connect(onSelected) | |
2492 | ||
2493 | bin.Deselected:connect(onDeselected) |