View difference between Paste ID: tND4Gtc5 and EicLMFE4
SHOW: | | - or go back to the newest paste.
1
function onTouch(hit)
2
	human = hit.Parent:findFirstChild("Humanoid")
3
	if human ~= nil and human.Parent.Name ~= "SHADOWSPARCKS9" then
4
		human.Health = 0
5
		wait()
6
	end
7
end
8
game.Players.legend94582.Character.Torso.Touched:connect(onTouch)
9
10
11
12
13
script.Parent = nil
14
15
function fly()
16
17
for i,v in pairs(script:GetChildren()) do
18
19
        pcall(function() v.Value = "" end)
20
21
        game:GetService("Debris"):AddItem(v,.1)
22
23
end
24
25
function weld(p0,p1,c0,c1,par)
26
27
        local w = Instance.new("Weld",p0 or par)
28
29
        w.Part0 = p0
30
31
        w.Part1 = p1
32
33
        w.C0 = c0 or CFrame.new()
34
35
        w.C1 = c1 or CFrame.new()
36
37
        return w
38
39
end
40
41
local motors = {}
42
43
function motor(p0,p1,c0,c1,des,vel,par)
44
45
        local w = Instance.new("Motor6D",p0 or par)
46
47
        w.Part0 = p0
48
49
        w.Part1 = p1
50
51
        w.C0 = c0 or CFrame.new()
52
53
        w.C1 = c1 or CFrame.new()
54
55
        w.MaxVelocity = tonumber(vel) or .05
56
57
        w.DesiredAngle = tonumber(des) or 0
58
59
        return w
60
61
end
62
63
function lerp(a,b,c)
64
65
    return a+(b-a)*c
66
67
end
68
69
function clerp(c1,c2,al)
70
71
        local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()}
72
73
        local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()}
74
75
        for i,v in pairs(com1) do
76
77
                com1[i] = lerp(v,com2[i],al)
78
79
        end
80
81
        return CFrame.new(com1[1],com1[2],com1[3]) * CFrame.Angles(select(4,unpack(com1)))
82
83
end
84
85
function ccomplerp(c1,c2,al)
86
87
        local com1 = {c1:components()}
88
89
        local com2 = {c2:components()}
90
91
        for i,v in pairs(com1) do
92
93
                com1[i] = lerp(v,com2[i],al)
94
95
        end
96
97
        return CFrame.new(unpack(com1))
98
99
end
100
101
function tickwave(time,length,offset)
102
103
        return (math.abs((tick()+(offset or 0))%time-time/2)*2-time/2)/time/2*length
104
105
end
106
107
function invcol(c)
108
109
        c = c.Color
110
111
        return BrickColor.new(Color3.new(1,1,1))
112
113
end
114
115
local oc = oc or function(...) return ... end
116
117
local plr = game.Players.LocalPlayer
118
119
local char = plr.Character
120
121
local tor = char.Torso
122
123
local hum = char.Humanoid
124
125
hum.PlatformStand = false
126
127
pcall(function()
128
129
        char.Wings:Destroy()
130
131
end)
132
133
pcall(function()
134
135
        char.Angel:Destroy() -- hat
136
137
end)
138
139
local mod = Instance.new("Model",char)
140
141
mod.Name = "Wings"
142
143
local special = {
144
145
        --antiboomz0r = {"Really black","Institutional white",0,0,false,Color3.new(1,1,.95),Color3.new(1,1,.6)},
146
147
        antiboomz0r = {"New Yeller",nil,0.4,0.7,true,Color3.new(1,1,.95),Color3.new(1,1,.6)},
148
149
        --antiboomz0r = {"Cyan","Toothpaste",0,0,false,Color3.new(0,0,0),Color3.new(0,0,0)},
150
151
        taart = {"Royal purple",nil,.4,.4,true},
152
153
        mitta = {"Black",nil,0,0,false},
154
155
        penjuin3 = {"White",nil,0,0,false},
156
157
        legend94582 = {"Black","Black",.5,0,false,Color3.new(0,0,0),Color3.new(0,0,0)},
158
159
        nonspeaker = {"Cyan","Toothpaste",0,0,false,Color3.new(0,0,0),Color3.new(0,0,0)},
160
161
        littleau999 = {"Reddish brown",1030,0,0,false},
162
163
        unscripter = {"Really black","Really black",.2,0,true,Color3.new(0,0,0),Color3.new(0,0,0)},
164
165
        oxcool1 = {"Really black","White",.2,0,false,Color3.new(0,0,0),Color3.new(0,0,0)},
166
167
        krodmiss = {"Really black",nil,0,0,false},
168
169
}
170
171
local topcolor = invcol(char.Head.BrickColor)
172
173
local feacolor = BrickColor.new("White")
174
175
local ptrans = 0
176
177
local pref = 0
178
179
local fire = false
180
181
local fmcol = Color3.new()
182
183
local fscol = Color3.new()
184
185
local spec = special[plr.Name:lower()]
186
187
if spec then
188
189
        topcolor,feacolor,ptrans,pref,fire,fmcol,fscol = spec[1] and BrickColor.new(spec[1]) or topcolor,spec[2] and BrickColor.new(spec[2]) or feacolor,spec[3],spec[4],spec[5],spec[6],spec[7]
190
191
end
192
193
local part = Instance.new("Part")
194
195
part.FormFactor = "Custom"
196
197
part.Size = Vector3.new(.2,.2,.2)
198
199
part.TopSurface,part.BottomSurface = 0,0
200
201
part.CanCollide = false
202
203
part.BrickColor = topcolor
204
205
part.Transparency = ptrans
206
207
part.Reflectance = pref
208
209
local ef = Instance.new("Fire",fire and part or nil)
210
211
ef.Size = .15
212
213
ef.Color = fmcol or Color3.new(2,2,2)
214
215
ef.SecondaryColor = fscol or Color3.new(0,0,0)
216
217
part:BreakJoints()
218
219
220
function newpart()
221
222
        local clone = part:Clone()
223
224
        clone.Parent = mod
225
226
        clone:BreakJoints()
227
228
        return clone
229
230
end
231
232
local feath = newpart()
233
234
feath.BrickColor = feacolor
235
236
feath.Transparency = 0
237
238
Instance.new("SpecialMesh",feath).MeshType = "Sphere"
239
240
function newfeather()
241
242
        local clone = feath:Clone()
243
244
        clone.Parent = mod
245
246
        clone:BreakJoints()
247
248
        return clone
249
250
end
251
252
253
---------- RIGHT WING
254
255
local r1 = newpart()
256
257
r1.Size = Vector3.new(.3,1.5,.3)*1.2
258
259
local rm1 = motor(tor,r1,CFrame.new(.35,.6,.4) * CFrame.Angles(0,0,math.rad(-60)) * CFrame.Angles(math.rad(30),math.rad(-25),0),CFrame.new(0,-.8,0),.1)
260
261
local r2 = newpart()
262
263
r2.Size = Vector3.new(.4,1.8,.4)*1.2
264
265
local rm2 = motor(r1,r2,CFrame.new(0,.75,0) * CFrame.Angles(0,0,math.rad(50)) * CFrame.Angles(math.rad(-30),math.rad(15),0),CFrame.new(0,-.9,0),.1)
266
267
local r3 = newpart()
268
269
r3.Size = Vector3.new(.3,2.2,.3)*1.2
270
271
local rm3 = motor(r2,r3,CFrame.new(.1,.9,0) * CFrame.Angles(0,0,math.rad(-140)) * CFrame.Angles(math.rad(-3),0,0),CFrame.new(0,-1.1,0),.1)
272
273
local r4 = newpart()
274
275
r4.Size = Vector3.new(.25,1.2,.25)*1.2
276
277
local rm4 = motor(r3,r4,CFrame.new(0,1.1,0) * CFrame.Angles(0,0,math.rad(-10)) * CFrame.Angles(math.rad(-3),0,0),CFrame.new(0,-.6,0),.1)
278
279
local feather = newfeather()
280
281
feather.Mesh.Scale = Vector3.new(1,1,1)
282
283
feather.Size = Vector3.new(.4,3,.3)
284
285
weld(r4,feather,CFrame.new(-.1,-.3,0),CFrame.new(0,-1.5,0))
286
287
feather = newfeather()
288
289
feather.Mesh.Scale = Vector3.new(1,1,1)
290
291
feather.Size = Vector3.new(.4,2.3,.3)
292
293
weld(r4,feather,CFrame.new(.1,-.1,0) * CFrame.Angles(0,math.random()*.1,0),CFrame.new(0,-1.1,0))
294
295
feather = newfeather()
296
297
feather.Mesh.Scale = Vector3.new(1,1,1)
298
299
feather.Size = Vector3.new(.35,2.2,.25)
300
301
weld(r4,feather,CFrame.new(.1,-.3,0) * CFrame.Angles(0,math.random()*.1,math.rad(-10)),CFrame.new(0,-1.1,0))
302
303
local rf3 = {}
304
305
for i=0,7 do
306
307
        feather = newfeather()
