View difference between Paste ID: 1whKAFU7 and 2SvNw6qr
SHOW: | | - or go back to the newest paste.
1-
1+
ply = game.Players.overhaleren
2-
ply = game.Players.Overgamer10
2+
3
torso = char.Torso
4
 
5
legpos = CFrame.new(.5,-1.5,0)
6
armpos = CFrame.new(1.5,.5,0)
7
 
8
ang = CFrame.Angles
9
cfn = CFrame.new
10
 
11
Arms = {char["Left Arm"],char["Right Arm"]}
12
Legs = {char["Left Leg"],char["Right Leg"]}
13
 
14
track = false
15
m = Instance.new("Model",char)
16
 
17
meshids = {["blast"] = "http://www.roblox.com/asset/?id=20329976", ["penguin"] = "http://www.roblox.com/asset/?id=15853464", ["ring"] = "http://www.roblox.com/asset/?id=3270017",
18
["spike"] = "http://www.roblox.com/asset/?id=1033714",["cone"] = "http://www.roblox.com/asset/?id=1082802",["crown"] = "http://www.roblox.com/asset/?id=20329976",["arrow"] = "http://www.roblox.com/asset/?id=15886761",
19
["cloud"] = "http://www.roblox.com/asset/?id=1095708",["mjolnir"] = "http://www.roblox.com/asset/?id=1279013"}
20
textureids = {["cone"] = "http://www.roblox.com/asset/?id=1082804",["rainbow"] = "http://www.roblox.com/asset/?id=28488599"}
21
 
22
--TOOLS--
23
T = {["P"] = function(x,y,z,color,transparency,cancollide,anchored)
24
c = Instance.new("Part",m)
25
 
26
c.TopSurface,c.BottomSurface = 0,0
27
c.formFactor = "Custom"
28
c.Size = Vector3.new(x,y,z)
29
c.BrickColor = BrickColor.new(color)
30
c.Transparency = transparency
31
c.CanCollide = cancollide
32
if anchored ~= nil then c.Anchored = anchored end
33
return c
34
end
35
,
36
["W"] = function(part0,part1,x,y,z,rx,ry,rz)
37
w = Instance.new("Weld",m)
38
w.Part0,w.Part1 = part0,part1
39
w.C1 = CFrame.new(x,y,z) * CFrame.Angles(rx,ry,rz)
40
return w
41
end
42
,
43
["F"] = function(parent,size,heat,color,secondcolor)
44
f = Instance.new("Fire",parent)
45
f.Size = size
46
f.Heat = heat
47
if color ~= nil then f.Color = BrickColor.new(color).Color end
48
if secondcolor ~= nil then f.SecondaryColor = BrickColor.new(secondcolor).Color end
49
return f
50
end
51
,
52
["BP"] = function(parent,position)
53
local bp = Instance.new("BodyPosition",parent)
54
bp.maxForce = Vector3.new()*math.huge
55
bp.position = position
56
end
57
,
58
["R"] = function(part,x,y,z)
59
if part == "lleg" then
60
legw[1].C1 = CFrame.new(.5,-1.5,0)*ang(x,y,z)
61
elseif part == "rleg" then
62
legw[2].C1 = CFrame.new(-.5,-1.5,0)*ang(x,y,z)
63
elseif part == "larm" then
64
armw[1].C1 = CFrame.new(1.5,.5,0)*ang(x,y,z)
65
elseif part == "rarm" then
66
armw[2].C1 = CFrame.new(-1.5,.5,0)*ang(x,y,z)
67
end
68
end
69
,
70
["Track"] = function(obj,t,lt)
71
coroutine.resume(coroutine.create(function()
72
while track do
73
old = obj.Position
74
wait()
75
new = obj.Position
76
 
77
mag = (old-new).magnitude
78
dist = (old+new)/2
79
 
80
ray = T.P(t,mag+.2,t,obj.Color,t)
81
Instance.new("CylinderMesh",ray)
82
ray.Anchored = true
83
ray.CanCollide = false
84
ray.CFrame = CFrame.new(dist,old)*ang(math.pi/2,0,0)
85
game:GetService("Debris"):AddItem(ray,lt)
86
end
87
end)) end,
88
["Reset"] = function(a)
89
if a == "all" then
90
T.R("lleg",0,0,0) T.R("rleg",0,0,0) T.R("rarm",0,0,0) T.R("larm",0,0,0)
91
else
92
for i,v in pairs({"lleg","llarm","rarm","rleg"}) do T.R(v,0,0,0) end
93
end
94
end
95
,
96
["FM"] = function(parent,meshid,x,y,z,meshtexture)
97
mesh = Instance.new("SpecialMesh",parent)
98
mesh.MeshId = meshids[meshid]
99
mesh.Scale = Vector3.new(x,y,z)
100
if meshtexture ~= nil then
101
mesh.TextureId = textureids[meshtexture]
102
end
103
return mesh
104
end
105
,
106
["BG"] = function(parent)
107
local c = Instance.new("BodyGyro",parent)
108
c.P = 20e+003
109
c.cframe = parent.CFrame
110
c.maxTorque = Vector3.new(c.P,c.P,c.P)
111
return c
112
end
113
,
114
["C"] = function(func) coroutine.resume(coroutine.create(func)) end
115
,
116
["Lazor"] = function(from,to,size,color,lt,ball)
117
mag = (from-to).magnitude
118
 
119
p = T.P(size,mag,size,color,.5,false,true)
120
p.Name = "Ray"
121
p.CFrame = (CFrame.new(from,to) * CFrame.new(0,0,-mag/2))* ang(math.pi/2,0,0)
122
if lt > 0 then
123
game:GetService("Debris"):AddItem(p,lt)
124
end
125
 
126
if ball ~= nil then
127
ball.Anchored = true
128
ball.Parent = p
129
ball.CFrame = p.CFrame * CFrame.new(0,-mag/2,0)
130
end
131
return p
132
end
133
}
134
---------
135
 
136
function damage(hit,amount)
137
for i,v in pairs(hit.Parent:GetChildren()) do
138
if v:IsA("Humanoid") and v.Parent ~= char then
139
 
140
if v.MaxHealth > 100 then v.Parent:BreakJoints() end
141
v.Health = v.Health - amount
142
 
143
amo = 0
144
for i,o in pairs(v.Parent:GetChildren()) do
145
if o:IsA("BillboardGui") and o.Name == "satuttava" then
146
amo = amo+1
147
end end
148
 
149
local bbg = Instance.new("BillboardGui",v.Parent)
150
bbg.Adornee = v.Torso
151
bbg.Name = "satuttava"
152
bbg.Size = UDim2.new(2,0,2,0)
153
bbg.StudsOffset = Vector3.new(0,6+amo*2,0)
154
 
155
box = Instance.new("TextLabel",bbg)
156
box.Size = UDim2.new(1,0,1,0)
157
box.BackgroundColor = BrickColor.new("White")
158
box.Text = amount
159
box.Position = UDim2.new(0,0,0,0)
160
box.TextScaled = true
161
game:GetService("Debris"):AddItem(bbg,.5)
162
end
163
end
164
end
165
 
166
 
167
function left()
168
T.R("rleg",math.rad(100),0,math.rad(30))
169
T.R("lleg",math.rad(-10),0,math.rad(30))
170
end
171
function right()
172
T.R("rleg",math.rad(-10),0,math.rad(-30))
173
T.R("lleg",math.rad(100),0,math.rad(-30))
174
end
175
 
176
function penguin(mouse)
177
local orb = T.P(1,1,1,"White",0,false)
178
msh = T.FM(orb,"penguin",1,1,1,"rainbow")
179
 
180
local orb2 = orb:Clone()
181
orb2.Parent = m
182
 
183
w = T.W(orb,Arms[1],0,-1.45,0,0,0,0)
184
w = T.W(orb2,Arms[2],0,-1.45,0,0,0,0)
185
 
186
T.R("larm",math.rad(-50),0,0)
187
T.R("rarm",0,0,-math.pi/2)
188
wait(0.5)
189
local fire = T.F(orb,5,1,"Pink","Cyan")
190
T.C(function() while true do wait(0.05) fire.Color = BrickColor:random().Color end end)
191
 
192
local fire2 = T.F(orb2,5,1,"Pink","Cyan")
193
T.C(function() while true do wait(0.05) fire.Color = BrickColor:random().Color end end)
194
 
195
wait(0.5)
196
T.R("larm",math.rad(70),0,0)
197
T.R("rarm",math.rad(70),0,0)
198
 
199
 
200
for i = 1,50 do
201
wait()
202
for i,v in pairs({orb,orb2}) do
203
T.Lazor(v.Position,torso.Position + torso.CFrame.lookVector * 30,1,BrickColor:random().Name,.1)
204
end
205
end
206
 
207
orb:Remove() orb2:Remove()
208
 
209
wait(.5)
210
 
211
for i = 1,10 do
212
wait()
213
armw[1].C1 = armw[1].C1 * ang(math.rad(-7),0,0)
214
armw[2].C1 = armw[2].C1 * ang(math.rad(-7),0,0)
215
end
216
 
217
end
218
 
219
function punch(mouse)
220
bg = T.BG(torso)
221
 
222
orbo = Instance.new("Model",m)
223
orb = T.P(2,2,2,"Cyan",0,1)
224
orb.Parent = orbo
225
 
226
Instance.new("SpecialMesh",orb).MeshType = 3
227
 
228
r = 3
229
track = true
230
 
231
for i = 1,360,60 do
232
local part = orb:Clone()
233
part.Parent = orbo
234
part.Size = Vector3.new(.5,.5,.5)
235
local weld = T.W(part,orb,math.cos(math.rad(i))*r,0,math.sin(math.rad(i))*r,0,0,0)
236
T.C(function()
237
for o = 10,r,-.5 do
238
wait()
239
weld = T.W(part,orb,math.cos(math.rad(i))*o,0,math.sin(math.rad(i))*o,0,0,0)
240
end
241
end)
242
end
243
 
244
needle = T.P(.4,4,.4,"Black",0,1)
245
needle.Parent = orbo
246
mesh = T.FM(needle,"spike",.4,5.2,.4)
247
T.W(needle,orb,0,-3,0,math.pi,0,0)
248
 
249
T.W(orb,Arms[2],0,-1.5,0,0,0,0).Parent = orb
250
 
251
T.R("rarm",0,0,-math.pi/2)
252
T.R("larm",0,0,math.pi/2)
253
T.R("rleg",0,0,math.rad(-40))
254
T.R("lleg",0,0,math.rad(40))
255
 
256
bp = Instance.new("BodyPosition",torso)
257
bp.maxForce = Vector3.new() * math.huge
258
bp.position = torso.Position + Vector3.new(0,100,0)
259
 
260
touch = true
261
mouse.Button1Down:connect(function() touch = false end)
262
 
263
while touch == true do
264
wait()
265
bg.cframe = mouse.hit
266
end
267
 
268
local p = mouse.hit.p
269
 
270
bg.cframe = cfn(torso.Position,p)*ang(-math.pi/2,0,0)
271
T.Reset("all") T.R("rarm",math.pi,0,0)
272
 
273
bp:Remove()
274
bv = Instance.new("BodyVelocity",orb)
275
bv.maxForce = Vector3.new() * math.huge
276
bv.velocity = (torso.Position-p).unit * -300
277
 
278
needle.Touched:wait()
279
e = Instance.new("Explosion",Workspace)
280
e.BlastRadius = 20
281
e.BlastPressure = 0
282
e.Position = orb.Position
283
e.Hit:connect(function(hit) damage(hit,600) end)
284
T.C(function()
285
local pos = (needle.CFrame * CFrame.new(0,-2,0)).p
286
local part = T.P(1,1,1,"Neon orange",0,0,1)
287
part.CFrame = CFrame.new(pos)
288
 
289
local msh = T.FM(part,"blast",1,1,1)
290
 
291
for i = 1,30,.5 do
292
wait()
293
msh.Scale = Vector3.new(i,i*.25,i)
294
part.Transparency = i/30
295
end
296
 
297
part:Remove()
298
end)
299
 
300
orbo:Remove() bg:Remove() T.Reset("all")
301
 
302
end
303
 
304
function dance()
305
 
306
armw[1].C1 = cfn(1,1.5,0) * ang(0,0,math.pi/2)
307
armw[2].C1 = cfn(-1,1.5,0) * ang(0,0,-math.pi/2)
308
legw[1].C1 = cfn(1.5,-.5,0)
309
legw[2].C1 = cfn(-1.5,-.5,0)
310
 
311
motor1 = T.P(.1,.1,.1,"Cyan",1,0)
312
motor2 = T.P(.1,.1,.1,"Cyan",1,0)
313
T.W(motor1,Legs[1],0,-1.5,0,math.pi,0,0).Parent = motor1
314
T.W(motor2,Legs[2],0,-1.5,0,math.pi,0,0).Parent = motor2
315
 
316
T.F(motor1,4,3,"Bright red","New Yeller")
317
T.F(motor2,4,3,"Bright red","New Yeller")
318
 
319
backplant = T.P(.5,2.8,2,"Black",.2,0)
320
T.W(backplant,torso,0,0,.9,0,math.pi/2,math.pi/2)
321
Instance.new("FileMesh",backplant).MeshId = "http://www.roblox.com/asset/?id=1091940"
322
 
323
spike = T.P(.4,1.8,.4,"Earth green",0,0)
324
spike.Touched:connect(function(hit) damage(hit,10) end)
325
T.W(spike,torso,0,-2,0,math.pi,0,0)
326
mesh = T.FM(spike,"spike",.4,4,.4)
327
end
328
 
329
holding = false
330
bp = nil
331
 
332
split = function() T.R("lleg",0,0,math.rad(30))
333
T.R("rleg",0,0,math.rad(-30)) end
334
 
335
function levitate()
336
if bp == nil then
337
split()
338
bp = Instance.new("BodyPosition",torso)
339
bp.maxForce = Vector3.new()*math.huge
340
bp.position = torso.Position + Vector3.new(0,3,0)
341
elseif bp ~= nil then bp:Remove() bp = nil T.Reset("all")
342
end
343
end
344
 
345
function hopleft()
346
if bp ~= nil then
347
 
348
local orb = T.P(.1,.1,.1,"Neon orange",1)
349
T.F(orb,5,0,"Cyan","Lime green")
350
T.W(orb,Legs[1],0,-1.45,0,0,0,0)
351
track = true T.Track(orb,.1,.5)
352
 
353
left()
354
local look = torso.CFrame.lookVector
355
holding = true
356
 
357
while holding do
358
wait()
359
bp.position = ((torso.CFrame + look) * CFrame.new(10,0,-5)).p
360
end
361
track = false orb:Remove()
362
 
363
T.R("lleg",0,0,math.rad(30))
364
T.R("rleg",0,0,math.rad(-30))
365
end
366
end
367
 
368
function hopright()
369
if bp ~= nil then
370
 
371
local orb = T.P(.1,.1,.1,"Neon orange",1)
372
T.W(orb,Legs[2],0,-1.45,0,0,0,0)
373
T.F(orb,5,0,"Cyan","Lime green")
374
 
375
track = true T.Track(orb,.1,.5)
376
 
377
right()
378
local look = torso.CFrame.lookVector
379
holding = true
380
 
381
while holding do
382
wait()
383
bp.position = ((torso.CFrame + look) * CFrame.new(-10,0,-5)).p
384
end
385
track = false orb:Remove()
386
 
387
T.R("lleg",0,0,math.rad(30))
388
T.R("rleg",0,0,math.rad(-30))
389
end
390
end
391
 
392
function spell()
393
T.C(function()
394
pose()
395
local pos = torso.CFrame - torso.CFrame.lookVector * 10 - Vector3.new(0,2,0)
396
old = T.P(3,3,3,"Nougat",.25,1,1)
397
old.CFrame = pos
398
for i = 1,22.5+1 do
399
local new = old:Clone()
400
new.Parent = m
401
wait()
402
old = new
403
new.CFrame = (old.CFrame * cfn(0,3,0))*ang(math.rad(-8),0,0)
404
end
405
T.Reset("rarm") T.R("larm",0,0,0)
406
end)
407
end
408
 
409
local new,old = nil
410
function rings(mode)
411
if mode == 1 then
412
for i,v in pairs(m:GetChildren()) do
413
if v.Name =="Spere" then
414
old = v
415
end end
416
 
417
 
