View difference between Paste ID: FFfcY6Xs and UNpMxWbA
SHOW: | | - or go back to the newest paste.
1
-- Gaster <3
2
-- Can You Give Me Some Money For A Taxi?
3
4
--SHIROBAKO made by mugex--
5
6
7
8
9
Player = game.Players.LocalPlayer
10
11
Char = Player.Character
12
13
Torso = Char.Torso
14
15
Head = Char.Head
16
17
Arms = {Char:FindFirstChild'Right Arm', Char:FindFirstChild'Left Arm'}
18
19
Shoulders = {Torso:FindFirstChild'Right Shoulder', Torso:FindFirstChild'Left Shoulder'}
20
21
Legs = {Char:FindFirstChild'Right Leg', Char:FindFirstChild'Left Leg'}
22
23
HumRoot = Char:FindFirstChild'HumanoidRootPart'
24
25
HumRootJ = HumRoot['RootJoint']
26
27
Humanoid = Char:FindFirstChild'Humanoid'
28
29
30
31
32
local s = Workspace:FindFirstChild('shirobako_script: '..Player.Name,true)
33
34
if s then
35
36
        local f = s:FindFirstChild'stop'
37
38
        if f then
39
40
                f:Invoke()
41
42
        end
43
44
end
45
46
s=nil
47
48
49
50
51
Debris = game:service'Debris'
52
53
RS = game:service'RunService'
54
55
Chatserv = game:service'Chat'
56
57
Insertserv = game:service'InsertService'
58
59
60
61
62
Neck = Torso:FindFirstChild'Neck'
63
64
65
66
67
pcall(function() Char.Shirobako:Destroy() end)
68
69
Main = Instance.new("Model",Char)
70
71
Main.Name = "Shirobako"
72
73
script.Parent=Main
74
75
76
77
78
cfn=CFrame.new
79
80
ang = function(x,y,z) return CFrame.Angles(x or 0,y or 0,z or 0)end
81
82
m={tau=math.pi*2}
83
84
v3n=Vector3.new
85
86
md,mr,PI=math.rad, math.random, math.pi
87
88
bcol=BrickColor.new
89
90
91
92
93
function l(a1,x,y,z,rx,ry,rz)
94
95
    local cf
96
97
    if tostring(a1):find(',') == nil then
98
99
        cf=a1.CFrame
100
101
    else cf=a1 end
102
103
    return cf*CFrame.new(x or 0,y or 0,z or 0)*CFrame.Angles(
104
105
                        rx or 0,ry or 0,yz or 0)
106
107
end
108
109
110
111
112
New = function(what)
113
114
    return function(bar)
115
116
        local obj=Instance.new(what)
117
118
        for arg,val in pairs(bar) do
119
120
            if arg == "_P" then
121
122
                obj.Parent = val
123
124
            else
125
126
                                if pcall(function()return obj[arg] end) then
127
128
                    obj[arg]=val
129
130
                end
131
132
            end
133
134
        end
135
136
        return obj
137
138
    end
139
140
end
141
142
143
144
145
Edit = function(what)
146
147
        return function(args)
148
149
                for _,obj in next,what do
150
151
                        for arg,val in next,args do
152
153
                                if pcall(function()return obj[arg]end) then
154
155
                                        obj[arg]=val
156
157
                                end
158
159
                        end
160
161
                end
162
163
        end
164
165
end
166
167
168
169
170
_1=nil
171
172
set_material = nil
173
174
set_color = nil
175
176
set_parent = nil
177
178
Part = function(x,y,z,col,tr)
179
180
        local p = New"Part"{
181
182
                _P=set_parent or Main;
183
184
                BrickColor = bcol(col or set_color or "White");
185
186
                CanCollide = false;
187
188
                Transparency = tr or 0;
189
190
                Size = Vector3.new(x or 0,y or 0,z or 0);
191
192
                Material = set_material or 'SmoothPlastic';
193
194
        }
195
196
        for _,sur in next,Enum.NormalId:GetEnumItems() do
