View difference between Paste ID: uKTW3Pwp and 01RWCXgX
SHOW: | | - or go back to the newest paste.
1
local runDummyScript = function(f,scri)
2
local oldenv = getfenv(f)
3
local newenv = setmetatable({}, {
4-
__index = function(_, k)
4+
__index = function(Enum, k)
5
if k:lower() == 'script' then
6
return scri
7
else
8
return oldenv[k]
9
end
10
end
11
})
12
setfenv(f, newenv)
13
ypcall(function() f() end)
14
end
15
cors = {}
16
mas = Instance.new("Model",game:GetService("Lighting")) 
17
mas.Name = "CompiledModel"
18
o1 = Instance.new("Model")
19
o2 = Instance.new("Tool")
20
o3 = Instance.new("LocalScript")
21
o4 = Instance.new("Script")
22
o5 = Instance.new("Script")
23
o6 = Instance.new("Animation")
24
o7 = Instance.new("Animation")
25
o8 = Instance.new("LocalScript")
26
o11 = Instance.new("Sound")
27
o12 = Instance.new("Sound")
28
o13 = Instance.new("ParticleEmitter")
29
o14 = Instance.new("ParticleEmitter")
30
o15 = Instance.new("ParticleEmitter")
31
o16 = Instance.new("ParticleEmitter")
32
o17 = Instance.new("Sound")
33
o18 = Instance.new("ParticleEmitter")
34
o19 = Instance.new("ParticleEmitter")
35
o21 = Instance.new("Script")
36
o22 = Instance.new("Script")
37
o23 = Instance.new("Script")
38
o24 = Instance.new("SpecialMesh")
39
o25 = Instance.new("SpecialMesh")
40
o26 = Instance.new("Script")
41
o27 = Instance.new("Script")
42
o28 = Instance.new("Sound")
43
o29 = Instance.new("Sound")
44
o30 = Instance.new("Sound")
45
o31 = Instance.new("Sound")
46
o32 = Instance.new("Sound")
47
o33 = Instance.new("Sound")
48
o34 = Instance.new("Sound")
49
o35 = Instance.new("Sound")
50
o36 = Instance.new("Sound")
51
o37 = Instance.new("Sound")
52
o38 = Instance.new("Sound")
53
o39 = Instance.new("Sound")
54
o40 = Instance.new("Sound")
55
o41 = Instance.new("Sound")
56
o42 = Instance.new("Sound")
57
o43 = Instance.new("Sound")
58
o44 = Instance.new("Sound")
59
o45 = Instance.new("Sound")
60
o46 = Instance.new("SpecialMesh")
61
o47 = Instance.new("SpecialMesh")
62
o48 = Instance.new("SpecialMesh")
63
o49 = Instance.new("SpecialMesh")
64
o50 = Instance.new("ParticleEmitter")
65
o51 = Instance.new("Script")
66
o52 = Instance.new("Script")
67
o53 = Instance.new("Vector3Value")
68
o54 = Instance.new("Sound")
69
o55 = Instance.new("BillboardGui")
70
o56 = Instance.new("ImageLabel")
71
o57 = Instance.new("Script")
72
o58 = Instance.new("BodyForce")
73
o59 = Instance.new("LocalScript")
74
o60 = Instance.new("Script")
75
o61 = Instance.new("Script")
76
o62 = Instance.new("Vector3Value")
77
o63 = Instance.new("Script")
78
o64 = Instance.new("LocalScript")
79
o65 = Instance.new("BlurEffect")
80
o1.Parent = mas
81
o2.Name = "HolyHandGrenade"
82
o2.Parent = o1
83
o2.ToolTip = "The most holiest grenade"
84
o3.Name = "Local Gui"
85
o3.Parent = o2
86
table.insert(cors,coroutine.create(function()
87
wait()
88
runDummyScript(function()
89
local Tool = script.Parent;
90
91
enabled = true
92
function onButton1Down(mouse)
93
	if not enabled then
94
		return
95
	end
96
97
	enabled = false
98
	mouse.Icon = "rbxasset://textures\\GunWaitCursor.png"
99
100
	wait(3)
101
	mouse.Icon = "rbxasset://textures\\GunCursor.png"
102
	enabled = true
103
104
end
105
106
function onEquippedLocal(mouse)
107
108
	if mouse == nil then
109
		print("Mouse not found")
110
		return 
111
	end
112
113
	mouse.Icon = "rbxasset://textures\\GunCursor.png"
114
	mouse.Button1Down:connect(function() onButton1Down(mouse) end)
115
end
116
117
118
119
Tool.Equipped:connect(onEquippedLocal)
120
121
end,o3)
122
end))
123
o4.Name = "Welding"
124
o4.Parent = o2
125
o4.Disabled = true
126
table.insert(cors,coroutine.create(function()
127
wait()
128
runDummyScript(function()
129
function Weld(x,y)
130
	local W = Instance.new("Weld")
131
	W.Part0 = x
132
	W.Part1 = y
133
	local CJ = CFrame.new(x.Position)
134
	local C0 = x.CFrame:inverse()*CJ
135
	local C1 = y.CFrame:inverse()*CJ
136
	W.C0 = C0
137
	W.C1 = C1
138
	W.Parent = x
139
end
140
141
function Get(A)
142
	if A.className == "Part" then
143
		Weld(script.Parent.Handle, A)
144
		A.Anchored = false
145
	else
146
		local C = A:GetChildren()
147
		for i=1, #C do
148
		Get(C[i])
149
		end
150
	end
151
end
152
153
function Finale()
154
	Get(script.Parent)
155
end
156
157
script.Parent.Equipped:connect(Finale)
158
script.Parent.Unequipped:connect(Finale)
159
Finale()
160
end,o4)
161
end))
162
o5.Name = "Weld"
163
o5.Parent = o2
164
o5.Disabled = true
165
table.insert(cors,coroutine.create(function()
166
wait()
167
runDummyScript(function()
168
local prev
169
local parts = script.Parent:GetChildren()
170
for i = 1,#parts do
171
--remove any of the following parts that say "(parts[i].className == [className])" if you want to exclude that particular className type from the Weld
172
	if ((parts[i].className == "Part") or (parts[i].Name == "Handle") or (parts[i].className == "TrussPart") or (parts[i].className == "VehicleSeat") or (parts[i].className == "SkateboardPlatform")) then
173
		if (prev ~= nil) then
174
			local weld = Instance.new("Weld")
175
			weld.Part0 = prev
176
			weld.Part1 = parts[i]
177
			weld.C0 = prev.CFrame:inverse()
178
			weld.C1 = parts[i].CFrame:inverse()
179
			weld.Parent = prev
180
			parts[i].Anchored = false
181
		end
182
		prev = parts[i]
183
	end
184
end
185
wait(3)
186
187
end,o5)
188
end))
189
o6.Name = "PullPin"
190
o6.Parent = o2
191
o6.AnimationId = "http://www.roblox.com/asset/?id=88743592"
192
o7.Name = "Throwing"
193
o7.Parent = o2
194
o7.AnimationId = "http://www.roblox.com/asset/?id=88743566"
195
o8.Name = "Launcher"
196
o8.Parent = o2
197
table.insert(cors,coroutine.create(function()
198
wait()
199
runDummyScript(function()
200
print 'Hello world!'
201
Tool = script.Parent
202
thrown = true
203
VELOCITY = 150
204
local Pull_Pin
205
local Pull_Pin
206
function Nade()
207
	local model = Instance.new("Model")
208
	model.Name = "Nade"
209
	babacaca=Tool.Weld:clone()
210
	model.Parent = game.Workspace
211
	nade = Tool.Handle:clone()
212
--	nade1 = Tool.Handle1:clone()
213
--	nade2 = Tool.Handle2:clone()
214
--	nade3 = Tool.Handle3:clone()
215
--	nade4 = Tool.Handle4:clone()
216
	nade.Parent = model
217
--	nade1.Parent = model
218
--	nade2.Parent = model
219
--	nade3.Parent = model
220
--	nade4.Parent= model
221
	nade.CanCollide = true
222
	--nade1.CanCollide = true
223
	--nade2.CanCollide = true
224
	--nade3.CanCollide = true
225
--nade4.CanCollide= true
226
--	nade1.Transparency=1
227
	--nade2.Transparency=1
228
--	nade4.Transparency=1
229
	babacaca.Parent=model
230
	babacaca.Disabled=false
231
	local script = Tool.NadeScript:clone()
232
	script.Disabled = false
233
	script.Parent = nade
234
	return model
235
end
236
237
function lob(mousepos)
238
239
	
240
	local vCharacter = Tool.Parent
241
	local vPlayer = game.Players:playerFromCharacter(vCharacter)
242
	local head = Tool:findFirstChild("Handle")
243
	if head == nil then return end
244
	local dir = mousepos - head.Position
245
	dir = computeDirection(dir)
246
	local launch = head.Position + 1 * dir
247
	local delta = mousepos - launch
248
	local dy = delta.y
249
	local new_delta = Vector3.new(delta.x, 0, delta.z)
250
	delta = new_delta
251
	local dx = delta.magnitude
252
	local unit_delta = delta.unit
253
	local g = (-9.81 * 5)
254
	local theta = computeLaunchAngle(dx, dy, g)
255
	local vy = math.sin(theta)
256
	local xz = math.cos(theta)
257
	local vx = unit_delta.x * xz
258
	local vz = unit_delta.z * xz
259
	local missile = Nade()
260
	missile.Handle.Position = launch
261
	missile.Handle.Velocity = Vector3.new(vx, vy, vz) * VELOCITY
262
	local creator_tag = Instance.new("ObjectValue")
263
	creator_tag.Value = vPlayer
264
	creator_tag.Name = "creator"
265
	creator_tag.Parent = missile.Handle
266
	script.Parent.Handle.Throw:play()
267
	
268
	
269
	script.Parent.Handle.Transparency=1
270
	script.Parent.Part.Transparency=1
271
	--script.Parent.Handle1.Transparency=1
272
	--script.Parent.Handle2.Transparency=1
273
	--script.Parent.Handle3.Transparency=1
274
	--script.Parent.Handle4.Transparency=1
275
	
276
	
277
	
278
	
279
	
280
	
281
end
282
283
284
function computeLaunchAngle(dx, dy, grav)
285
	
286
	
287
	-- http://en.wikipedia.org/wiki/Trajectory_of_a_projectile
288
	local g = math.abs(grav)
289
	local inRoot = (VELOCITY*VELOCITY*VELOCITY*VELOCITY) - (g * ((g*dx*dx) + (2*dy*VELOCITY*VELOCITY)))
290
	if inRoot <= 0 then
291
		return .25 * math.pi
292
	end
293
	local root = math.sqrt(inRoot)
294
	local inATan1 = ((VELOCITY*VELOCITY) + root) / (g*dx)
295
	local inATan2 = ((VELOCITY*VELOCITY) - root) / (g*dx)
296
	local answer1 = math.atan(inATan1)
297
	local answer2 = math.atan(inATan2)
298
	if answer1 < answer2 then return answer1 end
299
	return answer2
300
end
301
302
function computeDirection(vec)
303
	local lenSquared = vec.magnitude * vec.magnitude
304
	local invSqrt = 1 / math.sqrt(lenSquared)
305
	return Vector3.new(vec.x * invSqrt, vec.y * invSqrt, vec.z * invSqrt)
306
end
307
308
309
310
function onThrow()
311
	if thrown == true then return end
312
	thrown = true
313
	local character = Tool.Parent
314
	local humanoid = character.Humanoid
315
	if humanoid == nil then return end
316
	local targetPos = humanoid.TargetPoint
317
	Pull_Pin:Play()
318
		wait(.15)
319
		--Pull_pin() -- Pin will be pulled at the same time the anim shows the "pulling the pin" part.
320
		wait(.35)
321
		Throwing:Play()
322
		--Make_Nade()
323
	
324
	
325
	
326
	lob(targetPos)
327
	--wait(0)
328
	wait(.1)
329
		Throwing:Stop()
330
		Pull_Pin:Stop()
331
	
332
	
333
	
334
335
	wait(1)
336
	script.Parent.Handle.Transparency=0
337
	
338
		script.Parent.Part.Transparency=0
339
	thrown = false
340
	
341
	
342
	--script.Parent:Remove()
343
end
344
	
345
function onEquipped()
346
	
347
		local Pull = script.Parent.PullPin -- PULL PIN & THROW + ANIMATIONS!
348
	local Throw = script.Parent.Throwing
349
	
350
	Pull_Pin = script.Parent.Parent.Humanoid:LoadAnimation(Pull)
351
	Throwing = script.Parent.Parent.Humanoid:LoadAnimation(Throw)
352
	
353
	
354
	
355
	
356
	
357
358
end
359
360
function onUnequipped()
361
	
362
end
363
364
thrown = false
365
366
Tool.Equipped:connect(onEquipped)
367
Tool.Unequipped:connect(onUnequipped)
368
Tool.Activated:connect(onThrow)
369
370
end,o8)
371
end))
372
o11.Name = "Blam"
373
o11.Parent = mas
374
o11.Pitch = 0.89999997615814
375
o11.SoundId = "rbxassetid://164012897"
376
o11.Volume = 1
377
o12.Name = "Throw"
378
o12.Parent = mas
379
o12.SoundId = "http://www.roblox.com/asset/?id=18426149"
380
o12.Volume = 1
381
o13.Parent = mas
382
o13.Size = NumberSequence.new(1.9999998807907,0.18750011920929,0)
383
o13.Color = ColorSequence.new(Color3.new(1, 1, 0),Color3.new(1, 1, 0))
384
o13.Enabled = false
385
o13.LightEmission = 1
386
o13.Texture = "http://www.roblox.com/asset/?id=241650934"
387
o13.Lifetime = NumberRange.new(0.20000000298023,0.60000002384186)
388
o13.Rate = 100000
389
o13.Speed = NumberRange.new(0,0)
390
o14.Name = "Activate"
391
o14.Parent = mas
392
o14.Size = NumberSequence.new(1.9999998807907,0.18750011920929,0)
393
o14.Color = ColorSequence.new(Color3.new(1, 1, 0),Color3.new(1, 1, 0))
394
o14.Enabled = false
395
o14.LightEmission = 1
396
o14.Texture = "http://www.roblox.com/asset/?id=241650934"
397
o14.Lifetime = NumberRange.new(0.20000000298023,0.60000002384186)
398
o14.Rate = 100000
399
o14.Speed = NumberRange.new(10,10)
400
o14.VelocitySpread = 360
401
o15.Name = "Activate2"
402
o15.Parent = mas
403
o15.Size = NumberSequence.new(1.9999998807907,0.18750011920929,0.062499642372131,10)
404
o15.Color = ColorSequence.new(Color3.new(1, 1, 0),Color3.new(1, 1, 0))
405
o15.Enabled = false
406
o15.LightEmission = 1
407
o15.Texture = "http://www.roblox.com/asset/?id=241650934"
408
o15.Lifetime = NumberRange.new(3,3)
409
o15.Rate = 100000
410
o15.Speed = NumberRange.new(10,10)
411
o15.VelocitySpread = 360
412
o16.Name = "dud"
413
o16.Parent = mas
414
o16.Transparency = NumberSequence.new(0,0.98750001192093)
415
o16.Size = NumberSequence.new(0,3.875,4.9375,7.3125)
416
o16.Color = ColorSequence.new(Color3.new(0.639216, 0.635294, 0.647059),Color3.new(0.639216, 0.635294, 0.647059))
417
o16.Enabled = false
418
o16.Texture = "rbxasset://textures/particles/smoke_main.dds"
419
o16.Acceleration = Vector3.new(0, 1, 0)
420
o16.Lifetime = NumberRange.new(5,5)
421
o16.Rate = 10
422
o16.RotSpeed = NumberRange.new(0,10)
423
o16.Speed = NumberRange.new(0,0)
424
o16.VelocitySpread = 10
425
o17.Name = "dudsound"
426
o17.Parent = mas
427
o17.SoundId = "rbxassetid://148635119"
428
o17.Volume = 1
429
o18.Name = "zap"
430
o18.Parent = mas
431
o18.Transparency = NumberSequence.new(0.89999997615814,0.89999997615814)
432
o18.Rotation = NumberRange.new(-360,360)
433
o18.Size = NumberSequence.new(1.0429447889328,8.9375,0,8.875,0,8.9375,0,8.875,0.030674934387207,9.0625,0,8.875,0,9,0,8.375)
434
o18.Color = ColorSequence.new(Color3.new(1, 1, 0),Color3.new(1, 1, 1))
435
o18.Enabled = false
436
o18.LightEmission = 1
437
o18.Texture = "http://www.roblox.com/asset/?id=243098098"
438
o18.Lifetime = NumberRange.new(0.20000000298023,0.20000000298023)
439
o18.Rate = 250
440
o18.Speed = NumberRange.new(0,0)
441
o19.Name = "Glow2"
442
o19.Parent = mas
443
o19.Transparency = NumberSequence.new(1,0.74374997615814,1)
444
o19.Rotation = NumberRange.new(0,360)
445
o19.Size = NumberSequence.new(10,10)
446
o19.Color = ColorSequence.new(Color3.new(1, 1, 0),Color3.new(1, 1, 0))
447
o19.Enabled = false
448
o19.LightEmission = 2
449
o19.Texture = "http://www.roblox.com/asset/?id=243660364"
450
o19.Lifetime = NumberRange.new(1,1)
451
o19.Rate = 10
452
o19.Speed = NumberRange.new(0,0)
453
o19.VelocitySpread = 360
454
o21.Name = "WELD"
455
o21.Parent = o2
456
table.insert(cors,coroutine.create(function()
457
wait()
458
runDummyScript(function()
459
-- Created by Quenty (@Quenty, follow me on twitter).
460
-- Should work with only ONE copy, seamlessly with weapons, trains, et cetera.
461
-- Parts should be ANCHORED before use. It will, however, store relatives values and so when tools are reparented, it'll fix them.
462
463
--[[ INSTRUCTIONS
464
- Place in the model
465
- Make sure model is anchored
466
- That's it. It will weld the model and all children. 
467
468
THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED. 
469
THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED. 
470
THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED. 
471
THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED. 
472
THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED. 
473
THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED. 
474
THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED. 
475
THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED. 
476
477
This script is designed to be used is a regular script. In a local script it will weld, but it will not attempt to handle ancestory changes. 
478
]]
479
480
--[[ DOCUMENTATION
481
- Will work in tools. If ran more than once it will not create more than one weld.  This is especially useful for tools that are dropped and then picked up again.
482
- Will work in PBS servers
483
- Will work as long as it starts out with the part anchored
484
- Stores the relative CFrame as a CFrame value
485
- Takes careful measure to reduce lag by not having a joint set off or affected by the parts offset from origin
486
- Utilizes a recursive algorith to find all parts in the model
487
- Will reweld on script reparent if the script is initially parented to a tool.
488
- Welds as fast as possible
489
]]
490
491
-- qPerfectionWeld.lua
492
-- Created 10/6/2014
493
-- Author: Quenty
494
-- Version 1.0.3
495
496
-- Updated 10/14/2014 - Updated to 1.0.1
497
--- Bug fix with existing ROBLOX welds ? Repro by asimo3089
498
499
-- Updated 10/14/2014 - Updated to 1.0.2
500
--- Fixed bug fix. 
501
502
-- Updated 10/14/2014 - Updated to 1.0.3
503
--- Now handles joints semi-acceptably. May be rather hacky with some joints. :/
504
505
local NEVER_BREAK_JOINTS = false -- If you set this to true it will never break joints (this can create some welding issues, but can save stuff like hinges).
506
507
508
local function CallOnChildren(Instance, FunctionToCall)
509
	-- Calls a function on each of the children of a certain object, using recursion.  
510
511
	FunctionToCall(Instance)
512
513
	for _, Child in next, Instance:GetChildren() do
514
		CallOnChildren(Child, FunctionToCall)
515
	end
516
end
517
518
local function GetNearestParent(Instance, ClassName)
519
	-- Returns the nearest parent of a certain class, or returns nil
520
521
	local Ancestor = Instance
522
	repeat
523
		Ancestor = Ancestor.Parent
524
		if Ancestor == nil then
525
			return nil
526
		end
527
	until Ancestor:IsA(ClassName)
528
529
	return Ancestor
530
end
531
532
local function GetBricks(StartInstance)
533
	local List = {}
534
535
	-- if StartInstance:IsA("BasePart") then
536
	-- 	List[#List+1] = StartInstance
537
	-- end
538
539
	CallOnChildren(StartInstance, function(Item)
540
		if Item:IsA("BasePart") then
541
			List[#List+1] = Item;
542
		end
543
	end)
544
545
	return List
546
end
547
548
local function Modify(Instance, Values)
549
	-- Modifies an Instance by using a table.  
550
551
	assert(type(Values) == "table", "Values is not a table");
552
553
	for Index, Value in next, Values do
554
		if type(Index) == "number" then
555
			Value.Parent = Instance
556
		else
557
			Instance[Index] = Value
558
		end
559
	end
560
	return Instance
561
end
562
563
local function Make(ClassType, Properties)
564
	-- Using a syntax hack to create a nice way to Make new items.  
565
566
	return Modify(Instance.new(ClassType), Properties)
567
end
568
569
local Surfaces = {"TopSurface", "BottomSurface", "LeftSurface", "RightSurface", "FrontSurface", "BackSurface"}
570
local HingSurfaces = {"Hinge", "Motor", "SteppingMotor"}
571
572
local function HasWheelJoint(Part)
573
	for _, SurfaceName in pairs(Surfaces) do
574
		for _, HingSurfaceName in pairs(HingSurfaces) do
575
			if Part[SurfaceName].Name == HingSurfaceName then
576
				return true
577
			end
578
		end
579
	end
580
	
581
	return false
582
end
583
584
local function ShouldBreakJoints(Part)
585
	--- We do not want to break joints of wheels/hinges. This takes the utmost care to not do this. There are
586
	--  definitely some edge cases. 
587
588
	if NEVER_BREAK_JOINTS then
589
		return false
590
	end
591
	
592
	if HasWheelJoint(Part) then
593
		return false
594
	end
595
	
596
	local Connected = Part:GetConnectedParts()
597
	
598
	if #Connected == 1 then
599
		return false
600
	end
601
	
602
	for _, Item in pairs(Connected) do
603
		if HasWheelJoint(Item) then
604
			return false
605
		elseif not Item:IsDescendantOf(script.Parent) then
606
			return false
607
		end
608
	end
609
	
610
	return true
611
end
612
613
local function WeldTogether(Part0, Part1, JointType, WeldParent)
614
	--- Weld's 2 parts together
615
	-- @param Part0 The first part
616
	-- @param Part1 The second part (Dependent part most of the time).
617
	-- @param [JointType] The type of joint. Defaults to weld.
618
	-- @param [WeldParent] Parent of the weld, Defaults to Part0 (so GC is better).
619
	-- @return The weld created.
620
621
	JointType = JointType or "Weld"
622
	local RelativeValue = Part1:FindFirstChild("qRelativeCFrameWeldValue")
623
	
624
	local NewWeld = Part1:FindFirstChild("qCFrameWeldThingy") or Instance.new(JointType)
625
	Modify(NewWeld, {
626
		Name = "qCFrameWeldThingy";
627
		Part0  = Part0;
628
		Part1  = Part1;
629
		C0     = CFrame.new();--Part0.CFrame:inverse();
630
		C1     = RelativeValue and RelativeValue.Value or Part1.CFrame:toObjectSpace(Part0.CFrame); --Part1.CFrame:inverse() * Part0.CFrame;-- Part1.CFrame:inverse();
631
		Parent = Part1;
632
	})
633
634
	if not RelativeValue then
635
		RelativeValue = Make("CFrameValue", {
636
			Parent     = Part1;
637
			Name       = "qRelativeCFrameWeldValue";
638
			Archivable = true;
639
			Value      = NewWeld.C1;
640
		})
641
	end
642
643
	return NewWeld
644
end
645
646
local function WeldParts(Parts, MainPart, JointType, DoNotUnanchor)
647
	-- @param Parts The Parts to weld. Should be anchored to prevent really horrible results.
648
	-- @param MainPart The part to weld the model to (can be in the model).
649
	-- @param [JointType] The type of joint. Defaults to weld. 
650
	-- @parm DoNotUnanchor Boolean, if true, will not unachor the model after cmopletion.
651
	
652
	for _, Part in pairs(Parts) do
653
		if ShouldBreakJoints(Part) then
654
			Part:BreakJoints()
655
		end
656
	end
657
	
658
	for _, Part in pairs(Parts) do
659
		if Part ~= MainPart then
660
			WeldTogether(MainPart, Part, JointType, MainPart)
661
		end
662
	end
663
664
	if not DoNotUnanchor then
665
		for _, Part in pairs(Parts) do
666
			Part.Anchored = false
667
		end
668
		MainPart.Anchored = false
669
	end
670
end
671
672
local function PerfectionWeld()	
673
	local Tool = GetNearestParent(script, "Tool")
674
675
	local Parts = GetBricks(script.Parent)
676
	local PrimaryPart = Tool and Tool:FindFirstChild("Handle") and Tool.Handle:IsA("BasePart") and Tool.Handle or script.Parent:IsA("Model") and script.Parent.PrimaryPart or Parts[1]
677
678
	if PrimaryPart then
679
		WeldParts(Parts, PrimaryPart, "Weld", false)
680
	else
681
		warn("qWeld - Unable to weld part")
682
	end
683
	
684
	return Tool
685
end
686
687
local Tool = PerfectionWeld()
688
689
690
if Tool and script.ClassName == "Script" then
691
	--- Don't bother with local scripts
692
693
	script.Parent.AncestryChanged:connect(function()
694
		PerfectionWeld()
695
	end)
696
end
697
698
-- Created by Quenty (@Quenty, follow me on twitter).
699
700
end,o21)
701
end))
702
o22.Name = "NadeScript"
703
o22.Parent = o2
704
o22.Disabled = true
705
table.insert(cors,coroutine.create(function()
706
wait()
707
runDummyScript(function()
708
script.Parent.ParticleEmitter.Enabled=true
709
710
wait(3)
711
local dud = math.random(1,10)
712
if dud == 10 then
713
	script.Parent.ParticleEmitter.Enabled=false
714
script.Parent.Activate2.Enabled=false
715
script.Parent.Activate.Enabled=false
716
	script.Parent.dud.Enabled=true
717
	script.Parent.Glow2.Enabled=false
718
	script.Parent.dudsound:play()
719
	wait(10)
720
	script.Parent.dud.Enabled=false
721
	wait(5)
722
	script.Parent:Remove()
723
end
724
script.Parent.Activate.Enabled=true
725
script.LAAAAA:Play()
726
script.Parent.zap.Enabled=true
727
	script.Parent.Glow2.Enabled=true
728
729
wait(2)
730
script.Parent.ParticleEmitter.Enabled=false
731
script.Parent.Activate2.Enabled=true
732
script.Parent.Activate.Enabled=false
733
script.Parent.Anchored=true
734
script.Parent.Transparency=1
735
script.LAAAAA:Stop()
736
--IM FIRIN MA LASEOR!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
737
a=script:GetChildren()
738
for i=1,#a do
739
if a[i].ClassName=="Sound" and a[i].Name~="LAAAAA" and a[i].Name~="Blam" then
740
	a[i]:Play()
741
end
742
end
743
	--big radius
744
	a=script.attract:Clone()
745
	a.Parent=script.Parent
746
	a.Disabled=false
747
	caca=script.magic:clone()
748
	caca.Parent=script.Parent
749
	caca.Enabled=true
750
	bc=Instance.new("Part")
751
	bc.TopSurface=0
752
	bc.BottomSurface=0
753
	bc.Anchored=false
754
	bc.CanCollide=false
755
	bc.formFactor="Custom"
756
	bc.Size=Vector3.new(1,1,1)
757
	
758
	bc.CFrame=CFrame.new(script.Parent.CFrame.p)*CFrame.fromEulerAnglesXYZ(math.pi/2,0,0)
759
	bc.Name="poop"
760
	bc.BrickColor=BrickColor.new "White"
761
	ac=script.MAMAMesh:clone()
762
	ac.Parent = bc
763
	bc.Parent=game.Workspace
764
	
765
	--end radius thing
766
	
767
	--baca
768
	
769
	
770
	--bacamaca
771
	
772
	ba=Instance.new("Part")
773
	ba.TopSurface=0
774
	ba.BottomSurface=0
775
	ba.Anchored=false
776
	ba.CanCollide=false
777
	ba.formFactor="Custom"
778
	ba.Size=Vector3.new(1,0.1,1)
779
	ba.CFrame=CFrame.new(script.Parent.CFrame.p)*CFrame.fromEulerAnglesXYZ(math.pi/2,0,0)
780
	ba.Name="Effect"
781
	ba.BrickColor=BrickColor.new "White"
782
	ao=script.RingMesh:clone()
783
	ao.Parent = ba
784
	ba.Parent=game.Workspace
785
	
786
	fo=Instance.new("BodyPosition")
787
	fo.maxForce= Vector3.new (99999999999999999,99999999999999999,99999999999999999)
788
	fo.position = ba.Position
789
	fo.Parent = ba
790
	aa=Instance.new("BodyAngularVelocity")
791
	aa.P=3000
792
	aa.maxTorque=aa.maxTorque*30
793
	aa.angularvelocity=Vector3.new(math.random(-70,70)/3,math.random(-70,70)/3,math.random(-70,70)/5)*100
794
	aa.Parent=ba
795
	
796
	
797
	
798
	
799
	-- spinning thing
800
	
801
	baa=Instance.new("Part")
802
	baa.TopSurface=0
803
	baa.BottomSurface=0
804
	baa.Anchored=false
805
	baa.CanCollide=false
806
	baa.formFactor="Custom"
807
	baa.Size=Vector3.new(1,0.1,1)
808
	baa.CFrame=CFrame.new(script.Parent.CFrame.p)*CFrame.fromEulerAnglesXYZ(math.pi/2,0,0)
809
	baa.Name="Effect"
810
	baa.BrickColor=BrickColor.new "White"
811
	aao=script.RingMesh:clone()
812
	aao.Parent = baa
813
	baa.Parent=game.Workspace
814
	
815
	foo=Instance.new("BodyPosition")
816
	foo.maxForce= Vector3.new (99999999999999999,99999999999999999,99999999999999999)
817
	foo.position = baa.Position
818
	foo.Parent = baa
819
	aaa=Instance.new("BodyAngularVelocity")
820
	aaa.P=3000
821
	aaa.maxTorque=aaa.maxTorque*30
822
	aaa.angularvelocity=Vector3.new(math.random(-70,70)/3,math.random(-70,70)/3,math.random(-70,70)/5)*100
823
	aaa.Parent=baa
824
	
825
	
826
	
827
	
828
	
829
	
830
	
831
	
832
	
833
	
834
	
835
	--spinning thing 2
836
	
837
	baaa=Instance.new("Part")
838
	baaa.TopSurface=0
839
	baaa.BottomSurface=0
840
	baaa.Anchored=false
841
	baaa.CanCollide=false
842
	baaa.formFactor="Custom"
843
	baaa.Size=Vector3.new(1,0.1,1)
844
	baaa.CFrame=CFrame.new(script.Parent.CFrame.p)*CFrame.fromEulerAnglesXYZ(math.pi/2,0,0)
845
	baaa.Name="Effect"
846
	baaa.BrickColor=BrickColor.new "White"
847
	aaao=script.RingMesh:clone()
848
	aaao.Parent = baaa
849
	baaa.Parent=game.Workspace
850
	
851
	fooo=Instance.new("BodyPosition")
852
	fooo.maxForce= Vector3.new (99999999999999999,99999999999999999,99999999999999999)
853
	fooo.position = baaa.Position
854
	fooo.Parent = baaa
855
	aaaa=Instance.new("BodyAngularVelocity")
856
	aaaa.P=3000
857
	aaaa.maxTorque=aaaa.maxTorque*30
858
	aaaa.angularvelocity=Vector3.new(math.random(-70,70)/3,math.random(-70,70)/3,math.random(-70,70)/5)*100
859
	aaaa.Parent=baaa
860
	
861
	
862
	
863
	
864
	
865
	
866
	
867
	--spinning thing 3
868
	
869
	
870
	
871
	
872
	
873
	
874
	
875
	
876
	c=Instance.new("Part")
877
	c.TopSurface=0
878
	c.BottomSurface=0
879
	c.Anchored=true
880
	c.CanCollide=false
881
	c.formFactor="Symmetric"
882
	c.Size=Vector3.new(1,1,1)
883
	c.CFrame=CFrame.new(script.Parent.CFrame.p)*CFrame.fromEulerAnglesXYZ(math.pi/2,0,0)
884
	c.Name="Effect"
885
	c.BrickColor=BrickColor.new "Bright yellow"
886
	o=script.MAMAMesh:clone()
887
	o.Parent = c
888
	c.Parent=game.Workspace
889
	
890
	
891
	
892
	q=Instance.new("Part")
893
	q.TopSurface=0
894
	q.BottomSurface=0
895
	q.Anchored=true
896
	q.CanCollide=false
897
	q.formFactor="Symmetric"
898
	q.Size=Vector3.new(1,1,1)
899
	q.CFrame=CFrame.new(script.Parent.CFrame.p)*CFrame.fromEulerAnglesXYZ(math.pi/2,0,0)
900
	q.Name="Effect2"
901
	q.BrickColor=BrickColor.new "Bright yellow"
902
	b=script.MAMAMesh:clone()
903
	b.Parent = q
904
	q.Parent=game.Workspace
905
	
906
	
907
	
908
	
909
	    no =Instance.new ("PointLight")
910
		no.Range=60
911
		no.Brightness=9999999999999999999
912
		no.Parent=q
913
	
914
	
915
	e=Instance.new("Part")
916
	e.TopSurface=0
917
	e.BottomSurface=0
918
	e.Anchored=true
919
	e.CanCollide=false
920
	e.formFactor="Plate"
921
	e.Size=Vector3.new(20,.4,20)
922
	e.CFrame=CFrame.new(script.Parent.CFrame.p)*CFrame.fromEulerAnglesXYZ(math.pi/2,0,0)
923
	e.Name="Effect die!!!"
924
	e.BrickColor=BrickColor.new "White"
925
	r=script.RingMesh:clone()
926
	r.Parent=e
927
	e.Parent=game.Workspace
928
	
929
	coroutine.resume(coroutine.create(function(mesh) for l=1, 180 do aaao.Parent.Transparency=l/180 aaao.Scale=aaao.Scale+Vector3.new(20/l,20/l,0.1) wait() end aaao.Parent.Parent=nil end),aaao)
930
	coroutine.resume(coroutine.create(function(mesh) for l=1, 180 do aao.Parent.Transparency=l/180 aao.Scale=aao.Scale+Vector3.new(20/l,20/l,0.1) wait() end aao.Parent.Parent=nil end),aao)
931
	coroutine.resume(coroutine.create(function(mesh) for l=1, 180 do ao.Parent.Transparency=l/180 ao.Scale=ao.Scale+Vector3.new(20/l,20/l,0.1) wait() end ao.Parent.Parent=nil end),ao)
932
	coroutine.resume(coroutine.create(function(mesh) for l=1, 50 do o.Parent.Transparency=l/90 o.Scale=o.Scale+Vector3.new(20/l,20/l,25) wait() end  end),o)
933
	coroutine.resume(coroutine.create(function(mesh) for l=1, 50 do b.Parent.Transparency=l/50 b.Scale=b.Scale+Vector3.new(80/l,80/l,10) wait() end b.Parent.Parent=nil end),b)
934
	coroutine.resume(coroutine.create(function(mesh) for l=1, 60 do r.Parent.Transparency=l/60 r.Scale=r.Scale+Vector3.new(60/l,60/l,.02) wait() end r.Parent.Parent=nil end),r)
935
	coroutine.resume(coroutine.create(function(mesh) for l=1, 60 do ac.Parent.Transparency=l/20 ac.Scale=ac.Scale+Vector3.new(200/l,200/l,50) wait() end ac.Parent.Parent=nil end),ac)
936
	
937
	wait(1.4)
938
	coroutine.resume(coroutine.create(function(mesh) for l=1, 50 do o.Parent.Transparency=l/50 o.Scale=o.Scale+Vector3.new(-20/l,-20/l,30) wait() end o.Parent.Parent=nil end),o)
939
	wait(3)
940
	
941
	wait(6)
942
	script.Parent.attract.Disabled=true
943
	for i=1,4 do
944
		a=script.Blam:Clone()
945
		a.Parent=script
946
		a:play()
947
		game:GetService("Debris"):AddItem(a,15)
948
	end
949
for i = 1,35 do
950
 local   puff = Instance.new("Part")
951
    script.Parent.Anchored=true
952
script.ya:clone().Parent=puff
953
	puff.CanCollide = false
954
	puff.Anchored = false
955
	puff.Name = "smoke"
956
	puff.Transparency = 1
957
	puff.BrickColor = BrickColor.new("New Yeller")
958
	puff.formFactor = "Custom"
959
	puff.TopSurface = 0
960
	puff.BottomSurface = 0
961
	puff.Size = Vector3.new(4,4,4)
962
	
963
--[[	local erasee = script.smoke:clone()
964
	erasee.Parent = puff
965
	erasee.Enabled = true]]--
966
	local erase = script.Fade:clone()
967
	erase.Parent = puff
968
	erase.Disabled = false
969
	puff.Parent = game.Workspace
970
	
971
	
972
	
973
	
974
	
975
	
976
	
977
	--puff.Velocity= Vector3.new(math.random(0,800),math.random(-800,800),math.random(-800,800))
978
	puff.CFrame = script.Parent.CFrame + Vector3.new((math.random(-1,1)),(math.random(-1,1)),(math.random(-1,1)))
979
	
980
	local a = puff.Position
981
		local b = script.Parent.Position
982
983
		local dir = (a - b).unit
984
985
		puff.Velocity = dir * 50
986
		puff.Velocity = puff.Velocity+Vector3.new(0,math.random(20,150),0)
987
		
988
	
989
	end
990
	
991
	
992
	for i = 1,35 do
993
local    puff = Instance.new("Part")
994
    script.Parent.Anchored=true
995
script.ya:clone().Parent=puff
996
	puff.CanCollide = false
997
	puff.Anchored = false
998
	puff.Name = "smoke2"
999
	puff.Transparency = 1
1000
	puff.BrickColor = BrickColor.new("New Yeller")
1001
	puff.formFactor = "Custom"
1002
	puff.TopSurface = 0
1003
	puff.BottomSurface = 0
1004
	puff.Size = Vector3.new(4,4,4)
1005
	
1006
	--[[	local erasee = script.smoke:clone()
1007
	erasee.Parent = puff
1008
	erasee.Enabled = true]]--
1009
	local erase = script.Fade:clone()
1010
	erase.Parent = puff
1011
	erase.Disabled = false
1012
	puff.Parent = game.Workspace
1013
	--puff.Velocity= Vector3.new(math.random(-800,800),math.random(-800,800),math.random(-800,800))
1014
	puff.CFrame = script.Parent.CFrame + Vector3.new((math.random(-1,1)),(math.random(-1,1)),(math.random(-1,1)))
1015
	
1016
	
1017
	
1018
		local a = puff.Position
1019
		local b = script.Parent.Position
1020
1021
		local dir = (a - b).unit
1022
1023
		puff.Velocity = dir*0
1024
		puff.Velocity = puff.Velocity+Vector3.new(math.random(-250,250),0,math.random(-250,250))
1025
		
1026
	
1027
	end
1028
	
1029
	
1030
	for i = 1,25 do
1031
	
1032
 local   puffa = Instance.new("Part")
1033
    script.Parent.Anchored=true
1034
--script.ya:clone().Parent=puff
1035
	puffa.CanCollide = false
1036
	puffa.Anchored = false
1037
	puffa.Name = "debris"
1038
	puffa.Transparency = 0
1039
	puffa.BrickColor = BrickColor.new("Brown")
1040
	puffa.formFactor = "Custom"
1041
	puffa.TopSurface = 0
1042
	puffa.BottomSurface = 0
1043
	puffa.Size = Vector3.new(math.random(0.6,3),math.random(0.6,3),math.random(0.6,3))
1044
	game:GetService("Debris"):AddItem(puffa,5)
1045
	puffa.Parent=game.Workspace
1046
	puffa.CFrame = script.Parent.CFrame + Vector3.new((math.random(-1,1)),(math.random(-1,1)),(math.random(-1,1)))
1047
	
1048
	
1049
	puffa.Velocity = puffa.Velocity+Vector3.new(math.random(-50,50),math.random(100,200),math.random(-50,50))
1050
		puffa.RotVelocity = puffa.RotVelocity+Vector3.new(math.random(-50,50),math.random(100,200),math.random(-50,50))
1051
		
1052
	
1053
	end
1054
	function onPlayerBlownUp2(part)
1055
	local force = part:findFirstChild("BlackHole Influence")
1056
		if force ~= nil then
1057
	force:remove()
1058
		end
1059
		local force = part:findFirstChild("gotopos")
1060
		if force ~= nil then
1061
	force:remove()
1062
	end
1063
	if part.Anchored==false then
1064
		local f = Instance.new("Fire")
1065
f.Parent = part
1066
f.Size = part:getMass()
1067
f.Heat = part:getMass()
1068
a=script.fireableno:Clone()
1069
a.Parent=f
1070
a.Disabled=false
1071
game:GetService("Debris"):AddItem(f,15)
1072
	
1073
	end
1074
	end
1075
	function onPlayerBlownUp3(part)
1076
	local force = part:findFirstChild("BlackHole Influence")
1077
		if force ~= nil then
1078
	force:remove()
1079
		end
1080
		local force = part:findFirstChild("gotopos")
1081
		if force ~= nil then
1082
	force:remove()
1083
	end
1084
	
1085
	end
1086
	-- force removal
1087
	local exp = Instance.new("Explosion")
1088
exp.BlastRadius = 180   
1089
exp.BlastPressure = 000000
1090
exp.Position = script.Parent.Position
1091
exp.Parent = game.Workspace
1092
	exp.Hit:connect(function(part)  onPlayerBlownUp3(part) end)
1093
	
1094
	--
1095
	script.Parent.Glow2.Enabled=false
1096
	wait()
1097
script.Parent.Anchored=true
1098
script.Parent.Transparency=1
1099
local exp = Instance.new("Explosion")
1100
exp.BlastRadius = 180   --super wussy units
1101
exp.BlastPressure = 3500000 -- final bam
1102
exp.Position = script.Parent.Position
1103
exp.Parent = game.Workspace
1104
script.Parent.Anchored=true
1105
script.Parent.Transparency=1
1106
script.Parent.magic.Enabled=false
1107
	exp.Hit:connect(function(part)  onPlayerBlownUp2(part) end)
1108
script.Parent.Activate2.Enabled=false
1109
	
1110
	c=Instance.new("Part")
1111
	c.TopSurface=0
1112
	c.BottomSurface=0
1113
	c.Anchored=true
1114
	c.CanCollide=false
1115
	c.formFactor="Symmetric"
1116
	c.Size=Vector3.new(1,1,1)
1117
	c.CFrame=CFrame.new(script.Parent.CFrame.p)*CFrame.fromEulerAnglesXYZ(math.pi/2,0,0)
1118
	c.Name="Effect"
1119
	c.BrickColor=BrickColor.new "Bright yellow"
1120
	o=script.MAMAMesh:clone()
1121
	o.Parent = c
1122
	c.Parent=game.Workspace
1123
	
1124
	
1125
	e=Instance.new("Part")
1126
	e.TopSurface=0
1127
	e.BottomSurface=0
1128
	e.Anchored=true
1129
	e.CanCollide=false
1130
	e.formFactor="Plate"
1131
	e.Size=Vector3.new(20,.4,20)
1132
	e.CFrame=CFrame.new(script.Parent.CFrame.p)*CFrame.fromEulerAnglesXYZ(math.pi/2,0,0)
1133
	e.Name="Effect die!!!"
1134
	e.BrickColor=BrickColor.new "White"
1135
	r=script.RingMesh:clone()
1136
	r.Parent=e
1137
	e.Parent=game.Workspace
1138
	
1139
	
1140
	function onPlayerBlownUp(part)
1141
	local force = part:findFirstChild("gotopos")
1142
		if force ~= nil then
1143
	force:remove()
1144
	end
1145
	if part.Anchored==false then
1146
		local force = part:findFirstChild("BlackHole Influence")
1147
		if force ~= nil then
1148
	force:remove()
1149
	end
1150
	local b = part.Parent:findFirstChild("Humanoid")
1151
	
1152
	if b ~= nil  then
1153
		local a = game.Players:GetPlayerFromCharacter(b.Parent)
1154
		if a~= nil then
1155
			local lol = a.PlayerGui:findFirstChild("shake")
1156
			if lol == nil then
1157
			local ad = script.shake:Clone()
1158
			ad.Parent=a.PlayerGui
1159
			ad.Disabled=false
1160
			
1161
				local ad = script.Blur:Clone()
1162
				ad.Disabled=false
1163
			ad.Parent=a.PlayerGui
1164
			
1165
			
1166
			end
1167
		end
1168
	end
1169
	end
1170
end
1171
	coroutine.resume(coroutine.create(function(mesh) for l=1, 60 do r.Parent.Transparency=l/60 r.Scale=r.Scale+Vector3.new(60/l,60/l,.02) wait() end r.Parent.Parent=nil end),r)
1172
	
1173
	coroutine.resume(coroutine.create(function(mesh) for l=1, 50 do o.Parent.Transparency=l/90 o.Scale=o.Scale+Vector3.new(20/l,20/l,250) wait() end  end),o)
1174
1175
script.Parent.zap.Enabled=false
1176
local a = Instance.new("Explosion")
1177
a.Position=script.Parent.Position
1178
a.Parent=game.Workspace
1179
a.BlastPressure=0
1180
a.BlastRadius=1000
1181
script.light.Disabled=false
1182
a.Hit:connect(function(part)  onPlayerBlownUp(part) end)
1183
script.Parent.Activate2.Enabled=false
1184
local i = 0
1185
local x = script.Parent.Position.x
1186
local y = script.Parent.Position.y
1187
local z = script.Parent.Position.z
1188
for i = 1, 30,1 do
1189
		local ex = Instance.new("Explosion")
1190
		ex.Parent = script.Parent
1191
		ex.Name = "Brick"
1192
		ex.BlastPressure = 100000
1193
		ex.BlastRadius = 900
1194
		ex.DestroyJointRadiusPercent = 0.2
1195
		ex.Position=Vector3.new(100*math.cos(math.rad(i*12)) + x, y, 100*math.sin(math.rad(i*12)) + z)
1196
		ex.Hit:connect(function(part)  onPlayerBlownUp(part) end)
1197
1198
		--wait()
1199
	end
1200
wait(1.4)
1201
	coroutine.resume(coroutine.create(function(mesh) for l=1, 50 do o.Parent.Transparency=l/50 o.Scale=o.Scale+Vector3.new(-20/l,-20/l,300) wait() end o.Parent.Parent=nil end),o)
1202
	
1203
1204
		
1205
	
1206
1207
	
1208
	
1209
	
1210
	
1211
	wait(20)
1212
script.Parent.Parent:Remove()	
1213
	
1214
end,o22)
1215
end))
1216
o23.Name = "Fade"
1217
o23.Parent = o22
1218
o23.Disabled = true
1219
table.insert(cors,coroutine.create(function()
1220
wait()
1221
runDummyScript(function()
1222
1223
1224
wait(3)
1225
a=script.Parent:FindFirstChild("Fire")
1226
if a ~= nil then
1227
	a.Enabled=false
1228
end
1229
wait(2)
1230
script.Parent.Parent:remove()
1231
end,o23)
1232
end))
1233
o24.Name = "TMesh"
1234
o24.Parent = o22
1235
o24.MeshId = "http://www.roblox.com/asset/?id=1051557"
1236
o24.Scale = Vector3.new(12, 9, 12)
1237
o24.MeshType = Enum.MeshType.FileMesh
1238
o25.Name = "SpikeMesh"
1239
o25.Parent = o22
1240
o25.MeshId = "http://www.roblox.com/asset/?id=1033714"
1241
o25.Scale = Vector3.new(7, 16, 7)
1242
o25.MeshType = Enum.MeshType.FileMesh
1243
o26.Name = "Fade0"
1244
o26.Parent = o22
1245
o26.Disabled = true
1246
table.insert(cors,coroutine.create(function()
1247
wait()
1248
runDummyScript(function()
1249
wait()
1250
script.Parent.BrickColor = BrickColor.new("New Yeller")
1251
script.Parent.Transparency = script.Parent.Transparency + 0.05
1252
script.Parent.Mesh0.Scale = script.Parent.Mesh0.Scale + Vector3.new(0.92,0.92,0)
1253
wait(.01)
1254
script.Parent.BrickColor = BrickColor.new("New Yeller")
1255
script.Parent.Transparency = script.Parent.Transparency + 0.0
1256
script.Parent.Mesh0.Scale = script.Parent.Mesh0.Scale + Vector3.new(0.92,0.92,0.)
1257
wait(.01)
1258
script.Parent.BrickColor = BrickColor.new("Deep orange")
1259
script.Parent.Transparency = script.Parent.Transparency + 0.0
1260
script.Parent.Mesh0.Scale = script.Parent.Mesh0.Scale + Vector3.new(0.92,0.92,0)
1261
wait(.1)
1262
script.Parent.BrickColor = BrickColor.new("Deep orange")
1263
script.Parent.Transparency = script.Parent.Transparency + 0.0
1264
script.Parent.Mesh0.Scale = script.Parent.Mesh0.Scale + Vector3.new(0.94,0.942,0.)
1265
wait(.1)
1266
1267
wait(.01)
1268
script.Parent.BrickColor = BrickColor.new("Deep orange")
1269
script.Parent.Transparency = script.Parent.Transparency + 0.05
1270
script.Parent.Mesh0.Scale = script.Parent.Mesh0.Scale + Vector3.new(0.943,0.943,0.)
1271
wait(.01)
1272
script.Parent.BrickColor = BrickColor.new("Deep orange")
1273
script.Parent.Transparency = script.Parent.Transparency + 0.0
1274
script.Parent.Mesh0.Scale = script.Parent.Mesh0.Scale + Vector3.new(0.943,0.943,0.)
1275
wait(.01)
1276
1277
1278
1279
script.Parent.BrickColor = BrickColor.new("White")
1280
script.Parent.Transparency = script.Parent.Transparency + 0.0
1281
script.Parent.Mesh0.Scale = script.Parent.Mesh0.Scale + Vector3.new(0.943,0.943,0.)
1282
wait(.1)
1283
script.Parent.BrickColor = BrickColor.new("White")
1284
script.Parent.Transparency = script.Parent.Transparency + 0.00
1285
script.Parent.Mesh0.Scale = script.Parent.Mesh0.Scale + Vector3.new(0.943,0.943,0.)
1286
1287
1288
1289
wait(.1)
1290
script.Parent.BrickColor = BrickColor.new("White")
1291
script.Parent.Transparency = script.Parent.Transparency + 0.08
1292
script.Parent.Mesh0.Scale = script.Parent.Mesh0.Scale + Vector3.new(0.943,0.943,0.)
1293
wait(.1)
1294
for i = 1,150 do
1295
	script.Parent.Transparency = script.Parent.Transparency + 0.005
1296
	script.Parent.Mesh0.Scale = script.Parent.Mesh0.Scale + Vector3.new(0.641,0.641,0.1)
1297
	wait()
1298
end
1299
wait(1)
1300
script.Parent:remove()
1301
end,o26)
1302
end))
1303
o27.Name = "light"
1304
o27.Parent = o22
1305
o27.Disabled = true
1306
table.insert(cors,coroutine.create(function()
1307
wait()
1308
runDummyScript(function()
1309
print 'Hello world!'
1310
g=game.Lighting.Ambient.g
1311
b=game.Lighting.Ambient.b
1312
r=game.Lighting.Ambient.r
1313
local a = 1000/255
1314
game.Lighting.Ambient=Color3.new(r+a,g+a,b+a)
1315
1316
wait(1)
1317
	for i=1,100 do
1318
		local a =10/255
1319
		g=game.Lighting.Ambient.g
1320
b=game.Lighting.Ambient.b
1321
r=game.Lighting.Ambient.r
1322
	game.Lighting.Ambient=Color3.new(r-a,g-a,b-a)
1323
1324
wait(0.05)
1325
end
1326
end,o27)
1327
end))
1328
o28.Name = "Abscond"
1329
o28.Parent = o22
1330
o28.SoundId = "http://www.roblox.com/asset/?id=2767090"
1331
o28.Volume = 1
1332
o29.Name = "Berserk"
1333
o29.Parent = o22
1334
o29.Pitch = 0.10000000149012
1335
o29.SoundId = "http://www.roblox.com/asset/?id=2101137"
1336
o29.Volume = 1
1337
o30.Name = "Break"
1338
o30.Parent = o22
1339
o30.Pitch = 0.75
1340
o30.SoundId = "http://www.roblox.com/asset/?id=3264793"
1341
o30.Volume = 1
1342
o31.Name = "Curse"
1343
o31.Parent = o22
1344
o31.Pitch = 0.40000000596046
1345
o31.SoundId = "http://www.roblox.com/asset/?id=13775494"
1346
o31.Volume = 1
1347
o32.Name = "DBC"
1348
o32.Parent = o22
1349
o32.Pitch = 0.55000001192093
1350
o32.SoundId = "http://www.roblox.com/asset/?id=2101137"
1351
o32.Volume = 1
1352
o33.Name = "DBCha"
1353
o33.Parent = o22
1354
o33.Pitch = 0.30000001192093
1355
o33.SoundId = "http://www.roblox.com/asset/?id=2101137"
1356
o33.Volume = 1
1357
o34.Name = "DBExplode"
1358
o34.Parent = o22
1359
o34.Pitch = 0.30000001192093
1360
o34.SoundId = "http://www.roblox.com/asset/?id=2691586"
1361
o34.Volume = 1
1362
o35.Name = "DCHHIT"
1363
o35.Parent = o22
1364
o35.Pitch = 0.5
1365
o35.SoundId = "http://www.roblox.com/asset/?id=2801263"
1366
o35.Volume = 1
1367
o36.Name = "DS"
1368
o36.Parent = o22
1369
o36.Pitch = 0.69999998807907
1370
o36.SoundId = "http://www.roblox.com/asset/?id=2691586"
1371
o36.Volume = 1
1372
o37.Name = "DSHit"
1373
o37.Parent = o22
1374
o37.Pitch = 1.5
1375
o37.SoundId = "http://www.roblox.com/asset/?id=2101148"
1376
o37.Volume = 1
1377
o38.Name = "Defile"
1378
o38.Parent = o22
1379
o38.Pitch = 1.125
1380
o38.SoundId = "http://www.roblox.com/asset/?id=3264923"
1381
o38.Volume = 1
1382
o39.Name = "Elec"
1383
o39.Parent = o22
1384
o39.Pitch = 0.69999998807907
1385
o39.SoundId = "http://www.roblox.com/asset/?id=2800815"
1386
o39.Volume = 1
1387
o40.Name = "GB1"
1388
o40.Parent = o22
1389
o40.Pitch = 0.69999998807907
1390
o40.SoundId = "http://www.roblox.com/asset?id=1369158"
1391
o40.Volume = 1
1392
o41.Name = "GB2"
1393
o41.Parent = o22
1394
o41.Pitch = 0.80000001192093
1395
o41.SoundId = "http://www.roblox.com/asset/?id=2974000"
1396
o41.Volume = 1
1397
o42.Name = "GB3"
1398
o42.Parent = o22
1399
o42.Pitch = 0.20000000298023
1400
o42.SoundId = "http://www.roblox.com/asset/?id=12222124"
1401
o42.Volume = 1
1402
o43.Name = "GB4"
1403
o43.Parent = o22
1404
o43.Pitch = 0.64999997615814
1405
o43.SoundId = "http://www.roblox.com/asset/?id=2974249"
1406
o43.Volume = 1
1407
o44.Name = "Imbue"
1408
o44.Parent = o22
1409
o44.SoundId = "http://www.roblox.com/asset/?id=2785493"
1410
o44.Volume = 1
1411
o45.Name = "LAAAAA"
1412
o45.Parent = o22
1413
o45.SoundId = "rbxassetid://198973822"
1414
o45.Volume = 1
1415
o46.Name = "BlastMesh"
1416
o46.Parent = o22
1417
o46.MeshId = "http://www.roblox.com/asset/?id=20329976"
1418
o46.Scale = Vector3.new(1, 0.100000001, 1)
1419
o46.MeshType = Enum.MeshType.FileMesh
1420
o47.Name = "CYMesh"
1421
o47.Parent = o22
1422
o47.Scale = Vector3.new(12, 9, 12)
1423
o47.MeshType = Enum.MeshType.Cylinder
1424
o48.Name = "MAMAMesh"
1425
o48.Parent = o22
1426
o48.MeshType = Enum.MeshType.Sphere
1427
o49.Name = "RingMesh"
1428
o49.Parent = o22
1429
o49.MeshId = "http://www.roblox.com/asset/?id=3270017"
1430
o49.Scale = Vector3.new(0.100000001, 0.100000001, 0.100000001)
1431
o49.MeshType = Enum.MeshType.FileMesh
1432
o50.Name = "magic"
1433
o50.Parent = o22
1434
o50.Size = NumberSequence.new(10,2.6875,0)
1435
o50.Color = ColorSequence.new(Color3.new(1, 1, 0),Color3.new(1, 1, 1))
1436
o50.Enabled = false
1437
o50.LightEmission = 10000
1438
o50.Texture = "http://www.roblox.com/asset/?id=241650934"
1439
o50.ZOffset = 3
1440
o50.Lifetime = NumberRange.new(0.5,2)
1441
o50.Rate = 10000000000
1442
o50.RotSpeed = NumberRange.new(-280,280)
1443
o50.Speed = NumberRange.new(0,0)
1444
o50.VelocitySpread = 360
1445
o51.Name = "attractO"
1446
o51.Parent = o22
1447
table.insert(cors,coroutine.create(function()
1448
wait()
1449
runDummyScript(function()
1450
function onPlayerBlownUp(part, distance, creator)
1451
	
1452
	if part.Anchored==false then
1453
		
1454
	aa=	script.gotopos:Clone()
1455
	aa.Disabled=false
1456
	aa.Value.Value=script.Parent.Position
1457
	aa.Parent=part
1458
	game:GetService("Debris"):AddItem(aa,10)
1459
	local b = part.Parent:findFirstChild("Humanoid")
1460
	local c = part.Parent:findFirstChild("Humanoid")
1461
	if b == nil and c == nil then
1462
		local a = math.random(1,7)
1463
		if a == 1 then
1464
			part:BreakJoints()
1465
		end
1466
	end
1467
	end
1468
end
1469
local a = Instance.new("Explosion")
1470
a.Position=script.Parent.Position
1471
a.Parent=game.Workspace
1472
a.BlastPressure=0
1473
a.BlastRadius=200
1474
a.Hit:connect(function(part, distance)  onPlayerBlownUp(part, distance) end)
1475
	
1476
1477
end,o51)
1478
end))
1479
o52.Name = "gotopos"
1480
o52.Parent = o51
1481
o52.Disabled = true
1482
table.insert(cors,coroutine.create(function()
1483
wait()
1484
runDummyScript(function()
1485
print 'Hello world!'
1486
local b = script.Value.Value
1487
while true do
1488
	wait(0.1)
1489
	
1490
		local a = script.Parent.Position
1491
1492
		local dir = (a - b).unit
1493
dir=dir*-1
1494
		script.Parent.Velocity = dir*30
1495
end
1496
end,o52)
1497
end))
1498
o53.Parent = o52
1499
o54.Name = "Blam"
1500
o54.Parent = o22
1501
o54.Pitch = 0.20000000298023
1502
o54.SoundId = "http://www.roblox.com/asset?id=2248511"
1503
o54.Volume = 1
1504
o55.Name = "smoke"
1505
o55.Parent = o22
1506
o55.Size = UDim2.new(7.5,0,7.5,0)
1507
o55.Enabled = false
1508
o56.Parent = o55
1509
o56.Position = UDim2.new(-3.5,0,-3.5,0)
1510
o56.Size = UDim2.new(8,0,8,0)
1511
o56.Position = UDim2.new(-3.5,0,-3.5,0)
1512
o56.BackgroundColor3 = Color3.new(1, 1, 1)
1513
o56.BackgroundTransparency = 1
1514
o56.BorderSizePixel = 0
1515
o56.Image = "http://www.roblox.com/asset/?id=31727915"
1516
o57.Parent = o56
1517
table.insert(cors,coroutine.create(function()
1518
wait()
1519
runDummyScript(function()
1520
while true do
1521
	script.Parent.Rotation = script.Parent.Rotation+1
1522
	wait(0.1)
1523
end
1524
end,o57)
1525
end))
1526
o58.Name = "ya"
1527
o58.Parent = o22
1528
o58.force = Vector3.new(0, 8790, 0)
1529
o59.Name = "shake"
1530
o59.Parent = o22
1531
o59.Disabled = true
1532
table.insert(cors,coroutine.create(function()
1533
wait()
1534
runDummyScript(function()
1535
local cam = game.Workspace.CurrentCamera
1536
for i=1,10 do
1537
wait()
1538
1539
local cam_rot = cam.CoordinateFrame - cam.CoordinateFrame.p --* CFrame.fromEulerAnglesXYZ(math.random(-5, 5)/10, math.random(-5, 5)/5, 0)
1540
local cam_scroll = (cam.CoordinateFrame.p - cam.Focus.p).magnitude
1541
1542
local x=math.random(-10, 10)/40
1543
local y = math.random(-10, 10)/40
1544
local ncf = CFrame.new(cam.Focus.p)*cam_rot*CFrame.fromEulerAnglesXYZ(x,y , 0)
1545
cam.CoordinateFrame = ncf*CFrame.new(0, 0, cam_scroll)
1546
wait()
1547
local cam_rot = cam.CoordinateFrame - cam.CoordinateFrame.p --* CFrame.fromEulerAnglesXYZ(math.random(-5, 5)/10, math.random(-5, 5)/5, 0)
1548
local cam_scroll = (cam.CoordinateFrame.p - cam.Focus.p).magnitude
1549
1550
local xx=x*-1
1551
local yy = y*-1
1552
local ncf = CFrame.new(cam.Focus.p)*cam_rot*CFrame.fromEulerAnglesXYZ(xx,yy , 0)
1553
local p= cam_scroll*-1
1554
cam.CoordinateFrame = ncf*CFrame.new(0, 0, p)
1555
1556
1557
1558
1559
end
1560
for i=1,10 do
1561
wait()
1562
1563
local cam_rot = cam.CoordinateFrame - cam.CoordinateFrame.p --* CFrame.fromEulerAnglesXYZ(math.random(-5, 5)/10, math.random(-5, 5)/5, 0)
1564
local cam_scroll = (cam.CoordinateFrame.p - cam.Focus.p).magnitude
1565
1566
local x=math.random(-7, 7)/40
1567
local y = math.random(-7, 7)/40
1568
local ncf = CFrame.new(cam.Focus.p)*cam_rot*CFrame.fromEulerAnglesXYZ(x,y , 0)
1569
cam.CoordinateFrame = ncf*CFrame.new(0, 0, cam_scroll)
1570
wait()
1571
local cam_rot = cam.CoordinateFrame - cam.CoordinateFrame.p --* CFrame.fromEulerAnglesXYZ(math.random(-5, 5)/10, math.random(-5, 5)/5, 0)
1572
local cam_scroll = (cam.CoordinateFrame.p - cam.Focus.p).magnitude
1573
1574
local xx=x*-1
1575
local yy = y*-1
1576
local ncf = CFrame.new(cam.Focus.p)*cam_rot*CFrame.fromEulerAnglesXYZ(xx,yy , 0)
1577
local p= cam_scroll*-1
1578
cam.CoordinateFrame = ncf*CFrame.new(0, 0, p)
1579
1580
1581
1582
1583
end
1584
for i=1,10 do
1585
wait()
1586
1587
local cam_rot = cam.CoordinateFrame - cam.CoordinateFrame.p --* CFrame.fromEulerAnglesXYZ(math.random(-5, 5)/10, math.random(-5, 5)/5, 0)
1588
local cam_scroll = (cam.CoordinateFrame.p - cam.Focus.p).magnitude
1589
1590
local x=math.random(-5, 5)/40
1591
local y = math.random(-5, 5)/40
1592
local ncf = CFrame.new(cam.Focus.p)*cam_rot*CFrame.fromEulerAnglesXYZ(x,y , 0)
1593
cam.CoordinateFrame = ncf*CFrame.new(0, 0, cam_scroll)
1594
wait()
1595
local cam_rot = cam.CoordinateFrame - cam.CoordinateFrame.p --* CFrame.fromEulerAnglesXYZ(math.random(-5, 5)/10, math.random(-5, 5)/5, 0)
1596
local cam_scroll = (cam.CoordinateFrame.p - cam.Focus.p).magnitude
1597
1598
local xx=x*-1
1599
local yy = y*-1
1600
local ncf = CFrame.new(cam.Focus.p)*cam_rot*CFrame.fromEulerAnglesXYZ(xx,yy , 0)
1601
local p= cam_scroll*-1
1602
cam.CoordinateFrame = ncf*CFrame.new(0, 0, p)
1603
1604
1605
1606
1607
end
1608
for i=1,10 do
1609
wait()
1610
1611
local cam_rot = cam.CoordinateFrame - cam.CoordinateFrame.p --* CFrame.fromEulerAnglesXYZ(math.random(-5, 5)/10, math.random(-5, 5)/5, 0)
1612
local cam_scroll = (cam.CoordinateFrame.p - cam.Focus.p).magnitude
1613
1614
local x=math.random(-3, 3)/40
1615
local y = math.random(-3, 3)/40
1616
local ncf = CFrame.new(cam.Focus.p)*cam_rot*CFrame.fromEulerAnglesXYZ(x,y , 0)
1617
cam.CoordinateFrame = ncf*CFrame.new(0, 0, cam_scroll)
1618
wait()
1619
local cam_rot = cam.CoordinateFrame - cam.CoordinateFrame.p --* CFrame.fromEulerAnglesXYZ(math.random(-5, 5)/10, math.random(-5, 5)/5, 0)
1620
local cam_scroll = (cam.CoordinateFrame.p - cam.Focus.p).magnitude
1621
1622
local xx=x*-1
1623
local yy = y*-1
1624
local ncf = CFrame.new(cam.Focus.p)*cam_rot*CFrame.fromEulerAnglesXYZ(xx,yy , 0)
1625
local p= cam_scroll*-1
1626
cam.CoordinateFrame = ncf*CFrame.new(0, 0, p)
1627
1628
1629
1630
1631
end
1632
for i=1,10 do
1633
wait()
1634
1635
local cam_rot = cam.CoordinateFrame - cam.CoordinateFrame.p --* CFrame.fromEulerAnglesXYZ(math.random(-5, 5)/10, math.random(-5, 5)/5, 0)
1636
local cam_scroll = (cam.CoordinateFrame.p - cam.Focus.p).magnitude
1637
1638
local x=math.random(-2, 2)/40
1639
local y = math.random(-2, 2)/40
1640
local ncf = CFrame.new(cam.Focus.p)*cam_rot*CFrame.fromEulerAnglesXYZ(x,y , 0)
1641
cam.CoordinateFrame = ncf*CFrame.new(0, 0, cam_scroll)
1642
wait()
1643
local cam_rot = cam.CoordinateFrame - cam.CoordinateFrame.p --* CFrame.fromEulerAnglesXYZ(math.random(-5, 5)/10, math.random(-5, 5)/5, 0)
1644
local cam_scroll = (cam.CoordinateFrame.p - cam.Focus.p).magnitude
1645
1646
local xx=x*-1
1647
local yy = y*-1
1648
local ncf = CFrame.new(cam.Focus.p)*cam_rot*CFrame.fromEulerAnglesXYZ(xx,yy , 0)
1649
local p= cam_scroll*-1
1650
cam.CoordinateFrame = ncf*CFrame.new(0, 0, p)
1651
1652
1653
1654
1655
end
1656
for i=1,10 do
1657
wait()
1658
1659
local cam_rot = cam.CoordinateFrame - cam.CoordinateFrame.p --* CFrame.fromEulerAnglesXYZ(math.random(-5, 5)/10, math.random(-5, 5)/5, 0)
1660
local cam_scroll = (cam.CoordinateFrame.p - cam.Focus.p).magnitude
1661
1662
local x=math.random(-1, 1)/40
1663
local y = math.random(-1, 1)/40
1664
local ncf = CFrame.new(cam.Focus.p)*cam_rot*CFrame.fromEulerAnglesXYZ(x,y , 0)
1665
cam.CoordinateFrame = ncf*CFrame.new(0, 0, cam_scroll)
1666
wait()
1667
local cam_rot = cam.CoordinateFrame - cam.CoordinateFrame.p --* CFrame.fromEulerAnglesXYZ(math.random(-5, 5)/10, math.random(-5, 5)/5, 0)
1668
local cam_scroll = (cam.CoordinateFrame.p - cam.Focus.p).magnitude
1669
1670
local xx=x*-1
1671
local yy = y*-1
1672
local ncf = CFrame.new(cam.Focus.p)*cam_rot*CFrame.fromEulerAnglesXYZ(xx,yy , 0)
1673
local p= cam_scroll*-1
1674
cam.CoordinateFrame = ncf*CFrame.new(0, 0, p)
1675
1676
1677
1678
1679
end
1680
for i=1,10 do
1681
wait()
1682
1683
local cam_rot = cam.CoordinateFrame - cam.CoordinateFrame.p --* CFrame.fromEulerAnglesXYZ(math.random(-5, 5)/10, math.random(-5, 5)/5, 0)
1684
local cam_scroll = (cam.CoordinateFrame.p - cam.Focus.p).magnitude
1685
1686
local x=math.random(-0.5, 0.5)/40
1687
local y = math.random(-0.5, 0.5)/40
1688
local ncf = CFrame.new(cam.Focus.p)*cam_rot*CFrame.fromEulerAnglesXYZ(x,y , 0)
1689
cam.CoordinateFrame = ncf*CFrame.new(0, 0, cam_scroll)
1690
wait()
1691
local cam_rot = cam.CoordinateFrame - cam.CoordinateFrame.p --* CFrame.fromEulerAnglesXYZ(math.random(-5, 5)/10, math.random(-5, 5)/5, 0)
1692
local cam_scroll = (cam.CoordinateFrame.p - cam.Focus.p).magnitude
1693
1694
local xx=x*-1
1695
local yy = y*-1
1696
local ncf = CFrame.new(cam.Focus.p)*cam_rot*CFrame.fromEulerAnglesXYZ(xx,yy , 0)
1697
local p= cam_scroll*-1
1698
cam.CoordinateFrame = ncf*CFrame.new(0, 0, p)
1699
1700
1701
1702
1703
end
1704
for i=1,10 do
1705
wait()
1706
1707
local cam_rot = cam.CoordinateFrame - cam.CoordinateFrame.p --* CFrame.fromEulerAnglesXYZ(math.random(-5, 5)/10, math.random(-5, 5)/5, 0)
1708
local cam_scroll = (cam.CoordinateFrame.p - cam.Focus.p).magnitude
1709
1710
local x=math.random(-0.1, 0.1)/40
1711
local y = math.random(-0.1, 0.1)/40
1712
local ncf = CFrame.new(cam.Focus.p)*cam_rot*CFrame.fromEulerAnglesXYZ(x,y , 0)
1713
cam.CoordinateFrame = ncf*CFrame.new(0, 0, cam_scroll)
1714
wait()
1715
local cam_rot = cam.CoordinateFrame - cam.CoordinateFrame.p --* CFrame.fromEulerAnglesXYZ(math.random(-5, 5)/10, math.random(-5, 5)/5, 0)
1716
local cam_scroll = (cam.CoordinateFrame.p - cam.Focus.p).magnitude
1717
1718
local xx=x*-1
1719
local yy = y*-1
1720
local ncf = CFrame.new(cam.Focus.p)*cam_rot*CFrame.fromEulerAnglesXYZ(xx,yy , 0)
1721
local p= cam_scroll*-1
1722
cam.CoordinateFrame = ncf*CFrame.new(0, 0, p)
1723
1724
1725
1726
1727
end
1728
for i=1,10 do
1729
wait()
1730
1731
local cam_rot = cam.CoordinateFrame - cam.CoordinateFrame.p --* CFrame.fromEulerAnglesXYZ(math.random(-5, 5)/10, math.random(-5, 5)/5, 0)
1732
local cam_scroll = (cam.CoordinateFrame.p - cam.Focus.p).magnitude
1733
1734
local x=math.random(-0.01, 0.01)/40
1735
local y = math.random(-0.01, 0.01)/40
1736
local ncf = CFrame.new(cam.Focus.p)*cam_rot*CFrame.fromEulerAnglesXYZ(x,y , 0)
1737
cam.CoordinateFrame = ncf*CFrame.new(0, 0, cam_scroll)
1738
wait()
1739
local cam_rot = cam.CoordinateFrame - cam.CoordinateFrame.p --* CFrame.fromEulerAnglesXYZ(math.random(-5, 5)/10, math.random(-5, 5)/5, 0)
1740
local cam_scroll = (cam.CoordinateFrame.p - cam.Focus.p).magnitude
1741
1742
local xx=x*-1
1743
local yy = y*-1
1744
local ncf = CFrame.new(cam.Focus.p)*cam_rot*CFrame.fromEulerAnglesXYZ(xx,yy , 0)
1745
local p= cam_scroll*-1
1746
cam.CoordinateFrame = ncf*CFrame.new(0, 0, p)
1747
1748
1749
1750
1751
end
1752
for i=1,10 do
1753
wait()
1754
1755
local cam_rot = cam.CoordinateFrame - cam.CoordinateFrame.p --* CFrame.fromEulerAnglesXYZ(math.random(-5, 5)/10, math.random(-5, 5)/5, 0)
1756
local cam_scroll = (cam.CoordinateFrame.p - cam.Focus.p).magnitude
1757
1758
local x=math.random(-0.0025, 0.0025)/40
1759
local y = math.random(-0.0025, 0.0025)/40
1760
local ncf = CFrame.new(cam.Focus.p)*cam_rot*CFrame.fromEulerAnglesXYZ(x,y , 0)
1761
cam.CoordinateFrame = ncf*CFrame.new(0, 0, cam_scroll)
1762
wait()
1763
local cam_rot = cam.CoordinateFrame - cam.CoordinateFrame.p --* CFrame.fromEulerAnglesXYZ(math.random(-5, 5)/10, math.random(-5, 5)/5, 0)
1764
local cam_scroll = (cam.CoordinateFrame.p - cam.Focus.p).magnitude
1765
1766
local xx=x*-1
1767
local yy = y*-1
1768
local ncf = CFrame.new(cam.Focus.p)*cam_rot*CFrame.fromEulerAnglesXYZ(xx,yy , 0)
1769
local p= cam_scroll*-1
1770
cam.CoordinateFrame = ncf*CFrame.new(0, 0, p)
1771
1772
1773
1774
1775
end
1776
script:remove()
1777
--script:remove()
1778
1779
end,o59)
1780
end))
1781
o60.Name = "attract"
1782
o60.Parent = o22
1783
table.insert(cors,coroutine.create(function()
1784
wait()
1785
runDummyScript(function()
1786
local hole = script.Parent
1787
local childList = {}
1788
1789
local massConstant = 5.8 -- Generally a good value
1790
1791
local mass = 40000 * massConstant
1792
1793
-- This is basically a function that finds all unanchored parts and adds them to childList.
1794
-- Note: This should only be run once for each object
1795
function checkObject(obj)
1796
	if (obj ~= hole) and (obj.className == "Part") then
1797
		if (obj.Anchored == false) then
1798
			table.insert(childList, 1, obj)
1799
		end
1800
	elseif (obj.className == "Model") or (obj.className == "Hat") or (obj.className == "Tool") or (obj == workspace) then
1801
		local child = obj:GetChildren()
1802
		for x = 1, #child do
1803
			checkObject(child[x])
1804
		end
1805
		obj.ChildAdded:connect(checkObject)
1806
	end
1807
end
1808
1809
checkObject(workspace)
1810
1811
print("Black Hole script loaded.")
1812
1813
local n = 0
1814
while true do
1815
	if n < #childList then
1816
		n = n + 1
1817
		if n % 800 == 0 then
1818
			wait(0.5)
1819
		end
1820
	else
1821
		n = 1
1822
		wait(0.5)
1823
	end
1824
1825
	local child = childList[n]
1826
	if (child ~= hole) and (child.className == "Part") and (child.Anchored == false) then
1827
		local relPos = hole.Position - child.Position
1828
		local motivator = child:FindFirstChild("BlackHole Influence")
1829
		if relPos.magnitude * 350 * massConstant < mass then
1830
			
1831
			local a = math.random(1,5)
1832
			if a == 1 and child.Parent:findFirstChild("Humanoid") == nil then
1833
			child:BreakJoints()
1834
			
1835
	
1836
			end
1837
			
1838
			if (relPos.magnitude * 320 * massConstant < mass) and (child.Size.z + hole.Size.x >  relPos.magnitude * 2 - 4) then
1839
				mass = mass + child:GetMass()
1840
			--	child:Remove()
1841
				table.remove(childList, n)
1842
				n = n - 1 -- This is the reason I need a counter of my own design
1843
			else
1844
			--	child.CanCollide = false -- I Can assume that things won't escape the black hole.
1845
				if motivator == nil then
1846
					motivator = Instance.new("BodyPosition")
1847
					motivator.Parent = child
1848
					--game:GetService("Debris"):AddItem(motivator,0.4)
1849
					motivator.Name = "BlackHole Influence"
1850
				end
1851
				if child.Parent:findFirstChild("Humanoid") ~= nil then
1852
					motivator.position = hole.Position
1853
				motivator.maxForce = Vector3.new(1000, 1000, 1000)-- * mass * child:GetMass() / (relPos.magnitude * massConstant)
1854
			motivator:remove()
1855
			local posfind = child.Parent:findFirstChild("Torso")
1856
			if posfind ~= nil then
1857
			local posfind2 = posfind:findFirstChild("gotopos")
1858
			if posfind2== nil then
1859
			aa=	script.gotopos:Clone()
1860
	aa.Disabled=false
1861
	game:GetService("Debris"):AddItem(aa,10)
1862
	aa.Value.Value=script.Parent.Position
1863
	aa.Parent=child.Parent.Torso
1864
			end
1865
			end
1866
					else
1867
				motivator.position = hole.Position
1868
				motivator.maxForce = Vector3.new(1500, 1500, 1500)-- * mass * child:GetMass() / (relPos.magnitude * massConstant)
1869
			
1870
				end
1871
				
1872
			end
1873
		elseif motivator ~= nil then
1874
			motivator:Remove()
1875
		end
1876
	end
1877
end
1878
end,o60)
1879
end))
1880
o61.Name = "gotopos"
1881
o61.Parent = o60
1882
o61.Disabled = true
1883
table.insert(cors,coroutine.create(function()
1884
wait()
1885
runDummyScript(function()
1886
print 'Hello world!'
1887
local b = script.Value.Value
1888
while true do
1889
	wait(0.1)
1890
	
1891
		local a = script.Parent.Position
1892
1893
		local dir = (a - b).unit
1894
dir=dir*-1
1895
		script.Parent.Velocity = dir*30
1896
end
1897
end,o61)
1898
end))
1899
o62.Parent = o61
1900
o63.Name = "fireableno"
1901
o63.Parent = o22
1902
o63.Disabled = true
1903
table.insert(cors,coroutine.create(function()
1904
wait()
1905
runDummyScript(function()
1906
print 'Hello world!'
1907
wait(10)
1908
script.Parent.Enabled=false
1909
end,o63)
1910
end))
1911
o64.Name = "Blur"
1912
o64.Parent = o22
1913
o64.Disabled = true
1914
table.insert(cors,coroutine.create(function()
1915
wait()
1916
runDummyScript(function()
1917
bass=script.Blur
1918
script.Blur.Parent=game.Workspace.CurrentCamera
1919
local rs=game:GetService("RunService").RenderStepped
1920
for i = 1,75 do
1921
	rs:wait()
1922
	bass.Size=bass.Size-0.2
1923
end
1924
bass:Remove()
1925
script:Remove()
1926
end,o64)
1927
end))
1928
o65.Parent = o64
1929
o65.Size = 15
1930
mas.Parent = workspace
1931
mas:MakeJoints()
1932
local mas1 = mas:GetChildren()
1933
for i=1,#mas1 do
1934
	mas1[i].Parent = workspace 
1935
	ypcall(function() mas1[i]:MakeJoints() end)
1936
end
1937
mas:Destroy()
1938
for i=1,#cors do
1939
coroutine.resume(cors[i])
1940
end