418
local new = T.P(1,1,1,"Pink",0,false,false)
419
new.Name = "Spere"
420
T.FM(new,"cone",1.5,1.5,1.5,"cone")
421
T.F(new,5,0,"White","Black")
422
new.CFrame = torso.CFrame
423
for i = 1,360,60 do
424
p = T.P(5,.3,5,"Cyan",.2,false,false)
425
p.Parent = new
426
p.Position = torso.Position
427
T.FM(p,"ring",5,5,.3)
428
 
429
T.W(p,new,0,0,0,math.rad(i),0,0)
430
 
431
end
432
bodypos = T.BP(new,torso.Position)
433
wait(.75)
434
pcall(function() lazer = T.Lazor(cfn(old.Position).p,cfn(new.Position).p,.5,"Cyan",0)
435
lazer.Touched:connect(function(hit) damage(hit,100) end)
436
end)
437
 
438
elseif mode == 0 then
439
for i,v in pairs(m:GetChildren()) do
440
if v.Name =="Spere" or v.Name == "Ray" then
441
v:Remove()
442
end end
443
old = nil new = nil
444
end
445
end
446
 
447
function spin()
448
 
449
local orb = T.P(.1,.1,.1,"White",1,0)
450
T.W(orb,Arms[1],0,-2,0,0,0,0)
451
 
452
local connect = orb.Touched:connect(function(hit) damage(hit,1) end)
453
 
454
local orb2 = T.P(.1,.1,.1,"White",1,0)
455
T.W(orb2,Arms[2],0,-2,0,0,0,0)
456
 
457
local connect2 = orb2.Touched:connect(function(hit) damage(hit,1) end)
458
 
459
T.R("rarm",0,0,-math.pi/2)
460
T.R("larm",0,0,math.pi/2)
461
track = true
462
T.Track(orb,.1,.5)
463
T.Track(orb2,.1,.5)
464
legw[2].C1 = legw[2].C1 * cfn(0,.4,0)
465
 
466
bg = T.BG(torso)
467
 
468
holding = true
469
while holding do
470
for i = 1,360,60 do
471
wait()
472
bg.cframe = bg.cframe * ang(0,math.rad(60),0)
473
end
474
end
475
connect:disconnect() connect2:disconnect()
476
track = false
477
bg:Remove()
478
T.Reset("all")
479
end
480
 
481
hop = Instance.new("HopperBin",ply.Backpack)
482
hop.Name = "Tool"
483
 
484
pose = function()
485
T.R("larm",math.rad(150),0,math.rad(-20))
486
T.R("rarm",math.rad(150),0,math.rad(20))
487
end
488
 
489
hop.Selected:connect(function(mouse)
490
-------SET WELDS---------
491
armp = {T.P(1,1,1,"White",1),T.P(1,1,1,"White",1,1)}
492
legp = {T.P(1,1,1,"White",1),T.P(1,1,1,"White",1,1)}
493
 
494
armw = {T.W(armp[1],torso,1.5,.5,0,0,0,0),T.W(armp[2],torso,-1.5,.5,0,0,0,0)}
495
legw = {T.W(legp[1],torso,.5,-1.5,0,0,0,0),T.W(legp[2],torso,-.5,-1.5,0,0,0,0)}
496
 
497
others = {
498
T.W(Arms[1],armp[1],0,-.5,0,0,0,0),
499
T.W(Arms[2],armp[2],0,-.5,0,0,0,0),
500
T.W(Legs[1],legp[1],0,-.5,0,0,0,0),
501
T.W(Legs[2],legp[2],0,-.5,0,0,0,0)
502
}
503
-------------------------
504
 
505
 
506
mouse.KeyDown:connect(function(key)
507
if key == "q" then hopleft()
508
elseif key == "e" then hopright()
509
elseif key == "r" then levitate()
510
elseif key == "f" then spin()
511
elseif key == "c" then penguin(mouse)
512
elseif key == "t" then punch(mouse)
513
elseif key == "y" then dance()
514
elseif key == "h" then spell()
515
elseif key == "v" then rings(1) elseif key == "b" then rings(0)
516
end end)
517
mouse.KeyUp:connect(function(key) for i,v in pairs({"e","q","r","f"}) do if key == v then holding = false end end end)
518
end)
519
 
520
hop.Deselected:connect(function() pcall(function()bp:Remove() bp = nil end)
521
armp[1]:Remove() armp[2]:Remove() legp[1]:Remove() legp[2]:Remove() end)