Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Converted with ttyyuu12345's model to script plugin v4
- function sandbox(var,func)
- local env = getfenv(func)
- local newenv = setmetatable({},{
- __index = function(self,k)
- if k=="script" then
- return var
- else
- return env[k]
- end
- end,
- })
- setfenv(func,newenv)
- return func
- end
- cors = {}
- mas = Instance.new("Model",game:GetService("Lighting"))
- Tool0 = Instance.new("Tool")
- Script1 = Instance.new("Script")
- LocalScript2 = Instance.new("LocalScript")
- Part3 = Instance.new("Part")
- SpecialMesh4 = Instance.new("SpecialMesh")
- Sound5 = Instance.new("Sound")
- Sound6 = Instance.new("Sound")
- Sound7 = Instance.new("Sound")
- Sound8 = Instance.new("Sound")
- Sound9 = Instance.new("Sound")
- Sound10 = Instance.new("Sound")
- Sound11 = Instance.new("Sound")
- Sound12 = Instance.new("Sound")
- Sound13 = Instance.new("Sound")
- Sound14 = Instance.new("Sound")
- Sound15 = Instance.new("Sound")
- Sound16 = Instance.new("Sound")
- Weld17 = Instance.new("Weld")
- Weld18 = Instance.new("Weld")
- Weld19 = Instance.new("Weld")
- Weld20 = Instance.new("Weld")
- Weld21 = Instance.new("Weld")
- Weld22 = Instance.new("Weld")
- Weld23 = Instance.new("Weld")
- Weld24 = Instance.new("Weld")
- Weld25 = Instance.new("Weld")
- Weld26 = Instance.new("Weld")
- Weld27 = Instance.new("Weld")
- Weld28 = Instance.new("Weld")
- Weld29 = Instance.new("Weld")
- Weld30 = Instance.new("Weld")
- Weld31 = Instance.new("Weld")
- Weld32 = Instance.new("Weld")
- Sound33 = Instance.new("Sound")
- Sound34 = Instance.new("Sound")
- Sound35 = Instance.new("Sound")
- Weld36 = Instance.new("Weld")
- Weld37 = Instance.new("Weld")
- Weld38 = Instance.new("Weld")
- Weld39 = Instance.new("Weld")
- Weld40 = Instance.new("Weld")
- Weld41 = Instance.new("Weld")
- Weld42 = Instance.new("Weld")
- Weld43 = Instance.new("Weld")
- Sound44 = Instance.new("Sound")
- Sound45 = Instance.new("Sound")
- Sound46 = Instance.new("Sound")
- Sound47 = Instance.new("Sound")
- Weld48 = Instance.new("Weld")
- Weld49 = Instance.new("Weld")
- Weld50 = Instance.new("Weld")
- Weld51 = Instance.new("Weld")
- Sound52 = Instance.new("Sound")
- Sound53 = Instance.new("Sound")
- Sound54 = Instance.new("Sound")
- Weld55 = Instance.new("Weld")
- Weld56 = Instance.new("Weld")
- Weld57 = Instance.new("Weld")
- Weld58 = Instance.new("Weld")
- Weld59 = Instance.new("Weld")
- Weld60 = Instance.new("Weld")
- Weld61 = Instance.new("Weld")
- Weld62 = Instance.new("Weld")
- Weld63 = Instance.new("Weld")
- Weld64 = Instance.new("Weld")
- Weld65 = Instance.new("Weld")
- Weld66 = Instance.new("Weld")
- Weld67 = Instance.new("Weld")
- Weld68 = Instance.new("Weld")
- Weld69 = Instance.new("Weld")
- Weld70 = Instance.new("Weld")
- Weld71 = Instance.new("Weld")
- Weld72 = Instance.new("Weld")
- Weld73 = Instance.new("Weld")
- Weld74 = Instance.new("Weld")
- Weld75 = Instance.new("Weld")
- Weld76 = Instance.new("Weld")
- Weld77 = Instance.new("Weld")
- Weld78 = Instance.new("Weld")
- Weld79 = Instance.new("Weld")
- Weld80 = Instance.new("Weld")
- Weld81 = Instance.new("Weld")
- Weld82 = Instance.new("Weld")
- Weld83 = Instance.new("Weld")
- Weld84 = Instance.new("Weld")
- Weld85 = Instance.new("Weld")
- Weld86 = Instance.new("Weld")
- Weld87 = Instance.new("Weld")
- Weld88 = Instance.new("Weld")
- Weld89 = Instance.new("Weld")
- Weld90 = Instance.new("Weld")
- Weld91 = Instance.new("Weld")
- Weld92 = Instance.new("Weld")
- Weld93 = Instance.new("Weld")
- Weld94 = Instance.new("Weld")
- Sound95 = Instance.new("Sound")
- Sound96 = Instance.new("Sound")
- Sound97 = Instance.new("Sound")
- Weld98 = Instance.new("Weld")
- Weld99 = Instance.new("Weld")
- Weld100 = Instance.new("Weld")
- Weld101 = Instance.new("Weld")
- Script102 = Instance.new("Script")
- Script103 = Instance.new("Script")
- LocalScript104 = Instance.new("LocalScript")
- LocalScript105 = Instance.new("LocalScript")
- LocalScript106 = Instance.new("LocalScript")
- LocalScript107 = Instance.new("LocalScript")
- Script108 = Instance.new("Script")
- Script109 = Instance.new("Script")
- Script110 = Instance.new("Script")
- LocalScript111 = Instance.new("LocalScript")
- Configuration112 = Instance.new("Configuration")
- Animation113 = Instance.new("Animation")
- LocalScript114 = Instance.new("LocalScript")
- Script115 = Instance.new("Script")
- Part116 = Instance.new("Part")
- SpecialMesh117 = Instance.new("SpecialMesh")
- Part118 = Instance.new("Part")
- SpecialMesh119 = Instance.new("SpecialMesh")
- Part120 = Instance.new("Part")
- SpecialMesh121 = Instance.new("SpecialMesh")
- Part122 = Instance.new("Part")
- SpecialMesh123 = Instance.new("SpecialMesh")
- Part124 = Instance.new("Part")
- SpecialMesh125 = Instance.new("SpecialMesh")
- Part126 = Instance.new("Part")
- Part127 = Instance.new("Part")
- SpecialMesh128 = Instance.new("SpecialMesh")
- Camera129 = Instance.new("Camera")
- Part130 = Instance.new("Part")
- SpecialMesh131 = Instance.new("SpecialMesh")
- Part132 = Instance.new("Part")
- Part133 = Instance.new("Part")
- Part134 = Instance.new("Part")
- SpecialMesh135 = Instance.new("SpecialMesh")
- Part136 = Instance.new("Part")
- SpecialMesh137 = Instance.new("SpecialMesh")
- Part138 = Instance.new("Part")
- SpecialMesh139 = Instance.new("SpecialMesh")
- Tool140 = Instance.new("Tool")
- Script141 = Instance.new("Script")
- Script142 = Instance.new("Script")
- LocalScript143 = Instance.new("LocalScript")
- Part144 = Instance.new("Part")
- SpecialMesh145 = Instance.new("SpecialMesh")
- Sound146 = Instance.new("Sound")
- Tool0.Name = "Sword"
- Tool0.Parent = Part2
- Tool0.TextureId = "http://www.roblox.com/asset/?id=128980534"
- Tool0.Grip = CFrame.new(0, 0, -1.70000005, 0, 0, 1, 1, 0, 0, 0, 1, 0)
- Tool0.GripForward = Vector3.new(-1, -0, -0)
- Tool0.GripPos = Vector3.new(0, 0, -1.70000005)
- Tool0.GripRight = Vector3.new(0, 1, 0)
- Tool0.GripUp = Vector3.new(0, 0, 1)
- Script1.Name = "EpicKatanaScript"
- Script1.Parent = Tool0
- table.insert(cors,sandbox(Script1,function()
- -------- OMG HAX
- r = game:service("RunService")
- local sword = script.Parent.Handle
- local Tool = script.Parent
- local damage = 15
- local p = nil
- local humanoid = nil
- local slash_damage = 30
- local lunge_damage = 42
- local regularWalk = 16
- local SlashSound = Instance.new("Sound")
- SlashSound.SoundId = "rbxasset://sounds\\swordslash.wav"
- SlashSound.Parent = sword
- SlashSound.Volume = .7
- local UnsheathSound = Instance.new("Sound")
- UnsheathSound.SoundId = "rbxasset://sounds\\unsheath.wav"
- UnsheathSound.Parent = sword
- UnsheathSound.Volume = 1
- local epicLungeSound = Instance.new("Sound")
- epicLungeSound.SoundId = "http://www.roblox.com/asset/?id=25256253"
- epicLungeSound.Parent = sword
- epicLungeSound.Volume = .8
- function blow(hit)
- local humanoid = hit.Parent:findFirstChild("Humanoid")
- local vCharacter = Tool.Parent
- local vPlayer = game.Players:playerFromCharacter(vCharacter)
- local hum = vCharacter:findFirstChild("Humanoid") -- non-nil if tool held by a character
- if humanoid~=nil and humanoid ~= hum and hum ~= nil then
- -- final check, make sure sword is in-hand
- local right_arm = vCharacter:FindFirstChild("Right Arm")
- if (right_arm ~= nil) then
- local joint = right_arm:FindFirstChild("RightGrip")
- if (joint ~= nil and (joint.Part0 == sword or joint.Part1 == sword)) then
- tagHumanoid(humanoid, vPlayer)
- humanoid:TakeDamage(damage)
- wait(1)
- untagHumanoid(humanoid)
- end
- end
- end
- end
- function tagHumanoid(humanoid, player)
- local creator_tag = Instance.new("ObjectValue")
- creator_tag.Value = player
- creator_tag.Name = "creator"
- creator_tag.Parent = humanoid
- end
- function untagHumanoid(humanoid)
- if humanoid ~= nil then
- local tag = humanoid:findFirstChild("creator")
- if tag ~= nil then
- tag.Parent = nil
- end
- end
- end
- function attack()
- damage = slash_damage
- SlashSound:play()
- local anim = Instance.new("StringValue")
- anim.Name = "toolanim"
- anim.Value = "Slash"
- anim.Parent = Tool
- end
- function lunge()
- damage = lunge_damage
- humanoid.WalkSpeed = regularWalk + 100
- epicLungeSound:play()
- local anim = Instance.new("StringValue")
- anim.Name = "toolanim"
- anim.Value = "Lunge"
- anim.Parent = Tool
- force = Instance.new("BodyVelocity")
- force.velocity = Vector3.new(0,10,0) --Tool.Parent.Torso.CFrame.lookVector * 80
- force.Parent = Tool.Parent.Torso
- wait(.2)
- swordOut()
- wait(.2)
- force.Parent = nil
- wait(.4)
- swordUp()
- humanoid.WalkSpeed = regularWalk + 2
- damage = slash_damage
- end
- function swordUp()
- Tool.GripForward = Vector3.new(-1,0,0)
- Tool.GripRight = Vector3.new(0,1,0)
- Tool.GripUp = Vector3.new(0,0,1)
- end
- function swordOut()
- Tool.GripForward = Vector3.new(0,0,1)
- Tool.GripRight = Vector3.new(0,1,0)
- Tool.GripUp = Vector3.new(1,0,0)
- end
- function swordAcross()
- -- parry
- end
- Tool.Enabled = true
- local last_attack = 0
- function onActivated()
- if not Tool.Enabled then
- return
- end
- Tool.Enabled = false
- local character = Tool.Parent;
- local humanoid = character.Humanoid
- if humanoid == nil then
- print("Humanoid not found")
- return
- end
- t = r.Stepped:wait()
- if (t - last_attack < .2) then
- lunge()
- else
- attack()
- end
- last_attack = t
- --wait(.5)
- Tool.Enabled = true
- end
- function onEquipped()
- humanoid = Tool.Parent:FindFirstChild("Humanoid")
- UnsheathSound:play()
- humanoid.WalkSpeed = regularWalk + 2
- p = game.Players:GetPlayerFromCharacter(Tool.Parent)
- end
- function empty()
- end
- function onUnequipped()
- humanoid.WalkSpeed = regularWalk
- end
- Tool.Unequipped:connect(onUnequipped)
- script.Parent.Activated:connect(onActivated)
- script.Parent.Equipped:connect(onEquipped)
- connection = sword.Touched:connect(blow)
- end))
- LocalScript2.Name = "Local Gui"
- LocalScript2.Parent = Tool0
- LocalScript2.LinkedSource = "http://www.roblox.com/asset/?id=1014476"
- Part3.Name = "Handle"
- Part3.Parent = Tool0
- Part3.CFrame = CFrame.new(-28.9071503, 2.41795707, -15.5716238, -0.49999994, 0.707106829, 0.500000119, 0.707106948, 0, 0.707106709, 0.49999994, 0.707106829, -0.500000119)
- Part3.Orientation = Vector3.new(-45, 135, 90)
- Part3.Position = Vector3.new(-28.9071503, 2.41795707, -15.5716238)
- Part3.Rotation = Vector3.new(-125.259995, 30, -125.259995)
- Part3.Color = Color3.new(0.972549, 0.972549, 0.972549)
- Part3.Size = Vector3.new(1, 1, 5)
- Part3.BottomSurface = Enum.SurfaceType.Smooth
- Part3.BrickColor = BrickColor.new("Institutional white")
- Part3.CanCollide = false
- Part3.Material = Enum.Material.Neon
- Part3.TopSurface = Enum.SurfaceType.Smooth
- Part3.brickColor = BrickColor.new("Institutional white")
- Part3.FormFactor = Enum.FormFactor.Custom
- Part3.formFactor = Enum.FormFactor.Custom
- SpecialMesh4.Parent = Part3
- SpecialMesh4.MeshId = "http://www.roblox.com/asset/?id=11442510"
- SpecialMesh4.Scale = Vector3.new(1.70000005, 1.70000005, 1.70000005)
- SpecialMesh4.VertexColor = Vector3.new(0, 0, 0)
- SpecialMesh4.TextureId = "http://www.roblox.com/asset/?id=11442524"
- SpecialMesh4.MeshType = Enum.MeshType.FileMesh
- Sound5.Parent = Part3
- Sound5.SoundId = "rbxasset://sounds/swordslash.wav"
- Sound5.Volume = 0.69999998807907
- Sound6.Parent = Part3
- Sound6.SoundId = "rbxasset://sounds/swordlunge.wav"
- Sound6.Volume = 0.60000002384186
- Sound7.Parent = Part3
- Sound7.SoundId = "rbxasset://sounds/unsheath.wav"
- Sound7.Volume = 1
- Sound8.Parent = Part3
- Sound8.SoundId = "rbxasset://sounds/swordslash.wav"
- Sound8.Volume = 0.69999998807907
- Sound9.Parent = Part3
- Sound9.SoundId = "rbxasset://sounds/unsheath.wav"
- Sound9.Volume = 1
- Sound10.Parent = Part3
- Sound10.SoundId = "http://www.roblox.com/asset/?id=25256253"
- Sound10.Volume = 0.80000001192093
- Sound11.Parent = Part3
- Sound11.SoundId = "rbxasset://sounds/swordslash.wav"
- Sound11.Volume = 0.69999998807907
- Sound12.Parent = Part3
- Sound12.SoundId = "rbxasset://sounds/unsheath.wav"
- Sound12.Volume = 1
- Sound13.Parent = Part3
- Sound13.SoundId = "http://www.roblox.com/asset/?id=25256253"
- Sound13.Volume = 0.80000001192093
- Sound14.Parent = Part3
- Sound14.SoundId = "rbxasset://sounds/swordslash.wav"
- Sound14.Volume = 0.69999998807907
- Sound15.Parent = Part3
- Sound15.SoundId = "rbxasset://sounds/unsheath.wav"
- Sound15.Volume = 1
- Sound16.Parent = Part3
- Sound16.SoundId = "http://www.roblox.com/asset/?id=25256253"
- Sound16.Volume = 0.80000001192093
- Weld17.Parent = Part3
- Weld17.C0 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
- Weld17.C1 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
- Weld17.Part0 = Part3
- Weld17.Part1 = Part3
- Weld17.part1 = Part3
- Weld18.Parent = Part3
- Weld18.C0 = CFrame.new(0, 0, 0, 0.999994993, -0.00316606695, 3.08557646e-05, 2.05273973e-05, -0.00326228142, -0.999994755, 0.00316615077, 0.999989748, -0.00326228142)
- Weld18.C1 = CFrame.new(0, 0, 0, 0.999994993, -0.00316606695, 3.08557646e-05, 2.05273973e-05, -0.00326228142, -0.999994755, 0.00316615077, 0.999989748, -0.00326228142)
- Weld18.Part0 = Part3
- Weld18.Part1 = Part3
- Weld18.part1 = Part3
- Weld19.Parent = Part3
- Weld19.C0 = CFrame.new(0, 0, 0, 0.999994993, -0.00316606695, 3.08557646e-05, 2.05273973e-05, -0.00326228142, -0.999994755, 0.00316615077, 0.999989748, -0.00326228142)
- Weld19.C1 = CFrame.new(0, 0, 0, 0.999994993, -0.00316606695, 3.08557646e-05, 2.05273973e-05, -0.00326228142, -0.999994755, 0.00316615077, 0.999989748, -0.00326228142)
- Weld19.Part0 = Part3
- Weld19.Part1 = Part3
- Weld19.part1 = Part3
- Weld20.Parent = Part3
- Weld20.C0 = CFrame.new(0, 0, 0, 0.999994993, -0.00316606695, 3.08557646e-05, 2.05273973e-05, -0.00326228142, -0.999994755, 0.00316615077, 0.999989748, -0.00326228142)
- Weld20.C1 = CFrame.new(0, 0, 0, 0.999994993, -0.00316606695, 3.08557646e-05, 2.05273973e-05, -0.00326228142, -0.999994755, 0.00316615077, 0.999989748, -0.00326228142)
- Weld20.Part0 = Part3
- Weld20.Part1 = Part3
- Weld20.part1 = Part3
- Weld21.Parent = Part3
- Weld21.C0 = CFrame.new(0, 0, 0, 0.999994993, -0.00316606695, 3.08557646e-05, 2.05273973e-05, -0.00326228142, -0.999994755, 0.00316615077, 0.999989748, -0.00326228142)
- Weld21.C1 = CFrame.new(0, 0, 0, 0.999994993, -0.00316606695, 3.08557646e-05, 2.05273973e-05, -0.00326228142, -0.999994755, 0.00316615077, 0.999989748, -0.00326228142)
- Weld21.Part0 = Part3
- Weld21.Part1 = Part3
- Weld21.part1 = Part3
- Weld22.Parent = Part3
- Weld22.C0 = CFrame.new(0, 0, 0, 0.99999994, 0.000299034087, -7.58903407e-05, -7.61623596e-05, 0.000909805298, -0.999999523, -0.000298964937, 0.999999523, 0.000909864902)
- Weld22.C1 = CFrame.new(0, 0, 0, 0.99999994, 0.000299034087, -7.58903407e-05, -7.61623596e-05, 0.000909805298, -0.999999523, -0.000298964937, 0.999999523, 0.000909864902)
- Weld22.Part0 = Part3
- Weld22.Part1 = Part3
- Weld22.part1 = Part3
- Weld23.Parent = Part3
- Weld23.C0 = CFrame.new(0, 0, 0, 0.99999994, 0.000299034087, -7.58903407e-05, -7.61623596e-05, 0.000909805298, -0.999999523, -0.000298964937, 0.999999523, 0.000909864902)
- Weld23.C1 = CFrame.new(0, 0, 0, 0.99999994, 0.000299034087, -7.58903407e-05, -7.61623596e-05, 0.000909805298, -0.999999523, -0.000298964937, 0.999999523, 0.000909864902)
- Weld23.Part0 = Part3
- Weld23.Part1 = Part3
- Weld23.part1 = Part3
- Weld24.Parent = Part3
- Weld24.C0 = CFrame.new(0, 0, 0, 0.99999994, 0.000299034087, -7.58903407e-05, -7.61623596e-05, 0.000909805298, -0.999999523, -0.000298964937, 0.999999523, 0.000909864902)
- Weld24.C1 = CFrame.new(0, 0, 0, 0.99999994, 0.000299034087, -7.58903407e-05, -7.61623596e-05, 0.000909805298, -0.999999523, -0.000298964937, 0.999999523, 0.000909864902)
- Weld24.Part0 = Part3
- Weld24.Part1 = Part3
- Weld24.part1 = Part3
- Weld25.Parent = Part3
- Weld25.C0 = CFrame.new(0, 0, 0, 0.99999994, 0.000299034087, -7.58903407e-05, -7.61623596e-05, 0.000909805298, -0.999999523, -0.000298964937, 0.999999523, 0.000909864902)
- Weld25.C1 = CFrame.new(0, 0, 0, 0.99999994, 0.000299034087, -7.58903407e-05, -7.61623596e-05, 0.000909805298, -0.999999523, -0.000298964937, 0.999999523, 0.000909864902)
- Weld25.Part0 = Part3
- Weld25.Part1 = Part3
- Weld25.part1 = Part3
- Weld26.Parent = Part3
- Weld26.C0 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
- Weld26.C1 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
- Weld26.Part0 = Part3
- Weld26.Part1 = Part3
- Weld26.part1 = Part3
- Weld27.Parent = Part3
- Weld27.C0 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
- Weld27.C1 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
- Weld27.Part0 = Part3
- Weld27.Part1 = Part3
- Weld27.part1 = Part3
- Weld28.Parent = Part3
- Weld28.C0 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
- Weld28.C1 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
- Weld28.Part0 = Part3
- Weld28.Part1 = Part3
- Weld28.part1 = Part3
- Weld29.Parent = Part3
- Weld29.C0 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
- Weld29.C1 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
- Weld29.Part0 = Part3
- Weld29.Part1 = Part3
- Weld29.part1 = Part3
- Weld30.Parent = Part3
- Weld30.C0 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
- Weld30.C1 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
- Weld30.Part0 = Part3
- Weld30.Part1 = Part3
- Weld30.part1 = Part3
- Weld31.Parent = Part3
- Weld31.C0 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
- Weld31.C1 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
- Weld31.Part0 = Part3
- Weld31.Part1 = Part3
- Weld31.part1 = Part3
- Weld32.Parent = Part3
- Weld32.C0 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
- Weld32.C1 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
- Weld32.Part0 = Part3
- Weld32.Part1 = Part3
- Weld32.part1 = Part3
- Sound33.Parent = Part3
- Sound33.SoundId = "rbxasset://sounds/swordslash.wav"
- Sound33.Volume = 0.69999998807907
- Sound34.Parent = Part3
- Sound34.SoundId = "rbxasset://sounds/unsheath.wav"
- Sound34.Volume = 1
- Sound35.Parent = Part3
- Sound35.SoundId = "http://www.roblox.com/asset/?id=25256253"
- Sound35.Volume = 0.80000001192093
- Weld36.Parent = Part3
- Weld36.C0 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
- Weld36.C1 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
- Weld36.Part0 = Part3
- Weld36.Part1 = Part3
- Weld36.part1 = Part3
- Weld37.Parent = Part3
- Weld37.C0 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
- Weld37.C1 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
- Weld37.Part0 = Part3
- Weld37.Part1 = Part3
- Weld37.part1 = Part3
- Weld38.Parent = Part3
- Weld38.C0 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
- Weld38.C1 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
- Weld38.Part0 = Part3
- Weld38.Part1 = Part3
- Weld38.part1 = Part3
- Weld39.Parent = Part3
- Weld39.C0 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
- Weld39.C1 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
- Weld39.Part0 = Part3
- Weld39.Part1 = Part3
- Weld39.part1 = Part3
- Weld40.Parent = Part3
- Weld40.C0 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
- Weld40.C1 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
- Weld40.Part0 = Part3
- Weld40.Part1 = Part3
- Weld40.part1 = Part3
- Weld41.Parent = Part3
- Weld41.C0 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
- Weld41.C1 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
- Weld41.Part0 = Part3
- Weld41.Part1 = Part3
- Weld41.part1 = Part3
- Weld42.Parent = Part3
- Weld42.C0 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
- Weld42.C1 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
- Weld42.Part0 = Part3
- Weld42.Part1 = Part3
- Weld42.part1 = Part3
- Weld43.Parent = Part3
- Weld43.C0 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
- Weld43.C1 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
- Weld43.Part0 = Part3
- Weld43.Part1 = Part3
- Weld43.part1 = Part3
- Sound44.Name = "SummonSound"
- Sound44.Parent = Part3
- Sound44.Pitch = 4
- Sound44.PlaybackSpeed = 4
- Sound44.SoundId = "http://www.roblox.com/Asset?ID=128912290"
- Sound44.Volume = 1
- Sound45.Parent = Part3
- Sound45.SoundId = "rbxasset://sounds/swordslash.wav"
- Sound45.Volume = 0.69999998807907
- Sound46.Parent = Part3
- Sound46.SoundId = "rbxasset://sounds/unsheath.wav"
- Sound46.Volume = 1
- Sound47.Parent = Part3
- Sound47.SoundId = "http://www.roblox.com/asset/?id=25256253"
- Sound47.Volume = 0.80000001192093
- Weld48.Parent = Part3
- Weld48.C0 = CFrame.new(0, 0, 0, -0.999723673, 0.00456489529, 0.0230577849, -0.00456393417, -0.99998951, 9.42968181e-05, 0.0230579749, -1.09634493e-05, 0.999734104)
- Weld48.C1 = CFrame.new(0, 0, 0, -0.999723673, 0.00456489529, 0.0230577849, -0.00456393417, -0.99998951, 9.42968181e-05, 0.0230579749, -1.09634493e-05, 0.999734104)
- Weld48.Part0 = Part3
- Weld48.Part1 = Part3
- Weld48.part1 = Part3
- Weld49.Parent = Part3
- Weld49.C0 = CFrame.new(0, 0, 0, -0.999723673, 0.00456489529, 0.0230577849, -0.00456393417, -0.99998951, 9.42968181e-05, 0.0230579749, -1.09634493e-05, 0.999734104)
- Weld49.C1 = CFrame.new(0, 0, 0, -0.999723673, 0.00456489529, 0.0230577849, -0.00456393417, -0.99998951, 9.42968181e-05, 0.0230579749, -1.09634493e-05, 0.999734104)
- Weld49.Part0 = Part3
- Weld49.Part1 = Part3
- Weld49.part1 = Part3
- Weld50.Parent = Part3
- Weld50.C0 = CFrame.new(0, 0, 0, -0.999723673, 0.00456489529, 0.0230577849, -0.00456393417, -0.99998951, 9.42968181e-05, 0.0230579749, -1.09634493e-05, 0.999734104)
- Weld50.C1 = CFrame.new(0, 0, 0, -0.999723673, 0.00456489529, 0.0230577849, -0.00456393417, -0.99998951, 9.42968181e-05, 0.0230579749, -1.09634493e-05, 0.999734104)
- Weld50.Part0 = Part3
- Weld50.Part1 = Part3
- Weld50.part1 = Part3
- Weld51.Parent = Part3
- Weld51.C0 = CFrame.new(0, 0, 0, -0.999723673, 0.00456489529, 0.0230577849, -0.00456393417, -0.99998951, 9.42968181e-05, 0.0230579749, -1.09634493e-05, 0.999734104)
- Weld51.C1 = CFrame.new(0, 0, 0, -0.999723673, 0.00456489529, 0.0230577849, -0.00456393417, -0.99998951, 9.42968181e-05, 0.0230579749, -1.09634493e-05, 0.999734104)
- Weld51.Part0 = Part3
- Weld51.Part1 = Part3
- Weld51.part1 = Part3
- Sound52.Parent = Part3
- Sound52.SoundId = "rbxasset://sounds/swordslash.wav"
- Sound52.Volume = 0.69999998807907
- Sound53.Parent = Part3
- Sound53.SoundId = "rbxasset://sounds/unsheath.wav"
- Sound53.Volume = 1
- Sound54.Parent = Part3
- Sound54.SoundId = "http://www.roblox.com/asset/?id=25256253"
- Sound54.Volume = 0.80000001192093
- Weld55.Parent = Part3
- Weld55.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
- Weld55.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
- Weld55.Part0 = Part3
- Weld55.Part1 = Part3
- Weld55.part1 = Part3
- Weld56.Parent = Part3
- Weld56.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
- Weld56.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
- Weld56.Part0 = Part3
- Weld56.Part1 = Part3
- Weld56.part1 = Part3
- Weld57.Parent = Part3
- Weld57.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
- Weld57.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
- Weld57.Part0 = Part3
- Weld57.Part1 = Part3
- Weld57.part1 = Part3
- Weld58.Parent = Part3
- Weld58.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
- Weld58.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
- Weld58.Part0 = Part3
- Weld58.Part1 = Part3
- Weld58.part1 = Part3
- Weld59.Parent = Part3
- Weld59.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
- Weld59.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
- Weld59.Part0 = Part3
- Weld59.Part1 = Part3
- Weld59.part1 = Part3
- Weld60.Parent = Part3
- Weld60.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
- Weld60.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
- Weld60.Part0 = Part3
- Weld60.Part1 = Part3
- Weld60.part1 = Part3
- Weld61.Parent = Part3
- Weld61.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
- Weld61.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
- Weld61.Part0 = Part3
- Weld61.Part1 = Part3
- Weld61.part1 = Part3
- Weld62.Parent = Part3
- Weld62.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
- Weld62.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
- Weld62.Part0 = Part3
- Weld62.Part1 = Part3
- Weld62.part1 = Part3
- Weld63.Parent = Part3
- Weld63.C0 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
- Weld63.C1 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
- Weld63.Part0 = Part3
- Weld63.Part1 = Part3
- Weld63.part1 = Part3
- Weld64.Parent = Part3
- Weld64.C0 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
- Weld64.C1 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
- Weld64.Part0 = Part3
- Weld64.Part1 = Part3
- Weld64.part1 = Part3
- Weld65.Parent = Part3
- Weld65.C0 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
- Weld65.C1 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
- Weld65.Part0 = Part3
- Weld65.Part1 = Part3
- Weld65.part1 = Part3
- Weld66.Parent = Part3
- Weld66.C0 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
- Weld66.C1 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
- Weld66.Part0 = Part3
- Weld66.Part1 = Part3
- Weld66.part1 = Part3
- Weld67.Parent = Part3
- Weld67.C0 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
- Weld67.C1 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
- Weld67.Part0 = Part3
- Weld67.Part1 = Part3
- Weld67.part1 = Part3
- Weld68.Parent = Part3
- Weld68.C0 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
- Weld68.C1 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
- Weld68.Part0 = Part3
- Weld68.Part1 = Part3
- Weld68.part1 = Part3
- Weld69.Parent = Part3
- Weld69.C0 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
- Weld69.C1 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
- Weld69.Part0 = Part3
- Weld69.Part1 = Part3
- Weld69.part1 = Part3
- Weld70.Parent = Part3
- Weld70.C0 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
- Weld70.C1 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
- Weld70.Part0 = Part3
- Weld70.Part1 = Part3
- Weld70.part1 = Part3
- Weld71.Parent = Part3
- Weld71.C0 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
- Weld71.C1 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
- Weld71.Part0 = Part3
- Weld71.Part1 = Part3
- Weld71.part1 = Part3
- Weld72.Parent = Part3
- Weld72.C0 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
- Weld72.C1 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
- Weld72.Part0 = Part3
- Weld72.Part1 = Part3
- Weld72.part1 = Part3
- Weld73.Parent = Part3
- Weld73.C0 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
- Weld73.C1 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
- Weld73.Part0 = Part3
- Weld73.Part1 = Part3
- Weld73.part1 = Part3
- Weld74.Parent = Part3
- Weld74.C0 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
- Weld74.C1 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
- Weld74.Part0 = Part3
- Weld74.Part1 = Part3
- Weld74.part1 = Part3
- Weld75.Parent = Part3
- Weld75.C0 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
- Weld75.C1 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
- Weld75.Part0 = Part3
- Weld75.Part1 = Part3
- Weld75.part1 = Part3
- Weld76.Parent = Part3
- Weld76.C0 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
- Weld76.C1 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
- Weld76.Part0 = Part3
- Weld76.Part1 = Part3
- Weld76.part1 = Part3
- Weld77.Parent = Part3
- Weld77.C0 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
- Weld77.C1 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
- Weld77.Part0 = Part3
- Weld77.Part1 = Part3
- Weld77.part1 = Part3
- Weld78.Parent = Part3
- Weld78.C0 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
- Weld78.C1 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
- Weld78.Part0 = Part3
- Weld78.Part1 = Part3
- Weld78.part1 = Part3
- Weld79.Parent = Part3
- Weld79.C0 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
- Weld79.C1 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
- Weld79.Part0 = Part3
- Weld79.Part1 = Part3
- Weld79.part1 = Part3
- Weld80.Parent = Part3
- Weld80.C0 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
- Weld80.C1 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
- Weld80.Part0 = Part3
- Weld80.Part1 = Part3
- Weld80.part1 = Part3
- Weld81.Parent = Part3
- Weld81.C0 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
- Weld81.C1 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
- Weld81.Part0 = Part3
- Weld81.Part1 = Part3
- Weld81.part1 = Part3
- Weld82.Parent = Part3
- Weld82.C0 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
- Weld82.C1 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
- Weld82.Part0 = Part3
- Weld82.Part1 = Part3
- Weld82.part1 = Part3
- Weld83.Parent = Part3
- Weld83.C0 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
- Weld83.C1 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
- Weld83.Part0 = Part3
- Weld83.Part1 = Part3
- Weld83.part1 = Part3
- Weld84.Parent = Part3
- Weld84.C0 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
- Weld84.C1 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
- Weld84.Part0 = Part3
- Weld84.Part1 = Part3
- Weld84.part1 = Part3
- Weld85.Parent = Part3
- Weld85.C0 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
- Weld85.C1 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
- Weld85.Part0 = Part3
- Weld85.Part1 = Part3
- Weld85.part1 = Part3
- Weld86.Parent = Part3
- Weld86.C0 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
- Weld86.C1 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
- Weld86.Part0 = Part3
- Weld86.Part1 = Part3
- Weld86.part1 = Part3
- Weld87.Parent = Part3
- Weld87.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
- Weld87.C1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
- Weld87.Part0 = Part3
- Weld87.Part1 = Part3
- Weld87.part1 = Part3
- Weld88.Parent = Part3
- Weld88.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
- Weld88.C1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
- Weld88.Part0 = Part3
- Weld88.Part1 = Part3
- Weld88.part1 = Part3
- Weld89.Parent = Part3
- Weld89.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
- Weld89.C1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
- Weld89.Part0 = Part3
- Weld89.Part1 = Part3
- Weld89.part1 = Part3
- Weld90.Parent = Part3
- Weld90.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
- Weld90.C1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
- Weld90.Part0 = Part3
- Weld90.Part1 = Part3
- Weld90.part1 = Part3
- Weld91.Parent = Part3
- Weld91.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
- Weld91.C1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
- Weld91.Part0 = Part3
- Weld91.Part1 = Part3
- Weld91.part1 = Part3
- Weld92.Parent = Part3
- Weld92.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
- Weld92.C1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
- Weld92.Part0 = Part3
- Weld92.Part1 = Part3
- Weld92.part1 = Part3
- Weld93.Parent = Part3
- Weld93.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
- Weld93.C1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
- Weld93.Part0 = Part3
- Weld93.Part1 = Part3
- Weld93.part1 = Part3
- Weld94.Parent = Part3
- Weld94.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
- Weld94.C1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
- Weld94.Part0 = Part3
- Weld94.Part1 = Part3
- Weld94.part1 = Part3
- Sound95.Parent = Part3
- Sound95.SoundId = "rbxasset://sounds/swordslash.wav"
- Sound95.Volume = 0.69999998807907
- Sound96.Parent = Part3
- Sound96.SoundId = "rbxasset://sounds/unsheath.wav"
- Sound96.Volume = 1
- Sound97.Parent = Part3
- Sound97.SoundId = "http://www.roblox.com/asset/?id=25256253"
- Sound97.Volume = 0.80000001192093
- Weld98.Parent = Part3
- Weld98.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
- Weld98.C1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
- Weld98.Part0 = Part3
- Weld98.Part1 = Part3
- Weld98.part1 = Part3
- Weld99.Parent = Part3
- Weld99.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
- Weld99.C1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
- Weld99.Part0 = Part3
- Weld99.Part1 = Part3
- Weld99.part1 = Part3
- Weld100.Parent = Part3
- Weld100.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
- Weld100.C1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
- Weld100.Part0 = Part3
- Weld100.Part1 = Part3
- Weld100.part1 = Part3
- Weld101.Parent = Part3
- Weld101.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
- Weld101.C1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
- Weld101.Part0 = Part3
- Weld101.Part1 = Part3
- Weld101.part1 = Part3
- Script102.Name = "Welding"
- Script102.Parent = Tool0
- table.insert(cors,sandbox(Script102,function()
- function Weld(x,y)
- local W = Instance.new("Weld")
- W.Part0 = x
- W.Part1 = y
- local CJ = CFrame.new(x.Position)
- local C0 = x.CFrame:inverse()*CJ
- local C1 = y.CFrame:inverse()*CJ
- W.C0 = C0
- W.C1 = C1
- W.Parent = x
- end
- function Get(A)
- if A.className == "Part" then
- Weld(script.Parent.Handle, A)
- A.Anchored = false
- else
- local C = A:GetChildren()
- for i=1, #C do
- Get(C[i])
- end
- end
- end
- function Finale()
- Get(script.Parent)
- end
- script.Parent.Equipped:connect(Finale)
- script.Parent.Unequipped:connect(Finale)
- Finale()
- end))
- Script103.Name = "Welding"
- Script103.Parent = Tool0
- table.insert(cors,sandbox(Script103,function()
- function Weld(x,y)
- local W = Instance.new("Weld")
- W.Part0 = x
- W.Part1 = y
- local CJ = CFrame.new(x.Position)
- local C0 = x.CFrame:inverse()*CJ
- local C1 = y.CFrame:inverse()*CJ
- W.C0 = C0
- W.C1 = C1
- W.Parent = x
- end
- function Get(A)
- if A.className == "Part" then
- Weld(script.Parent.Handle, A)
- A.Anchored = false
- else
- local C = A:GetChildren()
- for i=1, #C do
- Get(C[i])
- end
- end
- end
- function Finale()
- Get(script.Parent)
- end
- script.Parent.Equipped:connect(Finale)
- script.Parent.Unequipped:connect(Finale)
- Finale()
- end))
- LocalScript104.Name = "BackupWeld"
- LocalScript104.Parent = Tool0
- table.insert(cors,sandbox(LocalScript104,function()
- function Weld(x,y)
- local W = Instance.new("Weld")
- W.Part0 = x
- W.Part1 = y
- local CJ = CFrame.new(x.Position)
- local C0 = x.CFrame:inverse()*CJ
- local C1 = y.CFrame:inverse()*CJ
- W.C0 = C0
- W.C1 = C1
- W.Parent = x
- end
- function Get(A)
- if A.className == "Part" then
- Weld(script.Parent.Handle, A)
- A.Anchored = false
- else
- local C = A:GetChildren()
- for i=1, #C do
- Get(C[i])
- end
- end
- end
- function Finale()
- Get(script.Parent)
- end
- script.Parent.Equipped:connect(Finale)
- script.Parent.Unequipped:connect(Finale)
- Finale()
- end))
- LocalScript105.Name = "BackupWeld"
- LocalScript105.Parent = Tool0
- table.insert(cors,sandbox(LocalScript105,function()
- function Weld(x,y)
- local W = Instance.new("Weld")
- W.Part0 = x
- W.Part1 = y
- local CJ = CFrame.new(x.Position)
- local C0 = x.CFrame:inverse()*CJ
- local C1 = y.CFrame:inverse()*CJ
- W.C0 = C0
- W.C1 = C1
- W.Parent = x
- end
- function Get(A)
- if A.className == "Part" then
- Weld(script.Parent.Handle, A)
- A.Anchored = false
- else
- local C = A:GetChildren()
- for i=1, #C do
- Get(C[i])
- end
- end
- end
- function Finale()
- Get(script.Parent)
- end
- script.Parent.Equipped:connect(Finale)
- script.Parent.Unequipped:connect(Finale)
- Finale()
- end))
- LocalScript106.Name = "BackupWeld"
- LocalScript106.Parent = Tool0
- table.insert(cors,sandbox(LocalScript106,function()
- function Weld(x,y)
- local W = Instance.new("Weld")
- W.Part0 = x
- W.Part1 = y
- local CJ = CFrame.new(x.Position)
- local C0 = x.CFrame:inverse()*CJ
- local C1 = y.CFrame:inverse()*CJ
- W.C0 = C0
- W.C1 = C1
- W.Parent = x
- end
- function Get(A)
- if A.className == "Part" then
- Weld(script.Parent.Handle, A)
- A.Anchored = false
- else
- local C = A:GetChildren()
- for i=1, #C do
- Get(C[i])
- end
- end
- end
- function Finale()
- Get(script.Parent)
- end
- script.Parent.Equipped:connect(Finale)
- script.Parent.Unequipped:connect(Finale)
- Finale()
- end))
- LocalScript107.Name = "BackupWeld"
- LocalScript107.Parent = Tool0
- table.insert(cors,sandbox(LocalScript107,function()
- function Weld(x,y)
- local W = Instance.new("Weld")
- W.Part0 = x
- W.Part1 = y
- local CJ = CFrame.new(x.Position)
- local C0 = x.CFrame:inverse()*CJ
- local C1 = y.CFrame:inverse()*CJ
- W.C0 = C0
- W.C1 = C1
- W.Parent = x
- end
- function Get(A)
- if A.className == "Part" then
- Weld(script.Parent.Handle, A)
- A.Anchored = false
- else
- local C = A:GetChildren()
- for i=1, #C do
- Get(C[i])
- end
- end
- end
- function Finale()
- Get(script.Parent)
- end
- script.Parent.Equipped:connect(Finale)
- script.Parent.Unequipped:connect(Finale)
- Finale()
- end))
- Script108.Name = "Welding"
- Script108.Parent = Tool0
- table.insert(cors,sandbox(Script108,function()
- function Weld(x,y)
- local W = Instance.new("Weld")
- W.Part0 = x
- W.Part1 = y
- local CJ = CFrame.new(x.Position)
- local C0 = x.CFrame:inverse()*CJ
- local C1 = y.CFrame:inverse()*CJ
- W.C0 = C0
- W.C1 = C1
- W.Parent = x
- end
- function Get(A)
- if A.className == "Part" then
- Weld(script.Parent.Handle, A)
- A.Anchored = false
- else
- local C = A:GetChildren()
- for i=1, #C do
- Get(C[i])
- end
- end
- end
- function Finale()
- Get(script.Parent)
- end
- script.Parent.Equipped:connect(Finale)
- script.Parent.Unequipped:connect(Finale)
- Finale()
- end))
- Script109.Name = "Welding"
- Script109.Parent = Tool0
- table.insert(cors,sandbox(Script109,function()
- function Weld(x,y)
- local W = Instance.new("Weld")
- W.Part0 = x
- W.Part1 = y
- local CJ = CFrame.new(x.Position)
- local C0 = x.CFrame:inverse()*CJ
- local C1 = y.CFrame:inverse()*CJ
- W.C0 = C0
- W.C1 = C1
- W.Parent = x
- end
- function Get(A)
- if A.className == "Part" then
- Weld(script.Parent.Handle, A)
- A.Anchored = false
- else
- local C = A:GetChildren()
- for i=1, #C do
- Get(C[i])
- end
- end
- end
- function Finale()
- Get(script.Parent)
- end
- script.Parent.Equipped:connect(Finale)
- script.Parent.Unequipped:connect(Finale)
- Finale()
- end))
- Script110.Name = "Damage"
- Script110.Parent = Tool0
- table.insert(cors,sandbox(Script110,function()
- local function Create(ty)
- return function(data)
- local obj = Instance.new(ty)
- for k, v in pairs(data) do
- if type(k) == 'number' then
- v.Parent = obj
- else
- obj[k] = v
- end
- end
- return obj
- end
- end
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- -- Tiny Event Manager; Add: [[Event.EventName = (event)]]; Remove: [[Disconnect("EventName",...)]]
- local Event = {}
- local function Disconnect(...)
- for _,name in pairs{...} do
- if Event[name] then
- Event[name]:disconnect()
- Event[name] = nil
- end
- end
- end
- -- get an object; make it if it doesn't exist
- local function GetMake(parent,name,type)
- local object = parent:FindFirstChild(name)
- if not object then
- object = Create(type){Name=name}
- object.Parent = parent
- end
- return object
- end
- -- wait until child exists; return child
- local function WaitForChild(parent,name)
- while not parent:FindFirstChild(name) do
- parent.ChildAdded:wait()
- end
- return parent:FindFirstChild(name)
- end
- -- get a sibling humanoid of object; by humanoid, not by name
- local function GetHumanoid(object)
- if object and object.Parent then
- for i,v in pairs(object.Parent:GetChildren()) do
- if v:IsA"Humanoid" then
- return v
- end
- end
- end
- return nil
- end
- -- get the parent character from an object; verified by GetHumanoid
- local function GetCharacter(object)
- local humanoid = GetHumanoid(object)
- if humanoid then
- return object.Parent,humanoid
- end
- return nil
- end
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- local Players = Game:GetService("Players")
- local Debris = Game:GetService("Debris")
- local Tool = script.Parent
- local DamageBin = WaitForChild(Tool,"DamageBin")
- Tool.Equipped:connect(function()
- local Character,Humanoid = GetCharacter(Tool)
- local Player = Players:GetPlayerFromCharacter(Character)
- Event.DamageBin = DamageBin.ChildAdded:connect(function(dtag)
- if dtag:IsA"ObjectValue" then
- local humanoid = dtag.Value
- local damage = tonumber(dtag.Name)
- if humanoid and damage then
- local ctag = Create'ObjectValue'{
- Name = "creator";
- Value = Player;
- }
- ctag.Parent = humanoid
- humanoid:TakeDamage(damage)
- Debris:AddItem(ctag,1)
- Debris:AddItem(dtag,1)
- end
- end
- end)
- end)
- Tool.Unequipped:connect(function()
- Disconnect("DamageBin")
- end)
- end))
- LocalScript111.Name = "Main"
- LocalScript111.Parent = Tool0
- table.insert(cors,sandbox(LocalScript111,function()
- local function class(name)
- local def = {}
- getfenv(0)[name] = def
- return function(ctor, static)
- local nctor = function(...)
- local this = {}
- if ctor then
- ctor(this, ...)
- end
- return this
- end
- getfenv(0)['Create'..name] = nctor
- if static then static(def) end
- end
- end
- local function Create(ty)
- return function(data)
- local obj = Instance.new(ty)
- for k, v in pairs(data) do
- if type(k) == 'number' then
- v.Parent = obj
- else
- obj[k] = v
- end
- end
- return obj
- end
- end
- --[[----------------------------------------------------------------------------
- AnimationProvider
- Manages animations.
- CreateAnimationProvider(animations)
- Returns a new AnimationProvider instance.
- `animations` is a table containing identity/asset_id pairs.
- `asset_id` may be a string (Content) or an integer.
- AnimationProvider:LoadHumanoid(humanoid)
- Loads the animations into `humanoid`.
- AnimationProvider:GetAnimation(identity)
- Returns an AnimationTrack.
- May only be called after LoadHumanoid.
- AnimationProvider:StopAnimations()
- Stops all animations.
- ]]
- class'AnimationProvider'(function(def,anim_ids)
- local animations = {}
- local animationTracks = {}
- local catcherCallbacks = {}
- local keyframeCatchers = {}
- local workingHumanoid
- for name,id in pairs(anim_ids) do
- animations[name] = Create'Animation'{
- Name = name;
- AnimationId = type(id) == "number" and ("rbxassetid://"..id) or id;
- Archivable = false;
- }
- end
- function def:LoadHumanoid(humanoid)
- if humanoid ~= workingHumanoid then
- workingHumanoid = humanoid
- for name,anim in pairs(animations) do
- local old_track = animationTracks[name]
- if old_track then
- old_track:Stop()
- old_track:Destroy()
- if keyframeCatchers[name] then
- keyframeCatchers[name] = nil
- end
- end
- local track = humanoid:LoadAnimation(anim)
- animationTracks[name] = track
- if catcherCallbacks[name] then
- local catcher = CreateKeyframeCatcher(track)
- keyframeCatchers[name] = catcher
- catcher:SetCallbacks(catcherCallbacks[name])
- end
- end
- end
- end
- function def:GetAnimation(name)
- if not workingHumanoid then
- error("GetAnimation: humanoid has not been loaded",2)
- end
- return animationTracks[name]
- end
- function def:StopAnimations(...)
- for name,track in pairs(animationTracks) do
- track:Stop(...)
- end
- end
- -- lazy get
- setmetatable(def,{__index = animationTracks})
- end)
- --[[
- SoundProvider
- Manages sounds.
- CreateSoundProvider(sounds)
- Returns a new SoundProvider.
- `sounds` is a table containing identity/asset_id pairs.
- `asset_id` may be a string (Content) or an integer.
- SoundProvider:SetParent(parent)
- Sets the parent of all the sounds at once. Can be nil.
- SoundProvider:GetSound(identity)
- Returns a Sound.
- SoundProvider:StopSounds()
- Stops all sounds.
- SoundProvider:Fade(identity, goal, time, delta)
- Applies a fading effect to a Sound, starting with the current volume.
- `goal` is the volume to reach by the end of the transition.
- `time` is the amount of time the transition should take, in seconds.
- Optionally, `delta` is a function that transforms the progress of the fade (for non-linear transitions)
- ]]
- class'SoundProvider'(function(def,sound_ids)
- local sounds = {}
- for name,id in pairs(sound_ids) do
- sounds[name] = Create'Sound'{
- Name = name;
- SoundId = type(id) == "number" and ("rbxassetid://"..id) or id;
- Archivable = false;
- }
- end
- function def:SetParent(parent)
- for name,sound in pairs(sounds) do
- sound.Parent = parent
- end
- end
- function def:GetSound(name)
- return sounds[name]
- end
- function def:StopSounds()
- for name,sound in pairs(sounds) do
- sound:Stop()
- end
- end
- function def:Fade(name,g,t,delta)
- local sound = sounds[name]
- delta = delta or function(n) return n end
- if sound then
- local s = sound.Volume
- local i = 0
- while i < 1 do
- i = i + wait()/t
- sound.Volume = (g-s)*delta(i)+s
- end
- sound.Volume = g
- else
- error("SoundProvider::Fade: no such sound named `"..name.."`",2)
- end
- end
- -- lazy get
- setmetatable(def,{__index = sounds})
- end)
- --[[
- ThreadID
- Makes sure new threads override old ones.
- CreateThreadID()
- Returns a new ThreadID.
- ThreadID:Request()
- Returns a new ID and increments the current one.
- ThreadID:Assert(id)
- Returns whether the thread's ID equals the current one.
- ThreadID:Reset()
- Reset the current ID.
- ]]
- class'ThreadID'(function(def)
- local thread_id = 0
- function def:Assert(id)
- return thread_id == id
- end
- function def:Request()
- thread_id = thread_id + 1
- return thread_id
- end
- function def:Reset()
- thread_id = 0
- end
- end)
- --[[
- WalkSpeedManager
- Manages a Humanoid's WalkSpeed.
- When the walkspeed is set externally (not by this instance), the new value will become the base walkspeed.
- However, the walkspeed can be locked. If so, the walkspeed will be reverted if it has been changed externally.
- This allows the tool to be compatible with, say, a speed potion.
- CreateWalkSpeedManager()
- Returns a new WalkSpeedManager.
- WalkSpeedManager:SetHumanoid(humanoid)
- Sets the humanoid and sets its WalkSpeed as the base.
- WalkSpeedManager:Set(walkspeed)
- Sets and locks the humanoid's walkspeed.
- WalkSpeedManager:Reset()
- Unlocks and resets the humanoid's walkspeed to the base walkspeed.
- WalkSpeedManager:GetBase()
- Returns the base walkspeed.
- ]]
- class'WalkSpeedManager'(function(def)
- local baseWalkSpeed = 16
- local currentWalkSpeed = 16
- local locked = false
- local settingInternal = false
- local humanoid
- local changed
- function def:SetHumanoid(hum)
- humanoid = hum
- locked = false
- if changed then changed:disconnect() end
- if hum then
- baseWalkSpeed = hum.WalkSpeed
- currentWalkSpeed = baseWalkSpeed
- changed = hum.Changed:connect(function(p)
- if p == "WalkSpeed" and not settingInternal then
- -- something external is modifying the walkspeed; use that as the base
- baseWalkSpeed = hum.WalkSpeed
- if locked then
- settingInternal = true
- hum.WalkSpeed = currentWalkSpeed
- settingInternal = false
- end
- end
- end)
- end
- end
- function def:Set(ws)
- if humanoid then
- locked = true
- currentWalkSpeed = ws
- settingInternal = true
- humanoid.WalkSpeed = ws
- settingInternal = false
- end
- end
- function def:Reset()
- if humanoid then
- currentWalkSpeed = baseWalkSpeed
- settingInternal = true
- humanoid.WalkSpeed = baseWalkSpeed
- settingInternal = false
- locked = false
- end
- end
- function def:GetBase()
- return baseWalkSpeed
- end
- end)
- --[[
- Sequencer
- Calls functions in a sequence through activation of a single function.
- :SetSequenceMap(map)
- Sets the sequence of functions to use.
- :SetMinInterval(interval)
- Sets the minimum amount of time allowed between activations.
- :SetResetDelay(delay,time)
- Sets the amount of time to wait after the most recent activation before the sequence is reset.
- `delay` is the time to wait after the last activation.
- `time` is used when comparing the current time with the last activation time.
- If `time` is greater than or close to `delay`, the sequence (probably) wont reset.
- :Activate(...)
- Calls the next function in the sequence. If the end of the sequence is reached, it wraps back to the beginning.
- The first value passed to the function is the current sequence index. Subsequent arguments are the values passed to Activate.
- ]]
- class'Sequencer'(function(def)
- local min_interval = 0
- local reset_delay = 0
- local reset_time = 0
- local seq_map = {}
- local seq_index = 0
- local activate_time = 0
- function def:SetSequenceMap(map)
- seq_map = map
- if seq_index > #map then
- seq_index = 0
- end
- end
- function def:SetMinInterval(interval)
- min_interval = interval
- end
- function def:SetResetDelay(delay,time)
- reset_delay = delay
- reset_time = time
- end
- local function act(...)
- local t = tick()
- if t-activate_time > min_interval then
- activate_time = t
- seq_index = seq_index + 1 > #seq_map and 1 or seq_index + 1
- if seq_map[seq_index] then
- coroutine.wrap(seq_map[seq_index])(seq_index,...)
- end
- end
- wait(reset_delay)
- if tick()-activate_time > reset_time then
- seq_index = 0
- end
- end
- function def:Activate(...)
- coroutine.wrap(act)(...)
- end
- end)
- --[[
- Particle
- Manages a particle.
- CreateParticle(constructor)
- Returns a new Particle.
- `constructor` is a function that creates a particle. It should return an Instance.
- :SetCountLimit(count)
- Sets the maximum number of particles that can exist at one time.
- :SetTimeLimit(time)
- Sets the maximum time a paricle is allowed to exist.
- Setting below 0 lets it exist forever.
- :Spawn(...)
- Spawns a particle.
- Received arguments are passed to the `constructor` function.
- Returns the spawned particle.
- :Despawn(particle)
- Removes a spawned particle.
- ]]
- class'Particle'(function(def,newParticle)
- local Debris = Game:GetService("Debris")
- local queue = {}
- local changed = {}
- local maxParticles = 20
- local maxTime = 5
- local function search_remove(t,k)
- local i = 1
- while i <= #t do
- if t[i] == k then
- table.remove(t,i)
- else
- i = i + 1
- end
- end
- end
- function def:SetCountLimit(mp)
- maxParticles = mp
- end
- function def:SetTimeLimit(mt)
- maxTime = mt
- end
- function def:Despawn(particle)
- if changed[particle] then
- changed[particle]:disconnect()
- changed[particle] = nil
- end
- search_remove(queue,particle)
- particle:Destroy()
- end
- function def:Spawn(...)
- if #queue < maxParticles then
- local particle = newParticle(...)
- if maxTime >= 0 then Debris:AddItem(particle,maxTime) end
- queue[#queue+1] = particle
- changed[particle] = particle.AncestryChanged:connect(function(c,p)
- if p == nil then
- self:Despawn(particle)
- end
- end)
- end
- return particle
- end
- end)
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- -- Tiny Event Manager; Add: [[Event.EventName = (event)]]; Remove: [[Disconnect("EventName",...)]]
- local Event = {}
- local function Disconnect(...)
- for _,name in pairs{...} do
- if Event[name] then
- Event[name]:disconnect()
- Event[name] = nil
- end
- end
- end
- -- get an object; make it if it doesn't exist
- local function GetMake(parent,name,type)
- local object = parent:FindFirstChild(name)
- if not object then
- object = Create(type){Name=name}
- object.Parent = parent
- end
- return object
- end
- -- wait until child exists; return child
- local function WaitForChild(parent,name)
- while not parent:FindFirstChild(name) do
- parent.ChildAdded:wait()
- end
- return parent:FindFirstChild(name)
- end
- -- get a sibling humanoid of object; by humanoid, not by name
- local function GetHumanoid(object)
- if object and object.Parent then
- for i,v in pairs(object.Parent:GetChildren()) do
- if v:IsA"Humanoid" then
- return v
- end
- end
- end
- return nil
- end
- -- get the parent character from an object; verified by GetHumanoid
- local function GetCharacter(object)
- local humanoid = GetHumanoid(object)
- if humanoid then
- return object.Parent,humanoid
- end
- return nil
- end
- -- make a joint, if the objects exist
- local function AttemptJoint(x,y,c0,c1)
- if x and y then
- local weld = Instance.new("Motor6D")
- weld.Part0 = x
- weld.Part1 = y
- if c0 then weld.C0 = c0 end
- if c1 then weld.C1 = c1 end
- weld.Parent = x
- return weld
- end
- end
- -- destroy a joint used only by the two objects
- local function KillJoint(x,y)
- if x and y then
- for i,v in pairs(x:GetChildren()) do
- if v:IsA"Motor6D" then
- if v.Part0 == x and v.Part1 == y then
- v:Destroy()
- end
- end
- end
- end
- end
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- -----SETTINGS-------------------------------------------------------------------
- --Damage
- local sword_damage = 5
- local charged_sword_damage = 10
- local arc_damage = 10
- local charged_arc_damage = 20
- --Charged Attack
- local charge_time = 6 -- how long it takes to fully charge
- local charge_attack_time = 8 -- how long charged attack lasts (at full charge)
- local cooldown_time = 12 -- how long before sword can be charged again (at full charge)
- local charge_walk_mult = 1.5 -- how much to multiply the base walkspeed when charged
- --Short-term Fatigue
- -- min slash interval increases after every slash
- -- more consecutive slashes means longer recovery time
- local fatigue_enabled = true
- local fatigue_increment = 0.05 -- controls stamina (seconds added per slash)
- local rest_factor = 16 -- controls recovery time (multiplied by current fatigue)
- --Moon Arc Effect
- local arc_angle_variance = Vector3.new(2,12,6) -- degrees
- local arc_distance_variance = 0.5 -- distance from torso
- local arc_max_speed = 0.5 -- initial outward speed (gets decayed)
- local arc_time = 0.3 -- how long arc should exist
- local arc_decay = 2 -- exp decay factor
- --Sphere Effect
- -- a growing sphere during charge
- -- not sure if looks good
- local sphere_enabled = false
- local sphere_radius = 5.3 -- radius at end of effect
- local sphere_magnitude = 2 -- wavyness
- local sphere_time = 4 -- wavyness time scale
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- local Debris = Game:GetService("Debris")
- local Lighting = Game:GetService("Lighting")
- local Tool = script.Parent
- local Handle = WaitForChild(Tool,"Handle")
- local Character,Humanoid
- local DamageBin = GetMake(Tool,"DamageBin","Configuration")
- local Damage = sword_damage
- local ArcDamage = arc_damage
- local MoonArcTemplate = Create'Part'{
- Name = "MoonArc";
- Anchored = true;
- CanCollide = false;
- Transparency = 1;
- FormFactor = Enum.FormFactor.Symmetric;
- TopSurface = Enum.SurfaceType.Smooth;
- BottomSurface = Enum.SurfaceType.Smooth;
- Size = Vector3.new(9,1,4);
- Create'Decal'{
- Name = "DecalTop";
- Face = Enum.NormalId.Top;
- Texture = "http://www.roblox.com/asset/?id=128980859";
- };
- Create'Decal'{
- Name = "DecalBottom";
- Face = Enum.NormalId.Bottom;
- Texture = "http://www.roblox.com/asset/?id=128980859";
- };
- Create'BlockMesh'{
- Scale = Vector3.new(1,0,1);
- };
- };
- Game:GetService("ContentProvider"):Preload("http://www.roblox.com/asset/?id=128980859")
- local WalkSpeed = CreateWalkSpeedManager()
- local Animation = CreateAnimationProvider{
- SlashLeft = "http://www.roblox.com/asset/?id=74909537";
- SlashRight = "http://www.roblox.com/asset/?id=74909551";
- Charge = "http://www.roblox.com/asset/?id=74909500";
- SlashSides = "http://www.roblox.com/asset/?id=74909569";
- SlashForward = "http://www.roblox.com/asset/?id=74909528";
- DualSword = "http://www.roblox.com/asset/?id=74909522";
- }
- local Sound = CreateSoundProvider{
- Slash = "http://www.roblox.com/asset/?id=45885030";
- Charge = "http://www.roblox.com/asset/?id=75421988";
- }
- Sound:SetParent(Handle)
- Sound.Slash.Volume = 0.25
- Sound.Charge.Volume = 0
- Sound.Charge.Looped = true
- local MoonParticleTemplate = Create'Part'{
- TopSurface = Enum.SurfaceType.Smooth;
- Reflectance = 2;
- BrickColor = BrickColor.new(1001);
- Locked = true;
- Anchored = true;
- CanCollide = false;
- Size = Vector3.new(1, 1, 8);
- FormFactor = Enum.FormFactor.Custom;
- BottomSurface = Enum.SurfaceType.Smooth;
- Name = "MoonParticle";
- --[[
- Create'RocketPropulsion'{
- CartoonFactor = 1;
- MaxTorque = Vector3.new(math.huge, math.huge, math.huge);
- TurnP = 100000;
- MaxSpeed = 500;
- MaxThrust = math.huge;
- ThrustD = 100;
- Name = "Rocket";
- ThrustP = 1000;
- TargetRadius = 8;
- };
- --]]
- Create'SpecialMesh'{
- MeshType = Enum.MeshType.Sphere;
- };
- };
- local MoonParticle = CreateParticle(function()
- local pos = Handle.Position
- local dir = Lighting:GetMoonDirection()
- local particle = MoonParticleTemplate:Clone()
- particle.Archivable = false
- local r = Vector2.new(math.random(-14,14),math.random(-14,14))
- if r.magnitude > 14 then r = r.unit*14 end
- local start = CFrame.new(pos,pos-dir) * CFrame.new(r.x,r.y,200)
- particle.CFrame = start
- Spawn(function()
- while ((particle.CFrame*CFrame.new(0,0,-4)).p-Handle.Position).magnitude > 8 do
- particle.CFrame = CFrame.new(particle.Position,Handle.Position) * CFrame.new(0,0,-8)
- wait()
- end
- particle:Destroy()
- end)
- particle.Parent = Character
- --[[
- particle.Rocket.Target = Handle
- particle.Rocket.ReachedTarget:connect(function()
- particle:Destroy()
- end)
- particle.Parent = Workspace
- particle.Rocket:Fire()
- ]]
- return particle
- end)
- MoonParticle:SetCountLimit(10)
- MoonParticle:SetTimeLimit(10)
- local SmallParticleTemplate = Create'Part'{
- TopSurface = Enum.SurfaceType.Smooth;
- Reflectance = 2;
- BrickColor = BrickColor.new(1001);
- Locked = true;
- Anchored = true;
- CanCollide = false;
- Size = Vector3.new(0.5, 0.5, 1);
- FormFactor = Enum.FormFactor.Custom;
- BottomSurface = Enum.SurfaceType.Smooth;
- Name = "SmallParticle";
- Create'SpecialMesh'{
- MeshType = Enum.MeshType.Sphere;
- };
- --[[
- Create'RocketPropulsion'{
- CartoonFactor = 1;
- MaxTorque = Vector3.new(math.huge, math.huge, math.huge);
- TurnP = 100000;
- ThrustD = 50;
- Name = "Rocket";
- ThrustP = 1000;
- TargetRadius = 1;
- };
- --]]
- };
- local SmallParticle = CreateParticle(function()
- local pos = Handle.Position
- local particle = SmallParticleTemplate:Clone()
- particle.Archivable = false
- local r = Vector3.new(math.random(-12,12),math.random(-12,12),math.random(-12,12))
- if r.magnitude > 12 then r = r.unit*12 end
- local start = CFrame.new(pos+r,pos)
- particle.CFrame = start
- Spawn(function()
- while (particle.Position-Handle.Position).magnitude > 2 do
- particle.CFrame = CFrame.new(particle.Position,Handle.Position) * CFrame.new(0,0,-1)
- wait()
- end
- particle:Destroy()
- end)
- particle.Parent = Character
- --[[
- particle.Rocket.Target = Handle
- particle.Rocket.ReachedTarget:connect(function()
- particle:Destroy()
- end)
- particle.Parent = Workspace
- particle.Rocket:Fire()
- ]]
- return particle
- end)
- SmallParticle:SetCountLimit(10)
- SmallParticle:SetTimeLimit(10)
- local SphereParticleTemplate = Create'Part'{
- TopSurface = Enum.SurfaceType.Smooth;
- Reflectance = 0.75;
- Transparency = 0.9;
- BrickColor = BrickColor.new(1001);
- Size = Vector3.new(1, 1, 1);
- FormFactor = Enum.FormFactor.Custom;
- BottomSurface = Enum.SurfaceType.Smooth;
- Name = "SphereParticle";
- Create'SpecialMesh'{
- Scale = Vector3.new(0, 0, 0);
- MeshType = Enum.MeshType.Sphere;
- };
- };
- -- if theres a character, get a body part from it
- local function GetBodyPart(name)
- local character = Character or GetCharacter(Tool)
- if character then
- local object = character:FindFirstChild(name)
- if object then
- return object
- end
- end
- return nil
- end
- local function DealDamage(hit,damage)
- local humanoid = GetHumanoid(hit)
- if humanoid then
- local dtag = Create'ObjectValue'{
- Name = tostring(damage);
- Value = humanoid;
- Archivable = false;
- }
- dtag.Parent = DamageBin
- end
- end
- local function MakeMoonArc(start,angle,off)
- local arc = MoonArcTemplate:Clone()
- arc.Archivable = false
- arc.CFrame = start
- * angle
- * CFrame.Angles(
- math.rad(math.random(-arc_angle_variance.x,arc_angle_variance.x)),
- math.rad(math.random(-arc_angle_variance.y,arc_angle_variance.y)),
- math.rad(math.random(-arc_angle_variance.z,arc_angle_variance.z))
- )
- * off
- * CFrame.new(0,0,math.random(-arc_distance_variance*10,arc_distance_variance*10)/10)
- arc.Touched:connect(function(hit)
- if not hit:IsDescendantOf(Character) then
- DealDamage(hit,ArcDamage)
- end
- end)
- arc.Parent = Character
- Spawn(function()
- local MoonArc = arc
- local DecalTop = MoonArc:FindFirstChild("DecalTop")
- local DecalBottom = MoonArc:FindFirstChild("DecalBottom")
- local i = 0
- while i < 1 do
- local n = math.pow(i,arc_decay)
- if DecalTop then DecalTop.Transparency = n end
- if DecalBottom then DecalBottom.Transparency = n end
- MoonArc.CFrame = MoonArc.CFrame * CFrame.new(0,0,-math.pow(1-i,arc_decay)*arc_max_speed)
- i = i + wait()/arc_time
- end
- MoonArc:Destroy()
- end)
- end
- local function MoonIsVisible(Character)
- local dir = Lighting:GetMoonDirection()
- if Vector3.new(0,1,0):Dot(dir) > 0 then
- -- BUG: particles block raycast
- if not Workspace:FindPartOnRay(Ray.new(Handle.Position,dir*999),Character) then
- return true
- end
- end
- return false
- end
- local function SwordTouched(hit)
- if not hit:IsDescendantOf(Character) then
- DealDamage(hit,Damage)
- end
- end
- local toolEquipped = false
- local attackEnabled = true
- local chargedAttackEnabled = false
- local canCharge = true
- -- charging sequence
- local function Charge(Mouse)
- ---- READY CHARGE
- attackEnabled = false
- canCharge = false
- WalkSpeed:Set(0)
- -- make shiny handle
- local ShinyHandle
- do
- ShinyHandle = Handle:Clone()
- ShinyHandle.BrickColor = BrickColor.new("Institutional white")
- ShinyHandle.Archivable = false
- ShinyHandle.Parent = Tool
- local mesh = ShinyHandle:FindFirstChild("Mesh")
- if mesh then mesh.TextureId = "" end
- AttemptJoint(ShinyHandle,Handle)
- end
- -- make sphere, if enabled
- local SphereParticle
- if sphere_enabled then
- SphereParticle = SphereParticleTemplate:Clone()
- SphereParticle.Archivable = false
- SphereParticle.Parent = Tool
- AttemptJoint(SphereParticle,Handle)
- end
- local charging = true
- local charge_level = 0 -- main value; determines charge
- Event.MouseCharge = Mouse.Button1Up:connect(function()
- charging = false
- end)
- Animation:StopAnimations(0)
- Animation.Charge:Play()
- local moon_visible = false
- -- particle thread
- Spawn(function()
- while charging and toolEquipped do
- moon_visible = MoonIsVisible(Character)
- if moon_visible then
- -- spawn particles
- MoonParticle:Spawn()
- SmallParticle:Spawn()
- end
- wait(0.1)
- end
- end)
- ---- CHARGE
- -- fade in charge sound
- Sound.Charge.Pitch = 0.5
- Sound.Charge:Play()
- coroutine.wrap(function()
- Sound:Fade("Charge",0.8,0.5)
- end)()
- -- charge loop
- while charging and toolEquipped do
- local t = wait()
- if moon_visible then
- charge_level = charge_level + t/charge_time
- ShinyHandle.Reflectance = charge_level
- Sound.Charge.Pitch = 0.5 + charge_level*2
- if sphere_enabled then
- local i = ((sphere_magnitude*math.sin(math.pi*charge_level*sphere_radius*sphere_time))/math.pi + charge_level*sphere_radius*sphere_time)/sphere_time
- SphereParticle.Mesh.Scale = Vector3.new(i,i,i)
- end
- end
- if charge_level >= 1 then
- charging = false
- charge_level = 1
- break
- end
- end
- -- fade out charge sound
- coroutine.wrap(function()
- Sound:Fade("Charge",0,0.5)
- Sound.Charge:Stop()
- end)()
- if sphere_enabled then
- -- shrink sphere
- local s = charge_level
- while s > 0 do
- s = s - wait()/0.25
- local i = (1-math.pow(1-s,2))*sphere_radius
- SphereParticle.Mesh.Scale = Vector3.new(i,i,i)
- end
- end
- ---- READY CHARGE ATTACK
- Animation:StopAnimations()
- Animation.DualSword:Play(0.2)
- Disconnect("MouseCharge")
- WalkSpeed:Set(WalkSpeed:GetBase()*charge_walk_mult)
- if sphere_enabled then
- SphereParticle:Destroy()
- end
- -- split shiny handle from normal handle; give to left hand
- KillJoint(ShinyHandle,Handle)
- AttemptJoint(ShinyHandle,GetBodyPart("Left Arm"),nil,CFrame.new(0,-1,-2.25)*CFrame.Angles(0,math.pi,math.pi/2))
- ShinyHandle.Touched:connect(SwordTouched)
- Damage = charged_sword_damage
- ArcDamage = charged_arc_damage
- ---- CHARGE ATTACK
- local attack_level = charge_level
- chargedAttackEnabled = true
- attackEnabled = true
- do -- sword glow indicator
- local i = 1 + (math.pow(1-charge_level,10))
- Handle.Mesh.VertexColor = Vector3.new(i,i,i)
- end
- while attack_level > 0 and toolEquipped do
- attack_level = attack_level - wait()/charge_attack_time
- ShinyHandle.Reflectance = attack_level
- ShinyHandle.Transparency = 1-attack_level
- end
- ---- CHARGE ATTACK END
- chargedAttackEnabled = false
- Animation.DualSword:Stop(0.2)
- WalkSpeed:Reset()
- Damage = sword_damage
- ArcDamage = arc_damage
- ShinyHandle:Destroy()
- ---- COOLDOWN
- local cooldown = charge_level
- while cooldown > 0 do
- cooldown = cooldown - wait()/cooldown_time
- local i = 1 + (math.pow(1-cooldown,10))
- Handle.Mesh.VertexColor = Vector3.new(i,i,i)
- end
- canCharge = true
- end
- local fatigue = 0
- Tool.Equipped:connect(function(Mouse)
- toolEquipped = true
- Character,Humanoid = GetCharacter(Tool)
- if not Character then return end
- Animation:LoadHumanoid(Humanoid)
- WalkSpeed:SetHumanoid(Humanoid)
- local Torso = GetBodyPart("Torso")
- -- Slash Sequencer
- -- basic left-right slash
- -- primary attack
- local SlashSeq = CreateSequencer()
- SlashSeq:SetMinInterval(0)
- SlashSeq:SetResetDelay(1.15,0.8)
- local function add_fatigue()
- local inc = fatigue_increment -- may change, so save it for later
- fatigue = fatigue + inc
- SlashSeq:SetMinInterval(fatigue) -- set as amount of time between slashes
- -- recovery time; dependant on current fatigue
- -- therefore, more fatigue causes longer recovery
- wait(fatigue*rest_factor)
- fatigue = fatigue - inc
- SlashSeq:SetMinInterval(fatigue)
- end
- SlashSeq:SetSequenceMap{
- function()
- if fatigue_enabled then Spawn(add_fatigue) end
- Sound.Slash.Pitch = math.random(1000,1020)/1000
- Sound.Slash:Play()
- Animation.SlashRight:Stop(0)
- Animation.SlashLeft:Play()
- wait(0.25)
- MakeMoonArc(
- Torso.CFrame,
- CFrame.Angles(-math.pi/32,-math.pi/4,0),
- CFrame.new(0,0,-5)
- )
- end;
- function()
- if fatigue_enabled then Spawn(add_fatigue) end
- Sound.Slash.Pitch = math.random(1000,1020)/1000
- Sound.Slash:Play()
- Animation.SlashLeft:Stop(0)
- Animation.SlashRight:Play()
- wait(0.25)
- MakeMoonArc(
- Torso.CFrame,
- CFrame.Angles(math.pi/32,math.pi/6,0),
- CFrame.new(0,0,-4)
- )
- end;
- }
- -- Charged Slash Sequencer
- -- dual-sword forward-side slash
- -- secondary attack
- local ChargedSeq = CreateSequencer()
- ChargedSeq:SetMinInterval(0.1)
- ChargedSeq:SetResetDelay(0.6,0.4)
- ChargedSeq:SetSequenceMap{
- function()
- Sound.Slash.Pitch = math.random(900,920)/1000
- Sound.Slash:Play()
- Animation.SlashSides:Stop(0)
- Animation.SlashForward:Play()
- wait(0.25)
- MakeMoonArc(
- Torso.CFrame,
- CFrame.Angles(math.pi/32,0,math.pi/6),
- CFrame.new(0,0,-5)
- )
- MakeMoonArc(
- Torso.CFrame,
- CFrame.Angles(math.pi/32,0,-math.pi/6),
- CFrame.new(0,0,-5)
- )
- end;
- function()
- Sound.Slash.Pitch = math.random(900,920)/1000
- Sound.Slash:Play()
- Animation.SlashForward:Stop(0)
- Animation.SlashSides:Play()
- wait(0.25)
- MakeMoonArc(
- Torso.CFrame,
- CFrame.Angles(-math.pi/32,-math.pi/2,0),
- CFrame.new(0,0,-5)
- )
- MakeMoonArc(
- Torso.CFrame,
- CFrame.Angles(-math.pi/32,math.pi/2,0),
- CFrame.new(0,0,-5)
- )
- end;
- }
- local ClickThread = CreateThreadID()
- local down = false
- Mouse.Button1Down:connect(function()
- if attackEnabled and GetBodyPart("Right Arm") then
- down = true
- if chargedAttackEnabled then
- ChargedSeq:Activate()
- else
- SlashSeq:Activate()
- if canCharge and GetBodyPart("Left Arm") then
- local cid = ClickThread:Request()
- wait(0.5)
- if ClickThread:Assert(cid) and down then
- Charge(Mouse)
- end
- end
- end
- end
- end)
- Mouse.Button1Up:connect(function()
- down = false
- end)
- Event.Touched = Handle.Touched:connect(SwordTouched)
- end)
- Tool.Unequipped:connect(function()
- toolEquipped = false
- chargedAttackEnabled = false
- attackEnabled = true
- Disconnect("Touched","Lighting")
- Animation:StopAnimations()
- Sound:StopSounds()
- WalkSpeed:Reset()
- Damage = sword_damage
- ArcDamage = arc_damage
- end)
- end))
- Configuration112.Name = "DamageBin"
- Configuration112.Parent = Tool0
- Animation113.Name = "WaveAnim"
- Animation113.Parent = Tool0
- Animation113.AnimationId = "http://www.roblox.com/Asset?ID=55270038"
- LocalScript114.Parent = Tool0
- table.insert(cors,sandbox(LocalScript114,function()
- --Made by Stickmasterluke
- sp=script.Parent
- cooldown=2
- numberemeralds=7
- throwspeed=250
- check=true
- down=false
- equipped=false
- vec=Vector3.new(0,0,0)
- debris=game:GetService("Debris")
- local waveanimation=sp:WaitForChild("WaveAnim")
- local emeraldscript=script:WaitForChild("EmeraldScript")
- function onEquipped(mouse)
- if mouse~=nil then
- equipped=true
- mouse.Icon="rbxasset://textures\\GunCursor.png"
- mouse.Button1Down:connect(function()
- if mouse~=nil and check then
- check=false
- down=true
- mouse.Icon="rbxasset://textures\\GunWaitCursor.png"
- local h=sp.Parent:FindFirstChild("Humanoid")
- local t=sp.Parent:FindFirstChild("Torso")
- if h~=nil and h.Health>0 and t~=nil then
- waveAnim=h:LoadAnimation(waveanimation)
- if waveAnim then
- waveAnim:Play(nil,nil,2)
- delay(.5,function()
- if waveAnim then
- waveAnim:Stop()
- end
- end)
- end
- local summonthem=true
- if emeralds then
- for i,v in ipairs(emeralds) do
- if v and v.Parent==game.Workspace and v:FindFirstChild("Motor") then
- summonthem=false
- end
- end
- end
- if summonthem then
- local sound=sp.Handle:FindFirstChild("SummonSound")
- if sound then
- sound.Pitch=2
- sound:Play()
- end
- emeralds={}
- for i=1,numberemeralds do
- local p=Instance.new("Part")
- p.Name="Emerald"
- p.Transparency=.2
- p.Reflectance=.3
- p.BrickColor=BrickColor.new("Really black")
- p.TopSurface="Smooth"
- p.BottomSurface="Smooth"
- p.Anchored=false
- p.CanCollide=true
- p.Locked=true
- p.formFactor="Custom"
- p.Size=Vector3.new(1,1,1)
- p.Elasticity=0
- p.Friction=1
- local fire=Instance.new("Fire")
- fire.Size=6
- fire.Heat=-20
- fire.Color=Color3.new(1,0,0)
- fire.SecondaryColor=Color3.new(0,0,0)
- fire.Enabled=true
- delay(.5,function()
- if fire then
- fire.Enabled=false
- end
- end)
- fire.Parent=p
- local m=Instance.new("SpecialMesh")
- m.MeshId="http://www.roblox.com/Asset/?id=9756362"
- m.TextureId="http://www.roblox.com/Asset/?id=86330073"
- m.Scale=Vector3.new(1,1,3)
- m.Parent=p
- local ct=Instance.new("ObjectValue")
- ct.Name="creator"
- ct.Value=game.Players.LocalPlayer
- ct.Parent=p
- local s=emeraldscript:clone()
- s.Parent=p
- s.Disabled=false
- local sound=Instance.new("Sound")
- sound.SoundId="http://www.roblox.com/Asset?ID=87015121"
- sound.Pitch=1+math.random()*.5
- sound.Volume=.5
- sound.Parent=p
- local cf=CFrame.new(0,0,0)*CFrame.Angles(0,((i-1)/(numberemeralds-1)-.5)*math.pi*.9,0)*CFrame.new(0,0,-5)*CFrame.Angles(0,math.pi*.5,math.pi*.5)*CFrame.Angles(0,math.pi*.25,0)
- p.CFrame=t.CFrame*cf
- local w=Instance.new("Motor")
- w.Part0=t
- w.Part1=p
- w.C0=cf
- w.Parent=p
- debris:AddItem(p,20)
- table.insert(emeralds,p)
- p.Parent=game.Workspace
- end
- else
- local sound=sp.Handle:FindFirstChild("SummonSound")
- if sound then
- sound.Pitch=4
- sound:Play()
- end
- for i,v in pairs(emeralds) do
- if v and v.Parent==game.Workspace then
- local bf=Instance.new("BodyForce")
- bf.force=Vector3.new(0,196.2*v:GetMass(),0)
- bf.Parent=v
- local weld=v:FindFirstChild("Motor")
- if weld then
- if weld.Part0 then
- vec=(weld.Part1.Position-weld.Part0.Position).unit
- end
- weld:remove()
- end
- v.CFrame=(v.CFrame+vec*3)*CFrame.Angles(0,math.pi*.25,0)*CFrame.Angles(math.pi*.5,0,0)
- v.Velocity=vec*throwspeed
- v.RotVelocity=Vector3.new(0,50,0)
- local fire=v:FindFirstChild("Fire")
- if fire then
- fire.Heat=20
- fire.Enabled=true
- delay(.5,function()
- if fire then
- fire.Enabled=false
- end
- end)
- end
- end
- end
- emeralds=nil
- end
- wait(cooldown)
- if mouse~=nil then
- mouse.Icon="rbxasset://textures\\GunCursor.png"
- end
- end
- check=true
- end
- end)
- mouse.Button1Up:connect(function()
- down=false
- end)
- end
- end
- function onUnequipped()
- equipped=false
- if waveAnim then
- waveAnim:Stop()
- end
- end
- sp.Unequipped:connect(onUnequipped)
- sp.Equipped:connect(onEquipped)
- end))
- Script115.Name = "EmeraldScript"
- Script115.Parent = LocalScript114
- table.insert(cors,sandbox(Script115,function()
- --Made by Stickmasterluke
- sp=script.Parent
- local debris=game:GetService("Debris")
- exploded=false
- function bang(hit)
- if not exploded and hit~=nil and hit.Name~="Effect" and hit.Name~="Handle" then
- local h=hit.Parent:FindFirstChild("Humanoid")
- if h~=nil then
- local ct=sp:FindFirstChild("creator")
- if ct~=nil and ((not game.Players:GetPlayerFromCharacter(hit.Parent)) or game.Players:GetPlayerFromCharacter(hit.Parent)~=ct.Value) then
- for _,v in pairs(h:GetChildren()) do
- if v~=nil and v.className=="ObjectValue" then
- v:remove()
- end
- end
- ct:clone().Parent=h
- h:TakeDamage(sp:FindFirstChild("Motor") and 16 or 26)
- hithuman=true
- end
- end
- if hithuman or not sp:FindFirstChild("Motor") then
- exploded=true
- local sound=sp:FindFirstChild("Sound")
- if sound then
- sound:Play()
- end
- for i=1,math.random(4,8) do
- local p=Instance.new("WedgePart")
- p.Name="EmeraldShard"
- p.Transparency=sp.Transparency
- p.Reflectance=sp.Reflectance
- p.BrickColor=sp.BrickColor
- p.FormFactor="Custom"
- p.Size=Vector3.new(.2,.2,.2)+Vector3.new(math.random(),math.random(),math.random())
- p.TopSurface="Smooth"
- p.BottomSurface="Smooth"
- p.Anchored=false
- if math.random()<.5 then
- p.CanCollide=false
- end
- p.Locked=true
- p.BrickColor=sp.BrickColor
- local rp=Vector3.new(math.random()-.5,math.random()-.5,math.random()-.5)
- p.CFrame=sp.CFrame*CFrame.new(rp*4)*CFrame.Angles(math.random()*6,math.random()*6,math.random()*6)
- p.Velocity=Vector3.new(0,30+(math.random()*30),0)+(rp*math.random(10,40))
- p.RotVelocity=Vector3.new(math.random()-.5,math.random()-.5,math.random()-.5)*10
- debris:AddItem(p,2+(math.random()*4))
- p.Parent=game.Workspace
- end
- sp.Transparency=1
- sp.CanCollide=false
- sp.Anchored=true
- local cf=sp.CFrame
- sp.Size=Vector3.new(0,0,0)
- sp.CFrame=cf
- wait(1)
- if sp then
- sp:remove()
- end
- end
- end
- end
- sp.Touched:connect(bang)
- wait(20)
- sp:remove()
- end))
- Script115.Disabled = true
- Part116.Name = "PartHRoundHilt"
- Part116.Parent = Tool0
- Part116.CFrame = CFrame.new(-29.5008965, 1.55616295, -15.0056496, -0.49999994, 0.500000119, -0.707106829, 0.707106948, 0.707106709, 0, 0.49999994, -0.500000119, -0.707106829)
- Part116.Orientation = Vector3.new(0, -135, 45)
- Part116.Position = Vector3.new(-29.5008965, 1.55616295, -15.0056496)
- Part116.Rotation = Vector3.new(-180, -45, -135)
- Part116.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
- Part116.Size = Vector3.new(1, 1, 1)
- Part116.BottomSurface = Enum.SurfaceType.Smooth
- Part116.BrickColor = BrickColor.new("Really black")
- Part116.CanCollide = false
- Part116.Material = Enum.Material.Neon
- Part116.Reflectance = 0.25
- Part116.TopSurface = Enum.SurfaceType.Smooth
- Part116.brickColor = BrickColor.new("Really black")
- Part116.FormFactor = Enum.FormFactor.Symmetric
- Part116.formFactor = Enum.FormFactor.Symmetric
- SpecialMesh117.Parent = Part116
- SpecialMesh117.MeshId = "rbxasset://fonts/HeadE.mesh"
- SpecialMesh117.Scale = Vector3.new(0.400000006, 0.400000006, 0.400000006)
- SpecialMesh117.MeshType = Enum.MeshType.FileMesh
- Part118.Name = "PartHGold"
- Part118.Parent = Tool0
- Part118.CFrame = CFrame.new(-30.1014862, 0.707132995, -14.4056101, -0.49999994, 0.500000119, -0.707106829, 0.707106948, 0.707106709, 0, 0.49999994, -0.500000119, -0.707106829)
- Part118.Orientation = Vector3.new(0, -135, 45)
- Part118.Position = Vector3.new(-30.1014862, 0.707132995, -14.4056101)
- Part118.Rotation = Vector3.new(-180, -45, -135)
- Part118.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
- Part118.Size = Vector3.new(1, 1, 1)
- Part118.BottomSurface = Enum.SurfaceType.Smooth
- Part118.BrickColor = BrickColor.new("Really black")
- Part118.CanCollide = false
- Part118.Material = Enum.Material.Neon
- Part118.Reflectance = 0.25
- Part118.TopSurface = Enum.SurfaceType.Smooth
- Part118.brickColor = BrickColor.new("Really black")
- Part118.FormFactor = Enum.FormFactor.Symmetric
- Part118.formFactor = Enum.FormFactor.Symmetric
- SpecialMesh119.Parent = Part118
- SpecialMesh119.MeshId = "rbxasset://fonts/HeadI.mesh"
- SpecialMesh119.Scale = Vector3.new(0.25, 0.125, 0.25)
- SpecialMesh119.MeshType = Enum.MeshType.FileMesh
- Part120.Name = "PartHDiamondHilt"
- Part120.Parent = Tool0
- Part120.CFrame = CFrame.new(-29.5008965, 1.55616295, -15.0056496, 0.707106829, 0.49999994, -0.500000119, 0, 0.707106948, 0.707106709, 0.707106829, -0.49999994, 0.500000119)
- Part120.Orientation = Vector3.new(-45, -45, 0)
- Part120.Position = Vector3.new(-29.5008965, 1.55616295, -15.0056496)
- Part120.Rotation = Vector3.new(-54.7399979, -30, -35.2599983)
- Part120.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
- Part120.Size = Vector3.new(1, 1, 1)
- Part120.BottomSurface = Enum.SurfaceType.Smooth
- Part120.BrickColor = BrickColor.new("Really black")
- Part120.CanCollide = false
- Part120.Material = Enum.Material.Neon
- Part120.TopSurface = Enum.SurfaceType.Smooth
- Part120.brickColor = BrickColor.new("Really black")
- Part120.FormFactor = Enum.FormFactor.Symmetric
- Part120.formFactor = Enum.FormFactor.Symmetric
- SpecialMesh121.Parent = Part120
- SpecialMesh121.MeshId = "http://www.roblox.com/Asset/?id=9756362"
- SpecialMesh121.Scale = Vector3.new(0.400000006, 0.400000006, 0.800000012)
- SpecialMesh121.MeshType = Enum.MeshType.FileMesh
- Part122.Name = "PartHDiamondHilt"
- Part122.Parent = Tool0
- Part122.CFrame = CFrame.new(-29.5008965, 1.55616295, -15.0056496, 0.146447062, 0.499999881, -0.853553474, 0.500000179, 0.707106709, 0.50000006, 0.853553295, -0.500000358, -0.146446332)
- Part122.Orientation = Vector3.new(-30, -99.7399979, 35.2599983)
- Part122.Position = Vector3.new(-29.5008965, 1.55616295, -15.0056496)
- Part122.Rotation = Vector3.new(-106.32, -58.5999985, -73.6699982)
- Part122.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
- Part122.Size = Vector3.new(1, 1, 1)
- Part122.BottomSurface = Enum.SurfaceType.Smooth
- Part122.BrickColor = BrickColor.new("Really black")
- Part122.CanCollide = false
- Part122.Material = Enum.Material.Neon
- Part122.TopSurface = Enum.SurfaceType.Smooth
- Part122.brickColor = BrickColor.new("Really black")
- Part122.FormFactor = Enum.FormFactor.Symmetric
- Part122.formFactor = Enum.FormFactor.Symmetric
- SpecialMesh123.Parent = Part122
- SpecialMesh123.MeshId = "http://www.roblox.com/Asset/?id=9756362"
- SpecialMesh123.Scale = Vector3.new(0.400000006, 0.400000006, 0.800000012)
- SpecialMesh123.MeshType = Enum.MeshType.FileMesh
- Part124.Name = "PartHDiamondHilt"
- Part124.Parent = Tool0
- Part124.CFrame = CFrame.new(-29.5008965, 1.55616295, -15.0056496, 0.853553295, 0.500000358, 0.146446332, -0.500000179, 0.707106709, 0.50000006, 0.146447062, -0.499999881, 0.853553474)
- Part124.Orientation = Vector3.new(-30, 9.73999977, -35.2599983)
- Part124.Position = Vector3.new(-29.5008965, 1.55616295, -15.0056496)
- Part124.Rotation = Vector3.new(-30.3599987, 8.42000008, -30.3599987)
- Part124.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
- Part124.Size = Vector3.new(1, 1, 1)
- Part124.BottomSurface = Enum.SurfaceType.Smooth
- Part124.BrickColor = BrickColor.new("Really black")
- Part124.CanCollide = false
- Part124.Material = Enum.Material.Neon
- Part124.TopSurface = Enum.SurfaceType.Smooth
- Part124.brickColor = BrickColor.new("Really black")
- Part124.FormFactor = Enum.FormFactor.Symmetric
- Part124.formFactor = Enum.FormFactor.Symmetric
- SpecialMesh125.Parent = Part124
- SpecialMesh125.MeshId = "http://www.roblox.com/Asset/?id=9756362"
- SpecialMesh125.Scale = Vector3.new(0.400000006, 0.400000006, 0.800000012)
- SpecialMesh125.MeshType = Enum.MeshType.FileMesh
- Part126.Name = "CancollidePartHandle"
- Part126.Parent = Tool0
- Part126.CFrame = CFrame.new(-29.7010956, 1.273031, -14.8055658, -0.49999994, 0.500000119, -0.707106829, 0.707106948, 0.707106709, 0, 0.49999994, -0.500000119, -0.707106829)
- Part126.Orientation = Vector3.new(0, -135, 45)
- Part126.Position = Vector3.new(-29.7010956, 1.273031, -14.8055658)
- Part126.Rotation = Vector3.new(-180, -45, -135)
- Part126.Color = Color3.new(0.972549, 0.972549, 0.972549)
- Part126.Transparency = 1
- Part126.Size = Vector3.new(0.200000003, 1, 0.200000003)
- Part126.BottomSurface = Enum.SurfaceType.Smooth
- Part126.BrickColor = BrickColor.new("Institutional white")
- Part126.Material = Enum.Material.Neon
- Part126.TopSurface = Enum.SurfaceType.Smooth
- Part126.brickColor = BrickColor.new("Institutional white")
- Part126.FormFactor = Enum.FormFactor.Custom
- Part126.formFactor = Enum.FormFactor.Custom
- Part127.Name = "PartBladeBlock"
- Part127.Parent = Tool0
- Part127.CFrame = CFrame.new(-27.1512947, 5.02009106, -17.3556252, -0.707106829, 0.500000298, 0.499999732, 0, 0.707106411, -0.707107246, -0.707106829, -0.500000298, -0.499999732)
- Part127.Orientation = Vector3.new(45, 135, 0)
- Part127.Position = Vector3.new(-27.1512947, 5.02009106, -17.3556252)
- Part127.Rotation = Vector3.new(125.259995, 30, -144.73999)
- Part127.Color = Color3.new(0.972549, 0.972549, 0.972549)
- Part127.Size = Vector3.new(0.200000003, 0.5, 0.400000006)
- Part127.BottomSurface = Enum.SurfaceType.Smooth
- Part127.BrickColor = BrickColor.new("Institutional white")
- Part127.CanCollide = false
- Part127.Material = Enum.Material.Neon
- Part127.TopSurface = Enum.SurfaceType.Smooth
- Part127.brickColor = BrickColor.new("Institutional white")
- Part127.FormFactor = Enum.FormFactor.Custom
- Part127.formFactor = Enum.FormFactor.Custom
- SpecialMesh128.Parent = Part127
- SpecialMesh128.Scale = Vector3.new(1, 1, 0.5)
- SpecialMesh128.MeshType = Enum.MeshType.Wedge
- Camera129.Name = "ThumbnailCamera"
- Camera129.Parent = Tool0
- Camera129.CFrame = CFrame.new(71.4604874, 6.06171608, -27.7961903, 0.106738985, -0.372469544, 0.921885669, -0, 0.927182674, 0.374609649, -0.994287133, -0.0399854518, 0.0989665166)
- Camera129.CoordinateFrame = CFrame.new(71.4604874, 6.06171608, -27.7961903, 0.106738985, -0.372469544, 0.921885669, -0, 0.927182674, 0.374609649, -0.994287133, -0.0399854518, 0.0989665166)
- Camera129.Focus = CFrame.new(69.6167145, 5.31249619, -27.9941235, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- Camera129.focus = CFrame.new(69.6167145, 5.31249619, -27.9941235, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- Part130.Name = "PartHDiamondHilt"
- Part130.Parent = Tool0
- Part130.CFrame = CFrame.new(-29.5008965, 1.55616295, -15.0056496, -0.49999994, 0.500000119, -0.707106829, 0.707106948, 0.707106709, 0, 0.49999994, -0.500000119, -0.707106829)
- Part130.Orientation = Vector3.new(0, -135, 45)
- Part130.Position = Vector3.new(-29.5008965, 1.55616295, -15.0056496)
- Part130.Rotation = Vector3.new(-180, -45, -135)
- Part130.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
- Part130.Size = Vector3.new(1, 1, 1)
- Part130.BottomSurface = Enum.SurfaceType.Smooth
- Part130.BrickColor = BrickColor.new("Really black")
- Part130.CanCollide = false
- Part130.Material = Enum.Material.Neon
- Part130.TopSurface = Enum.SurfaceType.Smooth
- Part130.brickColor = BrickColor.new("Really black")
- Part130.FormFactor = Enum.FormFactor.Symmetric
- Part130.formFactor = Enum.FormFactor.Symmetric
- SpecialMesh131.Parent = Part130
- SpecialMesh131.MeshId = "http://www.roblox.com/Asset/?id=9756362"
- SpecialMesh131.Scale = Vector3.new(0.400000006, 0.400000006, 0.800000012)
- SpecialMesh131.MeshType = Enum.MeshType.FileMesh
- Part132.Name = "PartFire"
- Part132.Parent = Tool0
- Part132.CFrame = CFrame.new(-29.35149, 1.76795197, -15.1556139, -0.49999994, 0.500000119, -0.707106829, 0.707106948, 0.707106709, 0, 0.49999994, -0.500000119, -0.707106829)
- Part132.Orientation = Vector3.new(0, -135, 45)
- Part132.Position = Vector3.new(-29.35149, 1.76795197, -15.1556139)
- Part132.Rotation = Vector3.new(-180, -45, -135)
- Part132.Color = Color3.new(0.972549, 0.972549, 0.972549)
- Part132.Transparency = 1
- Part132.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
- Part132.BottomSurface = Enum.SurfaceType.Smooth
- Part132.BrickColor = BrickColor.new("Institutional white")
- Part132.CanCollide = false
- Part132.Material = Enum.Material.Neon
- Part132.TopSurface = Enum.SurfaceType.Smooth
- Part132.brickColor = BrickColor.new("Institutional white")
- Part132.FormFactor = Enum.FormFactor.Custom
- Part132.formFactor = Enum.FormFactor.Custom
- Part133.Name = "PartBladeBlock"
- Part133.Parent = Tool0
- Part133.CFrame = CFrame.new(-28.35149, 3.18207312, -16.1556015, -0.49999994, 0.500000119, -0.707106829, 0.707106948, 0.707106709, 0, 0.49999994, -0.500000119, -0.707106829)
- Part133.Orientation = Vector3.new(0, -135, 45)
- Part133.Position = Vector3.new(-28.35149, 3.18207312, -16.1556015)
- Part133.Rotation = Vector3.new(-180, -45, -135)
- Part133.Color = Color3.new(0.972549, 0.972549, 0.972549)
- Part133.Size = Vector3.new(0.400000006, 4.5, 0.200000003)
- Part133.BottomSurface = Enum.SurfaceType.Smooth
- Part133.BrickColor = BrickColor.new("Institutional white")
- Part133.CanCollide = false
- Part133.Material = Enum.Material.Neon
- Part133.TopSurface = Enum.SurfaceType.Smooth
- Part133.brickColor = BrickColor.new("Institutional white")
- Part133.FormFactor = Enum.FormFactor.Custom
- Part133.formFactor = Enum.FormFactor.Custom
- Part134.Name = "PartH"
- Part134.Parent = Tool0
- Part134.CFrame = CFrame.new(-29.800703, 1.13092804, -14.7056637, -0.49999994, 0.500000119, -0.707106829, 0.707106948, 0.707106709, 0, 0.49999994, -0.500000119, -0.707106829)
- Part134.Orientation = Vector3.new(0, -135, 45)
- Part134.Position = Vector3.new(-29.800703, 1.13092804, -14.7056637)
- Part134.Rotation = Vector3.new(-180, -45, -135)
- Part134.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
- Part134.Size = Vector3.new(1, 1, 1)
- Part134.BottomSurface = Enum.SurfaceType.Smooth
- Part134.BrickColor = BrickColor.new("Really black")
- Part134.CanCollide = false
- Part134.Material = Enum.Material.Neon
- Part134.Reflectance = 0.25
- Part134.TopSurface = Enum.SurfaceType.Smooth
- Part134.brickColor = BrickColor.new("Really black")
- Part134.FormFactor = Enum.FormFactor.Custom
- Part134.formFactor = Enum.FormFactor.Custom
- SpecialMesh135.Parent = Part134
- SpecialMesh135.MeshId = "rbxasset://fonts/HeadJ.mesh"
- SpecialMesh135.Scale = Vector3.new(0.25, 0.800000012, 0.300000012)
- SpecialMesh135.MeshType = Enum.MeshType.FileMesh
- Part136.Name = "PartH"
- Part136.Parent = Tool0
- Part136.CFrame = CFrame.new(-30.0008965, 0.848138988, -14.5056496, -0.49999994, 0.500000119, -0.707106829, 0.707106948, 0.707106709, 0, 0.49999994, -0.500000119, -0.707106829)
- Part136.Orientation = Vector3.new(0, -135, 45)
- Part136.Position = Vector3.new(-30.0008965, 0.848138988, -14.5056496)
- Part136.Rotation = Vector3.new(-180, -45, -135)
- Part136.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
- Part136.Size = Vector3.new(1, 1, 1)
- Part136.BottomSurface = Enum.SurfaceType.Smooth
- Part136.BrickColor = BrickColor.new("Really black")
- Part136.CanCollide = false
- Part136.Material = Enum.Material.Neon
- Part136.Reflectance = 0.25
- Part136.TopSurface = Enum.SurfaceType.Smooth
- Part136.brickColor = BrickColor.new("Really black")
- Part136.FormFactor = Enum.FormFactor.Symmetric
- Part136.formFactor = Enum.FormFactor.Symmetric
- SpecialMesh137.Parent = Part136
- SpecialMesh137.MeshId = "rbxasset://fonts/HeadI.mesh"
- SpecialMesh137.Scale = Vector3.new(0.5, 0.25, 0.5)
- SpecialMesh137.MeshType = Enum.MeshType.FileMesh
- Part138.Name = "PartBladeBlock"
- Part138.Parent = Tool0
- Part138.CFrame = CFrame.new(-27.0507126, 4.87911606, -17.4556618, 0.707106829, 0.49999994, -0.500000119, 0, 0.707106948, 0.707106709, 0.707106829, -0.49999994, 0.500000119)
- Part138.Orientation = Vector3.new(-45, -45, 0)
- Part138.Position = Vector3.new(-27.0507126, 4.87911606, -17.4556618)
- Part138.Rotation = Vector3.new(-54.7399979, -30, -35.2599983)
- Part138.Color = Color3.new(0.972549, 0.972549, 0.972549)
- Part138.Size = Vector3.new(0.200000003, 0.5, 0.400000006)
- Part138.BottomSurface = Enum.SurfaceType.Smooth
- Part138.BrickColor = BrickColor.new("Institutional white")
- Part138.CanCollide = false
- Part138.Material = Enum.Material.Neon
- Part138.TopSurface = Enum.SurfaceType.Smooth
- Part138.brickColor = BrickColor.new("Institutional white")
- Part138.FormFactor = Enum.FormFactor.Custom
- Part138.formFactor = Enum.FormFactor.Custom
- SpecialMesh139.Parent = Part138
- SpecialMesh139.Scale = Vector3.new(1, 1, 0.5)
- SpecialMesh139.MeshType = Enum.MeshType.Wedge
- Tool140.Name = "Bomb"
- Tool140.Parent = Part2
- Tool140.TextureId = "http://www.roblox.com/asset/?id=11565733"
- Tool140.Grip = CFrame.new(-0.5, 0, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- Tool140.GripForward = Vector3.new(1, -0, -0)
- Tool140.GripPos = Vector3.new(-0.5, 0, 0)
- Tool140.GripRight = Vector3.new(0, 0, 1)
- Script141.Name = "PelletScript"
- Script141.Parent = Tool140
- table.insert(cors,sandbox(Script141,function()
- local game = game
- FuseSound = Instance.new("Sound")
- FuseSound.SoundId = "http://www.roblox.com/asset/?id=11565378"
- FuseSound.Parent = script.Parent
- FuseSound:Play()
- local total_time = 2 -- seconds
- local cur_time = 0
- function update(frac)
- script.Parent.Fuse.Color = Color3.new(1,1 - frac,0)
- end
- function blowUp()
- local sound = Instance.new("Sound")
- sound.SoundId = "http://www.roblox.com/asset?id=2233908"
- sound.Parent = script.Parent
- sound.Volume = 2
- sound:play()
- explosion = Instance.new("Explosion")
- explosion.BlastRadius = 12
- explosion.BlastPressure = 1000000
- -- find instigator tag
- local creator = script.Parent:findFirstChild("creator")
- if creator ~= nil then
- explosion.Hit:connect(function(part, distance) onPlayerBlownUp(part, distance, creator) end)
- end
- explosion.Position = script.Parent.Position
- explosion.Parent = game.Workspace
- script.Parent.Transparency = 1
- end
- function onPlayerBlownUp(part, distance, creator)
- if part.Name == "Head" then
- local humanoid = part.Parent.Humanoid
- tagHumanoid(humanoid, creator)
- end
- end
- function tagHumanoid(humanoid, creator)
- -- tag does not need to expire iff all explosions lethal
- if creator ~= nil then
- local new_tag = creator:clone()
- new_tag.Parent = humanoid
- end
- end
- function untagHumanoid(humanoid)
- if humanoid ~= nil then
- local tag = humanoid:findFirstChild("creator")
- if tag ~= nil then
- tag.Parent = nil
- end
- end
- end
- while cur_time < total_time do
- update(cur_time / total_time)
- local e,g = wait(.5)
- cur_time = cur_time + e
- end
- blowUp()
- wait(.1)
- script.Parent:remove()
- end))
- Script141.Disabled = true
- Script142.Name = "Slingshot"
- Script142.Parent = Tool140
- table.insert(cors,sandbox(Script142,function()
- local game = game
- Tool = script.Parent
- VELOCITY = 74 -- constant
- loaded=true
- local Pellet = Instance.new("Part")
- Pellet.Name="Snowball"
- Pellet.Locked = true
- Pellet.BackSurface = 0
- Pellet.BottomSurface = 0
- Pellet.FrontSurface = 0
- Pellet.LeftSurface = 0
- Pellet.RightSurface = 0
- Pellet.TopSurface = 0
- Pellet.Shape = 1
- Pellet.Size = Vector3.new(2,2,2)
- Pellet.BrickColor = BrickColor.new(1)
- script.Parent.PelletScript:clone().Parent = Pellet
- local spark = Instance.new("Fire")
- spark.Name = "Fuse"
- spark.Parent = Pellet
- function fire(mouse_pos)
- Tool.Parent.Torso["Right Shoulder"].MaxVelocity = 0.7
- Tool.Parent.Torso["Right Shoulder"].DesiredAngle = 3.6
- wait(.1)
- Tool.Parent.Torso["Right Shoulder"].MaxVelocity = 1
- Tool.Handle.Transparency=1
- Tool.Handle.Fire:play()
- -- find player's head pos
- local vCharacter = Tool.Parent
- local vPlayer = game.Players:playerFromCharacter(vCharacter)
- local head = vCharacter:findFirstChild("Head")
- if head == nil then return end
- local dir = mouse_pos - head.Position
- dir = computeDirection(dir)
- local launch = head.Position + 5 * dir
- local delta = mouse_pos - launch
- local dy = delta.y
- local new_delta = Vector3.new(delta.x, 0, delta.z)
- delta = new_delta
- local dx = delta.magnitude
- local unit_delta = delta.unit
- -- acceleration due to gravity in RBX units
- local g = (-9.81 * 20)
- local theta = computeLaunchAngle( dx, dy, g)
- local vy = math.sin(theta)
- local xz = math.cos(theta)
- local vx = unit_delta.x * xz
- local vz = unit_delta.z * xz
- local missile = Pellet:clone()
- Tool.Handle.Mesh:clone().Parent = missile
- missile.Position = launch
- missile.Velocity = Vector3.new(vx,vy,vz) * VELOCITY
- missile.PelletScript.Disabled = false
- local creator_tag = Instance.new("ObjectValue")
- creator_tag.Value = vCharacter
- creator_tag.Name = "creator"
- creator_tag.Parent = missile
- missile.Parent = game.Workspace
- end
- function computeLaunchAngle(dx,dy,grav)
- -- arcane
- -- http://en.wikipedia.org/wiki/Trajectory_of_a_projectile
- local g = math.abs(grav)
- local inRoot = (VELOCITY*VELOCITY*VELOCITY*VELOCITY) - (g * ((g*dx*dx) + (2*dy*VELOCITY*VELOCITY)))
- if inRoot <= 0 then
- return .25 * math.pi
- end
- local root = math.sqrt(inRoot)
- local inATan1 = ((VELOCITY*VELOCITY) + root) / (g*dx)
- local inATan2 = ((VELOCITY*VELOCITY) - root) / (g*dx)
- local answer1 = math.atan(inATan1)
- local answer2 = math.atan(inATan2)
- if answer1 < answer2 then return answer1 end
- return answer2
- end
- function computeDirection(vec)
- local lenSquared = vec.magnitude * vec.magnitude
- local invSqrt = 1 / math.sqrt(lenSquared)
- return Vector3.new(vec.x * invSqrt, vec.y * invSqrt, vec.z * invSqrt)
- end
- Tool.Enabled = true
- function onActivated()
- if not Tool.Enabled then
- return
- end
- Tool.Enabled = false
- local character = Tool.Parent;
- local humanoid = character.Humanoid
- if humanoid == nil then
- print("Humanoid not found")
- return
- end
- if loaded==true then
- loaded=false
- local targetPos = humanoid.TargetPoint
- fire(targetPos)
- wait(0.1)
- Tool.Enabled = true
- elseif loaded==false then
- Tool.Parent.Torso["Right Shoulder"].MaxVelocity = 0.6
- Tool.Parent.Torso["Right Shoulder"].DesiredAngle = -3.6
- wait(0.1)
- Tool.Handle.Transparency=0
- wait(0.1)
- loaded=true
- end
- Tool.Enabled = true
- end
- script.Parent.Activated:connect(onActivated)
- end))
- LocalScript143.Name = "Local Gui"
- LocalScript143.Parent = Tool140
- table.insert(cors,sandbox(LocalScript143,function()
- local game = game
- Tool=script.Parent
- enabled = true
- function onButton1Down(mouse)
- if not enabled then
- return
- end
- enabled = false
- mouse.Icon = "rbxasset://textures\\GunWaitCursor.png"
- wait(6.5)
- mouse.Icon = "rbxasset://textures\\GunCursor.png"
- enabled = true
- end
- function onEquippedLocal(mouse)
- if mouse == nil then
- print("Mouse not found")
- return
- end
- mouse.Icon = "rbxasset://textures\\GunCursor.png"
- mouse.Button1Down:connect(function() onButton1Down(mouse) end)
- end
- Tool.Equipped:connect(onEquippedLocal)
- end))
- Part144.Name = "Handle"
- Part144.Parent = Tool140
- Part144.CFrame = CFrame.new(-21.6428413, 5.60557508, 7.73934793, 0, 1, 0, 0, 0, 1, 1, 0, 0)
- Part144.Orientation = Vector3.new(-90, -90, 0)
- Part144.Position = Vector3.new(-21.6428413, 5.60557508, 7.73934793)
- Part144.Rotation = Vector3.new(-90, 0, -90)
- Part144.Color = Color3.new(1, 1, 1)
- Part144.Size = Vector3.new(2, 2, 2)
- Part144.BottomSurface = Enum.SurfaceType.Smooth
- Part144.BrickColor = BrickColor.new("Institutional white")
- Part144.TopSurface = Enum.SurfaceType.Smooth
- Part144.brickColor = BrickColor.new("Institutional white")
- Part144.FormFactor = Enum.FormFactor.Symmetric
- Part144.formFactor = Enum.FormFactor.Symmetric
- SpecialMesh145.Parent = Part144
- SpecialMesh145.MeshId = "rbxasset://fonts/timebomb.mesh"
- SpecialMesh145.MeshType = Enum.MeshType.FileMesh
- Sound146.Name = "Fire"
- Sound146.Parent = Part144
- Sound146.SoundId = "rbxassetid://166423113"
- for i,v in pairs(mas:GetChildren()) do
- v.Parent = workspace
- pcall(function() v:MakeJoints() end)
- end
- mas:Destroy()
- for i,v in pairs(cors) do
- spawn(function()
- pcall(v)
- end)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement