· 8 years ago · Mar 11, 2018, 09:18 AM
1--Made by N3xul
2local runDummyScript = function(f,scri)
3local oldenv = getfenv(f)
4local newenv = setmetatable({}, {
5__index = function(_, k)
6if k:lower() == 'script' then
7return scri
8else
9return oldenv[k]
10end
11end
12})
13setfenv(f, newenv)
14ypcall(function() f() end)
15end
16cors = {}
17mas = Instance.new("Model",game:GetService("Lighting"))
18mas.Name = "CompiledModel"
19o1 = Instance.new("Tool")
20o2 = Instance.new("Script")
21o3 = Instance.new("Sound")
22o4 = Instance.new("LocalScript")
23o5 = Instance.new("Script")
24o6 = Instance.new("Script")
25o7 = Instance.new("LocalScript")
26o8 = Instance.new("LocalScript")
27o9 = Instance.new("Script")
28o10 = Instance.new("Configuration")
29o11 = Instance.new("Script")
30o12 = Instance.new("Script")
31o13 = Instance.new("Part")
32o14 = Instance.new("BlockMesh")
33o15 = Instance.new("Part")
34o16 = Instance.new("SpecialMesh")
35o17 = Instance.new("Script")
36o18 = Instance.new("Part")
37o19 = Instance.new("BlockMesh")
38o20 = Instance.new("Script")
39o21 = Instance.new("PointLight")
40o22 = Instance.new("Script")
41o23 = Instance.new("Part")
42o24 = Instance.new("BlockMesh")
43o25 = Instance.new("Script")
44o26 = Instance.new("Part")
45o27 = Instance.new("BlockMesh")
46o28 = Instance.new("Script")
47o29 = Instance.new("Part")
48o30 = Instance.new("BlockMesh")
49o31 = Instance.new("Script")
50o32 = Instance.new("Part")
51o33 = Instance.new("BlockMesh")
52o34 = Instance.new("Part")
53o35 = Instance.new("BlockMesh")
54o36 = Instance.new("Part")
55o37 = Instance.new("BlockMesh")
56o38 = Instance.new("Part")
57o39 = Instance.new("BlockMesh")
58o40 = Instance.new("Part")
59o41 = Instance.new("BlockMesh")
60o42 = Instance.new("Part")
61o43 = Instance.new("BlockMesh")
62o44 = Instance.new("Part")
63o45 = Instance.new("BlockMesh")
64o46 = Instance.new("Part")
65o47 = Instance.new("BlockMesh")
66o48 = Instance.new("Part")
67o49 = Instance.new("BlockMesh")
68o50 = Instance.new("Part")
69o51 = Instance.new("BlockMesh")
70o52 = Instance.new("Part")
71o53 = Instance.new("Script")
72o54 = Instance.new("BlockMesh")
73o55 = Instance.new("Part")
74o56 = Instance.new("BlockMesh")
75o57 = Instance.new("Part")
76o58 = Instance.new("Script")
77o59 = Instance.new("BlockMesh")
78o60 = Instance.new("Part")
79o61 = Instance.new("BlockMesh")
80o62 = Instance.new("Part")
81o63 = Instance.new("BlockMesh")
82o64 = Instance.new("Part")
83o65 = Instance.new("SpecialMesh")
84o66 = Instance.new("Script")
85o67 = Instance.new("Part")
86o68 = Instance.new("SpecialMesh")
87o69 = Instance.new("Script")
88o70 = Instance.new("Part")
89o71 = Instance.new("SpecialMesh")
90o72 = Instance.new("Script")
91o73 = Instance.new("Part")
92o74 = Instance.new("Script")
93o75 = Instance.new("BlockMesh")
94o76 = Instance.new("Part")
95o77 = Instance.new("Script")
96o78 = Instance.new("BlockMesh")
97o79 = Instance.new("Part")
98o80 = Instance.new("Script")
99o81 = Instance.new("BlockMesh")
100o82 = Instance.new("Part")
101o83 = Instance.new("Script")
102o84 = Instance.new("BlockMesh")
103o85 = Instance.new("Part")
104o86 = Instance.new("SpecialMesh")
105o87 = Instance.new("Part")
106o88 = Instance.new("Weld")
107o89 = Instance.new("Weld")
108o90 = Instance.new("Weld")
109o91 = Instance.new("Weld")
110o92 = Instance.new("Weld")
111o93 = Instance.new("Weld")
112o94 = Instance.new("PointLight")
113o96 = Instance.new("Part")
114o97 = Instance.new("BlockMesh")
115o98 = Instance.new("Part")
116o99 = Instance.new("BlockMesh")
117o100 = Instance.new("Part")
118o101 = Instance.new("Script")
119o102 = Instance.new("BlockMesh")
120o103 = Instance.new("Part")
121o104 = Instance.new("Script")
122o105 = Instance.new("BlockMesh")
123o106 = Instance.new("LocalScript")
124o107 = Instance.new("ObjectValue")
125o1.Name = "ObsibianE"
126o1.Parent = mas
127o1.TextureId = "http://www.roblox.com/asset/?id=138025563"
128o1.Enabled = false
129o1.GripForward = Vector3.new(1, -0, -0)
130o1.GripPos = Vector3.new(0, -1.60000002, 0)
131o1.GripRight = Vector3.new(0, 0, 1)
132o2.Name = "CrystalSword"
133o2.Parent = o1
134table.insert(cors,coroutine.create(function()
135wait()
136runDummyScript(function()
137--Crystal Sword
138
139local Tool = script.Parent
140local Handle = Tool.Handle
141local Character = nil
142
143local EruptionID = 201067679
144local Eruption = game:GetService("InsertService"):LoadAsset(EruptionID):GetChildren()[1]
145
146local Debris = game.Debris
147
148
149local Damage = 50
150local Eruptions = 5
151local DistancePerObject = 20
152local TimeBetweenEruptions = .05
153local EruptionLife = 3
154local DamagePerTouch = 50
155
156
157--Creates a random number of particles and lets them fall down from the sky.
158function ParticleExplosion(Parent, Colors)
159 local NumParticles = math.random(5,15)
160 for i = 0, NumParticles do
161 --Create the parts for the particles to emit from
162 local ParticlePoint = Instance.new("Part")
163 ParticlePoint.Size = Vector3.new(1,1,1)
164 ParticlePoint.Parent = Parent
165 ParticlePoint.Position = Parent.Position + Vector3.new(math.random(-5,5), math.random(4, 7), math.random(-5,5) )
166 ParticlePoint.Transparency = 1
167
168 --Create the particles for display
169 local Particle = Instance.new("Fire")
170 local Color = Colors[math.random(1, #Colors)]
171 Particle.Color = Color
172 Particle.SecondaryColor = Color
173 Particle.Enabled = false
174 Particle.Parent = ParticlePoint
175
176 --Send them flying
177 local ParticleForce = Instance.new("BodyForce")
178 ParticleForce.Parent = ParticlePoint
179 ParticleForce.force = Vector3.new(math.random(-20,20), 40, math.random(-20,20)) * 7
180 Debris:AddItem(ParticleForce, .3)
181
182 Debris:AddItem(ParticlePoint, .1 + math.random())
183 end
184
185end
186
187
188--Fired when the chrystal touches something
189--Add to the player's touched counter. Damage will be done based on this number later
190function onCrystalTouched(part)
191 local Character = part.Parent
192 if not Character:FindFirstChild("Humanoid") then return end
193
194 local Player = game.Players:GetPlayerFromCharacter(Character)
195 if Player == game.Players:GetPlayerFromCharacter(Tool.Parent) then return end
196
197 local Counter = Character:FindFirstChild("Counter")
198 if not Counter then --If we don't have a counter, add a new one
199 Counter = Instance.new("IntValue")
200 Counter.Name = "Counter"
201 Counter.Value = 0
202 Counter.Parent = Character
203 Debris:AddItem(Counter, .2)
204 end
205
206 Counter.Value = Counter.Value + 1
207end
208
209--Find the players with a counter variable, then kill them
210--If they survive, knock them over
211function ExplodePlayers()
212 local Players = game.Players:GetChildren()
213
214 for i = 1, #Players do
215 local Character = Players[i].Character
216 local counter = Character:FindFirstChild("Counter")
217 if counter then
218 Character.Humanoid:TakeDamage(counter.Value * DamagePerTouch)
219
220 Character.Humanoid.Sit = true
221
222 end
223
224 end
225end
226
227
228Erupting = false
229function DoEruption()
230 Erupting = true
231 local Torso = Character.Torso
232 local Direction = Torso.CFrame.lookVector
233 local LastPosition = Torso.Position + Vector3.new(0, -2.5, 0)
234
235 for i = 1, Eruptions do
236 --Create a new crystal formation
237 local EruptionClone = Eruption:Clone()
238 EruptionClone.Name = "Eruption"
239 local Children = EruptionClone:GetChildren()
240 local BasePart = EruptionClone.BaseCenter
241 for z = 1, #Children do
242 --Move each part into position
243 if(Children[z] ~= BasePart) then
244 local part = Children[z]
245 local offset = part.CFrame.p - BasePart.CFrame.p
246 part.CFrame = part.CFrame - part.CFrame.p + (LastPosition + (Direction * DistancePerObject)) + offset
247 local cobj = part.Touched:connect(onCrystalTouched)
248 delay(.2, function() cobj:disconnect() end)
249 end
250 end
251 EruptionClone.Parent = game.Workspace
252
253 BasePart.CFrame = BasePart.CFrame - BasePart.CFrame.p + (LastPosition + (Direction * DistancePerObject))
254
255 --Play the particle and sound effects
256 ParticleExplosion(BasePart, {BrickColor.new(28).Color, Color3.new(0/0,0/0,0/0)} )
257 local Sound = Tool.CrystalExplosion:Clone()
258 Sound.Parent = EruptionClone
259 Sound:Play()
260
261 --Move on to the next eruption
262 LastPosition = LastPosition + (Direction * DistancePerObject)
263
264 --Kill any fool that happened to get caught in the explosion
265 ExplodePlayers()
266
267 wait(TimeBetweenEruptions)
268
269 --Let physics take over crystal for effect
270 delay(EruptionLife - 1.5, function()
271 local ChildrenClone = Children
272 for z= 1, #ChildrenClone do
273 ChildrenClone[z].Anchored = false
274 Debris:AddItem(ChildrenClone[z], math.random())
275 end
276 end)
277
278 --Clean up after ourselves
279 Debris:AddItem(EruptionClone, EruptionLife)
280 end
281
282 Erupting = false
283
284end
285
286
287--Swing the sword
288function Swing()
289 --Add a particle effect to the sword when you swing it to make it seem powerful
290 local SwingParticle = Instance.new("Fire")
291 SwingParticle.Name = "SwingParticle"
292 SwingParticle.Parent = Handle
293
294 local WS = script.Parent.WSE:Clone()
295 WS.Parent = Tool.Parent
296 WS.Disabled = false
297
298 local Color = BrickColor.new(28).Color
299 SwingParticle.Color = Color
300 SwingParticle.SecondaryColor = Color
301 SwingParticle.Enabled = false
302 Debris:AddItem(SwingParticle, 1)
303
304 --Play the swing animation
305 local Animation = Instance.new("StringValue")
306 Animation.Name = "toolanim"
307 Animation.Value = "Slash"
308 Animation.Parent = Tool
309
310 --How do i shot crystals?
311 DoEruption()
312
313end
314
315
316
317function onActivated()
318 if not Tool.Enabled then return end
319 if Erupting then return end
320 if not Character then return end
321 Tool.Enabled = false
322
323 Swing()
324
325 wait(EruptionLife)
326 Tool.Enabled = true
327
328end
329Tool.Activated:connect(onActivated)
330
331function onEquipped()
332 Tool.Enabled = true
333 Character = Tool.Parent
334end
335Tool.Equipped:connect(onEquipped)
336
337function onUnequipped()
338 Tool.Enabled = false
339 Character = nil
340end
341Tool.Unequipped:connect(onUnequipped)
342end,o2)
343end))
344o3.Name = "CrystalExplosion"
345o3.Parent = o1
346o3.Pitch = 0.5
347o3.SoundId = "http://www.roblox.com/asset/?id=84937942"
348o3.Volume = 1
349o4.Name = "Main"
350o4.Parent = o1
351table.insert(cors,coroutine.create(function()
352wait()
353runDummyScript(function()
354local function class(name)
355 local def = {}
356 getfenv(0)[name] = def
357 return function(ctor, static)
358 local nctor = function(...)
359 local this = {}
360 if ctor then
361 ctor(this, ...)
362 end
363 return this
364 end
365 getfenv(0)['Create'..name] = nctor
366 if static then static(def) end
367 end
368end
369
370local function Create(ty)
371 return function(data)
372 local obj = Instance.new(ty)
373 for k, v in pairs(data) do
374 if type(k) == 'number' then
375 v.Parent = obj
376 else
377 obj[k] = v
378 end
379 end
380 return obj
381 end
382end
383
384--[[----------------------------------------------------------------------------
385AnimationProvider
386 Manages animations.
387
388 CreateAnimationProvider(animations)
389 Returns a new AnimationProvider instance.
390 `animations` is a table containing identity/asset_id pairs.
391 `asset_id` may be a string (Content) or an integer.
392 AnimationProvider:LoadHumanoid(humanoid)
393 Loads the animations into `humanoid`.
394 AnimationProvider:GetAnimation(identity)
395 Returns an AnimationTrack.
396 May only be called after LoadHumanoid.
397 AnimationProvider:StopAnimations()
398 Stops all animations.
399]]
400class'AnimationProvider'(function(def,anim_ids)
401 local animations = {}
402 local animationTracks = {}
403 local catcherCallbacks = {}
404 local keyframeCatchers = {}
405 local workingHumanoid
406
407 for name,id in pairs(anim_ids) do
408 animations[name] = Create'Animation'{
409 Name = name;
410 AnimationId = type(id) == "number" and ("rbxassetid://"..id) or id;
411 Archivable = false;
412 }
413 end
414
415 function def:LoadHumanoid(humanoid)
416 if humanoid ~= workingHumanoid then
417 workingHumanoid = humanoid
418 for name,anim in pairs(animations) do
419 local old_track = animationTracks[name]
420 if old_track then
421 old_track:Stop()
422 old_track:Destroy()
423 if keyframeCatchers[name] then
424 keyframeCatchers[name] = nil
425 end
426 end
427
428 local track = humanoid:LoadAnimation(anim)
429 animationTracks[name] = track
430 if catcherCallbacks[name] then
431 local catcher = CreateKeyframeCatcher(track)
432 keyframeCatchers[name] = catcher
433 catcher:SetCallbacks(catcherCallbacks[name])
434 end
435 end
436 end
437 end
438
439 function def:GetAnimation(name)
440 if not workingHumanoid then
441 error("GetAnimation: humanoid has not been loaded",2)
442 end
443 return animationTracks[name]
444 end
445
446 function def:StopAnimations(...)
447 for name,track in pairs(animationTracks) do
448 track:Stop(...)
449 end
450 end
451
452 -- lazy get
453 setmetatable(def,{__index = animationTracks})
454end)
455
456--[[
457SoundProvider
458 Manages sounds.
459
460 CreateSoundProvider(sounds)
461 Returns a new SoundProvider.
462 `sounds` is a table containing identity/asset_id pairs.
463 `asset_id` may be a string (Content) or an integer.
464 SoundProvider:SetParent(parent)
465 Sets the parent of all the sounds at once. Can be nil.
466 SoundProvider:GetSound(identity)
467 Returns a Sound.
468 SoundProvider:StopSounds()
469 Stops all sounds.
470 SoundProvider:Fade(identity, goal, time, delta)
471 Applies a fading effect to a Sound, starting with the current volume.
472 `goal` is the volume to reach by the end of the transition.
473 `time` is the amount of time the transition should take, in seconds.
474 Optionally, `delta` is a function that transforms the progress of the fade (for non-linear transitions)
475]]
476class'SoundProvider'(function(def,sound_ids)
477 local sounds = {}
478
479 for name,id in pairs(sound_ids) do
480 sounds[name] = Create'Sound'{
481 Name = name;
482 SoundId = type(id) == "number" and ("rbxassetid://"..id) or id;
483 Archivable = false;
484 }
485 end
486
487 function def:SetParent(parent)
488 for name,sound in pairs(sounds) do
489 sound.Parent = parent
490 end
491 end
492
493 function def:GetSound(name)
494 return sounds[name]
495 end
496
497 function def:StopSounds()
498 for name,sound in pairs(sounds) do
499 sound:Stop()
500 end
501 end
502
503 function def:Fade(name,g,t,delta)
504 local sound = sounds[name]
505 delta = delta or function(n) return n end
506 if sound then
507 local s = sound.Volume
508 local i = 0
509 while i < 1 do
510 i = i + wait()/t
511 sound.Volume = (g-s)*delta(i)+s
512 end
513 sound.Volume = g
514 else
515 error("SoundProvider::Fade: no such sound named `"..name.."`",2)
516 end
517 end
518
519 -- lazy get
520 setmetatable(def,{__index = sounds})
521end)
522
523--[[
524ThreadID
525 Makes sure new threads override old ones.
526
527 CreateThreadID()
528 Returns a new ThreadID.
529 ThreadID:Request()
530 Returns a new ID and increments the current one.
531 ThreadID:Assert(id)
532 Returns whether the thread's ID equals the current one.
533 ThreadID:Reset()
534 Reset the current ID.
535]]
536class'ThreadID'(function(def)
537 local thread_id = 0
538
539 function def:Assert(id)
540 return thread_id == id
541 end
542
543 function def:Request()
544 thread_id = thread_id + 1
545 return thread_id
546 end
547
548 function def:Reset()
549 thread_id = 0
550 end
551end)
552
553--[[
554 WalkSpeedManager
555 Manages a Humanoid's WalkSpeed.
556 When the walkspeed is set externally (not by this instance), the new value will become the base walkspeed.
557 However, the walkspeed can be locked. If so, the walkspeed will be reverted if it has been changed externally.
558 This allows the tool to be compatible with, say, a speed potion.
559
560 CreateWalkSpeedManager()
561 Returns a new WalkSpeedManager.
562 WalkSpeedManager:SetHumanoid(humanoid)
563 Sets the humanoid and sets its WalkSpeed as the base.
564 WalkSpeedManager:Set(walkspeed)
565 Sets and locks the humanoid's walkspeed.
566 WalkSpeedManager:Reset()
567 Unlocks and resets the humanoid's walkspeed to the base walkspeed.
568 WalkSpeedManager:GetBase()
569 Returns the base walkspeed.
570]]
571class'WalkSpeedManager'(function(def)
572 local baseWalkSpeed = 16
573 local currentWalkSpeed = 16
574 local locked = false
575 local settingInternal = false
576 local humanoid
577 local changed
578
579 function def:SetHumanoid(hum)
580 humanoid = hum
581 locked = false
582 if changed then changed:disconnect() end
583 if hum then
584 baseWalkSpeed = hum.WalkSpeed
585 currentWalkSpeed = baseWalkSpeed
586 changed = hum.Changed:connect(function(p)
587 if p == "WalkSpeed" and not settingInternal then
588 -- something external is modifying the walkspeed; use that as the base
589 baseWalkSpeed = hum.WalkSpeed
590 if locked then
591 settingInternal = true
592 hum.WalkSpeed = currentWalkSpeed
593 settingInternal = false
594 end
595 end
596 end)
597 end
598 end
599
600 function def:Set(ws)
601 if humanoid then
602 locked = true
603 currentWalkSpeed = ws
604 settingInternal = true
605 humanoid.WalkSpeed = ws
606 settingInternal = false
607 end
608 end
609
610 function def:Reset()
611 if humanoid then
612 currentWalkSpeed = baseWalkSpeed
613 settingInternal = true
614 humanoid.WalkSpeed = baseWalkSpeed
615 settingInternal = false
616 locked = false
617 end
618 end
619
620 function def:GetBase()
621 return baseWalkSpeed
622 end
623end)
624
625--[[
626Sequencer
627 Calls functions in a sequence through activation of a single function.
628
629 :SetSequenceMap(map)
630 Sets the sequence of functions to use.
631 :SetMinInterval(interval)
632 Sets the minimum amount of time allowed between activations.
633 :SetResetDelay(delay,time)
634 Sets the amount of time to wait after the most recent activation before the sequence is reset.
635 `delay` is the time to wait after the last activation.
636 `time` is used when comparing the current time with the last activation time.
637 If `time` is greater than or close to `delay`, the sequence (probably) wont reset.
638 :Activate(...)
639 Calls the next function in the sequence. If the end of the sequence is reached, it wraps back to the beginning.
640 The first value passed to the function is the current sequence index. Subsequent arguments are the values passed to Activate.
641]]
642class'Sequencer'(function(def)
643 local min_interval = 0
644 local reset_delay = 0
645 local reset_time = 0
646 local seq_map = {}
647
648 local seq_index = 0
649 local activate_time = 0
650
651 function def:SetSequenceMap(map)
652 seq_map = map
653 if seq_index > #map then
654 seq_index = 0
655 end
656 end
657
658 function def:SetMinInterval(interval)
659 min_interval = interval
660 end
661
662 function def:SetResetDelay(delay,time)
663 reset_delay = delay
664 reset_time = time
665 end
666
667 local function act(...)
668 local t = tick()
669 if t-activate_time > min_interval then
670 activate_time = t
671 seq_index = seq_index + 1 > #seq_map and 1 or seq_index + 1
672 if seq_map[seq_index] then
673 coroutine.wrap(seq_map[seq_index])(seq_index,...)
674 end
675 end
676 wait(reset_delay)
677 if tick()-activate_time > reset_time then
678 seq_index = 0
679 end
680 end
681
682 function def:Activate(...)
683 coroutine.wrap(act)(...)
684 end
685end)
686
687--[[
688Particle
689 Manages a particle.
690
691 CreateParticle(constructor)
692 Returns a new Particle.
693 `constructor` is a function that creates a particle. It should return an Instance.
694 :SetCountLimit(count)
695 Sets the maximum number of particles that can exist at one time.
696 :SetTimeLimit(time)
697 Sets the maximum time a paricle is allowed to exist.
698 Setting below 0 lets it exist forever.
699 :Spawn(...)
700 Spawns a particle.
701 Received arguments are passed to the `constructor` function.
702 Returns the spawned particle.
703 :Despawn(particle)
704 Removes a spawned particle.
705]]
706class'Particle'(function(def,newParticle)
707 local Debris = Game:GetService("Debris")
708 local queue = {}
709 local changed = {}
710 local maxParticles = 20
711 local maxTime = 5
712
713 local function search_remove(t,k)
714 local i = 1
715 while i <= #t do
716 if t[i] == k then
717 table.remove(t,i)
718 else
719 i = i + 1
720 end
721 end
722 end
723
724 function def:SetCountLimit(mp)
725 maxParticles = mp
726 end
727
728 function def:SetTimeLimit(mt)
729 maxTime = mt
730 end
731
732 function def:Despawn(particle)
733 if changed[particle] then
734 changed[particle]:disconnect()
735 changed[particle] = nil
736 end
737 search_remove(queue,particle)
738 particle:Destroy()
739 end
740
741 function def:Spawn(...)
742 if #queue < maxParticles then
743 local particle = newParticle(...)
744 if maxTime >= 0 then Debris:AddItem(particle,maxTime) end
745 queue[#queue+1] = particle
746 changed[particle] = particle.AncestryChanged:connect(function(c,p)
747 if p == nil then
748 self:Despawn(particle)
749 end
750 end)
751 end
752 return particle
753 end
754
755end)
756
757--------------------------------------------------------------------------------
758--------------------------------------------------------------------------------
759--------------------------------------------------------------------------------
760--------------------------------------------------------------------------------
761
762-- Tiny Event Manager; Add: [[Event.EventName = (event)]]; Remove: [[Disconnect("EventName",...)]]
763local Event = {}
764local function Disconnect(...)
765 for _,name in pairs{...} do
766 if Event[name] then
767 Event[name]:disconnect()
768 Event[name] = nil
769 end
770 end
771end
772
773-- get an object; make it if it doesn't exist
774local function GetMake(parent,name,type)
775 local object = parent:FindFirstChild(name)
776 if not object then
777 object = Create(type){Name=name}
778 object.Parent = parent
779 end
780 return object
781end
782
783-- wait until child exists; return child
784local function WaitForChild(parent,name)
785 while not parent:FindFirstChild(name) do
786 parent.ChildAdded:wait()
787 end
788 return parent:FindFirstChild(name)
789end
790
791-- get a sibling humanoid of object; by humanoid, not by name
792local function GetHumanoid(object)
793 if object and object.Parent then
794 for i,v in pairs(object.Parent:GetChildren()) do
795 if v:IsA"Humanoid" then
796 return v
797 end
798 end
799 end
800 return nil
801end
802
803-- get the parent character from an object; verified by GetHumanoid
804local function GetCharacter(object)
805 local humanoid = GetHumanoid(object)
806 if humanoid then
807 return object.Parent,humanoid
808 end
809 return nil
810end
811
812-- make a joint, if the objects exist
813local function AttemptJoint(x,y,c0,c1)
814 if x and y then
815 local weld = Instance.new("Motor6D")
816 weld.Part0 = x
817 weld.Part1 = y
818 if c0 then weld.C0 = c0 end
819 if c1 then weld.C1 = c1 end
820 weld.Parent = x
821 return weld
822 end
823end
824
825-- destroy a joint used only by the two objects
826local function KillJoint(x,y)
827 if x and y then
828 for i,v in pairs(x:GetChildren()) do
829 if v:IsA"Motor6D" then
830 if v.Part0 == x and v.Part1 == y then
831 v:Destroy()
832 end
833 end
834 end
835 end
836end
837
838--------------------------------------------------------------------------------
839--------------------------------------------------------------------------------
840--------------------------------------------------------------------------------
841-----SETTINGS-------------------------------------------------------------------
842--Damage
843 local sword_damage = 5
844 local charged_sword_damage = 10
845 local arc_damage = 10
846 local charged_arc_damage = 20
847
848--Charged Attack
849 local charge_time = 6 -- how long it takes to fully charge
850 local charge_attack_time = 8 -- how long charged attack lasts (at full charge)
851 local cooldown_time = 12 -- how long before sword can be charged again (at full charge)
852 local charge_walk_mult = 1.5 -- how much to multiply the base walkspeed when charged
853
854--Short-term Fatigue
855 -- min slash interval increases after every slash
856 -- more consecutive slashes means longer recovery time
857 local fatigue_enabled = true
858 local fatigue_increment = 0.05 -- controls stamina (seconds added per slash)
859 local rest_factor = 16 -- controls recovery time (multiplied by current fatigue)
860
861--Moon Arc Effect
862 local arc_angle_variance = Vector3.new(2,12,6) -- degrees
863 local arc_distance_variance = 0.5 -- distance from torso
864 local arc_max_speed = 0.5 -- initial outward speed (gets decayed)
865 local arc_time = 0.3 -- how long arc should exist
866 local arc_decay = 2 -- exp decay factor
867
868--Sphere Effect
869 -- a growing sphere during charge
870 -- not sure if looks good
871 local sphere_enabled = false
872 local sphere_radius = 5.3 -- radius at end of effect
873 local sphere_magnitude = 2 -- wavyness
874 local sphere_time = 4 -- wavyness time scale
875--------------------------------------------------------------------------------
876--------------------------------------------------------------------------------
877--------------------------------------------------------------------------------
878--------------------------------------------------------------------------------
879
880local Debris = Game:GetService("Debris")
881local Lighting = Game:GetService("Lighting")
882
883local Tool = script.Parent
884local Handle = WaitForChild(Tool,"Handle")
885local Character,Humanoid
886
887local DamageBin = GetMake(Tool,"DamageBin","Configuration")
888local Damage = sword_damage
889local ArcDamage = arc_damage
890
891local MoonArcTemplate = Create'Part'{
892 Name = "MoonArc";
893 Anchored = true;
894 CanCollide = false;
895 Transparency = 1;
896 FormFactor = Enum.FormFactor.Symmetric;
897 TopSurface = Enum.SurfaceType.Smooth;
898 BottomSurface = Enum.SurfaceType.Smooth;
899 Size = Vector3.new(9,1,4);
900 Create'Decal'{
901 Name = "DecalTop";
902 Face = Enum.NormalId.Top;
903 Texture = "http://www.roblox.com/asset/?id=138023190";
904 };
905 Create'Decal'{
906 Name = "DecalBottom";
907 Face = Enum.NormalId.Bottom;
908 Texture = "http://www.roblox.com/asset/?id=138023190";
909 };
910 Create'BlockMesh'{
911 Scale = Vector3.new(1,0,1);
912 };
913};
914Game:GetService("ContentProvider"):Preload("http://www.roblox.com/asset/?id=138023190")
915
916local WalkSpeed = CreateWalkSpeedManager()
917
918local Animation = CreateAnimationProvider{
919 SlashLeft = "http://www.roblox.com/asset/?id=74909537";
920 SlashRight = "http://www.roblox.com/asset/?id=74909551";
921 Charge = "http://www.roblox.com/asset/?id=74909500";
922 SlashSides = "http://www.roblox.com/asset/?id=74909569";
923 SlashForward = "http://www.roblox.com/asset/?id=74909528";
924 DualSword = "http://www.roblox.com/asset/?id=74909522";
925}
926
927local Sound = CreateSoundProvider{
928 Slash = "http://www.roblox.com/asset/?id=45885030";
929 Charge = "http://www.roblox.com/asset/?id=75421988";
930}
931Sound:SetParent(Handle)
932Sound.Slash.Volume = 0.25
933Sound.Charge.Volume = 0
934Sound.Charge.Looped = true
935
936local MoonParticleTemplate = Create'Part'{
937 TopSurface = Enum.SurfaceType.Smooth;
938 Reflectance = 2;
939 BrickColor = BrickColor.new(1001);
940 Locked = true;
941 Anchored = true;
942 CanCollide = false;
943 Size = Vector3.new(1, 1, 8);
944 FormFactor = Enum.FormFactor.Custom;
945 BottomSurface = Enum.SurfaceType.Smooth;
946 Name = "MoonParticle";
947--[[
948 Create'RocketPropulsion'{
949 CartoonFactor = 1;
950 MaxTorque = Vector3.new(math.huge, math.huge, math.huge);
951 TurnP = 100000;
952 MaxSpeed = 500;
953 MaxThrust = math.huge;
954 ThrustD = 100;
955 Name = "Rocket";
956 ThrustP = 1000;
957 TargetRadius = 8;
958 };
959--]]
960 Create'SpecialMesh'{
961 MeshType = Enum.MeshType.Sphere;
962 };
963};
964local MoonParticle = CreateParticle(function()
965 local pos = Handle.Position
966 local dir = Lighting:GetMoonDirection()
967 local particle = MoonParticleTemplate:Clone()
968 particle.Archivable = false
969 local r = Vector2.new(math.random(-14,14),math.random(-14,14))
970 if r.magnitude > 14 then r = r.unit*14 end
971 local start = CFrame.new(pos,pos-dir) * CFrame.new(r.x,r.y,200)
972 particle.CFrame = start
973 Spawn(function()
974 while ((particle.CFrame*CFrame.new(0,0,-4)).p-Handle.Position).magnitude > 8 do
975 particle.CFrame = CFrame.new(particle.Position,Handle.Position) * CFrame.new(0,0,-8)
976 wait()
977 end
978 particle:Destroy()
979 end)
980 particle.Parent = Character
981--[[
982 particle.Rocket.Target = Handle
983 particle.Rocket.ReachedTarget:connect(function()
984 particle:Destroy()
985 end)
986 particle.Parent = Workspace
987 particle.Rocket:Fire()
988]]
989 return particle
990end)
991MoonParticle:SetCountLimit(10)
992MoonParticle:SetTimeLimit(10)
993
994local SmallParticleTemplate = Create'Part'{
995 TopSurface = Enum.SurfaceType.Smooth;
996 Reflectance = 2;
997 BrickColor = BrickColor.new(1001);
998 Locked = true;
999 Anchored = true;
1000 CanCollide = false;
1001 Size = Vector3.new(0.5, 0.5, 1);
1002 FormFactor = Enum.FormFactor.Custom;
1003 BottomSurface = Enum.SurfaceType.Smooth;
1004 Name = "SmallParticle";
1005 Create'SpecialMesh'{
1006 MeshType = Enum.MeshType.Sphere;
1007 };
1008--[[
1009 Create'RocketPropulsion'{
1010 CartoonFactor = 1;
1011 MaxTorque = Vector3.new(math.huge, math.huge, math.huge);
1012 TurnP = 100000;
1013 ThrustD = 50;
1014 Name = "Rocket";
1015 ThrustP = 1000;
1016 TargetRadius = 1;
1017 };
1018--]]
1019};
1020local SmallParticle = CreateParticle(function()
1021 local pos = Handle.Position
1022 local particle = SmallParticleTemplate:Clone()
1023 particle.Archivable = false
1024 local r = Vector3.new(math.random(-12,12),math.random(-12,12),math.random(-12,12))
1025 if r.magnitude > 12 then r = r.unit*12 end
1026 local start = CFrame.new(pos+r,pos)
1027 particle.CFrame = start
1028 Spawn(function()
1029 while (particle.Position-Handle.Position).magnitude > 2 do
1030 particle.CFrame = CFrame.new(particle.Position,Handle.Position) * CFrame.new(0,0,-1)
1031 wait()
1032 end
1033 particle:Destroy()
1034 end)
1035 particle.Parent = Character
1036--[[
1037 particle.Rocket.Target = Handle
1038 particle.Rocket.ReachedTarget:connect(function()
1039 particle:Destroy()
1040 end)
1041 particle.Parent = Workspace
1042 particle.Rocket:Fire()
1043]]
1044 return particle
1045end)
1046SmallParticle:SetCountLimit(10)
1047SmallParticle:SetTimeLimit(10)
1048
1049local SphereParticleTemplate = Create'Part'{
1050 TopSurface = Enum.SurfaceType.Smooth;
1051 Reflectance = 0.75;
1052 Transparency = 0.9;
1053 BrickColor = BrickColor.new(1001);
1054 Size = Vector3.new(1, 1, 1);
1055 FormFactor = Enum.FormFactor.Custom;
1056 BottomSurface = Enum.SurfaceType.Smooth;
1057 Name = "SphereParticle";
1058 Create'SpecialMesh'{
1059 Scale = Vector3.new(0, 0, 0);
1060 MeshType = Enum.MeshType.Sphere;
1061 };
1062};
1063
1064-- if theres a character, get a body part from it
1065local function GetBodyPart(name)
1066 local character = Character or GetCharacter(Tool)
1067 if character then
1068 local object = character:FindFirstChild(name)
1069 if object then
1070 return object
1071 end
1072 end
1073 return nil
1074end
1075
1076local function DealDamage(hit,damage)
1077 local humanoid = GetHumanoid(hit)
1078 if humanoid then
1079 local dtag = Create'ObjectValue'{
1080 Name = tostring(damage);
1081 Value = humanoid;
1082 Archivable = false;
1083 }
1084 dtag.Parent = DamageBin
1085 end
1086end
1087
1088local function MakeMoonArc(start,angle,off)
1089 local arc = MoonArcTemplate:Clone()
1090 arc.Archivable = false
1091 arc.CFrame = start
1092 * angle
1093 * CFrame.Angles(
1094 math.rad(math.random(-arc_angle_variance.x,arc_angle_variance.x)),
1095 math.rad(math.random(-arc_angle_variance.y,arc_angle_variance.y)),
1096 math.rad(math.random(-arc_angle_variance.z,arc_angle_variance.z))
1097 )
1098 * off
1099 * CFrame.new(0,0,math.random(-arc_distance_variance*10,arc_distance_variance*10)/10)
1100
1101
1102 arc.Touched:connect(function(hit)
1103 if not hit:IsDescendantOf(Character) then
1104 DealDamage(hit,ArcDamage)
1105 end
1106 end)
1107 arc.Parent = Character
1108
1109 Spawn(function()
1110 local MoonArc = arc
1111 local DecalTop = MoonArc:FindFirstChild("DecalTop")
1112 local DecalBottom = MoonArc:FindFirstChild("DecalBottom")
1113 local i = 0
1114 while i < 1 do
1115 local n = math.pow(i,arc_decay)
1116 if DecalTop then DecalTop.Transparency = n end
1117 if DecalBottom then DecalBottom.Transparency = n end
1118 MoonArc.CFrame = MoonArc.CFrame * CFrame.new(0,0,-math.pow(1-i,arc_decay)*arc_max_speed)
1119 i = i + wait()/arc_time
1120 end
1121 MoonArc:Destroy()
1122 end)
1123end
1124
1125local function MoonIsVisible(Character)
1126 local dir = Lighting:GetMoonDirection()
1127 if Vector3.new(0,1,0):Dot(dir) > 0 then
1128 -- BUG: particles block raycast
1129 if not Workspace:FindPartOnRay(Ray.new(Handle.Position,dir*999),Character) then
1130 return true
1131 end
1132 end
1133 return false
1134end
1135
1136local function SwordTouched(hit)
1137 if not hit:IsDescendantOf(Character) then
1138 DealDamage(hit,Damage)
1139 end
1140end
1141
1142local toolEquipped = false
1143local attackEnabled = true
1144local chargedAttackEnabled = false
1145local canCharge = true
1146-- charging sequence
1147local function Charge(Mouse)
1148---- READY CHARGE
1149 attackEnabled = false
1150 canCharge = false
1151 WalkSpeed:Set(0)
1152
1153 -- make shiny handle
1154 local ShinyHandle
1155 do
1156 ShinyHandle = Handle:Clone()
1157 ShinyHandle.BrickColor = BrickColor.new("Institutional white")
1158 ShinyHandle.Archivable = false
1159 ShinyHandle.Parent = Tool
1160 local mesh = ShinyHandle:FindFirstChild("Mesh")
1161 if mesh then mesh.TextureId = "" end
1162 AttemptJoint(ShinyHandle,Handle)
1163 end
1164 -- make sphere, if enabled
1165 local SphereParticle
1166 if sphere_enabled then
1167 SphereParticle = SphereParticleTemplate:Clone()
1168 SphereParticle.Archivable = false
1169 SphereParticle.Parent = Tool
1170 AttemptJoint(SphereParticle,Handle)
1171 end
1172
1173 local charging = true
1174 local charge_level = 0 -- main value; determines charge
1175 Event.MouseCharge = Mouse.Button1Up:connect(function()
1176 charging = false
1177 end)
1178
1179 Animation:StopAnimations(0)
1180 Animation.Charge:Play()
1181
1182 local moon_visible = false
1183 -- particle thread
1184 Spawn(function()
1185 while charging and toolEquipped do
1186 moon_visible = MoonIsVisible(Character)
1187 if moon_visible then
1188 -- spawn particles
1189 MoonParticle:Spawn()
1190 SmallParticle:Spawn()
1191 end
1192 wait(0.1)
1193 end
1194 end)
1195
1196---- CHARGE
1197 -- fade in charge sound
1198 Sound.Charge.Pitch = 0.5
1199 Sound.Charge:Play()
1200 coroutine.wrap(function()
1201 Sound:Fade("Charge",0.8,0.5)
1202 end)()
1203 -- charge loop
1204 while charging and toolEquipped do
1205 local t = wait()
1206 if moon_visible then
1207 charge_level = charge_level + t/charge_time
1208 ShinyHandle.Reflectance = charge_level
1209 Sound.Charge.Pitch = 0.5 + charge_level*2
1210
1211 if sphere_enabled then
1212 local i = ((sphere_magnitude*math.sin(math.pi*charge_level*sphere_radius*sphere_time))/math.pi + charge_level*sphere_radius*sphere_time)/sphere_time
1213 SphereParticle.Mesh.Scale = Vector3.new(i,i,i)
1214 end
1215 end
1216 if charge_level >= 1 then
1217 charging = false
1218 charge_level = 1
1219 break
1220 end
1221 end
1222
1223 -- fade out charge sound
1224 coroutine.wrap(function()
1225 Sound:Fade("Charge",0,0.5)
1226 Sound.Charge:Stop()
1227 end)()
1228
1229 if sphere_enabled then
1230 -- shrink sphere
1231 local s = charge_level
1232 while s > 0 do
1233 s = s - wait()/0.25
1234 local i = (1-math.pow(1-s,2))*sphere_radius
1235 SphereParticle.Mesh.Scale = Vector3.new(i,i,i)
1236 end
1237 end
1238
1239---- READY CHARGE ATTACK
1240 Animation:StopAnimations()
1241 Animation.DualSword:Play(0.2)
1242 Disconnect("MouseCharge")
1243 WalkSpeed:Set(WalkSpeed:GetBase()*charge_walk_mult)
1244 if sphere_enabled then
1245 SphereParticle:Destroy()
1246 end
1247
1248 -- split shiny handle from normal handle; give to left hand
1249 KillJoint(ShinyHandle,Handle)
1250 AttemptJoint(ShinyHandle,GetBodyPart("Left Arm"),nil,CFrame.new(0,-1,-2.25)*CFrame.Angles(0,math.pi,math.pi/2))
1251 ShinyHandle.Touched:connect(SwordTouched)
1252
1253 Damage = charged_sword_damage
1254 ArcDamage = charged_arc_damage
1255
1256---- CHARGE ATTACK
1257 local attack_level = charge_level
1258 chargedAttackEnabled = true
1259 attackEnabled = true
1260 do -- sword glow indicator
1261 local i = 1 + (math.pow(1-charge_level,10))
1262 Handle.Mesh.VertexColor = Vector3.new(i,i,i)
1263 end
1264
1265 while attack_level > 0 and toolEquipped do
1266 attack_level = attack_level - wait()/charge_attack_time
1267 ShinyHandle.Reflectance = attack_level
1268 ShinyHandle.Transparency = 1-attack_level
1269 end
1270
1271---- CHARGE ATTACK END
1272 chargedAttackEnabled = false
1273 Animation.DualSword:Stop(0.2)
1274 WalkSpeed:Reset()
1275 Damage = sword_damage
1276 ArcDamage = arc_damage
1277 ShinyHandle:Destroy()
1278
1279---- COOLDOWN
1280 local cooldown = charge_level
1281 while cooldown > 0 do
1282 cooldown = cooldown - wait()/cooldown_time
1283 local i = 1 + (math.pow(1-cooldown,10))
1284 Handle.Mesh.VertexColor = Vector3.new(i,i,i)
1285 end
1286 canCharge = true
1287end
1288
1289local fatigue = 0
1290Tool.Equipped:connect(function(Mouse)
1291 toolEquipped = true
1292 Character,Humanoid = GetCharacter(Tool)
1293 if not Character then return end
1294 Animation:LoadHumanoid(Humanoid)
1295 WalkSpeed:SetHumanoid(Humanoid)
1296
1297 local Torso = GetBodyPart("Torso")
1298
1299 -- Slash Sequencer
1300 -- basic left-right slash
1301 -- primary attack
1302 local SlashSeq = CreateSequencer()
1303 SlashSeq:SetMinInterval(0)
1304 SlashSeq:SetResetDelay(1.15,0.8)
1305 local function add_fatigue()
1306 local inc = fatigue_increment -- may change, so save it for later
1307 fatigue = fatigue + inc
1308 SlashSeq:SetMinInterval(fatigue) -- set as amount of time between slashes
1309 -- recovery time; dependant on current fatigue
1310 -- therefore, more fatigue causes longer recovery
1311 wait(fatigue*rest_factor)
1312 fatigue = fatigue - inc
1313 SlashSeq:SetMinInterval(fatigue)
1314 end
1315 SlashSeq:SetSequenceMap{
1316 function()
1317 if fatigue_enabled then Spawn(add_fatigue) end
1318 Sound.Slash.Pitch = math.random(1000,1020)/1000
1319 Sound.Slash:Play()
1320
1321 Animation.SlashRight:Stop(0)
1322 Animation.SlashLeft:Play()
1323 wait(0.25)
1324 MakeMoonArc(
1325 Torso.CFrame,
1326 CFrame.Angles(-math.pi/32,-math.pi/4,0),
1327 CFrame.new(0,0,-5)
1328 )
1329 end;
1330 function()
1331 if fatigue_enabled then Spawn(add_fatigue) end
1332 Sound.Slash.Pitch = math.random(1000,1020)/1000
1333 Sound.Slash:Play()
1334
1335 Animation.SlashLeft:Stop(0)
1336 Animation.SlashRight:Play()
1337 wait(0.25)
1338 MakeMoonArc(
1339 Torso.CFrame,
1340 CFrame.Angles(math.pi/32,math.pi/6,0),
1341 CFrame.new(0,0,-4)
1342 )
1343 end;
1344 }
1345
1346 -- Charged Slash Sequencer
1347 -- dual-sword forward-side slash
1348 -- secondary attack
1349 local ChargedSeq = CreateSequencer()
1350 ChargedSeq:SetMinInterval(0.1)
1351 ChargedSeq:SetResetDelay(0.6,0.4)
1352 ChargedSeq:SetSequenceMap{
1353 function()
1354 Sound.Slash.Pitch = math.random(900,920)/1000
1355 Sound.Slash:Play()
1356
1357 Animation.SlashSides:Stop(0)
1358 Animation.SlashForward:Play()
1359 wait(0.25)
1360 MakeMoonArc(
1361 Torso.CFrame,
1362 CFrame.Angles(math.pi/32,0,math.pi/6),
1363 CFrame.new(0,0,-5)
1364 )
1365 MakeMoonArc(
1366 Torso.CFrame,
1367 CFrame.Angles(math.pi/32,0,-math.pi/6),
1368 CFrame.new(0,0,-5)
1369 )
1370 end;
1371 function()
1372 Sound.Slash.Pitch = math.random(900,920)/1000
1373 Sound.Slash:Play()
1374
1375 Animation.SlashForward:Stop(0)
1376 Animation.SlashSides:Play()
1377 wait(0.25)
1378 MakeMoonArc(
1379 Torso.CFrame,
1380 CFrame.Angles(-math.pi/32,-math.pi/2,0),
1381 CFrame.new(0,0,-5)
1382 )
1383 MakeMoonArc(
1384 Torso.CFrame,
1385 CFrame.Angles(-math.pi/32,math.pi/2,0),
1386 CFrame.new(0,0,-5)
1387 )
1388 end;
1389 }
1390
1391 local ClickThread = CreateThreadID()
1392 local down = false
1393 Mouse.Button1Down:connect(function()
1394 if attackEnabled and GetBodyPart("Right Arm") then
1395 down = true
1396 if chargedAttackEnabled then
1397 ChargedSeq:Activate()
1398 else
1399 SlashSeq:Activate()
1400 if canCharge and GetBodyPart("Left Arm") then
1401 local cid = ClickThread:Request()
1402 wait(0.5)
1403 if ClickThread:Assert(cid) and down then
1404 Charge(Mouse)
1405 end
1406 end
1407 end
1408 end
1409 end)
1410
1411 Mouse.Button1Up:connect(function()
1412 down = false
1413 end)
1414
1415 Event.Touched = Handle.Touched:connect(SwordTouched)
1416end)
1417
1418Tool.Unequipped:connect(function()
1419 toolEquipped = false
1420 chargedAttackEnabled = false
1421 attackEnabled = true
1422 Disconnect("Touched","Lighting")
1423 Animation:StopAnimations()
1424 Sound:StopSounds()
1425 WalkSpeed:Reset()
1426 Damage = sword_damage
1427 ArcDamage = arc_damage
1428end)
1429end,o4)
1430end))
1431o5.Name = "Welding"
1432o5.Parent = o1
1433table.insert(cors,coroutine.create(function()
1434wait()
1435runDummyScript(function()
1436function Weld(x,y)
1437 local W = Instance.new("Weld")
1438 W.Part0 = x
1439 W.Part1 = y
1440 local CJ = CFrame.new(x.Position)
1441 local C0 = x.CFrame:inverse()*CJ
1442 local C1 = y.CFrame:inverse()*CJ
1443 W.C0 = C0
1444 W.C1 = C1
1445 W.Parent = x
1446end
1447
1448function Get(A)
1449 if A.className == "Part" then
1450 Weld(script.Parent.Handle, A)
1451 A.Anchored = false
1452 else
1453 local C = A:GetChildren()
1454 for i=1, #C do
1455 Get(C[i])
1456 end
1457 end
1458end
1459
1460function Finale()
1461 Get(script.Parent)
1462end
1463
1464script.Parent.Equipped:connect(Finale)
1465script.Parent.Unequipped:connect(Finale)
1466Finale()
1467end,o5)
1468end))
1469o6.Name = "Welding"
1470o6.Parent = o1
1471table.insert(cors,coroutine.create(function()
1472wait()
1473runDummyScript(function()
1474function Weld(x,y)
1475 local W = Instance.new("Weld")
1476 W.Part0 = x
1477 W.Part1 = y
1478 local CJ = CFrame.new(x.Position)
1479 local C0 = x.CFrame:inverse()*CJ
1480 local C1 = y.CFrame:inverse()*CJ
1481 W.C0 = C0
1482 W.C1 = C1
1483 W.Parent = x
1484end
1485
1486function Get(A)
1487 if A.className == "Part" then
1488 Weld(script.Parent.Handle, A)
1489 A.Anchored = false
1490 else
1491 local C = A:GetChildren()
1492 for i=1, #C do
1493 Get(C[i])
1494 end
1495 end
1496end
1497
1498function Finale()
1499 Get(script.Parent)
1500end
1501
1502script.Parent.Equipped:connect(Finale)
1503script.Parent.Unequipped:connect(Finale)
1504Finale()
1505end,o6)
1506end))
1507o7.Name = "BackupWeld"
1508o7.Parent = o1
1509table.insert(cors,coroutine.create(function()
1510wait()
1511runDummyScript(function()
1512function Weld(x,y)
1513 local W = Instance.new("Weld")
1514 W.Part0 = x
1515 W.Part1 = y
1516 local CJ = CFrame.new(x.Position)
1517 local C0 = x.CFrame:inverse()*CJ
1518 local C1 = y.CFrame:inverse()*CJ
1519 W.C0 = C0
1520 W.C1 = C1
1521 W.Parent = x
1522end
1523
1524function Get(A)
1525 if A.className == "Part" then
1526 Weld(script.Parent.Handle, A)
1527 A.Anchored = false
1528 else
1529 local C = A:GetChildren()
1530 for i=1, #C do
1531 Get(C[i])
1532 end
1533 end
1534end
1535
1536function Finale()
1537 Get(script.Parent)
1538end
1539
1540script.Parent.Equipped:connect(Finale)
1541script.Parent.Unequipped:connect(Finale)
1542Finale()
1543end,o7)
1544end))
1545o8.Name = "BackupWeld"
1546o8.Parent = o1
1547table.insert(cors,coroutine.create(function()
1548wait()
1549runDummyScript(function()
1550function Weld(x,y)
1551 local W = Instance.new("Weld")
1552 W.Part0 = x
1553 W.Part1 = y
1554 local CJ = CFrame.new(x.Position)
1555 local C0 = x.CFrame:inverse()*CJ
1556 local C1 = y.CFrame:inverse()*CJ
1557 W.C0 = C0
1558 W.C1 = C1
1559 W.Parent = x
1560end
1561
1562function Get(A)
1563 if A.className == "Part" then
1564 Weld(script.Parent.Handle, A)
1565 A.Anchored = false
1566 else
1567 local C = A:GetChildren()
1568 for i=1, #C do
1569 Get(C[i])
1570 end
1571 end
1572end
1573
1574function Finale()
1575 Get(script.Parent)
1576end
1577
1578script.Parent.Equipped:connect(Finale)
1579script.Parent.Unequipped:connect(Finale)
1580Finale()
1581end,o8)
1582end))
1583o9.Name = "WSE"
1584o9.Parent = o1
1585o9.Disabled = true
1586table.insert(cors,coroutine.create(function()
1587wait()
1588runDummyScript(function()
1589script.Parent.Torso.Anchored=true
1590wait(2.2)
1591script.Parent.Torso.Anchored=false
1592script:remove()
1593end,o9)
1594end))
1595o10.Name = "DamageBin"
1596o10.Parent = o1
1597o11.Name = "Damage"
1598o11.Parent = o1
1599table.insert(cors,coroutine.create(function()
1600wait()
1601runDummyScript(function()
1602local function Create(ty)
1603 return function(data)
1604 local obj = Instance.new(ty)
1605 for k, v in pairs(data) do
1606 if type(k) == 'number' then
1607 v.Parent = obj
1608 else
1609 obj[k] = v
1610 end
1611 end
1612 return obj
1613 end
1614end
1615
1616--------------------------------------------------------------------------------
1617--------------------------------------------------------------------------------
1618--------------------------------------------------------------------------------
1619--------------------------------------------------------------------------------
1620
1621-- Tiny Event Manager; Add: [[Event.EventName = (event)]]; Remove: [[Disconnect("EventName",...)]]
1622local Event = {}
1623local function Disconnect(...)
1624 for _,name in pairs{...} do
1625 if Event[name] then
1626 Event[name]:disconnect()
1627 Event[name] = nil
1628 end
1629 end
1630end
1631
1632-- get an object; make it if it doesn't exist
1633local function GetMake(parent,name,type)
1634 local object = parent:FindFirstChild(name)
1635 if not object then
1636 object = Create(type){Name=name}
1637 object.Parent = parent
1638 end
1639 return object
1640end
1641
1642-- wait until child exists; return child
1643local function WaitForChild(parent,name)
1644 while not parent:FindFirstChild(name) do
1645 parent.ChildAdded:wait()
1646 end
1647 return parent:FindFirstChild(name)
1648end
1649
1650-- get a sibling humanoid of object; by humanoid, not by name
1651local function GetHumanoid(object)
1652 if object and object.Parent then
1653 for i,v in pairs(object.Parent:GetChildren()) do
1654 if v:IsA"Humanoid" then
1655 return v
1656 end
1657 end
1658 end
1659 return nil
1660end
1661
1662-- get the parent character from an object; verified by GetHumanoid
1663local function GetCharacter(object)
1664 local humanoid = GetHumanoid(object)
1665 if humanoid then
1666 return object.Parent,humanoid
1667 end
1668 return nil
1669end
1670
1671--------------------------------------------------------------------------------
1672--------------------------------------------------------------------------------
1673--------------------------------------------------------------------------------
1674--------------------------------------------------------------------------------
1675
1676local Players = Game:GetService("Players")
1677local Debris = Game:GetService("Debris")
1678
1679local Tool = script.Parent
1680local DamageBin = WaitForChild(Tool,"DamageBin")
1681
1682Tool.Equipped:connect(function()
1683 local Character,Humanoid = GetCharacter(Tool)
1684 local Player = Players:GetPlayerFromCharacter(Character)
1685
1686 Event.DamageBin = DamageBin.ChildAdded:connect(function(dtag)
1687 if dtag:IsA"ObjectValue" then
1688 local humanoid = dtag.Value
1689 local damage = tonumber(dtag.Name)
1690 if humanoid and damage then
1691 local ctag = Create'ObjectValue'{
1692 Name = "creator";
1693 Value = Player;
1694 }
1695 ctag.Parent = humanoid
1696 humanoid:TakeDamage(damage)
1697 Debris:AddItem(ctag,1)
1698 Debris:AddItem(dtag,1)
1699 end
1700 end
1701 end)
1702end)
1703
1704Tool.Unequipped:connect(function()
1705 Disconnect("DamageBin")
1706end)
1707end,o11)
1708end))
1709o12.Name = "UltimateWeld"
1710o12.Parent = o1
1711table.insert(cors,coroutine.create(function()
1712wait()
1713runDummyScript(function()
1714--DO NOT USE BOTH WELDING SCRIPTS PROVIDED BY THIS MODEL
1715--The regular script is recommended
1716
1717
1718
1719--[[
1720Prevents welds from breaking/transforming when player uses the tool
1721This recreates the EXACT weld every time
1722This also prevents lag build up by clearing old welds, the tradition weld script just keeps making new
1723ones, which can lead to weapons have crazy amounts of welds that dont work (I saw 6000 in a weapon once)
1724]]
1725
1726--[[Usage
17271. Remove Old welding script (optional, only if updating a weapon and that weapon does not rely on that script)
17282. Anchor all parts of tool and put inside of a tool object
17293. Place this script in that tool (make sure you do this AFTER step 2, otherwise it may fail)
17304. Treat like normal tool, nothing special has to be done with it
1731]]
1732
1733--[[The local script included in this model can only be used if
17341. The weapon is being placed in the players backpack first (i.e. the weapon is in starterpack and moves to player backpack)
1735OR
17362. The weapon is previously welded (weapon can be placed in workspace and picked up then)
1737]]
1738repeat wait() until script.Parent:FindFirstChild("Handle")
1739local welds={}
1740function ClearOldWelds(tbl)
1741 for _,v in pairs(tbl) do
1742 if v:IsA('Weld') then
1743 v:Destroy()
1744 end
1745 end
1746end
1747
1748function Equipped()
1749 local handle=script.Parent:FindFirstChild('Handle')
1750 if not handle then return end
1751 local tble=handle:GetChildren()
1752 for _,v in pairs(script.Parent:GetChildren()) do
1753 if v:IsA('BasePart') and v~=handle then
1754 local c1
1755 for _1,v1 in pairs(welds) do
1756 if _1==v then
1757 c1=v1
1758 break
1759 end
1760 end
1761 if not c1 then
1762 welds[v]=v.CFrame:inverse()*handle.CFrame
1763 v.Anchored=false
1764 c1=welds[v]
1765 end
1766 local weld=Instance.new('Weld')
1767 weld.Part0=handle
1768 weld.Part1=v
1769 weld.C0=CFrame.new()
1770 weld.C1=c1
1771 weld.Parent=handle
1772 end
1773 end
1774 ClearOldWelds(tble)
1775 handle.Anchored=false
1776end
1777Equipped()
1778script.Parent.Equipped:connect(Equipped)
1779
1780--Made by DonnyTheDemented
1781
1782end,o12)
1783end))
1784o13.Parent = o1
1785o13.Material = Enum.Material.SmoothPlastic
1786o13.BrickColor = BrickColor.new("Really black")
1787o13.Position = Vector3.new(-94.7873154, 4.7111969, 168.807571)
1788o13.Rotation = Vector3.new(32.0000496, -1.93783012e-006, -6.04558727e-006)
1789o13.RotVelocity = Vector3.new(1, 1, 1)
1790o13.Velocity = Vector3.new(-0.341057777, 0.436080933, -0.0950231552)
1791o13.Anchored = true
1792o13.CanCollide = false
1793o13.FormFactor = Enum.FormFactor.Custom
1794o13.Size = Vector3.new(0.671088636, 2.14748359, 0.805306315)
1795o13.CFrame = CFrame.new(-94.7873154, 4.7111969, 168.807571, 0.999998629, 1.05515262e-007, -3.38215145e-008, 1.14661049e-007, 0.84805274, -0.529923022, 2.65861502e-008, 0.529922009, 0.848052442)
1796o13.BackSurface = Enum.SurfaceType.SmoothNoOutlines
1797o13.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
1798o13.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
1799o13.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
1800o13.RightSurface = Enum.SurfaceType.SmoothNoOutlines
1801o13.TopSurface = Enum.SurfaceType.SmoothNoOutlines
1802o13.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
1803o13.Position = Vector3.new(-94.7873154, 4.7111969, 168.807571)
1804o14.Parent = o13
1805o14.Scale = Vector3.new(0.300000012, 1, 1)
1806o15.Name = "Crypted1"
1807o15.Parent = o1
1808o15.BrickColor = BrickColor.new("Royal purple")
1809o15.Transparency = 0.60000002384186
1810o15.Position = Vector3.new(-94.8007355, 4.07533693, 168.076797)
1811o15.Rotation = Vector3.new(109.361748, -89.9051285, 64.8180389)
1812o15.RotVelocity = Vector3.new(1, 1, 1)
1813o15.Velocity = Vector3.new(-0.675990582, 0.406002045, 0.269988537)
1814o15.Anchored = true
1815o15.CanCollide = false
1816o15.FormFactor = Enum.FormFactor.Custom
1817o15.Size = Vector3.new(0.536870897, 0.536870897, 0.536870897)
1818o15.CFrame = CFrame.new(-94.8007355, 4.07533693, 168.076797, 6.36234532e-008, -1.35317279e-007, -0.999998629, 0.529919982, -0.848047197, -1.35684132e-007, -0.848047256, -0.52991873, -4.76801176e-008)
1819o15.BackSurface = Enum.SurfaceType.SmoothNoOutlines
1820o15.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
1821o15.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
1822o15.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
1823o15.RightSurface = Enum.SurfaceType.SmoothNoOutlines
1824o15.TopSurface = Enum.SurfaceType.SmoothNoOutlines
1825o15.Color = Color3.new(0.384314, 0.145098, 0.819608)
1826o15.Position = Vector3.new(-94.8007355, 4.07533693, 168.076797)
1827o16.Parent = o15
1828o16.MeshId = "http://www.roblox.com/asset/?id=3270017"
1829o16.Scale = Vector3.new(0.671088636, 0.671088636, 2.01326585)
1830o16.MeshType = Enum.MeshType.FileMesh
1831o17.Name = "Transparency script"
1832o17.Parent = o15
1833table.insert(cors,coroutine.create(function()
1834wait()
1835runDummyScript(function()
1836while true do
1837script.Parent.Transparency = 0.5
1838wait (0.2)
1839script.Parent.Transparency = 0.6
1840wait (0.2)
1841script.Parent.Transparency = 0.7
1842wait (0.2)
1843script.Parent.Transparency = 0.8
1844wait (1)
1845script.Parent.Transparency = 0.7
1846wait (0.2)
1847script.Parent.Transparency = 0.6
1848wait (0.2)
1849script.Parent.Transparency = 0.5
1850wait (.8)
1851end
1852
1853end,o17)
1854end))
1855o18.Name = "PartGLight"
1856o18.Parent = o1
1857o18.Material = Enum.Material.SmoothPlastic
1858o18.BrickColor = BrickColor.new("Royal purple")
1859o18.Transparency = 0.60000002384186
1860o18.Position = Vector3.new(-94.7873154, 3.67672706, 167.90976)
1861o18.Rotation = Vector3.new(30.0000286, -1.84378416e-006, -7.87874069e-006)
1862o18.RotVelocity = Vector3.new(1, 1, 1)
1863o18.Velocity = Vector3.new(-0.886013031, 0.472007751, 0.41400528)
1864o18.Anchored = true
1865o18.CanCollide = false
1866o18.FormFactor = Enum.FormFactor.Custom
1867o18.Size = Vector3.new(0.536870897, 0.536870897, 1.3099649)
1868o18.CFrame = CFrame.new(-94.7873154, 3.67672706, 167.90976, 0.999998629, 1.37509772e-007, -3.21801039e-008, 1.14661049e-007, 0.866024852, -0.500000298, 2.65861502e-008, 0.499999285, 0.866024911)
1869o18.BackSurface = Enum.SurfaceType.SmoothNoOutlines
1870o18.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
1871o18.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
1872o18.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
1873o18.RightSurface = Enum.SurfaceType.SmoothNoOutlines
1874o18.TopSurface = Enum.SurfaceType.SmoothNoOutlines
1875o18.Color = Color3.new(0.384314, 0.145098, 0.819608)
1876o18.Position = Vector3.new(-94.7873154, 3.67672706, 167.90976)
1877o19.Parent = o18
1878o19.Scale = Vector3.new(0.100000001, 1, 0.800000012)
1879o20.Name = "Transparency script"
1880o20.Parent = o18
1881table.insert(cors,coroutine.create(function()
1882wait()
1883runDummyScript(function()
1884while true do
1885script.Parent.Transparency = 0.5
1886wait (0.2)
1887script.Parent.Transparency = 0.6
1888wait (0.2)
1889script.Parent.Transparency = 0.7
1890wait (0.2)
1891script.Parent.Transparency = 0.8
1892wait (1)
1893script.Parent.Transparency = 0.7
1894wait (0.2)
1895script.Parent.Transparency = 0.6
1896wait (0.2)
1897script.Parent.Transparency = 0.5
1898wait (.8)
1899end
1900
1901end,o20)
1902end))
1903o21.Parent = o18
1904o21.Color = Color3.new(0.239216, 0, 0.529412)
1905o21.Range = 5
1906o21.Shadows = true
1907o22.Name = "Light script"
1908o22.Parent = o18
1909table.insert(cors,coroutine.create(function()
1910wait()
1911runDummyScript(function()
1912while true do
1913script.Parent.PointLight.Range = 4
1914wait (0.2)
1915script.Parent.PointLight.Range = 5
1916wait (0.2)
1917script.Parent.PointLight.Range = 6
1918wait (0.2)
1919script.Parent.PointLight.Range = 7
1920wait (0.2)
1921script.Parent.PointLight.Range = 8
1922wait (1)
1923script.Parent.PointLight.Range = 7
1924wait (0.2)
1925script.Parent.PointLight.Range = 6
1926wait (0.2)
1927script.Parent.PointLight.Range = 5
1928wait (0.2)
1929script.Parent.PointLight.Range = 4
1930wait (0.8)
1931end
1932
1933end,o22)
1934end))
1935o23.Name = "PartG"
1936o23.Parent = o1
1937o23.Material = Enum.Material.SmoothPlastic
1938o23.BrickColor = BrickColor.new("Royal purple")
1939o23.Transparency = 0.60000002384186
1940o23.Position = Vector3.new(-94.7873154, 3.67672706, 167.90976)
1941o23.Rotation = Vector3.new(30.0000286, -1.84378416e-006, -7.87874069e-006)
1942o23.RotVelocity = Vector3.new(1, 1, 1)
1943o23.Velocity = Vector3.new(-0.886013031, 0.472007751, 0.41400528)
1944o23.Anchored = true
1945o23.CanCollide = false
1946o23.FormFactor = Enum.FormFactor.Custom
1947o23.Size = Vector3.new(0.536870897, 0.536870897, 1.3099649)
1948o23.CFrame = CFrame.new(-94.7873154, 3.67672706, 167.90976, 0.999998629, 1.37509772e-007, -3.21801039e-008, 1.14661049e-007, 0.866024852, -0.500000298, 2.65861502e-008, 0.499999285, 0.866024911)
1949o23.BackSurface = Enum.SurfaceType.SmoothNoOutlines
1950o23.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
1951o23.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
1952o23.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
1953o23.RightSurface = Enum.SurfaceType.SmoothNoOutlines
1954o23.TopSurface = Enum.SurfaceType.SmoothNoOutlines
1955o23.Color = Color3.new(0.384314, 0.145098, 0.819608)
1956o23.Position = Vector3.new(-94.7873154, 3.67672706, 167.90976)
1957o24.Parent = o23
1958o24.Scale = Vector3.new(0.25, 1, 0.899999976)
1959o25.Name = "Transparency script"
1960o25.Parent = o23
1961table.insert(cors,coroutine.create(function()
1962wait()
1963runDummyScript(function()
1964while true do
1965script.Parent.Transparency = 0.5
1966wait (0.2)
1967script.Parent.Transparency = 0.6
1968wait (0.2)
1969script.Parent.Transparency = 0.7
1970wait (0.2)
1971script.Parent.Transparency = 0.8
1972wait (1)
1973script.Parent.Transparency = 0.7
1974wait (0.2)
1975script.Parent.Transparency = 0.6
1976wait (0.2)
1977script.Parent.Transparency = 0.5
1978wait (.8)
1979end
1980
1981end,o25)
1982end))
1983o26.Name = "PartG"
1984o26.Parent = o1
1985o26.Material = Enum.Material.SmoothPlastic
1986o26.BrickColor = BrickColor.new("Royal purple")
1987o26.Transparency = 0.60000002384186
1988o26.Position = Vector3.new(-94.7873154, 7.75579309, 170.155243)
1989o26.Rotation = Vector3.new(-149.999969, 5.25887708e-006, 6.17119031e-006)
1990o26.RotVelocity = Vector3.new(1, 1, 1)
1991o26.Velocity = Vector3.new(1.26295853, -0.0110092163, -1.25194931)
1992o26.Anchored = true
1993o26.CanCollide = false
1994o26.FormFactor = Enum.FormFactor.Custom
1995o26.Size = Vector3.new(0.536870897, 3.62387848, 0.536870897)
1996o26.CFrame = CFrame.new(-94.7873154, 7.75579309, 170.155243, 0.999998629, -1.07707436e-007, 9.17847203e-008, 1.14661049e-007, -0.866024494, 0.50000006, 2.65861502e-008, -0.499999017, -0.866024673)
1997o26.BackSurface = Enum.SurfaceType.SmoothNoOutlines
1998o26.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
1999o26.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2000o26.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2001o26.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2002o26.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2003o26.Color = Color3.new(0.384314, 0.145098, 0.819608)
2004o26.Position = Vector3.new(-94.7873154, 7.75579309, 170.155243)
2005o27.Parent = o26
2006o27.Scale = Vector3.new(0.300000012, 1, 0.300000012)
2007o28.Name = "Transparency script"
2008o28.Parent = o26
2009table.insert(cors,coroutine.create(function()
2010wait()
2011runDummyScript(function()
2012while true do
2013script.Parent.Transparency = 0.5
2014wait (0.2)
2015script.Parent.Transparency = 0.6
2016wait (0.2)
2017script.Parent.Transparency = 0.7
2018wait (0.2)
2019script.Parent.Transparency = 0.8
2020wait (1)
2021script.Parent.Transparency = 0.7
2022wait (0.2)
2023script.Parent.Transparency = 0.6
2024wait (0.2)
2025script.Parent.Transparency = 0.5
2026wait (.8)
2027end
2028
2029end,o28)
2030end))
2031o29.Name = "PartG"
2032o29.Parent = o1
2033o29.Material = Enum.Material.SmoothPlastic
2034o29.BrickColor = BrickColor.new("Royal purple")
2035o29.Transparency = 0.60000002384186
2036o29.Position = Vector3.new(-94.7873154, 7.87347889, 170.223572)
2037o29.Rotation = Vector3.new(-149.999969, 5.25887708e-006, 6.17119031e-006)
2038o29.RotVelocity = Vector3.new(1, 1, 1)
2039o29.Velocity = Vector3.new(1.32495213, -0.0240020752, -1.30095005)
2040o29.Anchored = true
2041o29.CanCollide = false
2042o29.FormFactor = Enum.FormFactor.Custom
2043o29.Size = Vector3.new(0.536870897, 3.89231372, 0.536870897)
2044o29.CFrame = CFrame.new(-94.7873154, 7.87347889, 170.223572, 0.999998629, -1.07707436e-007, 9.17847203e-008, 1.14661049e-007, -0.866024494, 0.50000006, 2.65861502e-008, -0.499999017, -0.866024673)
2045o29.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2046o29.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2047o29.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2048o29.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2049o29.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2050o29.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2051o29.Color = Color3.new(0.384314, 0.145098, 0.819608)
2052o29.Position = Vector3.new(-94.7873154, 7.87347889, 170.223572)
2053o30.Parent = o29
2054o30.Scale = Vector3.new(0.370000005, 1, 0.370000005)
2055o31.Name = "Transparency script"
2056o31.Parent = o29
2057table.insert(cors,coroutine.create(function()
2058wait()
2059runDummyScript(function()
2060while true do
2061script.Parent.Transparency = 0.5
2062wait (0.2)
2063script.Parent.Transparency = 0.6
2064wait (0.2)
2065script.Parent.Transparency = 0.7
2066wait (0.2)
2067script.Parent.Transparency = 0.8
2068wait (1)
2069script.Parent.Transparency = 0.7
2070wait (0.2)
2071script.Parent.Transparency = 0.6
2072wait (0.2)
2073script.Parent.Transparency = 0.5
2074wait (.8)
2075end
2076
2077end,o31)
2078end))
2079o32.Parent = o1
2080o32.Material = Enum.Material.SmoothPlastic
2081o32.BrickColor = BrickColor.new("Really black")
2082o32.Position = Vector3.new(-94.7846298, 1.16930795, 166.480469)
2083o32.Rotation = Vector3.new(-149.999969, 1.36235627e-007, 6.17119031e-006)
2084o32.RotVelocity = Vector3.new(1, 1, 1)
2085o32.Velocity = Vector3.new(-2.20695305, 0.756999969, 1.44995308)
2086o32.Anchored = true
2087o32.CanCollide = false
2088o32.FormFactor = Enum.FormFactor.Custom
2089o32.Size = Vector3.new(0.671088636, 0.687194824, 0.536870897)
2090o32.CFrame = CFrame.new(-94.7846298, 1.16930795, 166.480469, 0.999998629, -1.07707443e-007, 2.37776021e-009, 1.14661049e-007, -0.866024494, 0.500000119, 2.65861502e-008, -0.499998689, -0.866024613)
2091o32.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2092o32.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2093o32.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2094o32.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2095o32.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2096o32.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2097o32.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
2098o32.Position = Vector3.new(-94.7846298, 1.16930795, 166.480469)
2099o33.Parent = o32
2100o33.Scale = Vector3.new(0.300000012, 1, 1)
2101o34.Parent = o1
2102o34.Material = Enum.Material.SmoothPlastic
2103o34.BrickColor = BrickColor.new("Really black")
2104o34.Position = Vector3.new(-94.7873154, 1.06871104, 166.254562)
2105o34.Rotation = Vector3.new(-173.999802, 3.8308599e-006, 9.08492348e-006)
2106o34.RotVelocity = Vector3.new(1, 1, 1)
2107o34.Velocity = Vector3.new(-2.2598381, 0.723060608, 1.5367775)
2108o34.Anchored = true
2109o34.CanCollide = false
2110o34.FormFactor = Enum.FormFactor.Custom
2111o34.Size = Vector3.new(0.671088636, 1.15158808, 0.536870897)
2112o34.CFrame = CFrame.new(-94.7873154, 1.06871104, 166.254562, 0.999998629, -1.58561605e-007, 6.68611193e-008, 1.14661049e-007, -0.994520545, 0.104531854, 2.65861502e-008, -0.10452497, -0.994521022)
2113o34.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2114o34.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2115o34.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2116o34.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2117o34.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2118o34.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2119o34.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
2120o34.Position = Vector3.new(-94.7873154, 1.06871104, 166.254562)
2121o35.Parent = o34
2122o35.Scale = Vector3.new(0.300000012, 1, 0.5)
2123o36.Parent = o1
2124o36.Material = Enum.Material.SmoothPlastic
2125o36.BrickColor = BrickColor.new("Really black")
2126o36.Position = Vector3.new(-94.7873154, 0.920661986, 166.095139)
2127o36.Rotation = Vector3.new(9.00003147, 6.20997707e-006, -9.82214169e-006)
2128o36.RotVelocity = Vector3.new(1, 1, 1)
2129o36.Velocity = Vector3.new(-2.33798313, 0.719997406, 1.61798573)
2130o36.Anchored = true
2131o36.CanCollide = false
2132o36.FormFactor = Enum.FormFactor.Custom
2133o36.Size = Vector3.new(0.673772931, 1.51666045, 0.536870897)
2134o36.CFrame = CFrame.new(-94.7873154, 0.920661986, 166.095139, 0.999998629, 1.71428468e-007, 1.08384548e-007, 1.14661049e-007, 0.987687707, -0.156434864, 2.65861502e-008, 0.15643394, 0.987687349)
2135o36.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2136o36.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2137o36.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2138o36.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2139o36.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2140o36.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2141o36.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
2142o36.Position = Vector3.new(-94.7873154, 0.920661986, 166.095139)
2143o37.Parent = o36
2144o37.Scale = Vector3.new(0.300000012, 1, 0.100000001)
2145o38.Parent = o1
2146o38.Material = Enum.Material.SmoothPlastic
2147o38.BrickColor = BrickColor.new("Really black")
2148o38.Position = Vector3.new(-94.7873154, 0.848533988, 166.539307)
2149o38.Rotation = Vector3.new(-132.999786, 7.86866565e-007, 3.30488388e-006)
2150o38.RotVelocity = Vector3.new(1, 1, 1)
2151o38.Velocity = Vector3.new(-2.37582588, 0.855964661, 1.51986122)
2152o38.Anchored = true
2153o38.CanCollide = false
2154o38.FormFactor = Enum.FormFactor.Custom
2155o38.Size = Vector3.new(0.671088636, 1.17306292, 0.536870897)
2156o38.CFrame = CFrame.new(-94.7873154, 0.848533988, 166.539307, 0.999998629, -5.7681028e-008, 1.37334126e-008, 1.14661049e-007, -0.681993604, 0.731355965, 2.65861502e-008, -0.73135376, -0.681995094)
2157o38.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2158o38.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2159o38.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2160o38.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2161o38.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2162o38.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2163o38.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
2164o38.Position = Vector3.new(-94.7873154, 0.848533988, 166.539307)
2165o39.Parent = o38
2166o39.Scale = Vector3.new(0.300000012, 1, 0.5)
2167o40.Parent = o1
2168o40.Material = Enum.Material.SmoothPlastic
2169o40.BrickColor = BrickColor.new("Really black")
2170o40.Position = Vector3.new(-94.7846298, 3.22307205, 167.64592)
2171o40.Rotation = Vector3.new(-149.999969, 1.36235627e-007, 6.17119031e-006)
2172o40.RotVelocity = Vector3.new(1, 1, 1)
2173o40.Velocity = Vector3.new(-1.12497616, 0.52299881, 0.601977348)
2174o40.Anchored = true
2175o40.CanCollide = false
2176o40.FormFactor = Enum.FormFactor.Custom
2177o40.Size = Vector3.new(0.671088636, 0.536870956, 1.74483013)
2178o40.CFrame = CFrame.new(-94.7846298, 3.22307205, 167.64592, 0.999998629, -1.07707443e-007, 2.37776021e-009, 1.14661049e-007, -0.866024494, 0.500000119, 2.65861502e-008, -0.499998689, -0.866024613)
2179o40.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2180o40.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2181o40.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2182o40.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2183o40.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2184o40.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2185o40.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
2186o40.Position = Vector3.new(-94.7846298, 3.22307205, 167.64592)
2187o41.Parent = o40
2188o41.Scale = Vector3.new(0.300000012, 1, 0.649999976)
2189o42.Parent = o1
2190o42.Material = Enum.Material.SmoothPlastic
2191o42.BrickColor = BrickColor.new("Really black")
2192o42.Position = Vector3.new(-94.7846298, 0.70618099, 166.5298)
2193o42.Rotation = Vector3.new(47.0000229, 9.20685579e-007, -3.30490138e-006)
2194o42.RotVelocity = Vector3.new(1, 1, 1)
2195o42.Velocity = Vector3.new(-2.45094013, 0.891986847, 1.55895329)
2196o42.Anchored = true
2197o42.CanCollide = false
2198o42.FormFactor = Enum.FormFactor.Custom
2199o42.Size = Vector3.new(0.676457345, 1.49518549, 0.536870897)
2200o42.CFrame = CFrame.new(-94.7846298, 0.70618099, 166.5298, 0.999998629, 5.76813335e-008, 1.6068995e-008, 1.14661049e-007, 0.681997299, -0.7313537, 2.65861502e-008, 0.731352568, 0.681997836)
2201o42.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2202o42.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2203o42.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2204o42.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2205o42.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2206o42.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2207o42.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
2208o42.Position = Vector3.new(-94.7846298, 0.70618099, 166.5298)
2209o43.Parent = o42
2210o43.Scale = Vector3.new(0.300000012, 1, 0.100000001)
2211o44.Parent = o1
2212o44.Material = Enum.Material.SmoothPlastic
2213o44.BrickColor = BrickColor.new("Really black")
2214o44.Position = Vector3.new(-94.7873154, 2.5720129, 166.991058)
2215o44.Rotation = Vector3.new(26.0000687, 3.47972991e-006, -4.7046824e-006)
2216o44.RotVelocity = Vector3.new(1, 1, 1)
2217o44.Velocity = Vector3.new(-1.46852398, 0.521194458, 0.947329521)
2218o44.Anchored = true
2219o44.CanCollide = false
2220o44.FormFactor = Enum.FormFactor.Custom
2221o44.Size = Vector3.new(0.671088636, 2.35417891, 0.644245028)
2222o44.CFrame = CFrame.new(-94.7873154, 2.5720129, 166.991058, 0.999998629, 8.21120807e-008, 6.07327451e-008, 1.14661049e-007, 0.898801565, -0.438376188, 2.65861502e-008, 0.438374758, 0.898801684)
2223o44.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2224o44.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2225o44.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2226o44.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2227o44.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2228o44.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2229o44.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
2230o44.Position = Vector3.new(-94.7873154, 2.5720129, 166.991058)
2231o45.Parent = o44
2232o45.Scale = Vector3.new(0.300000012, 1, 1)
2233o46.Parent = o1
2234o46.Material = Enum.Material.SmoothPlastic
2235o46.BrickColor = BrickColor.new("Really black")
2236o46.Position = Vector3.new(-94.7873154, 4.78712702, 168.44313)
2237o46.Rotation = Vector3.new(26.0000629, 6.4667752e-008, -8.11975224e-006)
2238o46.RotVelocity = Vector3.new(1, 1, 1)
2239o46.Velocity = Vector3.new(-0.300977707, 0.31999588, -0.0190181732)
2240o46.Anchored = true
2241o46.CanCollide = false
2242o46.FormFactor = Enum.FormFactor.Custom
2243o46.Size = Vector3.new(0.671088636, 2.42397189, 1.3099649)
2244o46.CFrame = CFrame.new(-94.7873154, 4.78712702, 168.44313, 0.999998629, 1.41716214e-007, 1.12866516e-009, 1.14661049e-007, 0.898792982, -0.438371897, 2.65861502e-008, 0.438370705, 0.898793101)
2245o46.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2246o46.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2247o46.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2248o46.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2249o46.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2250o46.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2251o46.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
2252o46.Position = Vector3.new(-94.7873154, 4.78712702, 168.44313)
2253o47.Parent = o46
2254o47.Scale = Vector3.new(0.300000012, 1, 1)
2255o48.Parent = o1
2256o48.Material = Enum.Material.SmoothPlastic
2257o48.BrickColor = BrickColor.new("Really black")
2258o48.Position = Vector3.new(-94.7873154, 5.80262709, 169.458633)
2259o48.Rotation = Vector3.new(-127.000023, 1.35769938e-006, 4.56447879e-006)
2260o48.RotVelocity = Vector3.new(1, 1, 1)
2261o48.Velocity = Vector3.new(0.233961582, 0.320034027, -0.553995609)
2262o48.Anchored = true
2263o48.CanCollide = false
2264o48.FormFactor = Enum.FormFactor.Custom
2265o48.Size = Vector3.new(0.671088636, 0.536870897, 1.74483013)
2266o48.CFrame = CFrame.new(-94.7873154, 5.80262709, 169.458633, 0.999998629, -7.96650781e-008, 2.36963231e-008, 1.14661049e-007, -0.601814628, 0.798635304, 2.65861502e-008, -0.798634052, -0.601815283)
2267o48.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2268o48.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2269o48.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2270o48.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2271o48.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2272o48.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2273o48.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
2274o48.Position = Vector3.new(-94.7873154, 5.80262709, 169.458633)
2275o49.Parent = o48
2276o49.Scale = Vector3.new(0.300000012, 1, 0.600000024)
2277o50.Parent = o1
2278o50.Material = Enum.Material.SmoothPlastic
2279o50.BrickColor = BrickColor.new("Really black")
2280o50.Position = Vector3.new(-94.7846298, 2.35562301, 167.38208)
2281o50.Rotation = Vector3.new(32.0000534, -5.35290246e-006, -1.28757692e-005)
2282o50.RotVelocity = Vector3.new(1, 1, 1)
2283o50.Velocity = Vector3.new(-1.58198166, 0.682003021, 0.899978638)
2284o50.Anchored = true
2285o50.CanCollide = false
2286o50.FormFactor = Enum.FormFactor.Custom
2287o50.Size = Vector3.new(0.673772931, 2.34880996, 0.724775672)
2288o50.CFrame = CFrame.new(-94.7846298, 2.35562301, 167.38208, 0.999998629, 2.24724246e-007, -9.34257685e-008, 1.14661049e-007, 0.848047137, -0.529919863, 2.65861502e-008, 0.529918551, 0.848047256)
2289o50.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2290o50.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2291o50.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2292o50.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2293o50.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2294o50.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2295o50.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
2296o50.Position = Vector3.new(-94.7846298, 2.35562301, 167.38208)
2297o51.Parent = o50
2298o51.Scale = Vector3.new(0.300000012, 1, 1)
2299o52.Name = "Crypted2"
2300o52.Parent = o1
2301o52.BrickColor = BrickColor.new("Royal purple")
2302o52.Transparency = 0.60000002384186
2303o52.Position = Vector3.new(-94.8007355, 4.53846788, 168.346329)
2304o52.Rotation = Vector3.new(109.361748, -89.9051285, 64.8180389)
2305o52.RotVelocity = Vector3.new(1, 1, 1)
2306o52.Velocity = Vector3.new(-0.431991577, 0.354999542, 0.0769920349)
2307o52.Anchored = true
2308o52.CanCollide = false
2309o52.FormFactor = Enum.FormFactor.Custom
2310o52.Size = Vector3.new(0.536870897, 0.536870897, 0.536870897)
2311o52.CFrame = CFrame.new(-94.8007355, 4.53846788, 168.346329, 6.36234532e-008, -1.35317279e-007, -0.999998629, 0.529919982, -0.848047197, -1.35684132e-007, -0.848047256, -0.52991873, -4.76801176e-008)
2312o52.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2313o52.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2314o52.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2315o52.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2316o52.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2317o52.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2318o52.Color = Color3.new(0.384314, 0.145098, 0.819608)
2319o52.Position = Vector3.new(-94.8007355, 4.53846788, 168.346329)
2320o53.Name = "Transparency script"
2321o53.Parent = o52
2322table.insert(cors,coroutine.create(function()
2323wait()
2324runDummyScript(function()
2325while true do
2326script.Parent.Transparency = 0.5
2327wait (0.2)
2328script.Parent.Transparency = 0.6
2329wait (0.2)
2330script.Parent.Transparency = 0.7
2331wait (0.2)
2332script.Parent.Transparency = 0.8
2333wait (1)
2334script.Parent.Transparency = 0.7
2335wait (0.2)
2336script.Parent.Transparency = 0.6
2337wait (0.2)
2338script.Parent.Transparency = 0.5
2339wait (.8)
2340end
2341
2342end,o53)
2343end))
2344o54.Parent = o52
2345o54.Scale = Vector3.new(0.200000003, 0.699999988, 0.5)
2346o55.Parent = o1
2347o55.Material = Enum.Material.SmoothPlastic
2348o55.BrickColor = BrickColor.new("Really black")
2349o55.Position = Vector3.new(-94.7873154, 0.632152975, 166.129318)
2350o55.Rotation = Vector3.new(-168.999374, 7.53046436e-007, 1.2299859e-005)
2351o55.RotVelocity = Vector3.new(1, 1, 1)
2352o55.Velocity = Vector3.new(-2.48998833, 0.80500412, 1.68498421)
2353o55.Anchored = true
2354o55.CanCollide = false
2355o55.FormFactor = Enum.FormFactor.Custom
2356o55.Size = Vector3.new(0.671088636, 0.536870897, 0.536870897)
2357o55.CFrame = CFrame.new(-94.7873154, 0.632152975, 166.129318, 0.999998629, -2.14672738e-007, 1.31431399e-008, 1.14661049e-007, -0.981624365, 0.190819532, 2.65861502e-008, -0.190818667, -0.981624246)
2358o55.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2359o55.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2360o55.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2361o55.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2362o55.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2363o55.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2364o55.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
2365o55.Position = Vector3.new(-94.7873154, 0.632152975, 166.129318)
2366o56.Parent = o55
2367o56.Scale = Vector3.new(0.300000012, 1, 0.25)
2368o57.Name = "Crypted3"
2369o57.Parent = o1
2370o57.BrickColor = BrickColor.new("Royal purple")
2371o57.Transparency = 0.60000002384186
2372o57.Position = Vector3.new(-94.8007355, 4.98263311, 168.600677)
2373o57.Rotation = Vector3.new(109.361748, -89.9051285, 64.8180389)
2374o57.RotVelocity = Vector3.new(1, 1, 1)
2375o57.Velocity = Vector3.new(-0.197983742, 0.304992676, -0.107008934)
2376o57.Anchored = true
2377o57.CanCollide = false
2378o57.FormFactor = Enum.FormFactor.Custom
2379o57.Size = Vector3.new(0.536870897, 0.536870897, 0.536870897)
2380o57.CFrame = CFrame.new(-94.8007355, 4.98263311, 168.600677, 6.36234532e-008, -1.35317279e-007, -0.999998629, 0.529919982, -0.848047197, -1.35684132e-007, -0.848047256, -0.52991873, -4.76801176e-008)
2381o57.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2382o57.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2383o57.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2384o57.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2385o57.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2386o57.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2387o57.Color = Color3.new(0.384314, 0.145098, 0.819608)
2388o57.Position = Vector3.new(-94.8007355, 4.98263311, 168.600677)
2389o58.Name = "Transparency script"
2390o58.Parent = o57
2391table.insert(cors,coroutine.create(function()
2392wait()
2393runDummyScript(function()
2394while true do
2395script.Parent.Transparency = 0.5
2396wait (0.2)
2397script.Parent.Transparency = 0.6
2398wait (0.2)
2399script.Parent.Transparency = 0.7
2400wait (0.2)
2401script.Parent.Transparency = 0.8
2402wait (1)
2403script.Parent.Transparency = 0.7
2404wait (0.2)
2405script.Parent.Transparency = 0.6
2406wait (0.2)
2407script.Parent.Transparency = 0.5
2408wait (.8)
2409end
2410
2411end,o58)
2412end))
2413o59.Parent = o57
2414o59.Offset = Vector3.new(-0.100000001, 0, 0)
2415o59.Scale = Vector3.new(0.200000003, 1.20000005, 0.5)
2416o60.Parent = o1
2417o60.Material = Enum.Material.SmoothPlastic
2418o60.BrickColor = BrickColor.new("Really black")
2419o60.Position = Vector3.new(-94.7846298, 5.715312, 168.999283)
2420o60.Rotation = Vector3.new(-149.999969, 1.36235627e-007, 6.17119031e-006)
2421o60.RotVelocity = Vector3.new(1, 1, 1)
2422o60.Velocity = Vector3.new(0.187999725, 0.222984314, -0.410984039)
2423o60.Anchored = true
2424o60.CanCollide = false
2425o60.FormFactor = Enum.FormFactor.Custom
2426o60.Size = Vector3.new(0.671088636, 0.536870956, 1.74483013)
2427o60.CFrame = CFrame.new(-94.7846298, 5.715312, 168.999283, 0.999998629, -1.07707443e-007, 2.37776021e-009, 1.14661049e-007, -0.866024494, 0.500000119, 2.65861502e-008, -0.499998689, -0.866024613)
2428o60.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2429o60.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2430o60.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2431o60.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2432o60.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2433o60.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2434o60.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
2435o60.Position = Vector3.new(-94.7846298, 5.715312, 168.999283)
2436o61.Parent = o60
2437o61.Scale = Vector3.new(0.300000012, 1, 0.600000024)
2438o62.Parent = o1
2439o62.Material = Enum.Material.SmoothPlastic
2440o62.BrickColor = BrickColor.new("Really black")
2441o62.Position = Vector3.new(-94.7873154, 6.16516304, 168.81517)
2442o62.Rotation = Vector3.new(5.00005198, 8.1914568e-006, -7.41382428e-006)
2443o62.RotVelocity = Vector3.new(1, 1, 1)
2444o62.Velocity = Vector3.new(0.425002575, 0.0549888611, -0.479991436)
2445o62.Anchored = true
2446o62.CanCollide = false
2447o62.FormFactor = Enum.FormFactor.Custom
2448o62.Size = Vector3.new(0.671088636, 0.536870897, 1.74483013)
2449o62.CFrame = CFrame.new(-94.7873154, 6.16516304, 168.81517, 0.999998629, 1.29395474e-007, 1.42967892e-007, 1.14661049e-007, 0.996194124, -0.087156564, 2.65861502e-008, 0.0871553719, 0.996193647)
2450o62.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2451o62.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2452o62.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2453o62.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2454o62.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2455o62.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2456o62.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
2457o62.Position = Vector3.new(-94.7873154, 6.16516304, 168.81517)
2458o63.Parent = o62
2459o63.Scale = Vector3.new(0.300000012, 1, 0.600000024)
2460o64.Name = "Crypted4"
2461o64.Parent = o1
2462o64.BrickColor = BrickColor.new("Royal purple")
2463o64.Transparency = 0.60000002384186
2464o64.Position = Vector3.new(-94.8007355, 2.5397439, 167.190369)
2465o64.Rotation = Vector3.new(109.361748, -89.9051285, 64.8180389)
2466o64.RotVelocity = Vector3.new(1, 1, 1)
2467o64.Velocity = Vector3.new(-1.48496246, 0.576972961, 0.907989502)
2468o64.Anchored = true
2469o64.CanCollide = false
2470o64.FormFactor = Enum.FormFactor.Custom
2471o64.Size = Vector3.new(0.536870897, 0.536870897, 0.536870897)
2472o64.CFrame = CFrame.new(-94.8007355, 2.5397439, 167.190369, 6.36234532e-008, -1.35317279e-007, -0.999998629, 0.529919982, -0.848047197, -1.35684132e-007, -0.848047256, -0.52991873, -4.76801176e-008)
2473o64.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2474o64.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2475o64.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2476o64.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2477o64.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2478o64.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2479o64.Color = Color3.new(0.384314, 0.145098, 0.819608)
2480o64.Position = Vector3.new(-94.8007355, 2.5397439, 167.190369)
2481o65.Parent = o64
2482o65.MeshId = "http://www.roblox.com/asset/?id=3270017"
2483o65.Scale = Vector3.new(0.402653158, 0.402653158, 2.01326585)
2484o65.MeshType = Enum.MeshType.FileMesh
2485o66.Name = "Transparency script"
2486o66.Parent = o64
2487table.insert(cors,coroutine.create(function()
2488wait()
2489runDummyScript(function()
2490while true do
2491script.Parent.Transparency = 0.5
2492wait (0.2)
2493script.Parent.Transparency = 0.6
2494wait (0.2)
2495script.Parent.Transparency = 0.7
2496wait (0.2)
2497script.Parent.Transparency = 0.8
2498wait (1)
2499script.Parent.Transparency = 0.7
2500wait (0.2)
2501script.Parent.Transparency = 0.6
2502wait (0.2)
2503script.Parent.Transparency = 0.5
2504wait (.8)
2505end
2506
2507end,o66)
2508end))
2509o67.Name = "Crypted4[2]"
2510o67.Parent = o1
2511o67.BrickColor = BrickColor.new("Royal purple")
2512o67.Transparency = 0.60000002384186
2513o67.Position = Vector3.new(-94.8007355, 2.5397439, 167.190369)
2514o67.Rotation = Vector3.new(109.361748, -89.9051285, 64.8180389)
2515o67.RotVelocity = Vector3.new(1, 1, 1)
2516o67.Velocity = Vector3.new(-1.48496246, 0.576972961, 0.907989502)
2517o67.Anchored = true
2518o67.CanCollide = false
2519o67.FormFactor = Enum.FormFactor.Custom
2520o67.Size = Vector3.new(0.536870897, 0.536870897, 0.536870897)
2521o67.CFrame = CFrame.new(-94.8007355, 2.5397439, 167.190369, 6.36234532e-008, -1.35317279e-007, -0.999998629, 0.529919982, -0.848047197, -1.35684132e-007, -0.848047256, -0.52991873, -4.76801176e-008)
2522o67.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2523o67.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2524o67.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2525o67.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2526o67.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2527o67.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2528o67.Color = Color3.new(0.384314, 0.145098, 0.819608)
2529o67.Position = Vector3.new(-94.8007355, 2.5397439, 167.190369)
2530o68.Parent = o67
2531o68.MeshId = "http://www.roblox.com/asset/?id=3270017"
2532o68.Scale = Vector3.new(0.335544318, 0.335544318, 2.01326585)
2533o68.MeshType = Enum.MeshType.FileMesh
2534o69.Name = "Transparency script"
2535o69.Parent = o67
2536table.insert(cors,coroutine.create(function()
2537wait()
2538runDummyScript(function()
2539while true do
2540script.Parent.Transparency = 0.5
2541wait (0.2)
2542script.Parent.Transparency = 0.6
2543wait (0.2)
2544script.Parent.Transparency = 0.7
2545wait (0.2)
2546script.Parent.Transparency = 0.8
2547wait (1)
2548script.Parent.Transparency = 0.7
2549wait (0.2)
2550script.Parent.Transparency = 0.6
2551wait (0.2)
2552script.Parent.Transparency = 0.5
2553wait (.8)
2554end
2555
2556end,o69)
2557end))
2558o70.Name = "Crypted4[3]"
2559o70.Parent = o1
2560o70.BrickColor = BrickColor.new("Royal purple")
2561o70.Transparency = 0.60000002384186
2562o70.Position = Vector3.new(-94.8007355, 2.5397439, 167.190369)
2563o70.Rotation = Vector3.new(109.361748, -89.9051285, 64.8180389)
2564o70.RotVelocity = Vector3.new(1, 1, 1)
2565o70.Velocity = Vector3.new(-1.48496246, 0.576972961, 0.907989502)
2566o70.Anchored = true
2567o70.CanCollide = false
2568o70.FormFactor = Enum.FormFactor.Custom
2569o70.Size = Vector3.new(0.536870897, 0.536870897, 0.536870897)
2570o70.CFrame = CFrame.new(-94.8007355, 2.5397439, 167.190369, 6.36234532e-008, -1.35317279e-007, -0.999998629, 0.529919982, -0.848047197, -1.35684132e-007, -0.848047256, -0.52991873, -4.76801176e-008)
2571o70.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2572o70.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2573o70.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2574o70.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2575o70.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2576o70.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2577o70.Color = Color3.new(0.384314, 0.145098, 0.819608)
2578o70.Position = Vector3.new(-94.8007355, 2.5397439, 167.190369)
2579o71.Parent = o70
2580o71.MeshId = "http://www.roblox.com/asset/?id=3270017"
2581o71.Scale = Vector3.new(0.362387836, 0.362387836, 2.01326585)
2582o71.MeshType = Enum.MeshType.FileMesh
2583o72.Name = "Transparency script"
2584o72.Parent = o70
2585table.insert(cors,coroutine.create(function()
2586wait()
2587runDummyScript(function()
2588while true do
2589script.Parent.Transparency = 0.5
2590wait (0.2)
2591script.Parent.Transparency = 0.6
2592wait (0.2)
2593script.Parent.Transparency = 0.7
2594wait (0.2)
2595script.Parent.Transparency = 0.8
2596wait (1)
2597script.Parent.Transparency = 0.7
2598wait (0.2)
2599script.Parent.Transparency = 0.6
2600wait (0.2)
2601script.Parent.Transparency = 0.5
2602wait (.8)
2603end
2604
2605end,o72)
2606end))
2607o73.Name = "Crypted5"
2608o73.Parent = o1
2609o73.BrickColor = BrickColor.new("Royal purple")
2610o73.Transparency = 0.60000002384186
2611o73.Position = Vector3.new(-94.8007355, 1.98359096, 166.972076)
2612o73.Rotation = Vector3.new(109.361748, -89.9051285, 82.3821335)
2613o73.RotVelocity = Vector3.new(1, 1, 1)
2614o73.Velocity = Vector3.new(-1.77795601, 0.665966034, 1.11198997)
2615o73.Anchored = true
2616o73.CanCollide = false
2617o73.FormFactor = Enum.FormFactor.Custom
2618o73.Size = Vector3.new(0.536870897, 0.966367543, 0.536870897)
2619o73.CFrame = CFrame.new(-94.8007355, 1.98359096, 166.972076, 2.71475074e-008, -2.02978399e-007, -0.999998629, 0.412382841, -0.911010027, -1.35684132e-007, -0.911009669, -0.412381768, -4.76801176e-008)
2620o73.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2621o73.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2622o73.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2623o73.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2624o73.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2625o73.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2626o73.Color = Color3.new(0.384314, 0.145098, 0.819608)
2627o73.Position = Vector3.new(-94.8007355, 1.98359096, 166.972076)
2628o74.Name = "Transparency script"
2629o74.Parent = o73
2630table.insert(cors,coroutine.create(function()
2631wait()
2632runDummyScript(function()
2633while true do
2634script.Parent.Transparency = 0.5
2635wait (0.2)
2636script.Parent.Transparency = 0.6
2637wait (0.2)
2638script.Parent.Transparency = 0.7
2639wait (0.2)
2640script.Parent.Transparency = 0.8
2641wait (1)
2642script.Parent.Transparency = 0.7
2643wait (0.2)
2644script.Parent.Transparency = 0.6
2645wait (0.2)
2646script.Parent.Transparency = 0.5
2647wait (.8)
2648end
2649
2650end,o74)
2651end))
2652o75.Parent = o73
2653o75.Scale = Vector3.new(0.200000003, 0.800000012, 0.5)
2654o76.Name = "Crypted6"
2655o76.Parent = o1
2656o76.BrickColor = BrickColor.new("Royal purple")
2657o76.Transparency = 0.60000002384186
2658o76.Position = Vector3.new(-94.8007355, 3.30658388, 167.619339)
2659o76.Rotation = Vector3.new(109.361748, -89.9051285, 142.237396)
2660o76.RotVelocity = Vector3.new(1, 1, 1)
2661o76.Velocity = Vector3.new(-1.08099651, 0.487995148, 0.593001366)
2662o76.Anchored = true
2663o76.CanCollide = false
2664o76.FormFactor = Enum.FormFactor.Custom
2665o76.Size = Vector3.new(0.536870897, 1.10058534, 0.536870897)
2666o76.CFrame = CFrame.new(-94.8007355, 3.30658388, 167.619339, -1.10238048e-007, -8.53942339e-008, -0.999998629, -0.269258231, -0.963067293, -1.35684132e-007, -0.963066459, 0.269258827, -4.76801176e-008)
2667o76.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2668o76.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2669o76.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2670o76.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2671o76.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2672o76.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2673o76.Color = Color3.new(0.384314, 0.145098, 0.819608)
2674o76.Position = Vector3.new(-94.8007355, 3.30658388, 167.619339)
2675o77.Name = "Transparency script"
2676o77.Parent = o76
2677table.insert(cors,coroutine.create(function()
2678wait()
2679runDummyScript(function()
2680while true do
2681script.Parent.Transparency = 0.5
2682wait (0.2)
2683script.Parent.Transparency = 0.6
2684wait (0.2)
2685script.Parent.Transparency = 0.7
2686wait (0.2)
2687script.Parent.Transparency = 0.8
2688wait (1)
2689script.Parent.Transparency = 0.7
2690wait (0.2)
2691script.Parent.Transparency = 0.6
2692wait (0.2)
2693script.Parent.Transparency = 0.5
2694wait (.8)
2695end
2696
2697end,o77)
2698end))
2699o78.Parent = o76
2700o78.Scale = Vector3.new(0.200000003, 0.800000012, 0.5)
2701o79.Name = "Crypted6[2]"
2702o79.Parent = o1
2703o79.BrickColor = BrickColor.new("Royal purple")
2704o79.Transparency = 0.60000002384186
2705o79.Position = Vector3.new(-94.8007355, 2.77321196, 167.644012)
2706o79.Rotation = Vector3.new(109.361748, -89.9051285, 26.0357876)
2707o79.RotVelocity = Vector3.new(1, 1, 1)
2708o79.Velocity = Vector3.new(-1.36198521, 0.634998322, 0.726986885)
2709o79.Anchored = true
2710o79.CanCollide = false
2711o79.FormFactor = Enum.FormFactor.Custom
2712o79.Size = Vector3.new(0.536870897, 0.536870897, 0.536870897)
2713o79.CFrame = CFrame.new(-94.8007355, 2.77321196, 167.644012, 8.22812183e-008, -4.01948697e-008, -0.999998629, 0.601763248, -0.798673987, -1.35684132e-007, -0.798674226, -0.601762295, -4.76801176e-008)
2714o79.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2715o79.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2716o79.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2717o79.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2718o79.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2719o79.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2720o79.Color = Color3.new(0.384314, 0.145098, 0.819608)
2721o79.Position = Vector3.new(-94.8007355, 2.77321196, 167.644012)
2722o80.Name = "Transparency script"
2723o80.Parent = o79
2724table.insert(cors,coroutine.create(function()
2725wait()
2726runDummyScript(function()
2727while true do
2728script.Parent.Transparency = 0.5
2729wait (0.2)
2730script.Parent.Transparency = 0.6
2731wait (0.2)
2732script.Parent.Transparency = 0.7
2733wait (0.2)
2734script.Parent.Transparency = 0.8
2735wait (1)
2736script.Parent.Transparency = 0.7
2737wait (0.2)
2738script.Parent.Transparency = 0.6
2739wait (0.2)
2740script.Parent.Transparency = 0.5
2741wait (.8)
2742end
2743
2744end,o80)
2745end))
2746o81.Parent = o79
2747o81.Scale = Vector3.new(0.200000003, 0.600000024, 0.5)
2748o82.Name = "Crypted6[3]"
2749o82.Parent = o1
2750o82.BrickColor = BrickColor.new("Royal purple")
2751o82.Transparency = 0.60000002384186
2752o82.Position = Vector3.new(-94.8007355, 2.6384449, 167.444717)
2753o82.Rotation = Vector3.new(109.361748, -89.9051285, 56.0791168)
2754o82.RotVelocity = Vector3.new(1, 1, 1)
2755o82.Velocity = Vector3.new(-1.43299675, 0.61800766, 0.81498909)
2756o82.Anchored = true
2757o82.CanCollide = false
2758o82.FormFactor = Enum.FormFactor.Custom
2759o82.Size = Vector3.new(0.536870897, 0.536870897, 0.536870897)
2760o82.CFrame = CFrame.new(-94.8007355, 2.6384449, 167.444717, 1.5850469e-007, -2.3569423e-007, -0.999998629, 0.938516498, -0.345233113, -1.35684132e-007, -0.345233798, -0.938515782, -4.76801176e-008)
2761o82.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2762o82.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2763o82.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2764o82.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2765o82.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2766o82.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2767o82.Color = Color3.new(0.384314, 0.145098, 0.819608)
2768o82.Position = Vector3.new(-94.8007355, 2.6384449, 167.444717)
2769o83.Name = "Transparency script"
2770o83.Parent = o82
2771table.insert(cors,coroutine.create(function()
2772wait()
2773runDummyScript(function()
2774while true do
2775script.Parent.Transparency = 0.5
2776wait (0.2)
2777script.Parent.Transparency = 0.6
2778wait (0.2)
2779script.Parent.Transparency = 0.7
2780wait (0.2)
2781script.Parent.Transparency = 0.8
2782wait (1)
2783script.Parent.Transparency = 0.7
2784wait (0.2)
2785script.Parent.Transparency = 0.6
2786wait (0.2)
2787script.Parent.Transparency = 0.5
2788wait (.8)
2789end
2790
2791end,o83)
2792end))
2793o84.Parent = o82
2794o84.Scale = Vector3.new(0.200000003, 0.400000006, 0.5)
2795o85.Name = "Crystal"
2796o85.Parent = o1
2797o85.Material = Enum.Material.SmoothPlastic
2798o85.BrickColor = BrickColor.new("Really black")
2799o85.Position = Vector3.new(-94.7873154, 9.57798004, 171.206802)
2800o85.Rotation = Vector3.new(109.361748, -89.9051285, 60.080864)
2801o85.RotVelocity = Vector3.new(1, 1, 1)
2802o85.Velocity = Vector3.new(2.22293425, -0.213996887, -2.00893736)
2803o85.Anchored = true
2804o85.CanCollide = false
2805o85.FormFactor = Enum.FormFactor.Custom
2806o85.Size = Vector3.new(0.536870897, 1.61061263, 0.536870897)
2807o85.CFrame = CFrame.new(-94.7873154, 9.57798004, 171.206802, 6.19823979e-008, -1.07707436e-007, -0.999998629, 0.5, -0.866024494, -1.35684132e-007, -0.866024494, -0.499999017, -4.76801176e-008)
2808o85.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2809o85.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2810o85.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2811o85.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2812o85.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2813o85.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2814o85.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
2815o85.Position = Vector3.new(-94.7873154, 9.57798004, 171.206802)
2816o86.Parent = o85
2817o86.MeshId = "http://www.roblox.com/Asset/?id=9756362"
2818o86.Scale = Vector3.new(0.3704409, 1.34217727, 0.268435448)
2819o86.MeshType = Enum.MeshType.FileMesh
2820o87.Name = "Handle"
2821o87.Parent = o1
2822o87.Transparency = 1
2823o87.Position = Vector3.new(-95.2399979, 6.68089676, 169.309448)
2824o87.Rotation = Vector3.new(-54.7792358, -73.7217865, 90.0000458)
2825o87.Anchored = true
2826o87.FormFactor = Enum.FormFactor.Custom
2827o87.Size = Vector3.new(0.400000006, 12, 0.400000006)
2828o87.CFrame = CFrame.new(-95.2399979, 6.68089676, 169.309448, -2.1542813e-007, -0.280301362, -0.959911942, 0.576727569, -0.784186721, 0.228988156, -0.816935956, -0.553607702, 0.161657706)
2829o87.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2830o87.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2831o87.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2832o87.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2833o87.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2834o87.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2835o87.Position = Vector3.new(-95.2399979, 6.68089676, 169.309448)
2836o88.Parent = o87
2837o88.C0 = CFrame.new(0, 0, 0, -0.192533925, -0.921768188, 0.336562067, -0.457706004, 0.387741417, 0.800100863, -0.868006587, 7.84582781e-008, -0.496552229)
2838o88.C1 = CFrame.new(0, 0, 0, -0.192533925, -0.921768188, 0.336562067, -0.457706004, 0.387741417, 0.800100863, -0.868006587, 7.84582781e-008, -0.496552229)
2839o88.Part0 = o87
2840o88.Part1 = o87
2841o89.Parent = o87
2842o89.C0 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
2843o89.C1 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
2844o89.Part0 = o87
2845o89.Part1 = o87
2846o90.Parent = o87
2847o90.C0 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
2848o90.C1 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
2849o90.Part0 = o87
2850o90.Part1 = o87
2851o91.Parent = o87
2852o91.C0 = CFrame.new(0, 0, 0, -0.192533925, -0.921768188, 0.336562067, -0.457706004, 0.387741417, 0.800100863, -0.868006587, 7.84582781e-008, -0.496552229)
2853o91.C1 = CFrame.new(0, 0, 0, -0.192533925, -0.921768188, 0.336562067, -0.457706004, 0.387741417, 0.800100863, -0.868006587, 7.84582781e-008, -0.496552229)
2854o91.Part0 = o87
2855o91.Part1 = o87
2856o92.Parent = o87
2857o92.C0 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
2858o92.C1 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
2859o92.Part0 = o87
2860o92.Part1 = o87
2861o93.Parent = o87
2862o93.C0 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
2863o93.C1 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
2864o93.Part0 = o87
2865o93.Part1 = o87
2866o94.Parent = o87
2867o94.Color = Color3.new(0.666667, 0, 1)
2868o94.Range = 10
2869o96.Parent = o1
2870o96.Material = Enum.Material.SmoothPlastic
2871o96.BrickColor = BrickColor.new("Really black")
2872o96.Position = Vector3.new(-94.7819443, 0.455635011, 166.207123)
2873o96.Rotation = Vector3.new(-132.999771, 1.64064022e-006, 8.42753707e-006)
2874o96.RotVelocity = Vector3.new(1, 1, 1)
2875o96.Velocity = Vector3.new(-2.58302116, 0.874000549, 1.70902061)
2876o96.Anchored = true
2877o96.CanCollide = false
2878o96.FormFactor = Enum.FormFactor.Custom
2879o96.Size = Vector3.new(0.671088636, 0.536870897, 0.536870897)
2880o96.CFrame = CFrame.new(-94.7819443, 0.455635011, 166.207123, 0.999998629, -1.47088073e-007, 2.86345738e-008, 1.14661049e-007, -0.681995332, 0.731355965, 2.65861502e-008, -0.731355488, -0.681994975)
2881o96.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2882o96.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2883o96.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2884o96.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2885o96.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2886o96.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2887o96.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
2888o96.Position = Vector3.new(-94.7819443, 0.455635011, 166.207123)
2889o97.Parent = o96
2890o97.Scale = Vector3.new(0.300000012, 1, 0.25)
2891o98.Name = "Crypted3"
2892o98.Parent = o1
2893o98.BrickColor = BrickColor.new("Royal purple")
2894o98.Transparency = 0.60000002384186
2895o98.Position = Vector3.new(-94.8007355, 4.98263311, 168.600677)
2896o98.Rotation = Vector3.new(109.361748, -89.9051285, 64.8180389)
2897o98.RotVelocity = Vector3.new(1, 1, 1)
2898o98.Velocity = Vector3.new(-0.197983742, 0.304992676, -0.107008934)
2899o98.Anchored = true
2900o98.CanCollide = false
2901o98.FormFactor = Enum.FormFactor.Custom
2902o98.Size = Vector3.new(0.536870897, 0.536870897, 0.536870897)
2903o98.CFrame = CFrame.new(-94.8007355, 4.98263311, 168.600677, 6.36234532e-008, -1.35317279e-007, -0.999998629, 0.529919982, -0.848047197, -1.35684132e-007, -0.848047256, -0.52991873, -4.76801176e-008)
2904o98.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2905o98.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2906o98.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2907o98.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2908o98.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2909o98.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2910o98.Color = Color3.new(0.384314, 0.145098, 0.819608)
2911o98.Position = Vector3.new(-94.8007355, 4.98263311, 168.600677)
2912o99.Parent = o98
2913o99.Offset = Vector3.new(0.100000001, 0, 0)
2914o99.Scale = Vector3.new(0.200000003, 1.20000005, 0.5)
2915o100.Name = "Crypted3H"
2916o100.Parent = o1
2917o100.BrickColor = BrickColor.new("Royal purple")
2918o100.Transparency = 0.60000002384186
2919o100.Position = Vector3.new(-94.8007355, 4.98263311, 168.600677)
2920o100.Rotation = Vector3.new(109.361748, -89.9051285, 170.15654)
2921o100.RotVelocity = Vector3.new(1, 1, 1)
2922o100.Velocity = Vector3.new(-0.197988987, 0.30500412, -0.107015133)
2923o100.Anchored = true
2924o100.CanCollide = false
2925o100.FormFactor = Enum.FormFactor.Custom
2926o100.Size = Vector3.new(0.536870897, 0.536870897, 0.536870897)
2927o100.CFrame = CFrame.new(-94.8007355, 4.98263311, 168.600677, -1.94921924e-007, -3.38211237e-008, -0.999998629, -0.848047197, -0.529919863, -1.35684132e-007, -0.52991873, 0.848047256, -4.76801176e-008)
2928o100.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2929o100.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2930o100.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2931o100.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2932o100.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2933o100.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2934o100.Color = Color3.new(0.384314, 0.145098, 0.819608)
2935o100.Position = Vector3.new(-94.8007355, 4.98263311, 168.600677)
2936o101.Name = "Transparency script"
2937o101.Parent = o100
2938table.insert(cors,coroutine.create(function()
2939wait()
2940runDummyScript(function()
2941while true do
2942script.Parent.Transparency = 0.5
2943wait (0.2)
2944script.Parent.Transparency = 0.6
2945wait (0.2)
2946script.Parent.Transparency = 0.7
2947wait (0.2)
2948script.Parent.Transparency = 0.8
2949wait (1)
2950script.Parent.Transparency = 0.7
2951wait (0.2)
2952script.Parent.Transparency = 0.6
2953wait (0.2)
2954script.Parent.Transparency = 0.5
2955wait (.8)
2956end
2957
2958end,o101)
2959end))
2960o102.Parent = o100
2961o102.Offset = Vector3.new(0.100000001, 0, 0)
2962o102.Scale = Vector3.new(0.200000003, 0.800000012, 0.5)
2963o103.Name = "Crypted3H"
2964o103.Parent = o1
2965o103.BrickColor = BrickColor.new("Royal purple")
2966o103.Transparency = 0.60000002384186
2967o103.Position = Vector3.new(-94.8007355, 4.98263311, 168.600677)
2968o103.Rotation = Vector3.new(109.361748, -89.9051285, 171.441193)
2969o103.RotVelocity = Vector3.new(1, 1, 1)
2970o103.Velocity = Vector3.new(-0.197996616, 0.305011749, -0.107015133)
2971o103.Anchored = true
2972o103.CanCollide = false
2973o103.FormFactor = Enum.FormFactor.Custom
2974o103.Size = Vector3.new(0.536870897, 0.536870897, 0.536870897)
2975o103.CFrame = CFrame.new(-94.8007355, 4.98263311, 168.600677, -2.24724246e-007, -3.38211237e-008, -0.999998629, -0.848047137, -0.529919863, -1.35684132e-007, -0.529918551, 0.848047256, -4.76801176e-008)
2976o103.BackSurface = Enum.SurfaceType.SmoothNoOutlines
2977o103.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
2978o103.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
2979o103.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
2980o103.RightSurface = Enum.SurfaceType.SmoothNoOutlines
2981o103.TopSurface = Enum.SurfaceType.SmoothNoOutlines
2982o103.Color = Color3.new(0.384314, 0.145098, 0.819608)
2983o103.Position = Vector3.new(-94.8007355, 4.98263311, 168.600677)
2984o104.Name = "Transparency script"
2985o104.Parent = o103
2986table.insert(cors,coroutine.create(function()
2987wait()
2988runDummyScript(function()
2989while true do
2990script.Parent.Transparency = 0.5
2991wait (0.2)
2992script.Parent.Transparency = 0.6
2993wait (0.2)
2994script.Parent.Transparency = 0.7
2995wait (0.2)
2996script.Parent.Transparency = 0.8
2997wait (1)
2998script.Parent.Transparency = 0.7
2999wait (0.2)
3000script.Parent.Transparency = 0.6
3001wait (0.2)
3002script.Parent.Transparency = 0.5
3003wait (.8)
3004end
3005
3006end,o104)
3007end))
3008o105.Parent = o103
3009o105.Offset = Vector3.new(-0.100000001, 0, 0)
3010o105.Scale = Vector3.new(0.200000003, 0.800000012, 0.5)
3011o106.Name = "EpicEffect"
3012o106.Parent = o1
3013table.insert(cors,coroutine.create(function()
3014wait()
3015runDummyScript(function()
3016Tool = script.Parent
3017gyro = Instance.new("BodyGyro")
3018script.Gyro.Value = gyro
3019
3020onMouseMove=function(mouse)
3021 vCharacter = Tool.Parent
3022 if vCharacter ~= nil then
3023 local tp = vCharacter.Humanoid.TargetPoint
3024 tp = Vector3.new(tp.X,Tool.Parent.Torso.Position.Y,tp.Z)
3025 local dir = (tp - Tool.Parent.Torso.Position).unit
3026 local spawnPos = Tool.Parent.Torso.Position
3027 local pos = spawnPos + (dir * 1000000)
3028 script.Gyro.Value.cframe = CFrame.new(pos, pos + dir)
3029 end
3030end
3031
3032onEquipped=function(mouse)
3033 for i,k in pairs(Tool.Parent.Torso:GetChildren()) do
3034 if k:IsA("BodyGyro") then
3035 k.Parent=nil
3036 end
3037 end
3038 wait(0.1)
3039 script.Gyro.Value.Parent = Tool.Parent:findFirstChild("Torso")
3040 script.Gyro.Value.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
3041 mouse.Move:connect(function() onMouseMove(mouse) end)
3042end
3043
3044onUnequipped=function()
3045 script.Gyro.Value.Parent = nil
3046 wait(0.01)
3047 for i,k in pairs(Tool.Parent.Torso:GetChildren()) do
3048 if k:IsA("BodyGyro") then
3049 k.Parent=nil
3050 end
3051 end
3052end
3053
3054Tool.Equipped:connect(onEquipped)
3055Tool.Unequipped:connect(onUnequipped)
3056end,o106)
3057end))
3058o107.Name = "Gyro"
3059o107.Parent = o106
3060mas.Parent = workspace
3061mas:MakeJoints()
3062local mas1 = mas:GetChildren()
3063for i=1,#mas1 do
3064 mas1[i].Parent = game:GetService("Players").LocalPlayer.Backpack
3065 ypcall(function() mas1[i]:MakeJoints() end)
3066end
3067mas:Destroy()
3068for i=1,#cors do
3069coroutine.resume(cors[i])
3070end