View difference between Paste ID: smcbKddP and UQCa8KGy
SHOW: | | - or go back to the newest paste.
1
print("IM TRYING")
2
wait(0.25);
3
 
4
 
5
_clear=function()
6
        local c={char;bag;gui;};
7
        for i=1,#c do
8
                local c=c[i]:children();
9
                for i=1,#c do
10
                        if(c[i].Name==name)then
11
                                c[i].Parent=nil;
12
                        end;
13
                end;
14
        end;
15
        local n=name..user.Name;
16
        local c=workspace:children();
17
        for i=1,#c do
18
                if(c[i].Name==n)then
19
                        c[i].Parent=nil;
20
                end;
21
        end;
22
end;
23
 
24
_valid_key=function(object,key)
25
        return object[key],key;
26
end;
27
 
28
_new=function(class)
29
        return function(props)
30
                if(type(list_base_props)=='table')then
31
                        for i,v in next,list_base_props do
32
                                if(props[i]==nil)then
33
                                        props[i]=v;
34
                                end;
35
                        end;
36
                end;
37
               
38
                local object=class;
39
               
40
                if(type(class)=='string')then
41
                        object=Instance.new(class:sub(1,1):upper()..class:sub(2));
42
                end;
43
               
44
                local parent=props[1];
45
                        props[1]=nil;
46
               
47
                for i,v in next,props do
48
                        local load,res,key=pcall(_valid_key,object,i:sub(1,1):upper()..i:sub(2));
49
                        if(not load)then
50
                                load,res,key=pcall(_valid_key,object,i);
51
                        end;
52
                       
53
                        if(key)then
54
                                t=type(res);
55
                                s=tostring(res);
56
                                if(t=='userdata'and s=='Signal '..key)then
57
                                        if(type(v)=='table')then
58
                                                for i=1,#v do
59
                                                        res:connect(v[i]);
60
                                                end;
61
                                        else
62
                                                res:connect(v);
63
                                        end;
64
                                else
65
                                        object[key]=v;
66
                                end;
67
                        end;
68
                end;
69
               
70
                if(parent)then
71
                        object.Parent=parent;
72
                end;
73
               
74
                return object;
75
        end;
76
end;
77
 
78
_RGB=function(r,g,b)
79
        return Color3.new(r/255,g/255,b/255);
80
end;
81
 
82
_copy=function(o)
83
        local def=o.archivable;
84
        o.archivable=true;
85
        local c=o:clone();
86
        o.archivable=def;
87
        return c;
88
end;
89
 
90
_hum=function(char)
91
        local hum=char:findFirstChild'Humanoid';
92
        if(not hum or hum.className~='Humanoid')then
93
                local c=char:children();
94
                for i=1,#c do
95
                        if(c[i].className=='Humanoid')then
96
                                return c[i];
97
                        end;
98
                end;
99
        else
100
                return hum;
101
        end;
102
end;
103
 
104
_hum_tag=function(hum)
105
        local c=hum:findFirstChild'creator'or Instance.new('ObjectValue',hum);
106
                c.Name='creator';
107
                c.Value=user;
108
        if(hum.Health==0 and not hum:findFirstChild'killed')then
109
                Instance.new('BoolValue',hum).Name='killed';
110
                bullets.clip=bullets.clip+10;
111
        end;
112
end;
113
 
114
_hum_dam=function(hum,dam,percent)
115
        hum.Health=hum.Health-(percent and hum.MaxHealth*(dam*0.01)or dam);
116
        if(hum.Health<=hum.MaxHealth*0.1)then
117
                _hum_tag(hum);
118
        end;
119
end;
120
 
121
_ray=function(v0,v1,i)
122
        local mag=(v0-v1).magnitude;
123
        local ray=Ray.new(v0,(v1-v0).unit*(mag>999 and 999 or mag));
124
       
125
        return(type(i)=='table'and workspace.FindPartOnRayWithIgnoreList or workspace.FindPartOnRay)(workspace,ray,i);
126
end;
127
 
128
_must=function(v0,v1,i)
129
        local hit,pos=_ray(v0,v1,i);
130
        return not hit and mouse.target or hit,pos;
131
end;
132
 