197
198
                p[sur.Name..'Surface'] = 0
199
200
        end
201
202
        _1 = p
203
204
        return p
205
206
end
207
208
Wedge = function(x,y,z,col,tr)
209
210
        local p = New"WedgePart"{
211
212
                _P=Main;
213
214
                BrickColor = bcol(col or "White");
215
216
                CanCollide = false;
217
218
                Transparency = tr or 0;
219
220
                Size = Vector3.new(x or 0,y or 0,z or 0);
221
222
                Material = set_material or 'SmoothPlastic';
223
224
        }
225
226
        for _,sur in next,Enum.NormalId:GetEnumItems() do
227
228
                p[sur.Name..'Surface'] = 0
229
230
        end
231
232
        _1 = p
233
234
        return p
235
236
end
237
238
Weld = function(part0,part1,c0,c1,...) --over-engineered welding function which accepts many things
239
240
        local ar = {...}
241
242
        local cframe0,cframe1
243
244
        local function checkf()local res=true
245
246
                for i,v in pairs(ar)do
247
248
                        if type(v) ~= 'number' then
249
250
                                res=false
251
252
                        end
253
254
                end
255
256
                return res
257
258
        end
259
260
        if type(c0) == 'table' then
261
262
                cframe0 = CFrame.new(c0[1] or 0, c0[2] or 0, c0[3] or 0) * CFrame.Angles(
263
264
                        c0[4] or 0, c0[5] or 0, c0[6] or 0)
265
266
        elseif type(c0) == 'userdata' then
267
268
                cframe0 = c0
269
270
        elseif type(c0) == 'number' and checkf() then
271
272
                cframe0 = CFrame.new(c0 or 0,c1 or 0,ar[1] or 0) * CFrame.Angles(ar[2] or 0, ar[3] or 0, ar[4] or 0)
273
274
        end
275
276
        if type(c1) == 'table' then
277
278
                cframe1 = CFrame.new(c1[1] or 0, c1[2] or 0, c1[3] or 0) * CFrame.Angles(
279
280
                        c1[4] or 0, c1[5] or 0, c1[6] or 0)
281
282
        elseif type(c1) == 'userdata' then
283
284
                cframe1 = c1
285
286
        elseif type(c1) == 'number' and (not c0 or (c0 and type(c0) == 'table')) then
287
288
                cframe1 = CFrame.new(c1 or 0, ar[1] or 0, ar[2] or 0) * CFrame.Angles(ar[3] or 0, ar[4] or 0, ar[5] or 0)
289
290
        end
291
292
        for i,v in pairs(ar)do
293
294
                if type(v) == 'table' then
295
296
                        cframe1 = CFrame.new(v[1] or 0, v[2] or 0, v[3] or 0) * CFrame.new(v[4] or 0, v[5] or 0, v[6] or 0)
297
298
                elseif type(v) == 'userdata' then
299
300
                        cframe1 = v
301
302
                end
303
304
        end
305
306
                        
307
308
        cframe0,cframe1 = cframe1,cframe0
309
310
        part0.Position=part1.Position
311
312
        local weld = Instance.new("Motor")
313
314
        weld.Part0 = part0
315
316
        weld.Part1 = part1
317
318
        weld.C0 = cframe0 or CFrame.new()
319
320
        weld.C1 = cframe1 or CFrame.new()
321
322
        weld.MaxVelocity = .1
323
324
        weld.Parent = part0
325
326
        return weld
327
328
end
329
330
331
332
333
mesh_ids = {spike = "rbxassetid://1033714";
334
335
        ring="rbxassetid://3270017";
336
337
}
338
339
340
341
342
Mesh = function(parent,id,sx,sy,sz)
343
344
        local name = ( (id == 'cyl' and 'CylinderMesh') or (id == 'bl' and 'BlockMesh') or 'SpecialMesh')
345
346
        local mesh = Instance.new(name)
347
348
        if id == 's' then
349
350
                mesh.MeshType = Enum.MeshType.Sphere
