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