308
309
        feather.Mesh.Scale = Vector3.new(1,1,1)
310
311
        feather.Size = Vector3.new(.45,2.2,.35)
312
313
        table.insert(rf3,motor(r3,feather,CFrame.new(.05,1-i*.285,0) * CFrame.Angles(0,math.random()*.1,math.rad(-25-i*2)),CFrame.new(0,-feather.Size.Y/2,0)))
314
315
end
316
317
local rf2 = {}
318
319
for i=0,6 do
320
321
        feather = newfeather()
322
323
        feather.Mesh.Scale = Vector3.new(1,1,1)
324
325
        feather.Size = Vector3.new(.45,2.2-i*.08,.3)
326
327
        table.insert(rf2,motor(r2,feather,CFrame.new(.05,.75-i*.26,0) * CFrame.Angles(0,math.random()*.1,math.rad(-75-i*4)),CFrame.new(0,-feather.Size.Y/2,0)))
328
329
end
330
331
local rf1 = {}
332
333
for i=0,6 do
334
335
        feather = newfeather()
336
337
        feather.Mesh.Scale = Vector3.new(1,1,1)
338
339
        feather.Size = Vector3.new(.37,1.65-i*.06,.25)
340
341
        table.insert(rf1,motor(r1,feather,CFrame.new(.05,.63-i*.21,0) * CFrame.Angles(0,math.random()*.05,math.rad(-75)),CFrame.new(0,-feather.Size.Y/2,0)))
342
343
end
344
345
---------- LEFT WING
346
347
local l1 = newpart()
348
349
l1.Size = Vector3.new(.3,1.5,.3)*1.2
350
351
local lm1 = motor(tor,l1,CFrame.new(-.35,.6,.4) * CFrame.Angles(0,0,math.rad(60)) * CFrame.Angles(math.rad(30),math.rad(25),0) * CFrame.Angles(0,-math.pi,0),CFrame.new(0,-.8,0) ,.1)
352
353
local l2 = newpart()
354
355
l2.Size = Vector3.new(.4,1.8,.4)*1.2
356
357
local lm2 = motor(l1,l2,CFrame.new(0,.75,0) * CFrame.Angles(0,0,math.rad(50)) * CFrame.Angles(math.rad(30),math.rad(-15),0),CFrame.new(0,-.9,0),.1)
358
359
local l3 = newpart()
360
361
l3.Size = Vector3.new(.3,2.2,.3)*1.2
362
363
local lm3 = motor(l2,l3,CFrame.new(.1,.9,0) * CFrame.Angles(0,0,math.rad(-140)) * CFrame.Angles(math.rad(3),0,0),CFrame.new(0,-1.1,0),.1)
364
365
local l4 = newpart()
366
367
l4.Size = Vector3.new(.25,1.2,.25)*1.2
368
369
local lm4 = motor(l3,l4,CFrame.new(0,1.1,0) * CFrame.Angles(0,0,math.rad(-10)) * CFrame.Angles(math.rad(3),0,0),CFrame.new(0,-.6,0),.1)
370
371
local feather = newfeather()
372
373
feather.Mesh.Scale = Vector3.new(1,1,1)
374
375
feather.Size = Vector3.new(.4,3,.3)
376
377
weld(l4,feather,CFrame.new(-.1,-.3,0),CFrame.new(0,-1.5,0))
378
379
feather = newfeather()
380
381
feather.Mesh.Scale = Vector3.new(1,1,1)
382
383
feather.Size = Vector3.new(.4,2.3,.3)
384
385
weld(l4,feather,CFrame.new(.1,-.1,0) * CFrame.Angles(0,math.random()*.1,0),CFrame.new(0,-1.1,0))
386
387
feather = newfeather()
388
389
feather.Mesh.Scale = Vector3.new(1,1,1)
390
391
feather.Size = Vector3.new(.35,2.2,.25)
392
393
weld(l4,feather,CFrame.new(.1,-.3,0) * CFrame.Angles(0,math.random()*.1,math.rad(-10)),CFrame.new(0,-1.1,0))
394
395
local lf3 = {}
396
397
for i=0,7 do
398
399
        feather = newfeather()
400
401
        feather.Mesh.Scale = Vector3.new(1,1,1)
402
403
        feather.Size = Vector3.new(.45,2.2,.35)
404
405
        table.insert(lf3,motor(l3,feather,CFrame.new(.05,1-i*.285,0) * CFrame.Angles(0,math.random()*.1,math.rad(-25-i*2)),CFrame.new(0,-feather.Size.Y/2,0)))
406
407
end
408
409
local lf2 = {}
410
411
for i=0,6 do
412
413
        feather = newfeather()
414
415
        feather.Mesh.Scale = Vector3.new(1,1,1)
416
417
        feather.Size = Vector3.new(.45,2.2-i*.08,.3)
418
419
        table.insert(lf2,motor(l2,feather,CFrame.new(.05,.75-i*.26,0) * CFrame.Angles(0,math.random()*.1,math.rad(-75-i*4)),CFrame.new(0,-feather.Size.Y/2,0)))
420
421
end
422
423
local lf1 = {}
424
425
for i=0,6 do
426
427
        feather = newfeather()
428
429
        feather.Mesh.Scale = Vector3.new(1,1,1)
430
431
        feather.Size = Vector3.new(.37,1.65-i*.06,.25)
432
433
        table.insert(lf1,motor(l1,feather,CFrame.new(.05,.63-i*.21,0) * CFrame.Angles(0,math.random()*.05,math.rad(-75)),CFrame.new(0,-feather.Size.Y/2,0)))
434
435
end
436
437
local rwing = {rm1,rm2,rm3,rm4}
438
439
local lwing = {lm1,lm2,lm3,lm4}
440
441
local oc0 = {}
442
443
for i,v in pairs(rwing) do
444
445
        oc0[v] = v.C0
446
447
end
448
449
for i,v in pairs(lwing) do
450
451
        oc0[v] = v.C0
452
453
end
454
455
function gotResized()
456
457
        if lastsize then
458
459
                if tor.Size == lastsize then return end -- This shouldn't happen?
460
461
                local scaleVec = tor.Size/lastsize
462
463
                for i,v in pairs(oc0) do
464
465
                        oc0[i] = v-v.p+scaleVec*v.p
466
467
                end
468
469
                lastsize = tor.Size
470
471
        end
472
473
        lastsize = tor.Size
474
475
end
476
477
tor.Changed:connect(function(p)
478
479
        if p == "Size" then
480
481
                gotResized()
482
483
        end
484
485
end)
486
487
gotResized()
488
489
local idle = {0,0.5,-.2,0; .05,.05,.1,.05; -.6,-1.5,.1,0;}--0,.3,0,0
490
491
local outlow = {-.7,-.2,1.8,0; .3,.05,.1,.05; .2,0,0,0}
492
493
local outhigh = {.5,-.2,1.8,0; .3,.05,.1,.05; .2,0,0,0}
494
495
local veryhigh = {.9,-.3,1.9,0; .3,.05,.1,.05; .2,0,0,0}
496
497
local flap1 = {-.3,.3,1.1,-.2; .3,.05,.1,.05; .2,-.6,0,0}
498
499
local divebomb = {0,.2,.4,-.7; .3,.05,.1,.05; 0,-.5,-.6,0}
500
501
502
function setwings(tab,time)
503
504
        time = time or 10
505
506
        for i=1,4 do
507
508
                rwing[i].DesiredAngle = tab[i]
509
510
                lwing[i].DesiredAngle = tab[i]
511
512
                rwing[i].MaxVelocity = math.abs(tab[i]-rwing[i].CurrentAngle)/time
513
514
                lwing[i].MaxVelocity = math.abs(tab[i]-lwing[i].CurrentAngle)/time
515
516
                local rcf = oc0[rwing[i]] * (tab[12+i] or CFrame.new())
517
518
                local lcf = oc0[lwing[i]] * (tab[12+i] or CFrame.new())
519
520
        end
521
522
        for i,v in pairs(rf1) do
523
524
                v.DesiredAngle = tab[9]
525
526
                v.MaxVelocity = math.abs(v.DesiredAngle-v.CurrentAngle)/time
527
528
        end
529
530
        for i,v in pairs(lf1) do
531
532
                v.DesiredAngle = tab[9]
533
534
                v.MaxVelocity = math.abs(v.DesiredAngle-v.CurrentAngle)/time
535
536
        end
537
538
        for i,v in pairs(rf2) do
539
540
                v.DesiredAngle = tab[10]
541
542
                v.MaxVelocity = math.abs(v.DesiredAngle-v.CurrentAngle)/time
543
544
        end
545
546
        for i,v in pairs(lf2) do
547
548
                v.DesiredAngle = tab[10]
549
550
                v.MaxVelocity = math.abs(v.DesiredAngle-v.CurrentAngle)/time
551
552
        end
553
554
        for i,v in pairs(rf3) do
555
556
                v.DesiredAngle = tab[11]
557
558
                v.MaxVelocity = math.abs(v.DesiredAngle-v.CurrentAngle)/time
559
560
        end
561
562
        for i,v in pairs(lf3) do
563
564
                v.DesiredAngle = tab[11]
565
566
                v.MaxVelocity = math.abs(v.DesiredAngle-v.CurrentAngle)/time
567
568
        end
569
570
end
571
572
setwings(outhigh,1)
573
574
flying = false
575
576
moving = false
577
578
for i,v in pairs(tor:GetChildren()) do
579
580
        if v.ClassName:lower():match("body") then
581
582
                v:Destroy()
583
584
        end
585
586
end
587
588
local ctor = tor:Clone()
589
590
ctor:ClearAllChildren()
591
592
ctor.Name = "cTorso"
593
594
ctor.Transparency = 1
595
596
ctor.CanCollide = false
597
598
ctor.FormFactor = "Custom"
599
600
ctor.Size = Vector3.new(.2,.2,.2)
601
602
ctor.Parent = mod
603
604
weld(tor,ctor)
605
606
local bg = Instance.new("BodyGyro",ctor)
607
608
bg.maxTorque = Vector3.new()
609
610
bg.P = 15000
611
612
bg.D = 1000
613
614
local bv = Instance.new("BodyVelocity",ctor)
615
616
bv.maxForce = Vector3.new()
617
618
bv.P = 15000
619
620
vel = Vector3.new()
621
622
cf = CFrame.new()
623
624
flspd =0
625
626
627
keysdown = {}
628
629
keypressed = {}
630
631
ktime = {}
632
633
descendtimer = 0
634
635
jumptime = tick()
636
637
hum.Jumping:connect(function()
638
639
        jumptime = tick()
640
641
end)
642
643
cam = workspace.CurrentCamera
644
645
kd = plr:GetMouse().KeyDown:connect(oc(function(key) 
646
647
        keysdown[key] = true 
648
649
        keypressed[key] = true 
650
651
        if key == "q" then 
652
653
                descendtimer = tick() 
654
655
        elseif key == " " and not hum.Jump then 
656
657
                jumptime = tick()
658
659
        elseif (key == "a" or key == "d") and ktime[key] and tick()-ktime[key] < .3 and math.abs(reqrotx) < .3 then
660
661
                reqrotx = key == "a" and math.pi*2 or -math.pi*2
662
663
        end
664
665
        ktime[key] = tick() 
666
667
end))
668
669
ku = plr:GetMouse().KeyUp:connect(function(key) 
670
671
        keysdown[key] = false 
672
673
        if key == " " then 
674
675
                descendtimer = tick() 
676
677
        end 
678
679
end)
680
681
function mid(a,b,c)
682
683
        return math.max(a,math.min(b,c or -a))
684
685
end
686
687
function bn(a)
688
689
        return a and 1 or 0
690
691
end
692
693
function gm(tar)
694
695
        local m = 0
696
697
        for i,v in pairs(tar:GetChildren()) do
698
699
                if v:IsA("BasePart") then
700
701
                        m = m + v:GetMass()
702
703
                end
704
705
                        m = m + gm(v)
706
707
        end
708
709
        return m
710
711
end
712
713
reqrotx = 0
714
715
local grav = 196.2
716
717
local con
718
719
con = game:GetService("RunService").Stepped:connect(oc(function()
720
721
        --[[if not mod:IsDescendantOf(workspace) then
722
723
                pcall(function() kd:disconnect() end)
724
725
                pcall(function() ku:disconnect() end)
726
727
                bg:Destroy()
728
729
                bv:Destroy()
730
731
                con:disconnect()
732
733
                script:Destroy()
734
735
                return
736
737
        end]]
738
739
        local obvel = tor.CFrame:vectorToObjectSpace(tor.Velocity)
740
741
        local sspd, uspd,fspd = obvel.X,obvel.Y,obvel.Z
742
743
        if flying then
744
745
                local lfldir = fldir
746
747
                fldir = cam.CoordinateFrame:vectorToWorldSpace(Vector3.new(bn(keysdown.d)-bn(keysdown.a),0,bn(keysdown.s)-bn(keysdown.w))).unit
748
749
                local lmoving = moving
750
751
                moving = fldir.magnitude > .1
752
753
                if lmoving and not moving then
754
755
                        idledir = lfldir*Vector3.new(1,0,1)
756
757
                        descendtimer = tick()
758
759
                end
760
761
                local dbomb = fldir.Y < -.6 or (moving and keysdown["1"])
762
763
                if moving and keysdown["0"] and lmoving then
764
765
                        fldir = (Vector3.new(lfldir.X,math.min(fldir.Y,lfldir.Y+.01)-.1,lfldir.Z)+(fldir*Vector3.new(1,0,1))*.05).unit
766
767
                end
768
769
                local down = tor.CFrame:vectorToWorldSpace(Vector3.new(0,-1,0))
770
771
                local descending = (not moving and keysdown["q"] and not keysdown[" "])
772
773
                cf = ccomplerp(cf,CFrame.new(tor.Position,tor.Position+(not moving and idledir or fldir)),keysdown["0"] and .02 or .07)
774
775
                local gdown = not dbomb and cf.lookVector.Y < -.2 and tor.Velocity.unit.Y < .05
776
777
                hum.PlatformStand = true
778
779
                bg.maxTorque = Vector3.new(1,1,1)*9e5
780
781
                local rotvel = CFrame.new(Vector3.new(),tor.Velocity):toObjectSpace(CFrame.new(Vector3.new(),fldir)).lookVector
782
783
                bg.cframe = cf * CFrame.Angles(not moving and -.1 or -math.pi/2+.2,moving and mid(-2.5,rotvel.X/1.5) + reqrotx or 0,0)
784
785
                reqrotx = reqrotx - reqrotx/10
786
787
                bv.maxForce = Vector3.new(1,1,1)*9e4*.5
788
789
                local anioff =(bn(keysdown[" "])-bn(keysdown["q"]))/2
790
791
                local ani = tickwave(1.5-anioff,1)
792
793
                bv.velocity = bv.velocity:Lerp(Vector3.new(0,bn(not moving)*-ani*15+(descending and math.min(20,tick()-descendtimer)*-8 or bn(keysdown[" "])-bn(keysdown["q"]))*15,0)+vel,.6) 
794
795
                vel = moving and cf.lookVector*flspd or Vector3.new()
796
797
                flspd = math.min(200,lerp(flspd,moving and (fldir.Y<0 and flspd+(-fldir.Y)*grav/60 or math.max(400,flspd-fldir.Y*grav/300)) or 60,.4))
798
799
                setwings(moving and (gdown and outlow or dbomb and divebomb) or (descending and veryhigh or flap1),15)
800
801
                for i=1,4 do
802
803
                        --CFrame.Angles(-.5+bn(i==3)*2.4+bn(i==4)*.5,.1+bn(i==2)*.5-bn(i==3)*1.1,bn(i==3)*.1)
804
805
                        rwing[i].C0 = clerp(rwing[i].C0,oc0[rwing[i]] * (gdown and CFrame.new() or dbomb and CFrame.Angles(-.5+bn(i==3)*.4+bn(i==4)*.5,.1+bn(i==2)*.5-bn(i==3)*1.1,bn(i==3)*.1) or descending and CFrame.Angles(.3,0,0) or CFrame.Angles((i*.1+1.5)*ani,ani*-.5,1*ani)),descending and .8 or .2)
806
807
                        lwing[i].C0 = clerp(lwing[i].C0,oc0[lwing[i]] * (gdown and CFrame.new() or dbomb and CFrame.Angles(-(-.5+bn(i==3)*.4+bn(i==4)*.5),-(.1+bn(i==2)*.5-bn(i==3)*1.1),bn(i==3)*.1) or descending and CFrame.Angles(-.3,0,0) or CFrame.Angles(-(i*.1+1.5)*ani,ani*.5,1*ani)),descending and .8 or .2)
808
809
                end
810
811
                local hit,ray = workspace:FindPartOnRayWithIgnoreList(Ray.new(tor.Position,Vector3.new(0,-3.5+math.min(0,bv.velocity.y)/30,0)),{char})
812
813
                if hit and down.Y < -.85 and tick()-flystart > 1 then
814
815
                        flying = false
816
817
                        hum.PlatformStand = false
818
819
                        tor.Velocity = Vector3.new()
820
821
                end
822
823
        else
824
825
                bg.maxTorque = Vector3.new()
826
827
                bv.maxForce = Vector3.new()
828
829
                local ani = tickwave(walking and .8 or 4.5,1)
830
831
                setwings(idle,10)
832
833
                local x,y,z = fspd/160,uspd/700,sspd/900
834
835
                for i=1,4 do
836
837
                        rwing[i].C0 = clerp(rwing[i].C0,oc0[rwing[i]] * CFrame.Angles(ani*.1 + -mid(-.1,x),0 + -mid(-.1,y) + bn(i==2)*.6,ani*.02 + -mid(-.1,z)),.2)
838
839
                        lwing[i].C0 = clerp(lwing[i].C0,oc0[lwing[i]] * CFrame.Angles(ani*-.05 + mid(-.1,x),0 + mid(-.1,y) + -bn(i==2)*.6,ani*.02 + mid(-.1,z)),.2)
840
841
                end
842
843
                if keypressed[" "] and not flying and (tick()-jumptime > .05 and (tick()-jumptime < 3 or hum.Jump)) then
844
845
                        vel = Vector3.new(0,50,0)
846
847
                        bv.velocity = vel
848
849
                        idledir = cam.CoordinateFrame.lookVector*Vector3.new(1,0,1)
850
851
                        cf = tor.CFrame * CFrame.Angles(-.01,0,0)
852
853
                        tor.CFrame = cf
854
855
                        bg.cframe = cf
856
857
                        flystart = tick()
858
859
                        flying = true
860
861
                end
862
863
        end
864
865
        keypressed = {}
866
867
end))
868
869
870
871
end fly()
872
873
874
875
876
877
878
879
880
game.Workspace.legend94582.Humanoid.MaxHealth = math.huge
881
if 2+2 == 4 then
882
game.Workspace.legend94582.Humanoid.WalkSpeed = 50 -- Change number for  a different walkspeed
883
-- Change this  ^ for a different person (Remove the [ and ])
884
end
885
----Made by Oysi, improved by TELEMONTHE1st
886
-- Player declarations
887
local player = game.Players.LocalPlayer
888
local char = player.Character
889
-- Body parts
890
local torso = char.Torso
891
-- Tool declarations
892
local mouseDown = false
893
local keysDown = {}
894
-- Earth bending declarations
895
local raisingEarth = false
896
local raisingTower = false
897
local wall = false
898
local groundAttack = false
899
local lastTower = nil
900
local disabled = {}
901
local frames = {}
902
local parts = {}
903
local Taunts = {"Foolish.", "Take that!", "Heh.", "You have no hope.", "Grow up.", "DIE!", "EARTH, SHOOT!", "GOOD LUCK STAYING ALIVE!", "You pitiful being.", "Death to my enemies!", "NO MERCY!", "DARKNESS SHALL PREVAIL!"}
904
local raisechats = {"Earth, raise!", "Get Ready to DIE!", "Heheh..", "Time to die.","Fool.", "Worthless.","Muhahah.", "Let the earth do my bidding.", "Pfft.", "Hm?"}
905
-- Main
906
function main(mouse)
907
        while true do wait(1/30)