351
352
        elseif id == 'w' then
353
354
                mesh.MeshType = Enum.MeshType.Wedge
355
356
        elseif string.find(id,"://") ~= nil then
357
358
                mesh.MeshId = id
359
360
        end
361
362
        mesh.Scale = Vector3.new(sx or 1, sy or 1, sz or 1)
363
364
        mesh.Parent = parent
365
366
        return mesh
367
368
end
369
370
371
372
373
hdl = Part(1.1,1.5,1.1) hdl.Material='Wood'
374
375
hw=Weld(hdl,Arms[1],0,-2,0,-PI/2)
376
377
378
379
380
-- New'Decal'{_P=hdl;face='Front';Texture='rbxassetid://49125250'}
381
382
383
384
385
dollar = Part(1,1,1,'Bright green')
386
387
dollar_msh=Mesh(dollar,"rbxassetid://443493147",.015,.015,.015)
388
389
Weld(dollar,hdl,0,0,-.5,0,PI)
390
391
392
393
394
top=Part(1,.1,1,'Black')Mesh(top,'bl',.95,.1,.95)
395
396
Weld(top,hdl,0,.75)
397
398
399
400
401
ring = Part(1,1,1)
402
403
Weld(ring,hdl,0,0,.5,0,PI/2)
404
405
Mesh(ring,mesh_ids.ring,1,1,3)
406
407
408
409
410
Joints = {}
411
412
function addJoint(name,weld,c0,c1)
413
414
        local t= {}
415
416
        t.w=weld
417
418
        t.n_c0 = c0 or weld.C0
419
420
        t.n_c1 = c1 or weld.C1
421
422
        t._desired=weld.C0
423
424
        t.speed=.1
425
426
        t.l=0
427
428
        
429
430
        function t:get()
431
432
                return setmetatable({},{__newindex=function(t,i,v)
433
434
                if i=='d' and self.l == 0 then
435
436
                        self.d = v
437
438
                elseif i == 's' then self.speed=v end end})
439
440
        end
441
442
443
444
445
        setmetatable(t,{__newindex=function(ta,i,v)
446
447
        if i=='d' then
448
449
                ta._desired = ta.n_c0 * v
450
451
        end end})
452
453
        
454
455
456
457
458
        Joints[name]=t
459
460
end
461
462
463
464
465
addJoint('rw',New"Weld"{_P = Torso;Part0=Torso;Part1=Arms[1];
466
467
C0=cfn(1,0.5,0); C1=cfn(-.5,0.5,0)})
468
469
addJoint('hw',hw)
470
471
addJoint('tw',HumRootJ)
472
473
474
475
476
rw=Joints.rw
477
478
hw=Joints.hw
479
480
tw=Joints.tw
481
482
483
484
485
snd=New"Sound"{_P=hdl;SoundId='rbxassetid://359628148'}
486
487
488
489
490
rw.d=ang(PI/2)
491
492
script.Name='shirobako_script: '..Player.Name
493
494
495
496
497
angle=0
498
499
p_tick=tick()
500
501
502
503
504
--Clear clothing--
505
506
for i,v in pairs(Char:children())do 
507
508
        if v:IsA'Hat' or v:IsA'Clothing'then
509
510
                v:Destroy()
511
512
        end
513
514
end
515
516
517
518
519
function addHat(id)
520
521
        return function()
522
523
                local id=id
524
525
                for i,v in next,Char:children()do
526
527
                        if v:IsA'Hat' then v:Destroy() end
528
529
                end
530
531
                local as=Insertserv:LoadAsset(id):children()[1]
532
533
                Player:LoadCharacterAppearance(as)
534
535
        end
536
537
end
538
539
540
541
542
MONEY = 0
543
544
DonatedPlayers = {}
545
546
547
548
549
function GiveAll()
550
551
        local as=Insertserv:LoadAsset(162067148)
552
553
        for i,v in next,DonatedPlayers do
554
555
                local pl=game:service'Players':FindFirstChild(v)
556
557
                if pl then
558
559
                        local cl=as:Clone()
560
561
                        pl:LoadCharacterAppearance(cl:children()[1])
562
563
                end
564
565
        end
566
567
568
569
570
        acting = true
571
572
        rw.w.Part1 = nil
573
574
        tw.w.C0 = tw.n_c0
575
576
        Shoulders[1].Part0=Torso
577
578
        Shoulders[1].Part1=Arms[1]
579
580
        Shoulders[1].Parent=Torso
581
582
        Chatserv:Chat(Head,"THANK YOU EVERYONE =D")
583
584
        for i,v in pairs(Connections) do
585
586
                v:disconnect()
587
588
        end
589
590
        Main:Destroy()
591
592
end
593
594
595
596
597
suits = {
598
599
        beggar={'rbxassetid://54674221','rbxassetid://54676961',-1};
600
601
        poor={'rbxassetid://398635080','rbxassetid://217385535',10,addHat(68259961)};
602
603
        rich={'rbxassetid://286378066','rbxassetid://198292567',20,addHat(1563352)};
604
605
        uberrich={'rbxassetid://231706573','rbxassetid://239131699',30,addHat(138932314)};
606
607
        FINAL={'rbxassetid://231706573','rbxassetid://239131699',40,GiveAll};
608
609
}
610
611
612
613
614
shirt = New"Shirt"{_P=Char;ShirtTemplate=suits.beggar[1]}
615
616
pants = New"Pants"{_P=Char;PantsTemplate=suits.beggar[2]}
617
618
619
620
621
function checksuit()
622
623
        for i,v in pairs(suits)do
624
625
                if MONEY == v[3] then
626
627
                        cur_choise = i
628
629
                        shirt.ShirtTemplate=v[1]
630
631
                        pants.PantsTemplate=v[2]
632
633
                        if v[4] then
634
635
                                v[4]()
636
637
                        end
638
639
                end
640
641
        end
642
643
end
644
645
646
647
648
cur_choise = "beggar"
649
650
choises = {
651
652-
beggar = {"Can I have some money?";";_;";"Can ya spare couple bucks?";"I'm so poor..."};
652+
beggar = {"Can you niggers give me money?";";_;";"Can ya niggers give me some money and watermelon??";"You niggers im still poor!"};
653
654
poor = {"I need money for studies.", "Can ya lend me some cash?", ";_; Anyone?"};
655
656
rich = {"Can ya give sum money for taxi?", "Please?"};
657
658
uberrich={"Wanna get dominus? Gimme money!", "This is not a scam... I swear!", "Does anyone want a dominus?"};
659
660
FINAL={"THANK YOU EVERYONE WHO DONATED =D"};
661
662
}
663
664
665
666
667
text = "_ bucks donated"
668
669
text2 = "Thank you kind _"
670
671
surfg = New"SurfaceGui"{_P=hdl,Face='Right'}
672
673
lab=New"TextLabel"{_P=surfg;Size=UDim2.new(1,0,1,0);Text="0 bucks donated";TextScaled=true;BackgroundTransparency=1}
674
675
thanking=false
676
677
678
679
680
anim_con = RS.Stepped:connect(function()
681
682
        for _,j in next,Joints do
683
684
                j.w.C0 = j.w.C0:lerp(j._desired,j.speed)
685
686
        end
687
688
end)
689
690
dead_con = Humanoid.Died:connect(function()
691
692
        acting=true
693
694-
        Chatserv:Chat(Head,"World is so cruel =(")
694+
        Chatserv:Chat(Head,"You fucks are cray cray..=(")
695
696
end)
697
698
699
700
701
acting=false
702
703
704
705
706
depmoney=function(a)
707
708
        if not thanking then
709
710
                snd:Play()
711
712
                thanking=true
713
714
                Chatserv:Chat(Head,text2:gsub('_',(a and a.Name or 'human')) )
715
716
                MONEY = MONEY+1
717
718
                if a then
719
720
                        local name = a.Name
721
722
                        local _in=false