133
_cframe=function(x,y,z,r0,r1,r2)
134
        return CFrame.Angles(
135
                math.rad(r0 or 0),
136
                math.rad(r1 or 0),
137
                math.rad(r2 or 0)
138
        )*CFrame.new(x,y,z);
139
end;
140
 
141
_update=function()
142
        if(bool_active and not screen.Parent)then
143
                screen.Parent=gui;
144
        elseif(not bool_active and screen.Parent)then
145
                screen.Parent=nil;
146
        end;
147
end;
148
 
149
_light=function(v0,v1)
150
        local mag=(v0-v1).magnitude;
151
        local len=math.random(2,7);
152
                len=len>mag/2 and mag/2 or len;
153
       
154
        --local light=_new'part'{
155
        --        cFrame=CFrame.new(v0,v1);
156
        --        size=Vector3.new(1,1,1);
157
        --        color=_RGB(255,255,0);
158
        --        anchored=true;
159
        --        inv;
160
        --};
161
                _new'blockMesh'{
162
                        scale=Vector3.new(0.2,0.2,len);
163
                        offset=Vector3.new(0,0,-len/2);
164
                        light;
165
                };
166
               
167
        local bb=_new'billboardGui'{
168
                size=UDim2.new(2,0,2,0);
169
                adornee=light;
170
                light;
171
        };
172
                _new'imageLabel'{
173
                        image=url:format(109101526);
174
                        backgroundTransparency=1;
175
                        size=UDim2.new(1,0,1,0);
176
                        bb;
177
                };
178
               
179
       -- _rem(light,0.15);
180
end;
181
 
182
_rem=function(object,del)
183
        if(del)then
184
                delay(del,function()
185
                        if(object.Parent)then
186
                                object.Parent=nil;
187
                        end;
188
                end);
189
        else
190
                pcall(function()
191
                        if(object.Parent)then
192
                                object.Parent=nil;
193
                        end;
194
                end);
195
        end;
196
end;
197
 
198
_blood=function(pos,count)
199
        for i=1,count do
200
                local p=_new'part'{
201
                        rotVelocity=Vector3.new(math.random(),math.random(),math.random())*50;
202
                        position=pos+Vector3.new(math.random(),math.random(),math.random());
203
                        velocity=Vector3.new(math.random(),math.random(),math.random())*50;
204
                        size=Vector3.new(math.random(),math.random(),math.random())/3;
205
                        color=_RGB(255,0,0);
206
                        transparency=0.5;
207
                        canCollide=true;
208
                        bottomSurface=0;
209
                        topSurface=0;
210
                        formFactor=3;
211
                        locked=true;
212
                        inv;
213
                };
214
                delay(5,function()
215
                        p.Parent=nil;
216
                end);
217
        end;
218
end;
219
 
220
_make_hue=function()
221
        h_hue=_new'part'{
222
                size=Vector3.new(0.25,1.8,0.35);
223
                color=_RGB(100,100,100);
224
                formFactor=3;
225
                name='hue';
226
                handle;
227
        };
228
        hh_weld=_new'weld'{
229
                c1=_cframe(0,0.5,0);
230
                part0=handle;
231
                part1=h_hue;
232
                handle;
233
        };
234
end;
235
 
236
_shot=function(v0,v1)
237
        if(not time_left)then
238
                time_left=0;
239
        end;
240
        if(time_left>time())then
241
                return nil;
242
        else
243
                time_left=time()+math.random(1,10)/100;
244
        end;
245
       
246
        if(bullets.current<1)then
247
                local tick_sound=head:findFirstChild'tick_sound'or _new'sound'{
248
                        soundId='rbxasset://sounds/SWITCH3.wav';
249
                        name='tick_sound';
250
                        volume=0.2;
251
                        pitch=2;
252
                        head;
253
                };
254
                tick_sound:play();
255
                if(bullets.clip>0)then
256
                        time_left=time()+2;
257
                        h_hue:breakJoints();
258
                        h_hue.CanCollide=true;
259
                        h_hue.Velocity=(h_hue.CFrame*CFrame.new(0,5,0)).lookVector*10;
260
                        _rem(h_hue,10);