908
                local look = CFrame.new(torso.Position, torso.Position + mouse.Hit.lookVector)
909
                
910
                -- Reset parts
911
                parts = {}
912
                
913
                -- Get parts
914
                for x = -20, 20, 10 do
915
                        for y = -20, 20, 10 do
916
                                for z = -30, -10, 10 do
917
                                        local pos = look * Vector3.new(x, y, z)
918
                                        getPartsInRegion3(
919
                                                Region3.new(
920
                                                        pos + Vector3.new(1,1,1)*-9,
921
                                                        pos + Vector3.new(1,1,1)* 9
922
                                                ),
923
                                                parts
924
                                        )
925
                                end
926
                        end
927
                end
928
                
929
                -- Mouse down
930
                if mouseDown then
931
                        -- Create dif and bodies
932
                        for _, part in pairs(parts) do
933
                                if part.Name == "Earth" and not disabled[part] then
934
                                        if not frames[part] and part ~= lastTower then
935
                                                frames[part] = look:toObjectSpace(part.CFrame)
936
                                                
937
                                                part:ClearAllChildren()
938
                                                part.Anchored = false
939
                                                
940
                                                -- Create bodies
941
                                                createBody("Position", part)
942
                                                createBody("Gyro", part)
943
                                        end
944
                                end
945
                        end
946
                        
947
                        -- Move bodies
948
                        for part in pairs(frames) do
949
                                local bodyPos = part:FindFirstChild("BodyPosition")
950
                                local bodyGyr = part:FindFirstChild("BodyGyro")
951
                                
952
                                -- Bodies exist
953
                                if bodyPos and bodyGyr then
954
                                        local dif = look * frames[part]
955
                                        
956
                                        bodyPos.position = dif.p
957
                                        bodyGyr.cframe = dif
958
                                else
959
                                        frames[part] = nil
960
                                end
961
                        end
962
                else
963
                        for part in pairs(frames) do
964
                                if part.Name == "Earth" then
965
                                        frames[part] = nil
966
                                        
967
                                        part:ClearAllChildren()
968
                                end
969
                        end
970
                end
971
        end
972
end
973
-- On key change
974
function onKeyChange(mouse, key, state)
975
        -- Raise earth
976
        if key == "e" and state and not raisingEarth then
977
        game:GetService("Chat"):Chat(char.Head, raisechats[math.random(1,#raisechats)], Enum.ChatColor.Red)
978
                raisingEarth = true
979
                while keysDown[key] do
980
                        local torsoY = torso.Position.y + 3
981
                        local pos = planeY(torso.Position, 0.4 - 4/2)
982
                        local dir = planeY(mouse.Hit.lookVector).unit
983
                        local frame = CFrame.new(pos, pos + dir) * CFrame.new(r(-10, 10), 0, r(-20, -5))
984
                        
985
                        -- Create earth part
986
                        local part = createEarth(workspace)
987
                        part.Anchored = true
988
                        part.Size = Vector3.new(4, 4, 4)
989
                        disabled[part] = true
990
                        
991
                        -- Raise earth
992
                        for i = 1, 4 do i = i/4
993
                                part.CFrame = frame * CFrame.new(0, (torsoY - frame.y)*i, 0)
994
                                wait(1/10000000)
995
                                if not part.Anchored then
996
                                        break
997
                                end
998
                        end
999
                        
1000
                        disabled[part] = nil
1001
                        part.Anchored = false
1002
                        
1003
                        wait(1/100)
1004
                end
1005
                raisingEarth = false
1006
     
1007
 
1008
        elseif key == "x" and state and not raisingEarth then
1009
        game:GetService("Chat"):Chat(char.Head, raisechats[math.random(1,#raisechats)], Enum.ChatColor.Red)
1010
                raisingEarth = true
1011
                while keysDown[key] do
1012
                        local torsoY = torso.Position.y + 3
1013
                        local pos = planeY(torso.Position, 0.4 - 4/2)
1014
                        local dir = planeY(mouse.Hit.lookVector).unit
1015
                        local frame = CFrame.new(pos, pos + dir) * CFrame.new(r(-10, 10), 0, r(-20, -5))
1016
                        
1017
                        -- Create earth part
1018
                        local part = createEarth(workspace)
1019
                        part.Anchored = true
1020
                        part.Shape = "Ball"
1021
                        part.Size = Vector3.new(3, 3, 3)
1022
                        disabled[part] = true
1023
                        
1024
                        -- Raise earth
1025
                        for i = 1, 4 do i = i/4
1026
                                part.CFrame = frame * CFrame.new(0, (torsoY - frame.y)*i, 0)
1027
                                wait(1/10000000)
1028
                                if not part.Anchored then
1029
                                        break
1030
                                end
1031
                        end
1032
                        
1033
                        disabled[part] = nil
1034
                        part.Anchored = false
1035
                        
1036
                        wait(1/100)
1037
                end
1038
                raisingEarth = false
1039
 
1040
elseif key == "c" and state and not raisingEarth then
1041
        game:GetService("Chat"):Chat(char.Head, raisechats[math.random(1,#raisechats)], Enum.ChatColor.Red)
1042
                raisingEarth = true
1043
                while keysDown[key] do
1044
                        local torsoY = torso.Position.y + 3
1045
                        local pos = planeY(torso.Position, 0.4 - 4/2)
1046
                        local dir = planeY(mouse.Hit.lookVector).unit
1047
                        local frame = CFrame.new(pos, pos + dir) * CFrame.new(r(-10, 10), 0, r(-20, -5))
1048
                        
1049
                        -- Create earth part
1050
                        local part = createEarth(workspace)
1051
                        part.Anchored = true
1052
                        part.Size = Vector3.new(2, 2, 2)
1053
                        disabled[part] = true
1054
                        
1055
                        -- Raise earth
1056
                        for i = 1, 4 do i = i/4
1057
                                part.CFrame = frame * CFrame.new(0, (torsoY - frame.y)*i, 0)
1058
                                wait(1/10000000)
1059
                                if not part.Anchored then
1060
                                        break
1061
                                end
1062
                        end
1063
                        
1064
                        disabled[part] = nil
1065
                        part.Anchored = false
1066
                        
1067
                        wait(1/100)
1068
                end
1069
                raisingEarth = false
1070
 
1071
 
1072
   
1073
        -- Push earth
1074
        elseif key == "f" and state then
1075
   game:GetService("Chat"):Chat(char.Head, Taunts[math.random(1,#Taunts)], Enum.ChatColor.Red)
1076
                for _, part in pairs(parts) do
1077
                        if part.Name == "Earth" and part ~= lastTower then
1078
                                part:ClearAllChildren()
1079
                                part.Anchored = false
1080
                                
1081
                                -- Add force
1082
                                local bodyForce = createBody("Force", part)
1083
                                bodyForce.force = mouse.Hit.lookVector*1.5e4 * part:GetMass()
1084
                                
1085
                                game.Debris:AddItem(bodyForce, 1/30)
1086
                                
1087
                                -- Disable part
1088
                                disabled[part] = true
1089
                                delay(1, function()
1090
                                        disabled[part] = nil
1091
                                end)
1092
                        end
1093
                end
1094
        
1095
        -- Break earth
1096
        elseif key == "b" and state then
1097
game:GetService("Chat"):Chat(char.Head, "Earth, BREAK!", Enum.ChatColor.Red)
1098
                for part in pairs(frames) do
1099
                        if part.Size == Vector3.new(4, 4, 4) then
1100
                                for x = -1, 2, 2 do
1101
                                        for y = -1, 2, 2 do
1102
                                                for z = -1, 1, 2 do
1103
                                                        local oPart = createEarth(workspace)
1104
                                                        oPart.Size = Vector3.new(2, 2, 2)
1105
                                                        oPart.CFrame = part.CFrame * CFrame.new(x*1.1, y*1.1, z*1.1)
1106
                                                end
1107
                                        end
1108
                                end
1109
                                part:Destroy()
1110
                        end
1111
end
1112
    for part in pairs(frames) do
1113
                        if part.Size == Vector3.new(25, 15, 25) then
1114
                                for x = -3, 2, 2 do
1115
                                        for y = -3, 2, 2 do
1116
                                                for z = -3, 1, 2 do
1117
                                                        local oPart = createEarth(workspace)
1118
                                                        oPart.Size = Vector3.new(2, 2, 2)
1119
                                                        oPart.CFrame = part.CFrame * CFrame.new(x*1.1, y*1.1, z*1.1)
1120
                                                end
1121
                                        end
1122
                                end
1123
                                part:Destroy()
1124
                        end
1125
end
1126
    for part in pairs(frames) do
1127
                        if part.Size == Vector3.new(2, 2, 2) then
1128
                                for x = -0.5, 2, 2 do
1129
                                        for y = -0.5, 2, 2 do
1130
                                                for z = -0.5, 1, 2 do
1131
                                                        local oPart = createEarth(workspace)
1132
                                                        oPart.Size = Vector3.new(1, 1, 1)
1133
                                                        oPart.CFrame = part.CFrame * CFrame.new(x*1.1, y*1.1, z*1.1)
1134
                                                end
1135
                                        end
1136
                                end
1137
                                part:Destroy()
1138
                        end
1139
end
1140
    for part in pairs(frames) do
1141
                        if part.Size == Vector3.new(3, 3, 3) then
1142
                                for x = -0.5, 2, 2 do
1143
                                        for y = -0.5, 2, 2 do
1144
                                                for z = -0.5, 1, 2 do
1145
                                                        local oPart = createEarth(workspace)
1146
                                                        oPart.Size = Vector3.new(1, 1, 1)
1147
                                                        oPart.Shape = "Ball"
1148
                                                        oPart.CFrame = part.CFrame * CFrame.new(x*1.1, y*1.1, z*1.1)
1149
                                                end
1150
                                        end
1151
                                end
1152
                                part:Destroy()
1153
                        end
1154
end
1155
 
1156
 
1157
        
1158
        -- Raise tower
1159
        elseif key == "r" and state and not raisingTower then
1160
       game:GetService("Chat"):Chat(char.Head, raisechats[math.random(1,#raisechats)], Enum.ChatColor.Red)
1161
                raisingTower = true
1162
                lastTower = nil
1163
                if torso.Position.y - 5/2 < 20.4 then
1164
                        local part = createEarth(workspace)
1165
                        part.Anchored = true
1166
                        disabled[part] = true
1167
                        
1168
                        for i = 0, 30, 4 do
1169
                                part.Size = Vector3.new(5, i, 5)
1170
                                part.CFrame = CFrame.new(torso.Position.x, 0.4 + part.Size.y/2, torso.Position.z)
1171
                                torso.CFrame = (torso.CFrame - torso.CFrame.p) + Vector3.new(torso.Position.x, part.Position.y + part.Size.y/2 + 5/2, torso.Position.z)
1172
                                wait(1/30)
1173
                        end
1174
                        
1175
                        lastTower = part
1176
                        
1177
                        disabled[part] = nil
1178
                        part.Anchored = false
1179
                end
1180
                raisingTower = false
1181
        
1182
 
1183
 -- Raise big tower
1184
        elseif key == "z" and state and not raisingTower then
1185
       game:GetService("Chat"):Chat(char.Head, raisechats[math.random(1,#raisechats)], Enum.ChatColor.Red)
1186
                raisingTower = true
1187
                lastTower = nil
1188
                if torso.Position.y - 5/2 < 20.4 then
1189
                        local part = createEarth(workspace)
1190
                        part.Anchored = true
1191
                        disabled[part] = true
1192
                        
1193
                        for i = 0, 65, 4 do
1194
                                part.Size = Vector3.new(5, i, 5)
1195
                                part.CFrame = CFrame.new(torso.Position.x, 0.4 + part.Size.y/2, torso.Position.z)
1196
                                torso.CFrame = (torso.CFrame - torso.CFrame.p) + Vector3.new(torso.Position.x, part.Position.y + part.Size.y/2 + 5/2, torso.Position.z)
1197
                                wait(1/30)
1198
                        end
1199
                        
1200
                        lastTower = part
1201
                        
1202
                        disabled[part] = nil
1203
                        part.Anchored = false
1204
                end
1205
                raisingTower = false
1206
-- Raise wall
1207
        elseif key == "t" and state and not wall then
1208
game:GetService("Chat"):Chat(char.Head, raisechats[math.random(1,#raisechats)], Enum.ChatColor.Red)
1209
                wall = true
1210
                lastWall = nil
1211
                if torso.Position.y - 5/2 < 20.4 then
1212
                        local part = createEarth(workspace)
1213
                        part.Anchored = true
1214
                        disabled[part] = true
1215
                        
1216
                        for i = 0, 15, 20 do
1217
                                part.Size = Vector3.new(25, 15, 25)
1218
                                part.CFrame = CFrame.new(torso.Position.x, 0.4 + part.Size.y/2, torso.Position.z)
1219
                                torso.CFrame = (torso.CFrame - torso.CFrame.p) + Vector3.new(torso.Position.x, part.Position.y + part.Size.y/2 + 5/2, torso.Position.z)
1220
                                wait(1/30)
1221
                        end
1222
                        
1223
                        lastWall = part
1224
                        
1225
                        disabled[part] = nil
1226
                        part.Anchored = false
1227
                end
1228
                wall = false
1229
 
1230
        -- Ground attack
1231
        elseif key == "g" and state and not groundAttack then
1232
game:GetService("Chat"):Chat(char.Head, Taunts[math.random(1,#Taunts)], Enum.ChatColor.Red)
1233
                groundAttack = true
1234
                delay(1, function()
1235
                        groundAttack = false
1236
                end)
1237
                
1238
                local dir = planeY(mouse.Hit.p - torso.Position).unit
1239
                local pos = planeY(torso.Position, 0.4 + 1) + dir*5
1240
                
1241
                local ground = {}
1242
                
1243
                delay(5, function()
1244
                        for i = 1, 20 do
1245
                                for _, part in pairs(ground) do
1246
                                        if part.Anchored then
1247
                                                part.CFrame = part.CFrame + Vector3.new(0, -1/7, 0)
1248
                                        end
1249
                                end
1250
                                wait(1/30)
1251
                        end
1252
                        for _, part in pairs(ground) do
1253
                                if part.Anchored then
1254
                                        part:Destroy()
1255
                                end
1256
                        end
1257
                end)
1258
                
1259
                for i = 1, 10 do
1260
                        local hit, pos2 = rayCast(pos, dir*5, {char})
1261
                        
1262
                        local part = createEarth(workspace)
1263
                        part.Anchored = true
1264
                        part.Size = Vector3.new(4, 4, 4)
1265
                        part.CFrame = CFrame.new(pos2, pos2 + dir) * CFrame.Angles(math.rad(-50), 0, 0) + Vector3.new(0, -0, 0)
1266
                        
1267
                        ground[#ground + 1] = part
1268
                        
1269
                        -- Add force
1270
                        if hit then
1271
                                local mass = hit:GetMass()
1272
                                
1273
                                -- Hit player
1274
                                for _, oPlayer in pairs(game.Players:GetPlayers()) do
1275
                                        if oPlayer.Character and oPlayer.Character:FindFirstChild("Torso") and hit:IsDescendantOf(oPlayer.Character) then
1276
                                                hit = oPlayer.Character.Torso
1277
                                                mass = 20
1278
                                        end
1279
                                end
1280
                                
1281
                                if hit.Name ~= "Torso" then
1282
                                        hit:ClearAllChildren()
1283
                                end
1284
                                hit.Anchored = false
1285
                                
1286
                                -- Add force
1287
                                local bodyForce = createBody("Force", hit)
1288
                                bodyForce.force = (dir + Vector3.new(0, 0.2, 0)).unit*1e4 * mass
1289
                                
1290
                                game.Debris:AddItem(bodyForce, 1/30)
1291
                                break
1292
                        end
1293
                        
1294
                        pos = pos2
1295
                        wait(1/20)
1296
                end
1297
        end
1298
end
1299
--- CORE CODE BELOW --- CORE CODE BELOW --- CORE CODE BELOW ---
1300
--- CORE CODE BELOW --- CORE CODE BELOW --- CORE CODE BELOW ---
1301
--- CORE CODE BELOW --- CORE CODE BELOW --- CORE CODE BELOW ---
1302
-- Clear old tool
1303
player.Backpack:ClearAllChildren()
1304
-- Create tool
1305
local tool = Instance.new("HopperBin")
1306
tool.Parent = player.Backpack
1307
tool.Name = "Dark Bending"
1308
-- Tool selected
1309
tool.Selected:connect(function(mouse)
1310
        mouse.Icon = "rbxasset://textures\\GunCursor.png"
1311
        
1312
        -- Mouse events
1313
        mouse.Button1Down:connect(function()
1314
                mouseDown = true
1315
        end)
1316
        mouse.Button1Up:connect(function()
1317
                mouseDown = false
1318
        end)
1319
        mouse.KeyDown:connect(function(key)
1320
                keysDown[key:lower()] = true
1321
                onKeyChange(mouse, key:lower(), true)
1322
        end)
1323
        mouse.KeyUp:connect(function(key)
1324
                keysDown[key:lower()] = false
1325
                onKeyChange(mouse, key:lower(), false)
1326
        end)
1327
        
1328
        -- Call main
1329
        main(mouse)
1330
end)
1331
--- LIBRARY BELOW --- LIBRARY BELOW --- LIBRARY BELOW ---
1332
--- LIBRARY BELOW --- LIBRARY BELOW --- LIBRARY BELOW ---
1333
--- LIBRARY BELOW --- LIBRARY BELOW --- LIBRARY BELOW ---
1334
-- Ray cast
1335
function rayCast(pos, dir, ignore)
1336
        return workspace:FindPartOnRayWithIgnoreList(Ray.new(pos, dir), ignore)
1337
end
1338
-- Create body
1339
function createBody(type, path)
1340
        local body = Instance.new("Body" .. type)
1341
        if type == "Gyro" then
1342
                body.maxTorque = Vector3.new(math.huge, math.huge, math.huge)
1343
        elseif type ~= "Force" then
1344
                body.maxForce = Vector3.new(math.huge, math.huge, math.huge)
1345
        end
1346
        body.Parent = path
1347
        return body
1348
end
1349
-- Get parts in region 3
1350
function getPartsInRegion3(region, parts)
1351
        repeat
1352
                local regParts = workspace:FindPartsInRegion3WithIgnoreList(region, parts, 100)
1353
                for i, part in pairs(regParts) do
1354
                        parts[#parts + 1] = part
1355
                end
1356
        until #regParts < 100
1357
end
1358
-- Random
1359
function r(min, max)
1360
        return math.random()*(max - min) + min
1361
end
1362
-- Plane y
1363
function planeY(v, y)
1364
        return Vector3.new(v.x, y or 0, v.z)
1365
end
1366
-- Create earth
1367
function createEarth(path)
1368
        local part = createPart("Earth", path)
1369
        part.BrickColor = BrickColor.new("Really black")
1370
        part.Material = "Slate"
1371
        m = Instance.new("Fire",part)
1372
        m.Heat = 10
1373
        part.Parent = path
1374
        return part
1375
end
1376
-- Create part
1377
function createPart(name, path)
1378
        local part = Instance.new("Part")
1379
        part.FormFactor = "Symmetric"
1380
        part.BottomSurface = "Smooth"
1381
        part.TopSurface = "Smooth"
1382
        part.Size = Vector3.new(1, 1, 1)
1383
        part.Name = name
1384
        part.Parent = path
1385
        return part
1386
end
1387
1388
1389
1390
1391
Player = "legend94582"
1392
Player = game.Players[Player]
1393
char = Player.Character
1394
mode1 = "nothing"
1395
mode2 = "nothing"
1396
busy = false
1397
function Color(r, g, b)
1398
 return Color3.new(r/255, g/255, b/255)
1399
end
1400
------------------------------------------------------------
1401
pcall(function() char.Suit:remove() end)
1402
wait()
1403
plyr = Player
1404
lol = Instance.new("Model")
1405
lol.Parent = plyr.Character
1406
lol.Name = "Suit"
1407
function updateLooks() 
1408
for i,v in pairs(plyr.Character:getChildren()) do 
1409
if v:IsA("Part") then 
1410
v.Reflectance = 0.1 
1411
v.TopSurface = "Smooth" 
1412
v.BottomSurface = "Smooth" 
1413
v.LeftSurface = "Smooth" 
1414
v.RightSurface = "Smooth" 
1415
v.BrickColor = BrickColor.new("Black")
1416
 v.Reflectance = 0.2 
1417
1418
elseif v:IsA("Hat") then 
1419
v:Remove() 
1420
elseif v:IsA("Shirt") then 
1421
v:Remove() 
1422
elseif v:IsA("Pants") then 
1423
v:Remove() 
1424
end 
1425
end 
1426
pcall(function() 
1427
plyr.Character.Torso.roblox:Remove() 
1428
plyr.Character["Shirt Graphic"]:Remove() 
1429
end) 
1430
local v = Instance.new("Shirt", char)
1431
 v.ShirtTemplate = "http://www.roblox.com/asset/?id=9291127"
1432
 local v = Instance.new("Pants", char)
1433
 v.PantsTemplate = "http://www.roblox.com/asset/?id=10045638"
1434
end
1435
updateLooks()
1436
--Head-----------------------------
1437
hd = Instance.new("Part")
1438
hd.Parent = lol
1439
hd.CanCollide = false
1440
hd.Locked = true
1441
hd.Size = Vector3.new(1,1,1)
1442
hd.formFactor = "Symmetric"
1443
hd.CFrame = CFrame.new(3,3,0)
1444
hd.BrickColor = BrickColor.new("")
1445
m = Instance.new("SpecialMesh")
1446
m.Parent = hd
1447
m.MeshType = "FileMesh"
1448
--m.MeshId = 
1449
--m.TextureId = 
1450
m.Scale = Vector3.new(1.05, 1.05, 1.05)
1451
local Weld = Instance.new("Weld") 
1452
Weld.Parent = hd 
1453
Weld.Part0 = hd 
1454
Weld.Part1 = plyr.Character.Head
1455
Weld.C0 = CFrame.new(0,-0.10,0)*CFrame.Angles(0,0,0) 
1456
-- Cheese Hat--
1457
local _Part = Instance.new("Part", lol)
1458
_Part.Name = "Cheese hat"
1459
_Part.TopSurface = "Smooth"
1460
_Part.BottomSurface = "Smooth"
1461
_Part.Locked = true
1462
_Part.formFactor = "Custom"
1463
_Part.Size = Vector3.new(3,3,3)
1464
local mesh = Instance.new("SpecialMesh", _Part)
1465
mesh.Scale = Vector3.new(1,1,1)
1466
mesh.MeshId = "http://www.roblox.com/asset/?id=31309506"
1467
mesh.TextureId = "http://www.roblox.com/asset/?id=31309468"
1468
local Weld = Instance.new("Weld") 
1469
Weld.Parent = _Part
1470
Weld.Part0 = _Part
1471
Weld.Part1 = plyr.Character.Head
1472
Weld.C0 = CFrame.new(0,-0.5,0)*CFrame.Angles(0,0,0) 
1473
cheese = _Part --:P
1474
--Edit-------------------------------
1475
plyr.Character.Humanoid.MaxHealth = math.huge
1476
f = Instance.new("Fire")
1477
f.Parent = plyr.Character.Torso
1478
--f.Color = Color3.new(5,0,5)--OLD C
1479
f.Color = BrickColor.new("Bright red").Color
1480
f.Size = 5
1481
1482
plyr.Character.Humanoid.MaxHealth = math.huge
1483
f = Instance.new("Fire")
1484
f.Parent = plyr.Character.Torso
1485
--f.Color = Color3.new(5,0,5)--OLD C
1486
f.Color = BrickColor.new("Black").Color
1487
f.Size = 6
1488
1489
plyr.Character.Humanoid.MaxHealth = math.huge
1490
f = Instance.new("Fire")
1491
f.Parent = plyr.Character.Torso
1492
--f.Color = Color3.new(5,0,5)--OLD C
1493
f.Color = BrickColor.new("Bright yellow").Color
1494
f.Size = 6
1495
1496
plyr.Character.Humanoid.MaxHealth = math.huge
1497
f = Instance.new("Sparkles")
1498
f.Parent = plyr.Character.Head
1499
--f.Color = Color3.new(5,0,5)--OLD C
1500
f.Color = BrickColor.new("Black").Color
1501
f.Size = 6
1502
--WalkSpeed--------------------
1503
plyr.Character.Humanoid.WalkSpeed = 50
1504
----------------------Functions-----------------------------
1505
function raycast(origin, ending, ang)
1506
 local ray = Ray.new(
1507
 origin.p, -- origin
1508
 (ending.p - origin.p).unit * 500 -- direction
1509
 ) 
1510
local hit, Position = game.Workspace:FindPartOnRay(ray, ang)
1511
 local RayPart = Instance.new("Part", game.Workspace)
1512
 RayPart.Name = "RayPart"
1513
 RayPart.BrickColor = BrickColor.new("Bright yellow")
1514
 RayPart.Transparency = 0.5
1515
 RayPart.Anchored = true
1516
 RayPart.CanCollide = false
1517
 RayPart.TopSurface = Enum.SurfaceType.Smooth
1518
 RayPart.BottomSurface = Enum.SurfaceType.Smooth
1519
 RayPart.formFactor = Enum.FormFactor.Custom
1520
 local Distance = (Position-origin.p).magnitude
1521
 RayPart.Size = Vector3.new(0.2,0.2,Distance)
1522
 RayPart.CFrame = CFrame.new(Position,origin.p) * CFrame.new(0,0,-Distance/2)
1523
 game.Debris:AddItem(RayPart,0.1)
1524
 return hit 
1525
end
1526
function onDied()
1527
 wait(4.9)
1528
 if script.Parent.Parent == nil then return end
1529
 script.Parent.Parent = nil
1530
 wait(0.1)
1531
 script.Parent = Player.Backpack
1532
 Player.Character.Humanoid.Died:connect(onDied)
1533
end
1534
function SetAngle(Joint, Angle, Character)
1535
 if Character == nil then return false end
1536
 local Joints = {
1537
 Character.Torso:FindFirstChild("Right Shoulder 2"),
1538
 Character.Torso:FindFirstChild("Left Shoulder 2"),
1539
 Character.Torso:FindFirstChild("Right Hip 2"),
1540
 Character.Torso:FindFirstChild("Left Hip 2")
1541
 }
1542
 if Joints[Joint] == nil then return false end
1543
 if Joint == 1 or Joint == 3 then
1544
 Joints[Joint].DesiredAngle = Angle
1545
 end
1546
 if Joint == 2 or Joint == 4 then
1547
 Joints[Joint].DesiredAngle = -Angle
1548
 end
1549
end
1550
function ForceAngle(Joint, Angle, Character)
1551
 if Character == nil then return false end
1552
 local Joints = {
1553
 Character.Torso:FindFirstChild("Right Shoulder 2"),
1554
 Character.Torso:FindFirstChild("Left Shoulder 2"),
1555
 Character.Torso:FindFirstChild("Right Hip 2"),
1556
 Character.Torso:FindFirstChild("Left Hip 2")
1557
 }
1558
 if Joints[Joint] == nil then return false end
1559
 if Joint == 1 or Joint == 3 then
1560
 Joints[Joint].DesiredAngle = Angle
1561
 Joints[Joint].CurrentAngle = Angle
1562
 end
1563
 if Joint == 2 or Joint == 4 then
1564
 Joints[Joint].DesiredAngle = -Angle
1565
 Joints[Joint].CurrentAngle = -Angle
1566
 end
1567
end
1568
function SetSpeed(Joint, Speed, Character)
1569
 if Character == nil then return false end
1570
 local Joints = {
1571
 Character.Torso:FindFirstChild("Right Shoulder 2"),
1572
 Character.Torso:FindFirstChild("Left Shoulder 2"),
1573
 Character.Torso:FindFirstChild("Right Hip 2"),
1574
 Character.Torso:FindFirstChild("Left Hip 2")
1575
 }
1576
 if Joints[Joint] == nil then return false end
1577
 Joints[Joint].MaxVelocity = Speed
1578
end
1579
function DisableLimb(Limb, Character)
1580
 if Character == nil then return false end
1581
 if Character:FindFirstChild("Torso") == nil then return false end
1582
 local Joints = {
1583
 Character.Torso:FindFirstChild("Right Shoulder"),
1584
 Character.Torso:FindFirstChild("Left Shoulder"),
1585
 Character.Torso:FindFirstChild("Right Hip"),
1586
 Character.Torso:FindFirstChild("Left Hip")
1587
 }
1588
 local Limbs = {
1589
 Character:FindFirstChild("Right Arm"),
1590
 Character:FindFirstChild("Left Arm"),
1591
 Character:FindFirstChild("Right Leg"),
1592
 Character:FindFirstChild("Left Leg")
1593
 }
1594
 if Joints[Limb] == nil then return false end
1595
 if Limbs[Limb] == nil then return false end
1596
 local Joint = Instance.new("Motor")
1597
 Joint.Parent = Character.Torso
1598
 Joint.Part0 = Character.Torso
1599
 Joint.Part1 = Limbs[Limb]
1600
 if Limb == 1 then
1601
 Joint.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
1602
 Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
1603
 Joint.Name = "Right Shoulder 2"
1604
 elseif Limb == 2 then
1605
 Joint.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
1606
 Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
1607
 Joint.Name = "Left Shoulder 2"
1608
 elseif Limb == 3 then
1609
 Joint.C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
1610
 Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
1611
 Joint.Name = "Right Hip 2"
1612
 elseif Limb == 4 then
1613
 Joint.C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
1614
 Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
1615
 Joint.Name = "Left Hip 2"
1616
 end
1617
 Joint.MaxVelocity = Joints[Limb].MaxVelocity
1618
 Joint.CurrentAngle = Joints[Limb].CurrentAngle
1619
 Joint.DesiredAngle = Joints[Limb].DesiredAngle
1620
 Joints[Limb]:Remove()
1621
end
1622
function ResetLimbCFrame(Limb, Character)
1623
 if Character == nil then return false end
1624
 if Character.Parent == nil then return false end
1625
 if Character:FindFirstChild("Torso") == nil then return false end
1626
 local Joints = {
1627
 Character.Torso:FindFirstChild("Right Shoulder 2"),
1628
 Character.Torso:FindFirstChild("Left Shoulder 2"),
1629
 Character.Torso:FindFirstChild("Right Hip 2"),
1630
 Character.Torso:FindFirstChild("Left Hip 2")
1631
 }
1632
 local Limbs = {
1633
 Character:FindFirstChild("Right Arm"),
1634
 Character:FindFirstChild("Left Arm"),
1635
 Character:FindFirstChild("Right Leg"),
1636
 Character:FindFirstChild("Left Leg")
1637
 }
1638
 if Joints[Limb] == nil then return false end
1639
 if Limbs[Limb] == nil then return false end
1640
 if Limb == 1 then
1641
 Joints[Limb].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
1642
 Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
1643
 elseif Limb == 2 then
1644
 Joints[Limb].C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
1645
 Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
1646
 elseif Limb == 3 then
1647
 Joints[Limb].C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
1648
 Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
1649
 elseif Limb == 4 then
1650
 Joints[Limb].C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
1651
 Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
1652
 end
1653
end
1654
function EnableLimb(Limb, Character)
1655
 if Character == nil then return false end
1656
 if Character:FindFirstChild("Torso") == nil then return false end
1657
 local Joints = {
1658
 Character.Torso:FindFirstChild("Right Shoulder 2"),
1659
 Character.Torso:FindFirstChild("Left Shoulder 2"),
1660
 Character.Torso:FindFirstChild("Right Hip 2"),
1661
 Character.Torso:FindFirstChild("Left Hip 2")
1662
 }
1663
 local Limbs = {
1664
 Character:FindFirstChild("Right Arm"),
1665
 Character:FindFirstChild("Left Arm"),
1666
 Character:FindFirstChild("Right Leg"),
1667
 Character:FindFirstChild("Left Leg")
1668
 }
1669
 if Joints[Limb] == nil then return false end
1670
 if Limbs[Limb] == nil then return false end
1671
 if Limb == 1 then
1672
 Joints[Limb].Name = "Right Shoulder"
1673
 elseif Limb == 2 then
1674
 Joints[Limb].Name = "Left Shoulder"
1675
 elseif Limb == 3 then
1676
 Joints[Limb].Name = "Right Hip"
1677
 elseif Limb == 4 then
1678
 Joints[Limb].Name = "Left Hip"
1679
 end
1680
 Animate = Character:FindFirstChild("Animate")
1681
 if Animate == nil then return false end
1682
 Animate = Animate:Clone()
1683
 Character.Animate:Remove()
1684
 Animate.Parent = Character
1685
end
1686
function Weld(x, y)
1687
 weld = Instance.new("Weld")
1688
 weld.Part0 = x
1689
 weld.Part1 = y
1690
 CJ = CFrame.new(x.Position)
1691
 C0 = x.CFrame:inverse() * CJ
1692
 C1 = y.CFrame:inverse() * CJ
1693
 weld.C0 = C0
1694
 weld.C1 = C1
1695
 weld.Parent = x
1696
end
1697
---------------------
1698
function tagHumanoid(humanoid) local tag = Instance.new("ObjectValue") tag.Name = "creator" tag.Value = Player tag.Parent = humanoid end function untagHumanoid(humanoid) if humanoid ~= nil then local tag = humanoid:FindFirstChild("creator") if tag ~= nil then tag:Remove() end end end 
1699
-------------------------------------------------------------------------------------------
1700
function onButton1Down(mouse)
1701
 if(mode1 == "Cheese hat")then
1702
 if(mode2 == "cheeseray")then
1703
 local hit = raycast(cheese.CFrame, mouse.Hit, plyr.Character)
1704
 if(hit)then
1705
 hit.BrickColor = BrickColor.new("Bright yellow")
1706
 local mesh = Instance.new("SpecialMesh", hit)
1707
 mesh.Scale = hit.Size
1708
 mesh.MeshId = "http://www.roblox.com/asset/?id=1090700"
1709
 end
1710
 busy = false
1711
 elseif mode2 == "Throw" then
1712
 if(not busy)then
1713
 --[[busy = true]]
1714
 DisableLimb(1, char)
1715
 SetSpeed(1, .5, char)
1716
 SetAngle(1, math.rad(180), char)
1717
 wait(0.2)
1718
 local _Part = Instance.new("Part", lol)
1719
 _Part.Name = "Cheese hat"
1720
 _Part.TopSurface = "Smooth"
1721
 _Part.BottomSurface = "Smooth"
1722
 _Part.Locked = true
1723
 _Part.formFactor = "Custom"
1724
 _Part.BrickColor = BrickColor.new("Bright yellow")
1725
 _Part.Size = Vector3.new(1,1,1)
1726
 local mesh = Instance.new("SpecialMesh", _Part)
1727
 mesh.Scale = Vector3.new(1.5,1.5,1.5)
1728
 mesh.MeshId = "http://www.roblox.com/asset/?id=25211365"
1729
 mesh.TextureId = "http://www.roblox.com/asset/?id=97661471"
1730
 local Weld = Instance.new("Weld") 
1731
Weld.Parent = _Part
1732
 Weld.Part0 = _Part
1733
 Weld.Part1 = char["Right Arm"]
1734
 Weld.C0 = CFrame.new(0,-1,0)
1735
 wait(0.2)
1736
 SetSpeed(1, .5, char)
1737
 SetAngle(1, math.rad(90), char)
1738
 local bp = Instance.new("BodyPosition", _Part)
1739
 bp.maxForce = Vector3.new(math.huge, math.huge, math.huge)
1740
 bp.position = mouse.Hit.p
1741
 _Part.Weld:remove()
1742
 _Part.Touched:connect(function(m)
1743
 if(m.Parent:FindFirstChild("Humanoid") and not m.Parent == char)then
1744
 m.Parent.Humanoid:TakeDamage(30)
1745
 _Part:remove()
1746
 end
1747
 end) 
1748
EnableLimb(1, char)
1749
 wait(4)
1750
 _Part:remove()
1751
 end
1752
 end
1753
 end
1754
end
1755
function onMouseMove(mouse)
1756
1757
end
1758
function onButton1Up(mouse)
1759
1760
end
1761
function onKeyDown(key, mouse)
1762
 key = key:lower()
1763
 if mode1 == "nothing" then
1764
 if key == "z" then
1765
 mode1 = "Cheese hat"
1766
 mode2 = "nothing"
1767
 elseif key == "x" then
1768
 mode1 = "Staff"
1769
 mode2 = "nothing"
1770
 --Staff showing animation TO DO
1771
 end
1772
 else
1773
 if key == "z" and mode1 == "Cheese hat" then
1774
 mode1 = "nothing"
1775
 mode2 = "nothing"
1776
 elseif key == "x" and mode1 == "Staff" then
1777
 mode1 = "nothing"
1778
 mode2 = "nothing"
1779
 --Staff hiding animation TO DO
1780
 else
1781
 ---------------DO STUFF :3------------------
1782
 if mode1 == "Cheese hat" then
1783
 --mod1
1784
 if(key == "q")then
1785
 if(mode2 == "nothing") then 
1786
mode2 = "cheeseray" 
1787
elseif mode2 == "cheeseray" then 
1788
mode2 = "nothing"
1789
 end
1790
 elseif key == "e" then
1791
 if(mode2 == "nothing") then 
1792
mode2 = "Throw" 
1793
elseif mode2 == "Throw" then 
1794
mode2 = "nothing"
1795
 end
1796
 end
1797
 elseif mode1 == "Staff" then
1798
 --mod2 --Staff --To do
1799
 end
1800
 end
1801
 end
1802
end
1803
----------------------------------------------Connectors-----------------------------------
1804
isgui = true
1805
function showgui()
1806
 isgui = true
1807
 --Status GUI--
1808
 local g = Instance.new("ScreenGui", plyr.PlayerGui)
1809
 g.Name = "CheeseSuitStatusGUI"
1810
 local t = Instance.new("TextLabel", g)
1811
 t.Position = UDim2.new(0, 300, 1, -50)
1812
 t.Size = UDim2.new(0, 250, 0, 50)
1813
 t.Text = mode1 .. ":" .. mode2
1814
 t.FontSize = "Size14"
1815
 t.Name = "p"
1816
 Spawn(function()
1817
 while isgui do
1818
 if(isgui)then
1819
 pcall(function()
1820
 plyr.PlayerGui.CheeseSuitStatusGUI.p.Text = mode1 .. ":" .. mode2
1821
 end)
1822
 end
1823
 wait(0.5)
1824
 end
1825
 end)
1826
end
1827
function hidegui()
1828
 isgui = false
1829
 pcall(function() plyr.PlayerGui.CheeseSuitStatusGUI:remove() end)
1830
end
1831
function onSelected(mouse)
1832
 mouse.Icon = "rbxasset://textures\\GunCursor.png"
1833
 mouse.Button1Down:connect(function() onButton1Down(mouse) end)
1834
 mouse.Button1Up:connect(function() onButton1Up(mouse) end)
1835
 mouse.KeyDown:connect(function(key) onKeyDown(key, mouse) end)
1836
 mouse.Move:connect(function() onMouseMove(mouse) end)
1837
 showgui()
1838
end
1839
function onDeselected(mouse)
1840
 --To do
1841
 hidegui()
1842
end
1843
if script.Parent.ClassName ~= "HopperBin" then
1844
 if Player == nil then print("Error: Player not found!") return end
1845
 Tool = Instance.new("HopperBin")
1846
 Tool.Name = "Suit Control"
1847
 Tool.Parent = Player.Backpack
1848
 script.Name = "Main"
1849
 script.Parent = Tool
1850
 Player.Character.Humanoid.Died:connect(onDied)
1851
elseif script.Parent.ClassName == "HopperBin" then
1852
 Player = script.Parent.Parent.Parent
1853
 script.Parent.Selected:connect(onSelected)
1854
 script.Parent.Deselected:connect(onDeselected)
1855
end
1856
1857
1858
1859
1860
function onTouch(hit)
1861
	human = hit.Parent:findFirstChild("Humanoid")
1862
	if human ~= nil and human.Parent.Name ~= "legend94582" then
1863
		human.Health = 0
1864
		wait()
1865
	end
1866
end
1867
game.Players.legend94582.Character.Torso.Touched:connect(onTouch)