723
724
                        for _,v in pairs(DonatedPlayers) do
725
726
                                if v == name then
727
728
                                        _in=true
729
730
                                end
731
732
                        end
733
734
                        if not _in then
735
736
                                table.insert(DonatedPlayers,name)
737
738
                        end
739
740
                end
741
742
                checksuit()
743
744
                lab.Text=text:gsub('_',MONEY)
745
746
                wait(1.25)
747
748
                thanking=false
749
750
        end
751
752
end
753
754
755
756
757
lab.Text=text:gsub('_',MONEY)
758
759
New"ClickDetector"{_P=dollar}.MouseClick:connect(function(a)depmoney(a)end)
760
761
cnt=0
762
763
Connections = {}
764
765
for i,v in next,getfenv(0) do
766
767
        if i:match("_con") ~= nil then
768
769
                table.insert(Connections,v)
770
771
        end
772
773
end
774
775
776
777
778
swoosh_snd = New"Sound"{_P=hdl;SoundId='rbxassetid://134012322'}
779
780
hit_snd = New"Sound"{_P=hdl;SoundId='rbxassetid://386946017'}
781
782
783
784
785
function slash()
786
787
        acting=true
788
789
        rw.speed=.3
790
791
        rw.d=ang(PI/2,0,-PI/4)*ang(0,PI/2)
792
793
        swoosh_snd:Play()
794
795
        local con
796
797
        con=hdl.Touched:connect(function(hit)
798
799
                local hum=hit.Parent:FindFirstChild'Humanoid'
800
801
                if hum then
802
803
                        Spawn(function()hum.PlatformStand=true wait'.1'hum.PlatformStand=false end)
804
805
                        hum.Torso.Velocity=cfn(Torso.Position,hum.Torso.Position).lookVector*70+v3n(0,30,0)
806
807
                        hit_snd:Play()
808
809
                        con:disconnect()
810
811
                        Chatserv:Chat(Head,"Dont come closer!")
812
813
                end
814
815
        end)
816
817
        wait'.15'
818
819
        rw.d=ang(PI/2,0,PI/4)*ang(0,PI/2)
820
821
        wait'.25'
822
823
        acting=false
824
825
        rw.speed=.1
826
827
        con:disconnect()
828
829
end
830
831
New"BindableFunction"{_P=script;Name='stop'}.OnInvoke=function()for i,v in pairs(Connections)do v:disconnect()end end
832
833
-- thanking=true
834
835
Spawn(function()
836
837
        while wait()do
838
839
        if not acting then
840
841
                if (tick()-p_tick)>(2+(cnt/2*1.75)) and not thanking and cur_choise~='FINAL' then
842
843
                        local choise = choises[cur_choise]
844
845
                        cnt=cnt+1
846
847
                        cnt=(cnt>#choise and 1 or cnt)
848
849
                        Chatserv:Chat(Head, choise[cnt])
850
851
                        p_tick=tick()
852
853
                end
854
855
                angle=angle%100 + 1/5
856
857
                
858
859
                if not thanking then
860
861
                        rw.d=ang(PI/2+math.sin(angle)*.15)
862
863
                        hw.d=ang(0,0,math.sin(angle)*.15)
864
865
                        tw.d=cfn()
866
867
                else
868
869
                        rw.d=cfn(0,0,.15)*ang(PI/2,0,-PI/4)
870
871
                        hw.d=cfn(.15,0,0)*ang(0,md'-35')
872
873
                        tw.d=ang(md'15')
874
875
                end end
876
877
        end
878
879
end)
880
881
882
883
884
Mouse = Player:GetMouse()
885
886
Mouse.KeyDown:connect(function(key)
887
888
        if acting then return end
889
890
        if key == 'f' then
891
892
                slash()
893
894
        end
895
896
end)
897
898
-- slash()
899
900
-- for i =1,40 do depmoney(Player)end
901
902
903
904
905
--type: hl/https://titanpad.com/ep/pad/export/Beggar/latest?format=txt