261
                        delay(1.9,function()
262
                                _make_hue();
263
                                local got=(bullets.clip>bullets.maximum and
264
                                        bullets.maximum or
265
                                        bullets.clip)-bullets.current;
266
 
267
                                bullets.clip=bullets.clip-got;
268
                                bullets.current=bullets.current+got;
269
                        end);
270
                end;
271
                return nil;
272
        else
273
                bullets.current=bullets.current-1;
274
               
275
                h_weld.C1=_cframe(0,0.75,0,
276
                                        -math.random(1000,1100)/10,180,0);
277
                d_weld.C1=_cframe(0,-0.25,0.3);
278
               
279
                lightstuff.Visible=true;
280
                delay(0.1,function()
281
                        lightstuff.Visible=false;
282
                end);
283
               
284
                _rem(_new'part'{
285
                        velocity=CFrame.new(drag.Position,(drag.CFrame*CFrame.new(-4,-5,0)).p).lookVector*10;
286
                        cFrame=drag.CFrame*CFrame.new(-0.5,0,0);
287
                        size=Vector3.new(0.1,0.1,0.4);
288
                        color=_RGB(200,200,0);
289
                        material='Slate';
290
                        canCollide=true;
291
                        formFactor=3;
292
                        inv;
293
                },5);
294
 
295
                delay(0.1,function()
296
                        d_weld.C1=_cframe(0,-0.25,0);
297
                        if(bool_active)then
298
                                h_weld.C1=h_weld_cf_active;
299
                        end;
300
                end)
301
        end;
302
       
303
        local hit,pos=_must(v0,v1,char);
304
       
305
        shot_sound:play();
306
       
307
 
308
                                _rem(_new'part'{
309
                                        cFrame=CFrame.new(v0,pos)*CFrame.new(0,0,-(v0-pos).magnitude*0.5);
310
                                        size=Vector3.new(0.1,0.1,(v0-pos).magnitude);
311
                                        color=_RGB(255,255,0);
312
                                        transparency=0.6;
313
                                                                                reflectance=0.5;
314
                                        canCollide=false;
315
                                        bottomSurface=0;
316
                                        anchored=true;
317
                                        formFactor=3;
318
                                        topSurface=0;
319
                                        inv;
320
                                },.15);
321
        _light(v0,v1);
322
       
323
        if(not hit)then return nil;end;
324
       
325
        if(hit.Parent.className=='Hat')then
326
                hit:breakJoints();
327
                hit.CanCollide=true;
328
                hit.Velocity=CFrame.new(v0,pos).lookVector*math.random(30,50);
329
                hit.RotVelocity=Vector3.new(math.random(1,90),math.random(1,90),math.random(1,90));
330
        else
331
                local hum=_hum(hit.Parent);
332
                if(not hum)then
333
                        if(hit.Anchored==false and hit.Size.magnitude<4)then
334
                                hit:breakJoints();
335
                                hit.CanCollide=true;
336
                        end;
337
                else
338
                        _hum_dam(hum,math.random(4,6));
339
                        _blood(pos,math.random(3,6));
340
                        hit.RotVelocity=Vector3.new(math.random(1,90),math.random(1,90),math.random(1,90))/6;
341
                        if(hit.Name=='Head')then
342
                                hum.Health=0;
343
                                _blood(pos,math.random(3,6));
344
                                delay(0.001,function()
345
                                        _new(workspace:FindFirstChild'head_shot'or'sound'){
346
                                                pitch=math.random(70,100)*0.01;
347
                                                soundId=url:format(1876552);
348
                                                name='head_shot';
349
                                                workspace;
350
                                        }:play();
351
                                end);
352
                                _hum_tag(hum);
353
                                _rem(_new'part'{
354
                                        cFrame=CFrame.new(v0,pos)*CFrame.new(0,0,-(v0-pos).magnitude*0.5);
355
                                        size=Vector3.new(0.1,0.1,(v0-pos).magnitude);
356
                                        color=torso.Color;
357
                                        transparency=0.5;
358
                                        canCollide=false;
359
                                        bottomSurface=0;
360
                                        anchored=true;
361
                                        formFactor=3;
362
                                        topSurface=0;
363
                                        inv;
364
                                },30);
365
                                hit.Parent=nil;
366
                                for b=0,1 do
367
                                        for a=0,1 do
368
                                                for i=0,1 do
369
                                                        _rem(_new'part'{
370
                                                                velocity=CFrame.new(v0,pos).lookVector*20;
371
                                                                cFrame=hit.CFrame*CFrame.new(i,-b,a);
372
                                                                size=Vector3.new(0.5,0.5,0.5);
373
                                                                color=_RGB(255,255,255);
374
                                                                bottomSurface=0;
375
                                                                canCollide=true;
376
                                                                transparency=0;
377
                                                                formFactor=3;
378
                                                                topSurface=0;
379
                                                                hum;
380
                                                        },30);
381
                                                end;
382
                                        end;
383
                                end;
384
                        end;
385
                end;
386
        end;
387
end;
388
 
389
 
390
 
391
_cf_select=function(mouse)
392
        mouse.Icon=url:format(109111387);--108999296
393
        bool_active=true;
394
       
395
        local arm=char:findFirstChild'Right Arm';
396
        local weld=torso:findFirstChild'Right Shoulder';
397
        if(arm and weld)then
398
                h_weld.Part0=arm;
399
                h_weld.C1=h_weld_cf_active;
400
               
401
                weld.Part1=nil;
402
                weld.Part0=nil;
403
               
404
                weld=_new(torso:findFirstChild'right_arml'or'weld'){
405
                        name='right_arml';
406
                        part0=torso;
407
                        part1=arm;
408
                        torso;
409
                };
410
               
411
                arml=(arml or 0)+1;
412
                local alv=arml;
413
                local gyro=torso:findFirstChild'p_gyro'or Instance.new('BodyGyro',torso);
414
                        gyro.maxTorque=Vector3.new(5e5,5e5,5e5);
415
                        gyro.P=30000;
416
                        gyro.D=1000;
417
                        gyro.Name='p_gyro';
418
                repeat
419
                        local pos=mouse.hit.p;
420
                        local val,valp,p0,p1,p2,hitpos,cj,c0,c1;
421
                       
422
                        val=-math.pi*0.5;
423
                        valp=val*-1;
424
                        p0=torso.CFrame;
425
                        p0=p0+((p0*CFrame.Angles(valp,0,0)).lookVector*0.5)+(p0*CFrame.Angles(0,val,0)).lookVector;
426
                        p1=p0+((p0.p-pos).unit*-2);
427
                        p2=CFrame.new((p0.p+p1.p)/2,p0.p)*CFrame.Angles(val,val,0);
428
                        hitpos=torso.Position;
429
                        cj=CFrame.new(hitpos);
430
                        c0=torso.CFrame:inverse()*cj;
431
                        c1=p2:inverse()*cj;
432
                        weld.C0=c0;
433
                        weld.C1=c1;
434
                       
435
                        gyro.cframe=CFrame.new(torso.Position,Vector3.new(pos.X,torso.Position.Y,pos.Z));
436
                       
437
                        wait(0.001);
438
                until arml~=alv;
439
                gyro.Parent=nil;
440
        end;
441
end;
442
 
443
_cf_deselect=function()
444
        bool_active=false;
445
        arml=(arml or 0)+1;
446
        loop_shot=(loop_shot or 0)+1;
447
               
448
        h_weld.Part0=torso;
449
        h_weld.C1=h_weld_cf_inactive;
450
       
451
        local weld=torso:findFirstChild'right_arml';
452
        if(weld)then
453
                weld.Part1=nil;
454
                weld.Part0=nil;
455
        end;
456
        local arm=char:findFirstChild'Right Arm';
457
        local weld=torso:findFirstChild'Right Shoulder';
458
        if(arm and weld)then
459
                weld.Part0=torso;
460
                weld.Part1=arm;
461
        end;
462
end;
463
 
464
_cf_mouse=function(event,fun)
465
        mouse[event:sub(1,1):upper()..event:sub(2)]:connect(function(...)
466
                if(bool_active)then
467
                        fun(...);
468
                end;
469
        end);
470
end;
471
 
472
 
473
do
474
        local main=getfenv(0);
