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") Part1 = Instance.new("Part") Sound2 = Instance.new("Sound") Sound3 = Instance.new("Sound") Sound4 = Instance.new("Sound") Part5 = Instance.new("Part") Decal6 = Instance.new("Decal") Decal7 = Instance.new("Decal") Part8 = Instance.new("Part") Decal9 = Instance.new("Decal") Decal10 = Instance.new("Decal") Part11 = Instance.new("Part") Decal12 = Instance.new("Decal") Decal13 = Instance.new("Decal") Part14 = Instance.new("Part") Decal15 = Instance.new("Decal") Decal16 = Instance.new("Decal") PointLight17 = Instance.new("PointLight") Weld18 = Instance.new("Weld") Weld19 = Instance.new("Weld") Weld20 = Instance.new("Weld") Weld21 = Instance.new("Weld") WeldConstraint22 = Instance.new("WeldConstraint") WeldConstraint23 = Instance.new("WeldConstraint") WeldConstraint24 = Instance.new("WeldConstraint") WeldConstraint25 = Instance.new("WeldConstraint") Script26 = Instance.new("Script") LocalScript27 = Instance.new("LocalScript") Camera28 = Instance.new("Camera") Tool0.Name = "Rift" Tool0.Parent = mas Tool0.TextureId = "rbxasset://Textures/Sword128.png" Tool0.Grip = CFrame.new(-0.0215187073, 0, 0.249089241, 0, 0, 1, 1, 0, 0, 0, 1, 0) Tool0.GripForward = Vector3.new(-1, -0, -0) Tool0.GripPos = Vector3.new(-0.0215187073, 0, 0.249089241) Tool0.GripRight = Vector3.new(0, 1, 0) Tool0.GripUp = Vector3.new(0, 0, 1) Part1.Name = "Handle" Part1.Parent = Tool0 Part1.CFrame = CFrame.new(-9.39999962, 2.00000095, -9.50000095, 1.1920929e-07, -1, 2.77318406e-07, 3.85828599e-07, 2.98453244e-08, 1.00000048, -1.00000072, -8.94069672e-08, -7.44502188e-07) Part1.Orientation = Vector3.new(-90, 90, 0) Part1.Position = Vector3.new(-9.39999962, 2.00000095, -9.50000095) Part1.Rotation = Vector3.new(-90, 0, 90) Part1.Color = Color3.new(0.388235, 0.372549, 0.384314) Part1.Transparency = 1 Part1.Size = Vector3.new(1, 0.800000012, 4) Part1.BottomSurface = Enum.SurfaceType.Smooth Part1.BrickColor = BrickColor.new("Dark stone grey") Part1.Locked = true Part1.Reflectance = 0.40000000596046 Part1.TopSurface = Enum.SurfaceType.Smooth Part1.brickColor = BrickColor.new("Dark stone grey") Part1.FormFactor = Enum.FormFactor.Plate Part1.formFactor = Enum.FormFactor.Plate Sound2.Name = "SwordSlash" Sound2.Parent = Part1 Sound2.SoundId = "rbxassetid://2571935805" Sound2.Volume = 5 Sound3.Name = "SwordLunge" Sound3.Parent = Part1 Sound3.SoundId = "rbxassetid://1759712659" Sound3.Volume = 5 Sound4.Name = "Unsheath" Sound4.Parent = Part1 Sound4.Looped = true Sound4.SoundId = "rbxassetid://2241931437" Sound4.Volume = 1 Part5.Parent = Part1 Part5.CFrame = CFrame.new(-9.46000004, 2.05503607, -9.44498158, 0, 0, -1, 0, 1, 0, 1, 0, 0) Part5.Orientation = Vector3.new(0, -90, 0) Part5.Position = Vector3.new(-9.46000004, 2.05503607, -9.44498158) Part5.Rotation = Vector3.new(0, -90, 0) Part5.Transparency = 100 Part5.Size = Vector3.new(4, 4.10999966, 0.0500000007) Part5.BottomSurface = Enum.SurfaceType.Smooth Part5.CanCollide = false Part5.TopSurface = Enum.SurfaceType.Smooth Decal6.Parent = Part5 Decal6.Texture = "rbxassetid://2171273825" Decal7.Parent = Part5 Decal7.Texture = "rbxassetid://2171273825" Decal7.Face = Enum.NormalId.Back Part8.Parent = Part1 Part8.CFrame = CFrame.new(-9.46000004, 2.05503607, -9.44498158, 1, 0, 0, 0, 1, 0, 0, 0, 1) Part8.Position = Vector3.new(-9.46000004, 2.05503607, -9.44498158) Part8.Transparency = 100 Part8.Size = Vector3.new(4, 4.10999966, 0.0500000007) Part8.BottomSurface = Enum.SurfaceType.Smooth Part8.CanCollide = false Part8.TopSurface = Enum.SurfaceType.Smooth Decal9.Parent = Part8 Decal9.Texture = "rbxassetid://2171273825" Decal10.Parent = Part8 Decal10.Texture = "rbxassetid://2171273825" Decal10.Face = Enum.NormalId.Back Part11.Parent = Part1 Part11.CFrame = CFrame.new(-9.46000004, 2.05503607, -9.44498158, -0.707106829, 0, -0.707106829, 0, 1, 0, 0.707106829, 0, -0.707106829) Part11.Orientation = Vector3.new(0, -135, 0) Part11.Position = Vector3.new(-9.46000004, 2.05503607, -9.44498158) Part11.Rotation = Vector3.new(-180, -45, -180) Part11.Transparency = 100 Part11.Size = Vector3.new(4, 4.10999966, 0.0500000007) Part11.BottomSurface = Enum.SurfaceType.Smooth Part11.CanCollide = false Part11.TopSurface = Enum.SurfaceType.Smooth Decal12.Parent = Part11 Decal12.Texture = "rbxassetid://2171273825" Decal13.Parent = Part11 Decal13.Texture = "rbxassetid://2171273825" Decal13.Face = Enum.NormalId.Back Part14.Parent = Part1 Part14.CFrame = CFrame.new(-9.46000004, 2.05503607, -9.44498158, 0.707106829, 0, -0.707106829, 0, 1, 0, 0.707106829, 0, 0.707106829) Part14.Orientation = Vector3.new(0, -45, 0) Part14.Position = Vector3.new(-9.46000004, 2.05503607, -9.44498158) Part14.Rotation = Vector3.new(0, -45, 0) Part14.Transparency = 100 Part14.Size = Vector3.new(4, 4.10999966, 0.0500000007) Part14.BottomSurface = Enum.SurfaceType.Smooth Part14.CanCollide = false Part14.TopSurface = Enum.SurfaceType.Smooth Decal15.Parent = Part14 Decal15.Texture = "rbxassetid://2171273825" Decal16.Parent = Part14 Decal16.Texture = "rbxassetid://2171273825" Decal16.Face = Enum.NormalId.Back PointLight17.Parent = Part14 PointLight17.Range = 40 Weld18.Parent = Part14 Weld18.C1 = CFrame.new(-0.0550193787, 0.0600004196, 0.0550351143, -0.707107127, 3.85828599e-07, -0.707107365, -0.707106829, 2.98453244e-08, 0.707106709, -3.30348826e-07, 1.00000048, -7.22536242e-07) Weld18.Part0 = Part14 Weld18.Part1 = Part1 Weld18.part1 = Part1 Weld19.Parent = Part14 Weld19.C1 = CFrame.new(0, 0, 0, 0.707106829, 0, 0.707106829, 0, 1, 0, -0.707106829, 0, 0.707106829) Weld19.Part0 = Part14 Weld19.Part1 = Part5 Weld19.part1 = Part5 Weld20.Parent = Part14 Weld20.C1 = CFrame.new(0, 0, 0, 0.707106829, 0, -0.707106829, 0, 1, 0, 0.707106829, 0, 0.707106829) Weld20.Part0 = Part14 Weld20.Part1 = Part8 Weld20.part1 = Part8 Weld21.Parent = Part14 Weld21.C1 = CFrame.new(0, 0, 0, 0, 0, 1.00000012, 0, 1, 0, -1.00000012, 0, 0) Weld21.Part0 = Part14 Weld21.Part1 = Part11 Weld21.part1 = Part11 WeldConstraint22.Parent = Part1 WeldConstraint22.Part0 = Part1 WeldConstraint22.Part1 = Part5 WeldConstraint23.Parent = Part1 WeldConstraint23.Part0 = Part1 WeldConstraint23.Part1 = Part8 WeldConstraint24.Parent = Part1 WeldConstraint24.Part0 = Part1 WeldConstraint24.Part1 = Part11 WeldConstraint25.Parent = Part1 WeldConstraint25.Part0 = Part1 WeldConstraint25.Part1 = Part14 Script26.Name = "SwordScript" Script26.Parent = Tool0 table.insert(cors,sandbox(Script26,function() --Rescripted by Luckymaxer --EUROCOW WAS HERE BECAUSE I MADE THE PARTICLES AND THEREFORE THIS ENTIRE SWORD PRETTY AND LOOK PRETTY WORDS AND I'D LIKE TO DEDICATE THIS TO MY FRIENDS AND HI LUCKYMAXER PLS FIX SFOTH SWORDS TY LOVE Y'ALl --Updated for R15 avatars by StarWars --Re-updated by TakeoHonorable Tool = script.Parent Handle = Tool:WaitForChild("Handle") 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 local BaseUrl = "rbxassetid://" Players = game:GetService("Players") Debris = game:GetService("Debris") RunService = game:GetService("RunService") DamageValues = { BaseDamage = 5, SlashDamage = 10, LungeDamage = 30 } --For R15 avatars Animations = { R15Slash = 522635514, R15Lunge = 522638767 } Damage = DamageValues.BaseDamage Grips = { Up = CFrame.new(0, 0, -1.70000005, 0, 0, 1, 1, 0, 0, 0, 1, 0), Out = CFrame.new(0, 0, -1.70000005, 0, 1, 0, 1, -0, 0, 0, 0, -1) } Sounds = { Slash = Handle:WaitForChild("SwordSlash"), Lunge = Handle:WaitForChild("SwordLunge"), Unsheath = Handle:WaitForChild("Unsheath") } ToolEquipped = false --For Omega Rainbow Katana thumbnail to display a lot of particles. for i, v in pairs(Handle:GetChildren()) do if v:IsA("ParticleEmitter") then v.Rate = 20 end end Tool.Grip = Grips.Up Tool.Enabled = true function IsTeamMate(Player1, Player2) return (Player1 and Player2 and not Player1.Neutral and not Player2.Neutral and Player1.TeamColor == Player2.TeamColor) end function TagHumanoid(humanoid, player) local Creator_Tag = Instance.new("ObjectValue") Creator_Tag.Name = "creator" Creator_Tag.Value = player Debris:AddItem(Creator_Tag, 2) Creator_Tag.Parent = humanoid end function UntagHumanoid(humanoid) for i, v in pairs(humanoid:GetChildren()) do if v:IsA("ObjectValue") and v.Name == "creator" then v:Destroy() end end end function Blow(Hit) if not Hit or not Hit.Parent or not CheckIfAlive() or not ToolEquipped then return end local RightArm = Character:FindFirstChild("Right Arm") or Character:FindFirstChild("RightHand") if not RightArm then return end local RightGrip = RightArm:FindFirstChild("RightGrip") if not RightGrip or (RightGrip.Part0 ~= Handle and RightGrip.Part1 ~= Handle) then return end local character = Hit.Parent if character == Character then return end local humanoid = character:FindFirstChildOfClass("Humanoid") if not humanoid or humanoid.Health == 0 then return end local player = Players:GetPlayerFromCharacter(character) if player and (player == Player or IsTeamMate(Player, player)) then return end UntagHumanoid(humanoid) TagHumanoid(humanoid, Player) humanoid:TakeDamage(Damage) end function Attack() Damage = DamageValues.SlashDamage Sounds.Slash:Play() if Humanoid then if Humanoid.RigType == Enum.HumanoidRigType.R6 then local Anim = Instance.new("StringValue") Anim.Name = "toolanim" Anim.Value = "Slash" Anim.Parent = Tool elseif Humanoid.RigType == Enum.HumanoidRigType.R15 then local Anim = Tool:FindFirstChild("R15Slash") if Anim then local Track = Humanoid:LoadAnimation(Anim) Track:Play(0) end end end end function Lunge() Damage = DamageValues.LungeDamage Sounds.Lunge:Play() if Humanoid then if Humanoid.RigType == Enum.HumanoidRigType.R6 then local Anim = Instance.new("StringValue") Anim.Name = "toolanim" Anim.Value = "Lunge" Anim.Parent = Tool elseif Humanoid.RigType == Enum.HumanoidRigType.R15 then local Anim = Tool:FindFirstChild("R15Lunge") if Anim then local Track = Humanoid:LoadAnimation(Anim) Track:Play(0) end end end --[[ if CheckIfAlive() then local Force = Instance.new("BodyVelocity") Force.velocity = Vector3.new(0, 10, 0) Force.maxForce = Vector3.new(0, 4000, 0) Debris:AddItem(Force, 0.4) Force.Parent = Torso end ]] wait(0.2) Tool.Grip = Grips.Out wait(0.6) Tool.Grip = Grips.Up Damage = DamageValues.SlashDamage end Tool.Enabled = true LastAttack = 0 function Activated() if not Tool.Enabled or not ToolEquipped or not CheckIfAlive() then return end Tool.Enabled = false local Tick = RunService.Stepped:wait() if (Tick - LastAttack < 0.2) then Lunge() else Attack() end LastAttack = Tick --wait(0.5) Damage = DamageValues.BaseDamage local SlashAnim = (Tool:FindFirstChild("R15Slash") or Create("Animation"){ Name = "R15Slash", AnimationId = BaseUrl .. Animations.R15Slash, Parent = Tool }) local LungeAnim = (Tool:FindFirstChild("R15Lunge") or Create("Animation"){ Name = "R15Lunge", AnimationId = BaseUrl .. Animations.R15Lunge, Parent = Tool }) Tool.Enabled = true end function CheckIfAlive() return (((Player and Player.Parent and Character and Character.Parent and Humanoid and Humanoid.Parent and Humanoid.Health > 0 and Torso and Torso.Parent) and true) or false) end function Equipped() Character = Tool.Parent Player = Players:GetPlayerFromCharacter(Character) Humanoid = Character:FindFirstChildOfClass("Humanoid") Torso = Character:FindFirstChild("Torso") or Character:FindFirstChild("HumanoidRootPart") if not CheckIfAlive() then return end ToolEquipped = true Sounds.Unsheath:Play() end function Unequipped() Tool.Grip = Grips.Up ToolEquipped = false end Tool.Activated:Connect(Activated) Tool.Equipped:Connect(Equipped) Tool.Unequipped:Connect(Unequipped) Connection = Handle.Touched:Connect(Blow) end)) LocalScript27.Name = "MouseIcon" LocalScript27.Parent = Tool0 table.insert(cors,sandbox(LocalScript27,function() --Made by Luckymaxer Mouse_Icon = "rbxasset://textures/GunCursor.png" Reloading_Icon = "rbxasset://textures/GunWaitCursor.png" Tool = script.Parent Mouse = nil function UpdateIcon() if Mouse then Mouse.Icon = Tool.Enabled and Mouse_Icon or Reloading_Icon end end function OnEquipped(ToolMouse) Mouse = ToolMouse UpdateIcon() end function OnChanged(Property) if Property == "Enabled" then UpdateIcon() end end Tool.Equipped:Connect(OnEquipped) Tool.Changed:Connect(OnChanged) end)) Camera28.Name = "ThumbnailCamera" Camera28.Parent = Tool0 Camera28.CFrame = CFrame.new(-5.67428207, 2.83736515, 3.79184556, 0.289030313, 0.416664183, -0.861888885, -0, 0.900314331, 0.435240269, 0.957319915, -0.125797629, 0.260218143) Camera28.CoordinateFrame = CFrame.new(-5.67428207, 2.83736515, 3.79184556, 0.289030313, 0.416664183, -0.861888885, -0, 0.900314331, 0.435240269, 0.957319915, -0.125797629, 0.260218143) Camera28.Focus = CFrame.new(-3.9505043, 1.96688461, 3.27140927, 1, 0, 0, 0, 1, 0, 0, 0, 1) Camera28.focus = CFrame.new(-3.9505043, 1.96688461, 3.27140927, 1, 0, 0, 0, 1, 0, 0, 0, 1) for i,v in pairs(mas:GetChildren()) do v.Parent = workspace.Bo_unty pcall(function() v:MakeJoints() end) end mas:Destroy() for i,v in pairs(cors) do spawn(function() pcall(v) end) end