475
        local c=game:children();
476
        local check=function(v)
477
                if(v.className~=''and v.className~='Instance'and game:service(v.className))then
478
                        main[v.className:sub(1,1):lower()..v.className:sub(2)]=v;
479
                end;
480
        end;
481
        for i=1,#c do
482
                pcall(check,c[i]);
483
        end;
484
end;
485
 
486
 
487
bullets={
488
        maximum=51111111111111111111111111110;
489
        current=511111111111111111111111111111110;
490
        clip=501111111111111111111111111111111*4;
491
};
492
 
493
list_base_props={
494
        backgroundColor3=_RGB(0,0,0);
495
        textColor3=_RGB(200,200,200);
496
        borderSizePixel=0;
497
        color=_RGB(0,0,0);
498
        archivable=false;
499
        canCollide=false;
500
        bottomSurface=0;
501
        topSurface=0;
502
        formFactor=0;
503
        locked=true;
504
};
505
 
506
 
507
 
508
user=players.localPlayer;
509
mouse=user:getMouse();
510
char=user.Character;
511
gui=user.PlayerGui;
512
bag=user.Backpack;
513
torso=char.Torso;
514
head=char.Head;
515
hum=_hum(char);
516
 
517
url='rbxassetid://%d';
518
name='dev-uzi';
519
 
520
h_weld_cf_inactive=_cframe(0.35,0.5,0.5,
521
                                                        0,90,-70);
522
h_weld_cf_active=_cframe(0,0.75,0,
523
                                                -110,180,0);
524
 
525
assert(hum,'humanoid is not found');
526
 
527
 
528
 
529
_clear();
530
 
531
 
532
_cf_mouse('button1Down',function()
533
        loop_shot=(loop_shot or 0)+1;
534
        local vers=loop_shot;
535
        local step=runService.Stepped;
536
        repeat
537
                _shot((tube.CFrame*CFrame.new(0,0,tube.Size.Z*0.5)).p,mouse.hit.p);
538
                step:wait();--wait(0.001);
539
        until vers~=loop_shot;
540
end);
541
 
542
_cf_mouse('button1Up',function()
543
        loop_shot=(loop_shot or 0)+1;
544
end);
545
 
546
_cf_mouse('move',function()
547
        cross_f.Position=UDim2.new(0,mouse.X-11,0,mouse.Y-11);
548
end);
549
 
550
_cf_mouse('keyDown',function(k)
551
        if(k=='r')then
552
                if(bullets.clip>0 and time_left<=time())then
553
                        local got=(bullets.clip>bullets.maximum and
554
                                bullets.maximum or
555
                                bullets.clip)-bullets.current;
556
 
557
                        bullets.clip=bullets.clip-got;
558
                        bullets.current=bullets.current+got;
559
                        if(got~=0)then
560
                                time_left=time()+2;
561
                        end;
562
                end;
563
        end;
564
end);
565
 
566
 
567
screen=_new'screenGui'{
568
        name=name;
569
};
570
 
571
cross_f=_new'frame'{
572
        size=UDim2.new(0,21,0,21);
573
        backgroundTransparency=1;
574
        screen;
575
};
576
 
577
for i=0,1 do
578
        _new'frame'{
579
                position=UDim2.new(0,13*i,0,11);
580
                size=UDim2.new(0,10,0,1);
581
                cross_f;
582
        };
583
end;
584
 
585
for i=0,1 do
586
        _new'frame'{
587
                position=UDim2.new(0,11,0,13*i);
588
                size=UDim2.new(0,1,0,10);
589
                cross_f;
590
        };
591
end;
592
 
593
 
594
 
595
shot_sound=_new(head:findFirstChild'2920959'or'sound'){
596
        soundId=url:format(2920959);
597
        pitch=1.4;
598
        head;
599
};
600
if(shot_sound.Name~='2920959')then
601
        shot_sound.Name='2920959';
602
        shot_sound:play();
603
end;
604
 
605
bin=_new'hopperBin'{
606
        deselected=_cf_deselect;
607
        selected=_cf_select;
608
        name=name;
609
        bag;
610
};
611
 
612
inv=_new'model'{
613
        name=name;
614
        char;
615
};
616
 
617
handle=_new'part'{
618
        size=Vector3.new(0.3,1.3,0.4);
619
        color=_RGB(140,140,140);
620
        name='handle';
621
        formFactor=3;
622
        inv;
623
        touched=function(hit)
624
                if(hit.Parent.className=='Model')then
625
                        local hum=_hum(hit.Parent);
626
                        if(hum~=nil)then
627
                                _hum_dam(hum,handle.Velocity.magnitude);
628
                        end;
629
                end;
630
        end;
631
};
632
        h_weld=_new'weld'{
633
                c1=h_weld_cf_inactive;
634
                part1=handle;
635
                part0=torso;
636
                handle;
637
        };
638
                _make_hue();
639
               
640
                h_part=_new'part'{
641
                        size=Vector3.new(0.4,0.4,1.4);
642
                        color=_RGB(140,140,140);
643
                        name='handle';
644
                        formFactor=3;
645
                        handle;
646
                };
647
                hp_weld=_new'weld'{
648
                        c1=_cframe(0,-1.3/2,-0.3,
649
                                                20,0,0);
650
                        part0=handle;
651
                        part1=h_part;
652
                        handle;
653
                };
654
               
655
                drag=_new'part'{
656
                        size=Vector3.new(0.5,0.45,1.5);
657
                        color=_RGB(100,100,100);
658
                        name='handle';
659
                        formFactor=3;
660
                        handle;
661
                };
662
                d_weld=_new'weld'{
663
                        c1=_cframe(0,-0.25,0);
664
                        part0=h_part;
665
                        part1=drag;
666
                        handle;
667
                };
668
               
669
                tube=_new'part'{
670
                        size=Vector3.new(0.2,0.2,1.5);
671
                        color=_RGB(0,0,0);
672
                        name='handle';
673
                        formFactor=3;
674
                        handle;
675
                };
676
                t_weld=_new'weld'{
677
                        c1=_cframe(0,-0.3,-0.1);
678
                        part0=h_part;
679
                        part1=tube;
680
                        handle;
681
                };
682
 
683
bullets_label=_new'textLabel'{
684
        textStrokeColor3=_RGB(0,0,0);
685
        textColor3=_RGB(200,200,200);
686
        textStrokeTransparency=0;
687
        backgroundTransparency=1;
688
        fontSize=5;
689
        screen;
690
};
691
 
692
lightstuff=_new'frame'{
693
        backgroundColor3=_RGB(255,255,255);
694
        position=UDim2.new(0,0,0,-1);
695
        backgroundTransparency=0.5;
696
        size=UDim2.new(1,0,1,1);
697
        borderSizePixel=0;
698
        visible=false;
699
        screen;
700
};
701
 
702
coroutine.wrap(function()
703
        local red,white,green;
704
        repeat
705
                if(screen.Parent)then
706
                        if(not green and bullets.current==bullets.maximum)then
707
                                green=true;
708
                                bullets_label.TextColor3=_RGB(0,200,0);
709
                        elseif(not red and bullets.current==0)then
710
                                red=true;
711
                                bullets_label.TextColor3=_RGB(200,0,0);
712
                        elseif((red or green)and bullets.current~=0 and bullets.current~=bullets.maximum)then
713
                                bullets_label.TextColor3=_RGB(200,200,200);
714
                                green=false;
715
                                red=false;
716
                        end;
717
                        bullets_label.Text=('Bullets: %d/%d'):format(bullets.current,bullets.clip);
718
                        bullets_label.Size=UDim2.new(0,bullets_label.TextBounds.X,0,bullets_label.TextBounds.Y);
719
                        bullets_label.Position=UDim2.new(1,-bullets_label.TextBounds.X-6,1,-bullets_label.TextBounds.Y-6);
720
                end;
721
                wait(0.001);
722
        until nil;
723
end)();
724
 
725
 
726
_G.dev_pistol_version=(_G.dev_pistol_version or 0)+1;
727
local vers=_G.dev_pistol_version;
728
repeat _update();wait(0.001);until _G.dev_pistol_version~=vers or hum.Health==0;
729
if(hum.Health==0)then
730
        _clear();
731
end;