local ReplicatedStorage = game:GetService("ReplicatedStorage") local TweenService = game:GetService("TweenService") local VirtualUser = game:GetService("VirtualUser") local RunService = game:GetService("RunService") local Lighting = game:GetService("Lighting") local Players = game:GetService("Players") local CoreGui = game:GetService("CoreGui") local Stepped = RunService.Stepped local Player = Players.LocalPlayer local Data = Player:WaitForChild("Data") local Level = Data:WaitForChild("Level") local Fragments = Data:WaitForChild("Fragments") local Map = workspace:WaitForChild("Map") local NPCs = workspace:WaitForChild("NPCs") local Boats = workspace:WaitForChild("Boats") local SeaBeasts = workspace:WaitForChild("SeaBeasts") local EnemiesFolder = workspace:WaitForChild("Enemies") local Characters = workspace:WaitForChild("Characters") local WorldOrigin = workspace:WaitForChild("_WorldOrigin") local Locations = WorldOrigin:WaitForChild("Locations") local Remotes = ReplicatedStorage:WaitForChild("Remotes") local Modules = ReplicatedStorage:WaitForChild("Modules") local Net = Modules:WaitForChild("Net") local _ENV = (getgenv or getrenv or getfenv)() local HttpGet = game.HttpGet local clonedEnabled = {} local Functions = _ENV.rz_Functions or {} local FarmFunctions = _ENV.rz_FarmFunctions or {} local Settings = _ENV.rz_Settings or { AutoBuso = true, BringMobs = true, BringDistance = 250, FarmTool = "Melee", skillSelected = {}, boatSelected = {}, fishSelected = {} } local Enabled = _ENV.rz_EnabledOptions or setmetatable({}, { __newindex = function(self, index, value) rawset(clonedEnabled, index, value or nil) table.clear(FarmFunctions) for _, func in ipairs(Functions) do if rawget(clonedEnabled, func.Name) then table.insert(FarmFunctions, func.Function) end end end, __index = clonedEnabled }) do local PlayerGui = Player.PlayerGui if not PlayerGui:FindFirstChild("Main") then while PlayerGui.ChildAdded:Wait().Name ~= "Main" do end end end _ENV.rz_Functions = Functions _ENV.rz_Settings = Settings _ENV.rz_EnabledOptions = Enabled _ENV.rz_FarmFunctions = FarmFunctions local Library = nil local Module = nil local PlayerTP = nil local Tween = nil local RedeemCodes = function() local success, codes = pcall(function() return HttpGet(game, "https://raw.githubusercontent.com/realredz/BloxFruits/refs/heads/main/Codes.txt") end) if success and codes then for _, code in ipairs(codes:gsub("\n", ""):split(" ")) do ReplicatedStorage.Remotes.Redeem:InvokeServer(code) end end end local NoFog = function() local LightingLayers = Lighting:FindFirstChild("LightingLayers") if LightingLayers then LightingLayers:Remove() end end local TradeBones = function() if Module:GetMaterial("Bones") >= 50 then Module:FireRemote("Bones", "Buy", 1, 1) end end local JoinTeam = { Marines = function() Module.FireRemote("SetTeam", "Marines") end, Pirates = function() Module.FireRemote("SetTeam", "Pirates") end } local Loader = {} Loader.Modules = {} do local Modules = Loader.Modules local Tween = loadstring([[ local module = {} module.__index = module local TweenService = game:GetService("TweenService") local tweens = {} local EasingStyle = Enum.EasingStyle.Linear function module.new(obj, time, prop, value) local self = setmetatable({}, module) self.tween = TweenService:Create(obj, TweenInfo.new(time, EasingStyle), { [prop] = value }) self.tween:Play() self.value = value self.object = obj if tweens[obj] then tweens[obj]:destroy() end tweens[obj] = self return self end function module:destroy() self.tween:Pause() self.tween:Destroy() tweens[self.object] = nil setmetatable(self, nil) end function module:stop(obj) if tweens[obj] then tweens[obj]:destroy() end end return module ]])() Modules.PlayerTeleport = function() local module = { lastCF = nil, lastTP = 0, nextNum = 1, BypassCooldown = 0, islands = ({ { ["Sky Island 1"] = Vector3.new(-4652, 873, -1754), ["Sky Island 2"] = Vector3.new(-7895, 5547, -380), ["Under Water Island"] = Vector3.new(61164, 15, 1820), ["Under Water Island Entrace"] = Vector3.new(3865, 20, -1926) }, { ["Flamingo Mansion"] = Vector3.new(-317, 331, 597), ["Flamingo Room"] = Vector3.new(2283, 15, 867), ["Cursed Ship"] = Vector3.new(923, 125, 32853), ["Zombie Island"] = Vector3.new(-6509, 83, -133) }, { ["Mansion"] = Vector3.new(-12464, 376, -7566), ["Hydra Island"] = Vector3.new(5651, 1015, -350), -- ["Beautiful Pirate"] = Vector3.new(5369, 25, -497), ["Temple of Time"] = Vector3.new(28286, 14897, 103), -- ["Floating Turtle"] = Vector3.new(-11994, 332, -9027), ["Castle on the Sea"] = Vector3.new(-5090, 319, -3146), ["Great Tree"] = Vector3.new(2953, 2282, -7217) } })[Module.Sea] } local setDebounce = function(value) module.NpcDebounce = value end local IsAlive = Module.IsAlive local FireRemote = Module.FireRemote function module:talkNpc(cframe, action, ...) if Player:DistanceFromCharacter(cframe.Position) < 5 then if type(action) == "function" then action() else FireRemote(action, ...) end end end function module:GetNearestPortal(pos1) local distance, topos, iName = math.huge for name, pos2 in pairs(self.islands) do local Mag = (pos1 - pos2).Magnitude if Mag < distance then distance, topos, iName = Mag, pos2, name end end return topos, iName end function module:TeleportToGreatTree() self.new(CFrame.new(28610, 14897, 105), nil, true) self:talkNpc(CFrame.new(28610, 14897, 105), "RaceV4Progress", "TeleportBack") end function module:NPCs(locations, speed) if self.NpcDebounce or not IsAlive(Player.Character) then return end local PrimaryPart = Player.Character.PrimaryPart if #locations == 1 then self.new(locations[1], speed) elseif #locations > 1 then if self.nextNum > #locations then self.nextNum = 1 end local cframe = locations[self.nextNum] if (PrimaryPart.Position - cframe.Position).Magnitude < 5 then self.nextNum = self.nextNum + 1 self.NpcDebounce = true task.delay(1, setDebounce, false) else self.new(cframe, speed) end end end function module.new(cframe, speed, noLog) local self = module if (tick() - self.lastTP) < 1 and cframe == self.lastCF then return nil end self.lastTP = tick() self.lastCF = cframe if not IsAlive(Player.Character) then return end if not noLog then self.lastPosition = cframe.Position end local PrimaryPart = Player.Character.PrimaryPart local tSpeed = Settings.TweenSpeed or 180 local tPosition = cframe.Position local Distance = (PrimaryPart.Position - tPosition).Magnitude local Portal, pName = self:GetNearestPortal(tPosition) local PortalMag = Portal and ((tPosition - Portal).Magnitude + 300) if Portal and (tick() - self.BypassCooldown) >= 10 and Distance > PortalMag then if pName == "Great Tree" then self:TeleportToGreatTree() else Tween:stop(PrimaryPart)task.wait(0.2) if (tPosition - Portal).Magnitude < 50 then Portal = tPosition else Portal = Portal + ((tPosition - PrimaryPart.Position).Unit) * 40 end local oldPosition = PrimaryPart.Position PrimaryPart.CFrame = CFrame.new(Portal) if task.wait(0.8) and (PrimaryPart.Position - oldPosition).Magnitude < 15 then self.BypassCooldown = tick() end end else if Distance < 150 then Tween:stop(PrimaryPart) PrimaryPart.CFrame = cframe elseif speed then Tween.new(PrimaryPart, Distance / speed, "CFrame", cframe) else local blockPos = PrimaryPart.Position local yPos = CFrame.new(blockPos.X, tPosition.Y, blockPos.Z) if (blockPos - yPos.Position).Magnitude > 75 then Tween:stop(PrimaryPart)task.wait(0.1) PrimaryPart.CFrame = yPos task.wait(0.5) end if Distance < 450 then Tween.new(PrimaryPart, Distance / tSpeed * 1.8, "CFrame", cframe) else Tween.new(PrimaryPart, Distance / tSpeed, "CFrame", cframe) end end end end Module.Tween:GetPropertyChangedSignal("Parent"):Connect(function() if not Module.Tween.Parent and IsAlive(Player.Character) then Tween:stop(Player.Character.PrimaryPart) end end) PlayerTP = module.new return module end Modules.QuestManager = function() local module = { QuestList = {}, EnemyList = {}, QuestPos = {}, Sea = Module.Sea, takeQuestDebounce = false, _Position = CFrame.new(0, 0, 1) } local QuestFrame = Player.PlayerGui.Main.Quest local QuestTitle = QuestFrame.Container.QuestTitle.Title local GuideModule = require(ReplicatedStorage:WaitForChild("GuideModule")) local QuestModule = require(ReplicatedStorage:WaitForChild("Quests")) local EnemyPos = Module.EnemyLocations local Enemies = Module.EnemySpawned local IsBoss = Module.IsBoss local getTasks = function(Mission) local Enemies, Position = {}, nil for Enemie,_ in next, Mission.Task do table.insert(Enemies, Enemie) if not Position then Position = EnemyPos[Enemie] end end return Enemies, Position end task.spawn(function() for _,Npc in next, GuideModule.Data.NPCList do module.QuestPos[Npc.NPCName] = CFrame.new(Npc.Position) end end) task.spawn(loadstring([[ local self, QuestsModule, getTasks = ... local MaxLvl = ({ {0, 700}, {700, 1500}, {1500, math.huge} })[self.Sea] local bl_Quests = {"BartiloQuest", "MarineQuest", "CitizenQuest"} for name, task in QuestsModule do if table.find(bl_Quests, name) then continue end for num, mission in task do local Level = mission.LevelReq if Level >= MaxLvl[1] and Level < MaxLvl[2] then local target, positions = getTasks(mission) table.insert(self.QuestList, { Name = name, Count = num, Enemy = { Name = target, Level = Level, Position = positions } }) end end end table.sort(self.QuestList, function(v1, v2) return v1.Enemy.Level < v2.Enemy.Level end) ]]), module, QuestModule, getTasks) function module:GetQuest() if self.oldLevel == Level.Value and self.CurrentQuest and (not self.oldBoss or Module.IsSpawned(self.oldBoss)) then return self.CurrentQuest end local oldBoss = nil; local oldQuest = nil; self.oldLevel = Level.Value for _,Quest in ipairs(self.QuestList) do local level = Quest.Enemy.Level local name = Quest.Enemy.Name if level > Level.Value then self.oldBoss, self.CurrentQuest = oldBoss, oldQuest return oldQuest end if IsBoss(name[1]) then if Module.IsSpawned(name[1]) then oldBoss, oldQuest = name[1], Quest end else oldQuest = Quest end end self.oldBoss, self.CurrentQuest = oldBoss, oldQuest return oldQuest end function module:GetQuestPosition() return self.QuestPos[GuideModule.Data.LastClosestNPC] end function module:VerifyQuest(query) if not QuestFrame.Visible then return false end local Title = string.gsub(QuestTitle.Text, "-", ""):lower() if type(query) == "string" then return string.find(Title, string.gsub(query, "-", ""):lower()) end for _,Enemy in ipairs(query) do if string.find(Title, string.gsub(Enemy, "-", ""):lower()) then return Enemy end end end function module:StartQuest(quest, index, cframe) if cframe and Player:DistanceFromCharacter(cframe.Position) >= 5 then return PlayerTP(cframe * self._Position) end if self.takeQuestDebounce then if self.Debounce and (tick() - self.Debounce) >= 60 then return nil end self.Debounce = tick() end task.wait(0.5) Module.FireRemote("StartQuest", quest, index) task.wait(0.5) end return module end Modules.FarmManager = function() local module = { canFarm = {}, EnemyLocation = {}, Position = Vector3.new(0, 15, 0), -- Distance = 15 } module.Materials = ({ {"Leather + Scrap Metal", "Magma Ore", "Fish Tail", "Angel Wings"}, {"Leather + Scrap Metal", "Magma Ore", "Mystic Droplet", "Radiactive Material", "Vampire Fang"}, {"Leather + Scrap Metal", "Fish Tail", "Gunpowder", "Mini Tusk", "Conjured Cocoa", "Dragon Scale"} })[Module.Sea] module.Enemies = { Elites = {"Deandre", "Diablo", "Urban"}, Bones = {"Reborn Skeleton", "Living Zombie", "Demonic Soul", "Posessed Mummy"}, Katakuri = {"Head Baker", "Baking Staff", "Cake Guard", "Cookie Crafter"}, Ectoplasm = {"Ship Deckhand", "Ship Engineer", "Ship Steward", "Ship Officer"} } local Enemies = Module.EnemySpawned local MaterialDetails = { ["Leather + Scrap Metal"] = {{"Pirate", "Brute", "Scrap Metal", "Pirate Millionaire"}, {true, true, true}}, ["Angel Wings"] = {{"Royal Soldier", "Royal Squad"}, {true}}, ["Magma Ore"] = {{"Military Soldier", "Lava Pirate"}, {true, true}}, ["Fish Tail"] = {{"Fishman Warrior", "Fishman Captain", "Fishman Raider"}, {true, false, true}}, ["Conjured Cocoa"] = {{"Cocoa Warrior", "Chocolate Bar Battler"}, {false, false, true}}, ["Mystic Droplet"] = {{"Water Fighter"}, {false, true}}, ["Radiactive Material"] = {{"Factory Staff"}, {false, true}}, ["Vampire Fang"] = {{"Vampire"}, {false, true}}, ["Gunpowder"] = {{"Pistol Billionaire"}, {false, false, true}}, ["Mini Tusk"] = {{"Mythological Pirate"}, {false, false, true}}, ["Dragon Scale"] = {{"Dragon Crew Archer"}, {false, false, true}} } local EnemyPos = Module.EnemyLocations local EquipTool = Module.EquipTool local sTool = nil; local sToolDb = tick() function module.sToolTip(tool) sToolDb, sTool = tick(), tool end function module.attack(Enemy, bring, multBring) local Humanoid = Enemy:FindFirstChild("Humanoid") local PrimaryPart = Enemy.PrimaryPart if Enabled.Mastery and Humanoid then Module.AttackCooldown = tick() if Humanoid.Health / Humanoid.MaxHealth * 100 > Settings.mHealth then EquipTool("Melee", true) else EquipTool(Settings.mTool, true) end local Equipped = EquipTool.Equipped if Equipped and Equipped.ToolTip ~= "Blox Fruit" then Equipped:Activate() end Module.Hooking:SetTarget(PrimaryPart) PlayerTP(PrimaryPart.CFrame + module.Position) if bring then Module:BringEnemies(Enemy, multBring) end EnableBuso() return nil end PlayerTP(PrimaryPart.CFrame + module.Position) if bring then Module:BringEnemies(Enemy, multBring) end EnableBuso() if (tick() - sToolDb) < 1 and sTool then EquipTool(sTool, true) else EquipTool() end end function module.attackByName(Name, ...) local Enemy = Enemies(Name) if Enemy and Enemy.PrimaryPart then module.attack(Enemy, true) return true end end function module.attackPosition(cframe) PlayerTP(cframe)EnableBuso()EquipTool() end function module.Material(Name) local self = module local details = MaterialDetails[Name] if self.canFarm[Name] == nil then if details[2][Module.Sea] then self.canFarm[Name] = true else self.canFarm[Name] = false end end if not self.canFarm[Name] then return nil end if not self.EnemyLocation[Name] then for _,Enemy in next, details[1] do local Locations = EnemyPos[Enemy] if Locations and #Locations > 0 then self.EnemyLocation[Name] = Locations break end end end local Enemy = Enemies(details[1]) if Enemy then self.attack(Enemy, true) elseif self.EnemyLocation[Name] then Modules.PlayerTeleport:NPCs(self.EnemyLocation[Name]) end end return module end Modules.RaidManager = function() if Module.Sea ~= 2 and Module.Sea ~= 3 then return nil end local module = { RaidPosition = Module.Sea == 2 and nil or CFrame.new(-5033, 315, -2950), requests = {}, Require = 0, Timer = Player.PlayerGui.Main.Timer, Button = ( (Module.Sea == 2 and Map.CircleIsland.RaidSummon2.Button) or (Module.Sea == 3 and Map["Boat Castle"].RaidSummon2.Button) ) } function module:IsRaiding() return Enabled.Raid and Player:GetAttribute("IslandRaiding") end function module:GetRaidIsland() return Module:GetRaidIsland() end function module:CanStartRaid() return Level.Value >= 1200 and VerifyTool("Special Microchip") end function module:start() if not self:IsRaiding() and self:CanStartRaid() then if not self.Button:FindFirstChild("Main") then return PlayerTP(self.RaidPosition) end fireclickdetector(self.Button.Main.ClickDetector) task.wait(1) end end function module:requestFragment(tag, amount) if self.requests[tag] then return nil end self.Require = self.Require + (amount or 0) end return module end Modules.IslandManager = function() local module = {} function module:GetMirageFruitDealer() if self.MirageFruitDealer then return self.MirageFruitDealer end local FruitDealer = NPCs:FindFirstChild("Advanced Fruit Dealer") or ReplicatedStorage.NPCs:FindFirstChild("Advanced Fruit Dealer") if FruitDealer then self.MirageFruitDealer = FruitDealer return FruitDealer end end function module:GetMirageGear(Mirage) if self.MirageGear and self.MirageGear.Parent then return self.MirageGear end for _, Gear in ipairs(Mirage:GetChildren()) do if Gear:IsA("MeshPart") and Gear.MeshId == "rbxassetid://10153114969" then self.MirageGear = Gear return Gear end end end function module:GetMirageTop(Mirage) if self.MirageTop and self.MirageTop.Parent then return self.MirageTop end for _,part in ipairs(Mirage:GetChildren()) do local top = part:FindFirstChild("dbz_map1_Cube.012") if top then self.MirageTop = top return top end end end return module end Modules.EspManager = function() local module = {} module.__index = module module.__newindex = function(self, index, value) if index == "Enabled" then return task.spawn(self.toggle, self, value) end return rawset(self, index, value) end local GetBasePart = function(Obj) if Obj:FindFirstChild("Humanoid") then return Obj.PrimaryPart or Obj elseif Obj:FindFirstChild("Handle") then return Obj.Handle end return Obj end local remove = function(self) if self.Object and self.Section.List[self.Object] then self.Section.List[self.Object] = nil end if self.EspHandle then self.EspHandle:Destroy() end end local FruitsName = Module.FruitsName local HumHealth = "%s [ %im ]\n[%i/%i]" local EspFolder = Instance.new("Folder", CoreGui) EspFolder.Name = "rz_EspFolder" local folderFind = CoreGui:FindFirstChild(EspFolder.Name) if folderFind and folderFind ~= EspFolder then folderFind:Destroy() end function module.new(name, instance, func2) local self = setmetatable({}, module) local Folder = Instance.new("Folder", EspFolder) Folder.Name = name self.List = {} self.Name = name self.Folder = Folder self.Instance = instance self.IsEspObject = func2 return self end function module:clear() self.Folder:ClearAllChildren() table.clear(self.List) end function module:add(obj, color, name) if self.List[obj] then return nil end local Esp = { Section = self, Color = color or Color3.fromRGB(255, 255, 255), Name = name or obj.Name, Object = obj, EspHandle = nil } self.List[obj] = Esp local BHA = Instance.new("BoxHandleAdornment") BHA.Size = Vector3.new(1, 0, 1, 0) BHA.AlwaysOnTop = true BHA.ZIndex = 10 BHA.Transparency = 0 local BBG = Instance.new("BillboardGui") BBG.Adornee = obj BBG.Size = UDim2.new(0, 100, 0, 150) BBG.StudsOffset = Vector3.new(0, 2, 0) BBG.AlwaysOnTop = true local TL = Instance.new("TextLabel") TL.BackgroundTransparency = 1 TL.Position = UDim2.new(0, 0, 0, -50) TL.Size = UDim2.new(0, 100, 0, 100) TL.TextSize = 10 TL.TextColor3 = Esp.Color TL.TextStrokeTransparency = 0 TL.TextYAlignment = Enum.TextYAlignment.Bottom TL.Text = "..." TL.ZIndex = 15 TL.RichText = true TL.Parent = BBG BBG.Parent = BHA BHA.Parent = self.Folder Esp.EspHandle = BHA local stepped stepped = Stepped:Connect(function() if not obj or not BHA then stepped:Disconnect() return remove(Esp) end local BasePart = GetBasePart(obj) if not BasePart or not BasePart:IsA("BasePart") then stepped:Disconnect() return remove(Esp) end local Distance = math.floor((Player:DistanceFromCharacter(BasePart.Position)) / 5) local Humanoid = obj:FindFirstChild("Humanoid") if Humanoid then TL.Text = HumHealth:format(name or obj.Name, Distance, math.floor(Humanoid.Health), math.floor(Humanoid.MaxHealth)) elseif obj:FindFirstChild("Handle") then TL.Text = ("%s < %i >"):format(FruitsName[obj], Distance) else TL.Text = ("%s < %i >"):format(name or obj.Name, Distance) end end) end function module:toggle(value) local name = "Esp" .. self.Name _ENV[name] = value local instance = self.Instance local isEspObject = self.IsEspObject while _ENV[name] do for _,child in next, instance:GetChildren() do local isObj, Color, Name = isEspObject(child) if isObj then self:add(child, Color, Name) end end task.wait(0.25) end self:clear() end return module end Modules.SeaManager = function() local module = { nextNum = 1, oldTool = "Melee", randomNumber = 1, toolDebounce = 0, rdDebounce = 0, SeaEvents = {} } module.nextTool = { ["Melee"] = "Blox Fruit", ["Blox Fruit"] = "Sword", ["Sword"] = "Gun", ["Gun"] = "Melee" } module.BuyBoat = { Position = (Module.Sea == 2 and CFrame.new(94, 10, 2951)) or CFrame.new(-6123, 16, -2247), BoatName = "Guardian" } module.RandomPosition = ({ false, { CFrame.new(-43, 21, 5054), CFrame.new(1744, 21, 4393), CFrame.new(1003, 21, 3598), CFrame.new(-935, 21, 3813) }, { ["inf"] = -100000000, ["6"] = -42700, ["5"] = -38000, ["4"] = -34000, ["3"] = -30000, ["2"] = -26000, ["1"] = -22000 } })[Module.Sea] module.Directions = { Vector3.new(60, 0, 0), Vector3.new(0, 0, 60), Vector3.new(-60, 0, 0), Vector3.new(0, 0, -60), Vector3.new(0, 0, 0) } module.SeaEventsName = { Terrorshark = true, Piranha = true, Shark = true, ["Fish Crew Member"] = true } module.SeaBoatsName = { PirateGrandBrigade = true, PirateBrigade = true, FishBoat = true } local UseSkills = Module.UseSkills local EquipTool = Module.EquipTool local FireRemote = Module.FireRemote local Humanoid = nil; if Module.Sea == 3 then local Random = module.RandomPosition for Level, Distance in pairs(Random) do Random[Level] = { CFrame.new(Distance, 21, 500), CFrame.new(Distance - 3000, 21, 500), CFrame.new(Distance - 3000, 21, 2000), CFrame.new(Distance, 21, -1000) } end end function module.IsOwner(Boat) return Boat:FindFirstChild("Owner") and Boat.Owner.Value.Name == Player.Name end function module.SeaAlive(Enemy) local Humanoid = Enemy:FindFirstChild("Humanoid") local Class = Humanoid and Humanoid.ClassName if Class == "Humanoid" then return Humanoid.Health > 0 elseif Class == "IntValue" or Class == "NumberValue" then return Humanoid.Value > 0 end end function module:GetPlayerBoat() if self.PlayerBoat and self.SeaAlive(self.PlayerBoat) then return self.PlayerBoat end for _,Boat in next, Boats:GetChildren() do if self.SeaAlive(Boat) and self.IsOwner(Boat) then if Boat.Name ~= self.BuyBoat.BoatName then self.BuyBoat.BoatName = Boat.Name end self.PlayerBoat = Boat return Boat end end end function module:BuyNewBoat() local CFrame = self.BuyBoat.Position if Player:DistanceFromCharacter(CFrame.Position) < 10 then FireRemote("BuyBoat", self.BuyBoat.BoatName) else PlayerTP(CFrame) end end function module:teleportBoat(cframe, speed) local Boat = self:GetPlayerBoat() local BodyVelocity = Module.Tween local direction = (cframe.Position - Boat.PrimaryPart.Position).Unit BodyVelocity.Velocity = direction * (speed or Settings.BoatSpeed) end function module:stopBoat() Module.Tween.Velocity = Vector3.zero end function module:GetSelectedLevel(SeaLevel) return self.RandomPosition[SeaLevel or Settings.SeaLevel] end function module:RandomTeleport(SeaLevel) if not Humanoid or not Humanoid.SeatPart then return self:TeleportToBoat() end local Boat = self:GetPlayerBoat() local Position = Boat.PrimaryPart.Position local locations = Module.Sea == 3 and self:GetSelectedLevel(SeaLevel) or self.RandomPosition if #locations == 1 then self:teleportBoat(locations[1]) elseif #locations > 1 then if self.nextNum > #locations then self.nextNum = 1 end local nextPos = locations[self.nextNum] if (Position - nextPos.Position).Magnitude < 100 then self.nextNum = self.nextNum + 1 else self:teleportBoat(nextPos) end end end function module:RandomTool() if (tick() - self.toolDebounce) < 3 then return self.oldTool end self.toolDebounce = tick() local NextTool = self.nextTool[self.oldTool] local Count = 0 while not VerifyToolTip(NextTool) do NextTool, Count = self.nextTool[self.oldTool], Count + 1 if Count >= 3 then break end end self.oldTool = NextTool return NextTool end function module:GetSeaEvent(Name) local nBoats = self.SeaBoatsName local nEnemies = self.SeaEventsName for _, Enemy in ipairs(EnemiesFolder:GetChildren()) do local EnName = Enemy.Name if (nEnemies[EnName] or nBoats[EnName]) and self.SeaAlive(Enemy) then if not Name or EnName == Name then return Enemy end end end return nil end function module:attackBoat(Enemy) local randomTool = self:RandomTool() local PrimaryPart = Enemy.PrimaryPart if not PrimaryPart then return nil end local Target = PrimaryPart.CFrame + Vector3.new(0, 20, 0) if Player:DistanceFromCharacter(Target.Position) < 50 then UseSkills(PrimaryPart, Settings.skillSelected) EquipTool(randomTool, true) end PlayerTP(Target) EnableBuso()noSit() self:stopBoat() end function module:attackFish(Enemy) if Enemy and Enemy.PrimaryPart then PlayerTP(Enemy.PrimaryPart.CFrame + Vector3.new(0, 20, 0)) end EquipTool() EnableBuso()noSit() self:stopBoat() end function module:attackSeaEvent(Enemy) if self.SeaEventsName[Enemy.Name] then self:attackFish(Enemy) elseif self.SeaBoatsName[Enemy.Name] then self:attackBoat(Enemy) end end function module:RandomDirection() if (tick() - self.rdDebounce) < 1.5 then return self.Directions[self.randomNumber] end self.rdDebounce = tick() self.randomNumber = math.random(#self.Directions) return self.Directions[self.randomNumber] end function module:attackSeaBeast(SeaBeast) local randomTool = self:RandomTool() local randomPosition = self:RandomDirection() local PrimaryPart = SeaBeast:FindFirstChild("HumanoidRootPart") if not PrimaryPart then return nil end local Position = PrimaryPart.Position local seaCFrame = CFrame.new(Position.X, 25, Position.Z) + randomPosition PlayerTP(seaCFrame) EquipTool(randomTool, true) UseSkills(PrimaryPart, Settings.skillSelected) EnableBuso()noSit() self:stopBoat() end function module:GetSeaBeast() if self.SeaBeast and self.SeaAlive(self.SeaBeast) then return self.SeaBeast end local Distance, Nearest = math.huge for _, SeaBeast in ipairs(SeaBeasts:GetChildren()) do local Magnitude = Player:DistanceFromCharacter(SeaBeast:GetPivot().Position) if Magnitude < Distance then Distance, Nearest = Magnitude, SeaBeast end end self.SeaBeast = Nearest return Nearest end function module:TeleportToBoat() if not Humanoid then Humanoid = (Player.Character or Player.CharacterAdded:Wait()):WaitForChild("Humanoid") end local Boat = self.PlayerBoat local BoatSit = Boat:WaitForChild("VehicleSeat") if Humanoid.SeatPart and Humanoid.SeatPart ~= BoatSit then Humanoid.Sit = false end PlayerTP(BoatSit.CFrame) end return module end Modules.CDKPuzzle = function() if Module.Sea ~= 3 then return nil end if Module.Unlocked["Cursed Dual Katana"] then return nil end local module = {} local InvokeCursedSkeleton = {} local DoorNpc = CFrame.new(-12131, 578, -6707) local ForestPirateSpawn = CFrame.new(-13350, 332, -7645) local Cursed = Map.Turtle:WaitForChild("Cursed") local FireRemote = Module.FireRemote local Enemies = Module.EnemySpawned local Unlocked = Module.Unlocked local EquipTool = Module.EquipTool local EnemyList = { Heaven = {"Heaven's Guardian", "Cursed Skeleton"}, Hell = {"Hell's Messenger", "Cursed Skeleton"} } local hasMastery = function() return Module:ItemMastery("Tushita") < 350 or Module:ItemMastery("Yama") < 350 end local GetTorch = function(Dimension) for i = 1, 3 do local torch = Dimension["Torch" .. tostring(i)] if torch.ProximityPrompt.Enabled then return torch end end end local GetTask = function() if Unlocked["Cursed Dual Katana"] then return nil end if not hasMastery() then return "MasterySwords" elseif Cursed:FindFirstChild("Breakable") then return "OpenDoor" elseif Player:FindFirstChild("QuestHaze") then return "Yama", 2 elseif Map:FindFirstChild("HellDimension") then return "Yama", 3 elseif Map:FindFirstChild("HeavenlyDimension") then return "Tushita", 3 end local Count = Module:GetMaterial("Alucard Fragment") if Count == 6 then return "FinalQuest" elseif Count == 0 then FireRemote("CDKQuest", "Progress", "Evil") FireRemote("CDKQuest", "StartTrial", "Evil") return "Yama", 1 end local Progress = FireRemote("CDKQuest", "Progress") local Good = Progress.Good local Evil = Progress.Evil if Evil and Evil >= 0 and Evil < 3 then FireRemote("CDKQuest", "Progress", "Evil") FireRemote("CDKQuest", "StartTrial", "Evil") if Evil == 0 then return "Yama", 1 elseif Evil == 1 then return "Yama", 2 elseif Evil == 2 then return "Yama", 3 end elseif Good and Good >= 0 and Good < 3 then FireRemote("CDKQuest", "Progress", "Good") FireRemote("CDKQuest", "StartTrial", "Good") if Good == 0 then return "Tushita", 1 elseif Good == 1 then return "Tushita", 2 elseif Good == 2 then return "Tushita", 3 end end end local GetPedestal = function() for i = 3, 1, -1 do local pedestal = Cursed["Pedestal" .. tostring(i)] if pedestal.ProximityPrompt.Enabled then return pedestal end end end local closestHaze = nil; local GetClosestHazeEnemy = function() if closestHaze and closestHaze.Value > 0 then return closestHaze end local dist, near = math.huge for _,Enemy in ipairs(Player.QuestHaze:GetChildren()) do if Enemy.Value > 0 then local Position = Enemy:GetAttribute("Position") local Mag = typeof(Position) == "Vector3" and Player:DistanceFromCharacter(Position) if Mag and Mag <= dist then dist, near = Mag, Enemy end end end closestHaze = near return near end local Boats = { CFrame.new(-9550, 21, 4638), CFrame.new(-9531, 7, -8376), CFrame.new(-4602, 16, -2880) } module.Tasks = { Yama = { function() if not VerifyTool("Yama") then FireRemote("LoadItem", "Yama") return true end local Enemy = Enemies["Forest Pirate"] if Enemy and Enemy.PrimaryPart then PlayerTP(Enemy.PrimaryPart.CFrame * CFrame.new(0, 0, -2)) else PlayerTP(ForestPirateSpawn) end return true end, function() local QuestHaze = Player:FindFirstChild("QuestHaze") if not QuestHaze then return nil end local HazeEnemy = GetClosestHazeEnemy() if HazeEnemy then local Name = HazeEnemy.Name local Enemy = Enemies[Name] if Enemy and Enemy.PrimaryPart then Modules.FarmManager.attack(Enemy, true) else if EnemyPositions[Name] then Modules.PlayerTeleport:NPCs(EnemyPositions[Name]) else PlayerTP(HazeEnemy:GetAttribute("Position")) end end return true end end, function() local Dimension = Map:FindFirstChild("HellDimension") if Dimension then local Enemy = Enemies(EnemyList.Hell) if Enemy and Enemy.PrimaryPart then Modules.FarmManager.attack(Enemy, true, true) return true end local Torch = GetTorch(Dimension) if Torch then if Player:DistanceFromCharacter(Torch.Position) < 5 then fireproximityprompt(Torch.ProximityPrompt) else PlayerTP(Torch.CFrame) end else PlayerTP(Dimension.Exit.CFrame) end return true end if Enemies("Soul Reaper") then Enemy = Enemies["Soul Reaper"] if Enemy and Enemy.PrimaryPart then if Player:DistanceFromCharacter(Enemy.PrimaryPart.Position) > 6 then PlayerTP(Enemy.PrimaryPart.CFrame * CFrame.new(0, 0, -2)) end end return true end if VerifyTool("Hallow Essence") then EquipTool("Hallow Essence") PlayerTP(Map["Haunted Castle"].Summoner.Detection.CFrame) return true end local Enemy = Enemies(Modules.FarmManager.Enemies.Elites) if Enemy and Enemy.PrimaryPart then Modules.FarmManager.attack(Enemy, true, true) else PlayerTP(CFrame.new(-9513, 164, 5786)) end task.spawn(TradeBones) return true end }, Tushita = { function() if (tick() - Module.PirateRaid) >= 10 then return nil end local Target = Module:GetPirateRaidEnemy() if Target and Target.PrimaryPart then Modules.FarmManager.attack(Target, true, true) else PlayerTP(CFrame.new(-5556, 314, -2988)) end return true end, function() for index, cframe in ipairs(Boats) do if Player:DistanceFromCharacter(cframe.Position) < 5 then local Target = NPCs:FindFirstChild("Luxury Boat Dealer") if Target then FireRemote("CDKQuest", "BoatQuest", Target) FireRemote("CDKQuest", "BoatQuest", Target, "Check") task.wait(1) Boats[index] = nil end else PlayerTP(cframe) end return true end end, function() local Dimension = Map:FindFirstChild("HeavenlyDimension") if Dimension then local Enemy = Enemies(EnemyList.Heaven) if Enemy and Enemy.PrimaryPart then Modules.FarmManager.attack(Enemy, true, true) return true end local Torch = GetTorch(Dimension) if Torch then if Player:DistanceFromCharacter(Torch.Position) < 5 then fireproximityprompt(Torch.ProximityPrompt) else PlayerTP(Torch.CFrame) end else PlayerTP(Dimension.Exit.CFrame) end return true end if Module.IsSpawned("Cake Queen") then local Enemy = Enemies("Cake Queen") if Enemy and Enemy.PrimaryPart then Modules.FarmManager.attack(Enemy) else PlayerTP(CFrame.new(-710, 382, -11150)) end return true end end }, OpenDoor = function() if Player:DistanceFromCharacter(DoorNpc.Position) < 5 then FireRemote("CDKQuest", "DoorNpc") FireRemote("CDKQuest", "OpenDoor", true) if Cursed:FindFirstChild("Breakable") then Cursed.Breakable:Destroy() end else PlayerTP(DoorNpc) end return true end, FinalQuest = function() if not VerifyTool("Tushita") and not VerifyTool("Yama") then FireRemote("LoadItem", "Tushita") return true end if Enemies("Cursed Skeleton Boss") then local Enemy = Enemies["Cursed Skeleton Boss"] if Enemy and Enemy.PrimaryPart then Modules.FarmManager.attack(Enemy) return true end return nil end if Player.PlayerGui.Main.Dialogue.Visible then VirtualUser:ClickButton1(Vector2.new(1e4, 1e4)) end local Pedestal = GetPedestal() if Pedestal then if Player:DistanceFromCharacter(Pedestal.Position) < 5 then fireproximityprompt(Pedestal.ProximityPrompt) else PlayerTP(Pedestal.CFrame) end return true else if Player:DistanceFromCharacter(InvokeCursedSkeleton[1].Position) > 500 then PlayerTP(InvokeCursedSkeleton[1]) return true end Modules.PlayerTeleport:NPCs(InvokeCursedSkeleton, 50) return true end end, MasterySwords = function() local Sword = (Module:ItemMastery("Tushita") < 350) and "Tushita" or "Yama" if not VerifyTool(Sword) then FireRemote("LoadItem", Sword) return true end EquipTool("Sword", true) local Enemy = Enemies(Modules.FarmManager.Enemies.Elites) if Enemy and Enemy.PrimaryPart then Modules.FarmManager.sToolTip("Sword") Modules.FarmManager.attack(Enemy, true, true) else PlayerTP(CFrame.new(-9513, 164, 5786)) end return true end } function module:CursedDualKatana() local Task, Num = GetTask() local Tasks = self.Tasks if Task and Tasks[Task] then return (not Num and Tasks[Task]()) or Tasks[Task][Num]() end return nil end return module end end function Loader:RunModules() for name, module in next, self.Modules do local success, result = pcall(module) if success then self.Modules[name] = result _ENV[name] = result else _ENV[name] = nil warn("falha ao carregar Module [ redz hub ]: " .. name .. " : " .. result) end end end function Loader:Initialize() local owner = "realredz"; local raw = "https://raw.githubusercontent.com/"; local url = (raw .. owner .. "/"); Library = loadstring(HttpGet(game, url .. "RedzLibV5/refs/heads/main/Source.lua"))() Module = loadstring(HttpGet(game, url .. "BloxFruits/refs/heads/main/testando.lua") .. " return Module")(Settings) Loader:RunModules() end function Loader:LoadTabs(Window) return { Discord = Window:MakeTab({"Discord", "Info"}), MainFarm = Window:MakeTab({"Farm", "Home"}), Sea = Window:MakeTab({"Sea", "Waves"}), RaceV4 = Window:MakeTab({"Race-V4", ""}), Items = Window:MakeTab({"Quests/Items", "Swords"}), FruitRaid = Window:MakeTab({"Fruit/Raid", "Cherry"}), Stats = Window:MakeTab({"Stats", "Signal"}), Teleport = Window:MakeTab({"Teleport", "Locate"}), Visual = Window:MakeTab({"Visual", "User"}), Shop = Window:MakeTab({"Shop", "ShoppingCart"}), Misc = Window:MakeTab({"Misc", "Settings"}) } end function Loader:InstallPlugin() return { Toggle = loadstring([[ local Tab, Settings, Flag = ... Tab:AddToggle({Settings[1], (type(Settings[2]) ~= "string" and Settings[2]), function(Value) getgenv().rz_EnabledOptions[Flag] = Value end, Flag, Desc = (type(Settings[2]) == "string" and Settings[2]) or Settings[3]}) ]]) } end function Loader:LoadLibrary() local Logo1 = "rbxassetid://15298567397"; local Logo2 = "rbxassetid://17382040552"; local Name = "redz Hub : Blox Fruits"; local Folder = "redzHub-BloxFruits.json"; local Credits = "by redz9999"; local Discord = "https://discord.gg/7aR7kNVt4g"; local Window = Library:MakeWindow({Name, Credits, Folder}) -- local Translator = self:LoadTranslator(Window) local Plugin = self:InstallPlugin(Library) local Tabs = self:LoadTabs(Window) local FarmManager = self.Modules.FarmManager local FireRemote = Module.FireRemote local AddToggle = Plugin.Toggle Window:SelectTab(Tabs.MainFarm) Window:AddMinimizeButton({ Button = { Image = Logo1, BackgroundTransparency = 0 }, Corner = { CornerRadius = UDim.new(0, 6) } }) Tabs.Discord:AddDiscordInvite({ Name = "redz Hub | Community", Description = "Join our discord community to receive information about the next update", Logo = Logo2, Invite = Discord }) local Main = Tabs.MainFarm do local UIScales = { Large = 450, Medium = 620, Small = 760 } local SetScale = function(Value) Library:SetScale(UIScales[Value] or 450) end local TradeBones = function(Value) _ENV.TradeBones = Value while _ENV.TradeBones do task.wait() if Module:GetMaterial("Bones") >= 50 then FireRemote("Bones", "Buy", 1, 1) --[[if Module:GetMaterial("Bones") >= 100 then task.wait(5) end]] else task.wait(1) end end end local BossDropdown; local UpdateBosses = function() local List = {} for Boss,_ in pairs(Module.Bosses) do if Module.IsSpawned(Boss) then table.insert(List, Boss) end end BossDropdown:Set(List) end local AddChristmasTimer = function() local str = "Time for next gift : %i" local Paragraph = Main:AddParagraph({str}) local TextLabel = workspace.Countdown.SurfaceGui.TextLabel TextLabel:GetPropertyChangedSignal("Text"):Connect(function() local Text = TextLabel.Text Paragraph:SetTitle(Text) if Text ~= "STARTING!" then local split = Text:split(":") local time = 0 for i = 1, #split do split[i] = tonumber(split[i]) end time = time + (split[2] >= 1 and (split[2] * 60) or 0) + split[3] _ENV.StartingChristmasEvent = time <= 100 else _ENV.StartingChristmasEvent = true end end) end Main:AddDropdown({"Select Tool", {"Melee", "Sword", "Blox Fruit"}, "Melee", {Settings, "FarmTool"}, "FarmTool"}) Main:AddDropdown({"UI Scale", {"Small", "Medium", "Large"}, "Large", SetScale, "UIScale"}) Main:AddSection("Farm") AddToggle(Main, {"Auto Farm Level", "Level Farm"}, "Level") AddToggle(Main, {"Auto Farm Nearest", "Farm Nearest Mobs"}, "Nearest") if Module.Sea == 1 then -- Main:AddSection("Farm-Level") -- AddToggle(Main, {"Sky Piea Farm"}, "SkyFarm") -- AddToggle(Main, {"Player Hunter Quest"}, "PlayerHunter") elseif Module.Sea == 2 then AddToggle(Main, {"Auto Factory", "Spawns Every 1:30 [hours, minutes]"}, "Factory") Main:AddSection("Ectoplasm") AddToggle(Main, {"Auto Farm Ectoplasm"}, "Ectoplasm") elseif Module.Sea == 3 then AddToggle(Main, {"Auto Pirates Sea", "Auto Finish Pirate Raid in Sea Castle"}, "PirateRaid") Main:AddSection("Bones") AddToggle(Main, {"Auto Farm Bones"}, "Bones") AddToggle(Main, {"Auto Kill Soul Reaper"}, "SoulReaper") Main:AddToggle({"Auto Trade Bones", false, TradeBones}) end if Module.Christmas and workspace:FindFirstChild("Countdown") then Main:AddSection("Christmas") pcall(AddChristmasTimer) if Level.Value >= Module.MaxLevel then AddToggle(Main, {"Auto Farm Candy"}, "FarmCandy") end AddToggle(Main, {"Auto Christmas Gift"}, "ChristmasGift") end Main:AddSection("Chest") AddToggle(Main, {"Auto Chest [ Tween ]"}, "ChestTween") Main:AddSection("Bosses") Main:AddButton({"Update Boss List", UpdateBosses}) BossDropdown = Main:AddDropdown({"Boss List", {}, false, {Settings, "BossSelected"}, "B-Selected"})UpdateBosses() AddToggle(Main, {"Auto Kill Boss Selected", "Kill boss Selected"}, "BossSelected") AddToggle(Main, {"Auto Farm All Bosses", "Kill all bosses Spawned"}, "AllBosses") Main:AddToggle({"Take Boss Quest", true, {Settings, "BossQuest"}, "B-Quest"}) Main:AddSection("Material") Main:AddDropdown({"Material List", FarmManager.Materials, false, {Settings, "fMaterial"}, "S-Material"}) AddToggle(Main, {"Auto Farm Material", "Farm material Selected"}, "Material") Main:AddSection("Mastery") Main:AddSlider({"Select Enemy Health [ % ]", 10, 60, 1, 25, {Settings, "mHealth"}, "M-Health"}) Main:AddDropdown({"Select Tool", {"Blox Fruit", "Gun"}, {"Blox Fruit"}, {Settings, "mTool"}, "M-Tool"}) AddToggle(Main, {"Auto Farm Mastery"}, "Mastery") Main:AddSection("Mastery Skill") Main:AddToggle({"Skill Z", false, {Settings, "SkillZ"}, "SkillZ"}) Main:AddToggle({"Skill X", false, {Settings, "SkillX"}, "SkillX"}) Main:AddToggle({"Skill C", false, {Settings, "SkillC"}, "SkillC"}) Main:AddToggle({"Skill V", false, {Settings, "SkillV"}, "SkillV"}) Main:AddToggle({"Skill F", false, {Settings, "SkillF"}, "SkillF"}) -- Main:AddToggle({"Quest Debounce", false, {self.Modules.QuestManager, "takeQuestDebounce"}, "S-QuestDebounce"}) end local Sea = Tabs.Sea do if Module.Sea == 1 then Sea:Destroy() elseif Module.Sea == 2 then local enemyList = {"Sea Beast", "Pirate Brigade"} local listSkills = {"Z", "X", "C", "V", "F"} local defSkills = {"Z", "X", "C", "V"} Sea:AddSection({"Farm"}) AddToggle(Sea, {"Auto Farm Sea"}, "Sea") -- Sea:AddButton({"Buy New Boat", BuyNewBoat}) Sea:AddSection({"Select Farm"}) Sea:AddDropdown({"Fish", enemyList, enemyList, {Settings, "seaEnemy"}, "S-Enemies", MultiSelect = true}) Sea:AddDropdown({"Select Skills", listSkills, defSkills, {Settings, "skillSelected"}, "S-Skills", MultiSelect = true}) Sea:AddSection("Configs") Sea:AddSlider({"Boat Tween Speed", 100, 300, 10, 250, {Settings, "BoatSpeed"}, "S-BoatSpeed"}) elseif Module.Sea == 3 then local FishList = {"Sea Beast", "Terrorshark", "Fish Crew Member", "Piranha", "Shark"} local npcList = {"Shipwright Teacher", "Shark Hunter", "Beast Hunter", "Spy"} local BoatList = {"Pirate Brigade", "Pirate Grand Brigade", "Fish Boat"} local seaLevels = {"1", "2", "3", "4", "5", "6", "inf"} local listSkills = {"Z", "X", "C", "V", "F"} local defSkills = {"Z", "X", "C", "V"} local npcsLocations = { ["Shipwright Teacher"] = CFrame.new(-16526, 76, 309), ["Shark Hunter"] = CFrame.new(-16526, 108, 752), ["Beast Hunter"] = CFrame.new(-16281, 73, 263), ["Spy"] = CFrame.new(-16471, 528, 539) } local AddKistuneStats = function() local Paragraph = Sea:AddParagraph({"Kitsune Island : not spawn"}) task.spawn(function() while task.wait() do if Map:FindFirstChild("KitsuneIsland") then local Distance = math.floor(Player:DistanceFromCharacter(Map.KitsuneIsland.WorldPivot.Position) / 5) Paragraph:SetTitle("Kitsune Island : Spawned | Distance : " .. Distance) else Paragraph:SetTitle("Kitsune Island : not Spawn") Map.ChildAdded:Wait() end end end) end local TradeAzure = function(Value) _ENV.TradeAzure = Value while _ENV.TradeAzure do task.wait(1) if Module:GetMaterial("Azure Ember") >= Settings.Azure then ReplicatedStorage.Modules.Net["RF/KitsuneStatuePray"]:InvokeServer() end end end local teleportNpc = function(Value) _ENV.teleporting = Value while _ENV.teleporting do task.wait() if Settings.selectedNpc then PlayerTP(npcsLocations[Settings.selectedNpc]) end end end local stopNpcTeleport = function(Value) if Value then local self, Magnitude = self.Modules.PlayerTeleport, math.huge repeat task.wait() if self.lastPosition then Magnitude = Player:DistanceFromCharacter(self.lastPosition) end until not _ENV.teleporting or (Magnitude < 15) _ENV.teleporting = false end end Sea:AddSection("Kitsune") AddKistuneStats() Sea:AddSlider({"Trade Azure Ember Amount", 10, 25, 5, 20, {Settings, "Azure"}, "A-Amount"}) Sea:AddToggle({"Auto Trade Azure Ember", false, TradeAzure}) AddToggle(Sea, {"Auto Kitsune Island"}, "Kitsune") Sea:AddSection("Sea") AddToggle(Sea, {"Auto Farm Sea"}, "Sea") -- Sea:AddButton({"Buy New Boat", BuyNewBoat}) -- Sea:AddSection({"Material"}) -- AddToggle(Sea, {"Auto Wood Planks"}, "WoodPlanks") Sea:AddSection("Farm Select") Sea:AddDropdown({"Fish", FishList, FishList, {Settings, "fishSelected"}, "S-Fish", MultiSelect = true}) Sea:AddDropdown({"Boats", BoatList, BoatList, {Settings, "boatSelected"}, "S-Boat", MultiSelect = true}) Sea:AddDropdown({"Select Skills", listSkills, defSkills, {Settings, "skillSelected"}, "S-Skills", MultiSelect = true}) Sea:AddSection("Configs") Sea:AddDropdown({"Sea Level", seaLevels, "6", {Settings, "SeaLevel"}, "S-SeaLevel"}) Sea:AddSlider({"Boat Tween Speed", 100, 300, 10, 250, {Settings, "BoatSpeed"}, "S-BoatSpeed"}) Sea:AddSection("NPCs") Sea:AddDropdown({"Select NPC", npcList, "Spy", {Settings, "selectedNpc"}}) Sea:AddToggle({"Teleport to NPC", false, teleportNpc}):Callback(stopNpcTeleport) end end local Race = Tabs.RaceV4 do if Module.Sea == 3 then Race:AddSection("Mirage") AddToggle(Race, {"Teleport To Gear"}, "MirageGear") AddToggle(Race, {"Teleport To Mirage"}, "TeleportMirage") AddToggle(Race, {"Teleport To Fruit Dealer"}, "MirageFruitDealer") else Race:Destroy() end end local Stats = Tabs.Stats do if Level.Value < Module.MaxLevel then local Selected, StatsName = {}, {"Melee", "Defense", "Gun", "Sword", "Demon Fruit"} local Points = Data:WaitForChild("Points") local StatsFolder = Data:WaitForChild("Stats") local AutoStats = function(Value) _ENV.AutoStats = Value while task.wait() and _ENV.AutoStats do local Points = Points.Value if Points > 0 then for Tag, Enabled in pairs(Selected) do if Enabled and StatsFolder[Tag].Level.Value < Module.MaxLevel then local Amount = math.clamp(math.clamp(Settings.StatsPoints or 3, 0, Points), 0, Module.MaxLevel) FireRemote("AddPoint", Tag, Amount) end end end end end local AddStatsToggle = function(_, Name) Stats:AddToggle({Name, false, {Selected, Name}, "Stats-" .. Name}) end Stats:AddSlider({"Points Amount", 1, 100, 1, 3, {Settings, "StatsPoints"}, "P-Stats"}) Stats:AddToggle({"Auto Stats", false, AutoStats, "A-Stats"}) Stats:AddSection("Select Stats") table.foreach(StatsName, AddStatsToggle) else Stats:Destroy() end end local Items = Tabs.Items do if Module.Sea == 3 then Items:AddSection("Dragon Update [ BETA ]") AddToggle(Items, {"Auto Dojo Trainer Quest", "Automatically completes Dojo Trainer quests"}, "DojoTrainer") AddToggle(Items, {"Auto Dragon Hunter Quest", "Automatically completes Dragon Hunter quests"}, "DragonHunter") Items:AddSection("Farm") AddToggle(Items, {"Auto Elite Hunter", "Automatically completes Elite Hunter quests"}, "EliteHunter") AddToggle(Items, {"Auto Rip Indra", "Activates the plates and summons Rip Indra"}, "RipIndra") AddToggle(Items, {"Auto Cake Prince", "Automatically summons the Cake Prince"}, "CakePrince") AddToggle(Items, {"Auto Dough King", "Automatically summons the Dough King"}, "DoughKing") Items:AddSection("Sword") AddToggle(Items, {"Auto Collect Yama", "Automatically collects the Yama sword after defeating 30 Elite Hunters"}, "Yama") AddToggle(Items, {"Auto Tushita", "Solves the Tushita puzzle and defeats Longma"}, "Tushita") Items:AddSection("Gun") AddToggle(Items, {"Auto Soul Guitar", "Completes the Soul Guitar puzzle and acquires the weapon"}, "SoulGuitar") elseif Module.Sea == 2 then local LegendarySword = function(Value) _ENV.LegendSword = Value while task.wait() and _ENV.LegendSword do local Sword = FireRemote("LegendarySwordDealer", "1") if type(Sword) == "string" then if Module.Unlocked[Sword] then task.wait(60*230) else FireRemote("LegendarySwordDealer", "2") FireRemote("LegendarySwordDealer", "3") end else task.wait(5) end end end Items:AddSection("Third Sea") AddToggle(Items, {"Auto Third Sea", "Automatically unlocks access to the Third Sea"}, "ThirdSea") AddToggle(Items, {"Auto Kill Don Swan", "Automatically defeats Don Swan"}, "DonSwan") Items:AddSection("Bosses") AddToggle(Items, {"Auto Darkbeard", "Automatically spawns and defeats Darkbeard"}, "Darkbeard") AddToggle(Items, {"Auto Cursed Captain", "Automatically summons and defeats the Cursed Captain"}, "CursedCaptain") Items:AddSection("Law") AddToggle(Items, {"Auto Kill Law", "Automatically spawns and defeats Law (Order)"}, "Order") Items:AddToggle({"Auto Buy Microchip", false, {Settings, "FullyLawRaid"}, "S-FullyLaw"; Desc = "Buy the raid law Microchip" }) Items:AddSection("Legendary Sword") Items:AddToggle({"Auto Buy Legendary Sword", false, LegendarySword, "LegendSword"; Desc = "Automatically purchases Legendary Swords when available" }) Items:AddSection("Race") AddToggle(Items, {"Auto Race V2", "Automatically evolves the Race to V2"}, "RaceV2") AddToggle(Items, {"Auto Race V3", "Mink, Human & Shark"}, "RaceV3") elseif Module.Sea == 1 then Items:AddSection("Second Sea") AddToggle(Items, {"Auto Second Sea", "Automatically unlocks access to the Second Sea"}, "SecondSea") Items:AddSection("Swords") AddToggle(Items, {"Auto Unlock Saber", "Automatically unlocks the Saber Sword"}, "Saber") AddToggle(Items, {"Auto Pole V1", "Kill Thunder God"}, "PoleV1") AddToggle(Items, {"Auto Saw Sword", "Kill The Saw"}, "TheSaw") end end local Fruits = Tabs.FruitRaid do local CanStore = function(FruitName) local Item = Module.Inventory[FruitName] if Item then return Item.details.Count < Data.FruitCap.Value end return true end local IsFruit = function(child) return child:FindFirstChild("Fruit") end local store = function(Fruit) local FruitName = (Fruit.Name:gsub(" Fruit", "")) FruitName = (FruitName .. "-" .. FruitName) if CanStore(FruitName) then Module.FireRemote("StoreFruit", FruitName, Fruit) return true end return false end local AutoStore = function(Value) _ENV.AutoStore = Value while _ENV.AutoStore do task.wait(0.25) local Character = Player.Character if Module.IsAlive(Character) then for _,child in ipairs(Player.Backpack:GetChildren()) do if child:IsA("Tool") and IsFruit(child) then store(child) end end for _,child in ipairs(Character:GetChildren()) do if child:IsA("Tool") and IsFruit(child) then store(child) end end else -- Player.CharacterAdded:Wait() end end end local RandomFruit = function(Value) _ENV.AutoRandomFruit = Value while _ENV.AutoRandomFruit do task.wait(1) if Level.Value >= 50 then Module.FireRemote("Cousin", "Buy") else Level.Changed:Wait() end end end Fruits:AddSection("Fruits") Fruits:AddToggle({"Auto Store Fruits", false, AutoStore, "F-AutoStore"}) AddToggle(Fruits, {"Teleport To Fruits"}, "Fruits") Fruits:AddToggle({"Auto Random Fruit", false, RandomFruit, "F-RandomFruit"}) Fruits:AddSection("Raid") if Module.Sea ~= 2 and Module.Sea ~= 3 then Fruits:AddParagraph({"Only on Sea 2 and 3"}) else local RaidChip = function(Value) _ENV.BuyRaidChip = Value while _ENV.BuyRaidChip do task.wait() if not VerifyTool("Special Microchip") then if not _ENV.AutoStore and Settings.SelectedChip then Module.FireRemote("RaidsNpc", "Select", Settings.SelectedChip) task.wait(1) end else task.wait(1) end end end Fruits:AddDropdown({"Select Chip", Module.RaidList, "", {Settings, "SelectedChip"}, "R-RaidChip"}) AddToggle(Fruits, {"Auto Farm Raid", "Kill Aura, Start & Awaken"}, "Raid") Fruits:AddToggle({"Auto Buy Chip", false, RaidChip, "R-BuyChip"}) end end local Teleport = Tabs.Teleport do local Toggle = nil; local Islands = ({ { "WindMill", "Marine", "Middle Town", "Jungle", "Pirate Village", "Desert", "Snow Island", "MarineFord", "Colosseum", "Sky Island 1", "Sky Island 2", "Sky Island 3", "Prison", "Magma Village", "Under Water Island", "Fountain City" }, { "The Cafe", "Frist Spot", "Dark Area", "Flamingo Mansion", "Flamingo Room", "Green Zone", "Zombie Island", "Two Snow Mountain", "Punk Hazard", "Cursed Ship", "Ice Castle", "Forgotten Island", "Ussop Island" }, { "Mansion", "Port Town", "Great Tree", "Castle On The Sea", "Hydra Island", "Floating Turtle", "Haunted Castle", "Ice Cream Island", "Peanut Island", "Cake Island", "Candy Cane Island", "Tiki Outpost" } })[Module.Sea] local IslandsPos = { ["Middle Town"] = CFrame.new(-688, 15, 1585), ["MarineFord"] = CFrame.new(-4810, 21, 4359), ["Marine"] = CFrame.new(-2728, 25, 2056), ["WindMill"] = CFrame.new(889, 17, 1434), ["Desert"] = CFrame.new(1054, 53, 4490), ["Snow Island"] = CFrame.new(1298, 87, -1344), ["Pirate Village"] = CFrame.new(-1173, 45, 3837), ["Jungle"] = CFrame.new(-1614, 37, 146), ["Prison"] = CFrame.new(4870, 6, 736), ["Under Water Island"] = CFrame.new(61164, 5, 1820), ["Colosseum"] = CFrame.new(-1535, 7, -3014), ["Magma Village"] = CFrame.new(-5290, 9, 8349), ["Sky Island 1"] = CFrame.new(-4814, 718, -2551), ["Sky Island 2"] = CFrame.new(-4652, 873, -1754), ["Sky Island 3"] = CFrame.new(-7895, 5547, -380), ["Fountain City"] = CFrame.new(5041, 1, 4101), ["The Cafe"] = CFrame.new(-382, 73, 290), ["Frist Spot"] = CFrame.new(-11, 29, 2771), ["Dark Area"] = CFrame.new(3494, 13, -3259), ["Flamingo Mansion"] = CFrame.new(-317, 331, 597), ["Flamingo Room"] = CFrame.new(2285, 15, 905), ["Green Zone"] = CFrame.new(-2258, 73, -2696), ["Zombie Island"] = CFrame.new(-5552, 194, -776), ["Two Snow Mountain"] = CFrame.new(752, 408, -5277), ["Punk Hazard"] = CFrame.new(-5897, 18, -5096), ["Cursed Ship"] = CFrame.new(919, 125, 32869), ["Ice Castle"] = CFrame.new(5505, 40, -6178), ["Forgotten Island"] = CFrame.new(-3050, 240, -10178), ["Ussop Island"] = CFrame.new(4816, 8, 2863), ["Mansion"] = CFrame.new(-12471, 374, -7551), ["Port Town"] = CFrame.new(-334, 7, 5300), ["Castle On The Sea"] = CFrame.new(-5073, 315, -3153), ["Hydra Island"] = CFrame.new(5666, 1013, -310), ["Great Tree"] = CFrame.new(2683, 275, -7008), ["Floating Turtle"] = CFrame.new(-12528, 332, -8658), ["Haunted Castle"] = CFrame.new(-9517, 142, 5528), ["Ice Cream Island"] = CFrame.new(-902, 79, -10988), ["Peanut Island"] = CFrame.new(-2062, 50, -10232), ["Cake Island"] = CFrame.new(-1897, 14, -11576), ["Candy Cane Island"] = CFrame.new(-1038, 10, -14076), ["Tiki Outpost"] = CFrame.new(-16224, 9, 439) } local GoToIsland = function(Value) _ENV.teleporting = Value while _ENV.teleporting do task.wait() if _ENV.SelectedIsland then PlayerTP(IslandsPos[_ENV.SelectedIsland]) end end if Value and Toggle then Toggle:Set(false, true) end end local StopTween = function(Value) if Value then local self, Magnitude = self.Modules.PlayerTeleport, math.huge repeat task.wait() if self.lastPosition then Magnitude = Player:DistanceFromCharacter(self.lastPosition) end until not _ENV.teleporting or (Magnitude < 15) _ENV.teleporting = false end end Teleport:AddSection("Travel") Teleport:AddButton({"Teleport to Sea 1", function() Module.TravelTo(1) end, Desc = "Main"}) Teleport:AddButton({"Teleport to Sea 2", function() Module.TravelTo(2) end, Desc = "Dressrosa"}) Teleport:AddButton({"Teleport to Sea 3", function() Module.TravelTo(3) end, Desc = "Zou"}) Teleport:AddSection("Islands") Teleport:AddDropdown({"Select Island", Islands, "", {_ENV, "SelectedIsland"}}) Toggle = Teleport:AddToggle({"Teleport To Island", false, GoToIsland}):Callback(StopTween) end local Visual = Tabs.Visual do local EspManager = self.Modules.EspManager local EspColors = { Players = Color3.fromRGB(220, 220, 220), Fruits = Color3.fromRGB(255, 0, 0), Islands = Color3.fromRGB(0, 255, 255), Chests = { Chest1 = Color3.fromRGB(150, 150, 150), Chest2 = Color3.fromRGB(255, 255, 0), Chest3 = Color3.fromRGB(0, 255, 255), Null = Color3.fromRGB(150, 0, 255) } } local Esps = { Players = EspManager.new("Player", Characters, function(Obj) if Obj ~= Player.Character then return true, EspColors.Players end end), Chests = EspManager.new("Chest", workspace, function(Obj) if Obj.Name:find("Chest") then return true, EspColors.Chests[Obj.Name] or EspColors.Chests.Null end end), Islands = EspManager.new("Island", Locations, function(Obj) if Obj.Name ~= "Sea" then return true, EspColors.Islands end end), Fruits = EspManager.new("Fruit", workspace, function(Obj) if Obj.Name:find("Fruit") and Obj:FindFirstChild("Handle") then return true, EspColors.Fruits end end), Flowers = EspManager.new("Flower", workspace, function(Obj) if Obj:IsA("BasePart") and Obj.Name:find("Flower") then return true, Obj.Color end end) } --[[Visual:AddSection("Aimbot Nearest") Visual:AddToggle({"Aimbot Gun", false, {_ENV, "AimBot_Gun"}}) Visual:AddToggle({"Aimbot Tap", false, {_ENV, "AimBot_Tap"}}) Visual:AddToggle({"Aimbot Skills", false, {_ENV, "AimBot_Skills"}}) Visual:AddToggle({"Ignore Mobs", true, {Settings, "NoAimMobs"}})]] Visual:AddSection("ESP") if Module.Sea == 2 then Visual:AddToggle({"ESP Flowers", false, {Esps.Flowers, "Enabled"}}) end Visual:AddToggle({"ESP Players", false, {Esps.Players, "Enabled"}}) Visual:AddToggle({"ESP Fruits", false, {Esps.Fruits, "Enabled"}}) Visual:AddToggle({"ESP Chests", false, {Esps.Chests, "Enabled"}}) Visual:AddToggle({"ESP Islands", false, {Esps.Islands, "Enabled"}}) end local Shop = Tabs.Shop do for _, Option in ipairs(Module.Shop) do Shop:AddSection(Option[1]) for _, item in ipairs(Option[2]) do local buyfunc = item[2] if type(item[2]) == "table" then buyfunc = function() FireRemote(unpack(item[2])) end end Shop:AddButton({item[1], buyfunc}) end end end local Misc = Tabs.Misc do local ExecClipboard = function() loadstring((getclipboard or fromclipboard)())() end local JobIdFilter = function(JobId) return string.gsub(JobId:gsub("`", ""), "\n", "") end local JoinJobId = function(JobId) TeleportService:TeleportToPlaceInstance(game.PlaceId, JobId, Player) end local JoinClipboard = function() JoinJobId((getclipboard or fromclipboard)()) end local WS_Toggle, WS_Slider local ToggleWalkSpeed = function(Value) if Value then Module.Hooking:SpeedBypass() end _ENV.WalkSpeedBypass, WS_Toggle = (Value and WS_Slider) or false, Value end local ChangeWalkSpeed = function(Value) _ENV.WalkSpeedBypass, WS_Slider = (WS_Toggle and Value) or false, Value end local WalkWater = function(Value) _ENV.WalkOnWater = Value local BasePlate = Map:WaitForChild("WaterBase-Plane", 9e9) while _ENV.WalkOnWater do task.wait(0.1) BasePlate.Size = Vector3.new(1000, 113, 1000) end BasePlate.Size = Vector3.new(1000, 80, 1000) end local AntiAfk = function(Value) _ENV.AntiAFK = Value while _ENV.AntiAFK do VirtualUser:CaptureController() VirtualUser:ClickButton1(Vector2.new(math.huge, math.huge))task.wait(600) end end if IsOwner then Misc:AddSection("Executor") Misc:AddButton({"Execute Clipboard", ExecClipboard}) end if Module.JobIds then Misc:AddSection("Join Server") Misc:AddTextBox({"Input Job Id", "1", false, JoinJobId, "JobId"}).OnChanging = JobIdFilter Misc:AddButton({"Join Clipboard", JoinClipboard}) end Misc:AddSection("Settings") Misc:AddSlider({"Farm Distance", 5, 30, 1, 15, function(Value) Settings.FarmPos = Vector3.new(0, Value, 0) Settings.FarmDistance = Value end, "S-Distance"}) Misc:AddSlider({"Tween Speed", 50, 300, 5, 200, {Settings, "TweenSpeed"}, "S-TweenSpeed"}) Misc:AddSlider({"Bring Mobs Distance", 50, 400, 10, 250, {Settings, "BringDistance"}, "S-BringDistance"}) Misc:AddSlider({"Auto Attack Delay", 0, 1, 0.01, 0.201, {Settings, "ClickDelay"}, "S-ClickDelay"}) Misc:AddToggle({"Bring Mobs", true, {Settings, "BringMobs"}, "S-BringMobs"}) Misc:AddToggle({"Auto Haki", true, {Settings, "AutoBuso"}, "S-AutoBuso"}) Misc:AddToggle({"Auto Attack", true, {Settings, "AutoClick"}, "S-AutoClick"}) -- Misc:AddToggle({"Fast Attack", true, {Settings, "FastAttack"}, "S-FastAttack"}) Misc:AddSection("Codes") Misc:AddButton({"Redeem all Codes", RedeemCodes}) Misc:AddSection("Team") Misc:AddButton({"Join Pirates Team", JoinTeam.Pirates}) Misc:AddButton({"Join Marines Team", JoinTeam.Marines}) Misc:AddSection("Menu") Misc:AddButton({"Devil Fruit Shop", function() FireRemote("GetFruits") Player.PlayerGui.Main.FruitShop.Visible = true end}) Misc:AddButton({"Titles", function() FireRemote("getTitles") Player.PlayerGui.Main.Titles.Visible = true end}) Misc:AddButton({"Haki Color", function() Player.PlayerGui.Main.Colors.Visible = true end}) Misc:AddSection("Local-Player") Misc:AddToggle({"Walk Speed", false, ToggleWalkSpeed, "M-WalkSpeed:A"}) Misc:AddSlider({"Walk Speed", 10, 300, 5, 150, ChangeWalkSpeed, "M-WalkSpeed:B"}) Misc:AddSection("Visual") Misc:AddButton({"Remove Fog", NoFog}) Misc:AddSection("More FPS") Misc:AddToggle({"Remove Damage", false, function(Value) ReplicatedStorage.Assets.GUI.DamageCounter.Enabled = not Value end, "M-DamageCounter"}) Misc:AddToggle({"Remove Notifications", false, function(Value) Player.PlayerGui.Notifications.Enabled = not Value end, "M-Notifications"}) Misc:AddSection("Others") Misc:AddToggle({"Walk On Water", true, WalkWater, "M-WalkOnWater"}) Misc:AddToggle({"Anti AFK", true, AntiAfk, "M-AntiAFK"}) end end function Loader:StartFarm() if not _ENV.loadedFarm then _ENV.loadedFarm = true loadstring([[local w,e,f=task.wait,(getgenv or getrenv or getfenv)(),...;task.spawn(function()while w() do local b=false;for i,v in f do if v() then b=true;break end;end;e.OnFarm=(e.teleporting or b);end;end)]])(FarmFunctions) end end function Loader:StartFunctions() table.clear(Functions) local index = {} local newFunc = function(Name, Function, cancel) if cancel == false then return nil end index[Name] = Function table.insert(Functions, { Name = Name, Function = Function }) end local IslandManager = self.Modules.IslandManager local QuestManager = self.Modules.QuestManager local FarmManager = self.Modules.FarmManager local RaidManager = self.Modules.RaidManager local SeaManager = self.Modules.SeaManager local CDKPuzzle = self.Modules.CDKPuzzle local Tween = self.Modules.PlayerTeleport local Sea = Module.Sea local IsAlive = Module.IsAlive local Inventory = Module.Inventory local Unlocked = Module.Unlocked local EquipTool = Module.EquipTool local FireRemote = Module.FireRemote local IsSpawned = Module.IsSpawned local Enemies = Module.EnemySpawned local EnemyLocations = Module.EnemyLocations local Elites = FarmManager.Enemies.Elites local Bones = FarmManager.Enemies.Bones local Katakuri = FarmManager.Enemies.Katakuri local Ectoplasm = FarmManager.Enemies.Ectoplasm local Attack = FarmManager.attack local PirateRaidSpawn = CFrame.new(-5556, 300, -2988) local EctoplasmSpawn = CFrame.new(914, 126, 33100) local RipIndraSpawn = CFrame.new(-5561, 314, -2663) local KatakuriSpawn = CFrame.new(-2103, 70, -12165) local SweetChalice = CFrame.new(224, 25, -12771) local DarkbeardSpawn = CFrame.new(3779, 16, -3500) local EliteQuest = CFrame.new(-5417, 313, -2822) local BonesSpawn = CFrame.new(-9513, 164, 5786) local ShanksSpawn = CFrame.new(-1461, 30, -51) local DojoTrainer = CFrame.new(5867, 1208, 872) local HunterLocation = CFrame.new(5864, 1209, 810) local YamaSword = CFrame.new(5251, 20, 454) local ThunderGod = CFrame.new(-7739, 5657, -2289) local TheSaw = CFrame.new(-690, 15, 1583) local ThirdSea = CFrame.new(-26952, 21, 329) local Bartilo = CFrame.new(-462, 73, 300) local DonSwan = CFrame.new(2289, 15, 808) local Alchemist = CFrame.new(-2777, 73, -3570) local Wenlocktoad = CFrame.new(-1988, 124, -70) local RF_InteractDragonQuest = Net:WaitForChild("RF/InteractDragonQuest") local RE_DragonDojoEmber = Net:WaitForChild("RE/DragonDojoEmber") local RF_DragonHunter = Net:WaitForChild("RF/DragonHunter") local QuestUpdate = Remotes:WaitForChild("QuestUpdate") local cachedBoss = nil; local DangerCooldown = 0; local DragonHunterProgress = nil; local DojoTrainerProgress = nil; local CachedNearest = nil; local CachedTree = nil; local Completed = {} local Dragon = { DojoClaim = { NPC = "Dojo Trainer", Command = "ClaimQuest" }, DojoProgress = { NPC = "Dojo Trainer", Command = "RequestQuest" }, RequestQuest = { Context = "RequestQuest" }, Check = { Context = "Check" }, TresSkills = {Z=true,X=true,C=true,V=true} } local RaceV3 = { Human = {"Fajita", "Diamond", "Jeremy"} } local PlacesColors = { ["Really red"] = "Pure Red", ["Oyster"] = "Snow White", ["Hot pink"] = "Winter Sky" } local ChristmasIslands = { CFrame.new(-1076, 14, -14437), CFrame.new(-5219, 15, 1532), CFrame.new(1007, 15, -3805) } local GetChristmasGift = function() for _,Gift in ipairs(WorldOrigin:GetChildren()) do if Gift.Name == "Present" then if Gift:FindFirstChild("Box") and Gift.Box:FindFirstChild("ProximityPrompt") then return Gift end end end end local GetNextBoss = function() if cachedBoss and IsSpawned(cachedBoss) then return cachedBoss end for _, Name in ipairs(Module.BossesName) do if IsSpawned(Name) then cachedBoss = Name return Name end end end local PlacesActivated = function() local Places = workspace.Map["Boat Castle"].Summoner.Circle for _, Place in ipairs(Places:GetChildren()) do if Place:IsA("BasePart") and Place.Part.BrickColor ~= BrickColor.new("Lime green") then local HakiColor = PlacesColors[Place.BrickColor.Name] local Position = Place.Position if HakiColor then PlayerTP(Place.CFrame) if Player:DistanceFromCharacter(Position) < 10 then ReplicatedStorage.Modules.Net:FindFirstChild("RF/FruitCustomizerRF"):InvokeServer({ StorageName = HakiColor, Type = "AuraSkin", Context = "Equip" }) end end return false end end return true end local CollectYama = function() fireclickdetector(Map.Waterfall.SealedKatana.Hitbox.ClickDetector) end local KillBossByInfo = function(Information, Name) local Quest = Information.Quest if Settings.BossQuest and Quest then if Level.Value >= Information.Level and not QuestManager:VerifyQuest(Name) then QuestManager:StartQuest(Quest[1], Quest[3] or 3, Quest[2]) return true end end local Enemy = Enemies(Name) if Enemy and Enemy.PrimaryPart then Attack(Enemy) return true elseif Information.Position then PlayerTP(Information.Position) return true end end local GetEmberTemplate = function() local Distance, Nearest = math.huge for _, Fire in ipairs(workspace:GetChildren()) do if Fire.Name == "EmberTemplate" and Fire:FindFirstChild("Part") then if Fire.Part.Position.Y > 0 then local Magnitude = Player:DistanceFromCharacter(Fire.Part.Position) if Magnitude < Distance then Distance, Nearest = Magnitude, Fire.Part end end end end return Nearest end local BuyMicrochip = function() if Fragments.Value >= 1000 and not VerifyTool("Microchip") then FireRemote("BlackbeardReward", "Microchip", "2") local time = tick() repeat task.wait() until VerifyTool("Microchip") or (tick() - time) > 5 end end local GetHydraTree = function() if CachedTree and CachedTree.Parent then return CachedTree end local Trees = Map.Waterfall.IslandModel:GetChildren() for _, Tree in ipairs(Trees) do if Tree:IsA("Model") and Tree.Name == "Tree" then local Group = Tree:FindFirstChild("Group") local Mesh = Group:FindFirstChild("Meshes/bambootree") if Mesh and Mesh.Anchored then CachedTree = Mesh return Mesh end end end end local BreakHydraTrees = function() local Tree = GetHydraTree() PlayerTP(Tree.CFrame) return true end newFunc("Tushita", function() if Unlocked.Tushita then local Enemy = Enemies("rip_indra True Form") if Enemy and Enemy.PrimaryPart then Attack(Enemy) return true end return nil end local Progress = Data:GetProgress("Tushita", "TushitaProgress") if Progress.OpenedDoor then local Enemy = Enemies("Longma") if Enemy and Enemy.PrimaryPart then Attack(Enemy) return true end end if VerifyTool("Holy Torch") then for i = 1, 5 do FireRemote("TushitaProgress", "Torch", i) end return true end if IsSpawned("rip_indra True Form") then PlayerTP(CFrame.new(5152, 142, 912)) return true end end, (Sea == 3)) newFunc("Darkbeard", function() local Enemy = Enemies("Darkbeard") if Enemy and Enemy.PrimaryPart then if Enabled.Sea then noSit() end Attack(Enemy) return true elseif VerifyTool("Fist of Darkness") then if Enabled.Sea then noSit() end EquipTool("Fist of Darkness") PlayerTP(DarkbeardSpawn) return true end end, (Sea == 2)) newFunc("CursedCaptain", function() local Enemy = Enemies("Cursed Captain") if Enemy and Enemy.PrimaryPart then if Enabled.Sea then noSit() end Attack(Enemy) return true end end, (Sea == 2)) newFunc("Factory", function() local Enemy = Enemies("Core") if Enemy and Enemy.PrimaryPart then if Enabled.Sea then noSit() end FarmManager.attackPosition(Enemy.PrimaryPart.CFrame) return true end end, (Sea == 2)) newFunc("CursedDualKatana", function() CDKPuzzle:UpdateProgress() CDKPuzzle:CursedDualKatana() end, (Sea == 3)) newFunc("ChristmasGift", function() if not _ENV.StartingChristmasEvent then return nil end local Gift = GetChristmasGift() if Gift and Gift.PrimaryPart then if Player:DistanceFromCharacter(Gift.PrimaryPart.Position) < 5 then fireproximityprompt(Gift.Box.ProximityPrompt) else PlayerTP(Gift.PrimaryPart.CFrame) end else PlayerTP(ChristmasIslands[Sea]) end return true end) newFunc("Raid", function() if RaidManager:IsRaiding() then local NextIsland = Module:GetRaidIsland() if NextIsland then PlayerTP(NextIsland.CFrame + Vector3.new(0, 70, 0)) Module.KillAura() end return true end if VerifyTool("Special Microchip") then RaidManager:start() return true end end, (Sea == 2 or Sea == 3)) newFunc("PirateRaid", function() if (tick() - Module.PirateRaid) <= 10 then for _, Enemy in ipairs(Module.PirateRaidEnemies) do if IsAlive(Enemy) and Enemy.PrimaryPart then Attack(Enemy) return true end end PlayerTP(PirateRaidSpawn) return true end end, (Sea == 3)) newFunc("Fruits", function() local Fruit = workspace:FindFirstChild("Fruit ") if Fruit and Fruit:FindFirstChild("Handle") then PlayerTP(Fruit.Handle.CFrame) return true else local Tool = workspace:FindFirstChildOfClass("Tool") if Tool and Tool:FindFirstChild("Handle") then PlayerTP(Tool.Handle.CFrame) return true end end end) newFunc("DojoTrainer", function() local Progress = DojoTrainerProgress local Quest = Progress and Progress.Quest if Quest and Quest.Progress >= Quest.Goal then if Player:DistanceFromCharacter(DojoTrainer.Position) <= 5 then RF_InteractDragonQuest:InvokeServer(Dragon.DojoProgress) RF_InteractDragonQuest:InvokeServer(Dragon.DojoClaim) else PlayerTP(DojoTrainer) end end if not Progress then if Player:DistanceFromCharacter(DojoTrainer.Position) <= 5 then DojoTrainerProgress = RF_InteractDragonQuest:InvokeServer(Dragon.DojoProgress) else PlayerTP(DojoTrainer) end return true end if Quest then local QuestName = Quest.BeltName if QuestName == "Admittance" then return index.Level() elseif QuestName == "Yellow" then return index.Sea() elseif QuestName == "Purple" then return index.EliteHunter() elseif QuestName == "Blue" then return index.Fruits() elseif QuestName == "Green" then if Player:GetAttribute("DangerLevel") >= 500 and (tick() - DangerCooldown) >= 1 then Quest.Progress = Quest.Progress + 1 DangerCooldown = tick() end local Boat = SeaManager:GetPlayerBoat() if Boat then SeaManager:RandomTeleport("inf") else SeaManager:BuyNewBoat() end return true elseif QuestName == "Orange" then return false end end end, (Sea == 3)) newFunc("DragonHunter", function() if DragonHunterProgress == "Locked" then return nil end local Ember = GetEmberTemplate() if Ember then PlayerTP(Ember.CFrame) return true end if not DragonHunterProgress or not DragonHunterProgress.Text then if Player:DistanceFromCharacter(HunterLocation.Position) < 5 then DragonHunterProgress = RF_DragonHunter:InvokeServer(Dragon.Check) if DragonHunterProgress and not DragonHunterProgress.Text then RF_DragonHunter:InvokeServer(Dragon.RequestQuest) end else PlayerTP(HunterLocation) end return true end local Text = DragonHunterProgress.Text if Text:find("Defeat") then local Name = Text:find("Venomous") and "Venomous Assailant" or "Hydra Enforcer" local Enemy = Enemies(Name) local Position = EnemyLocations[Name] if Enemy and Enemy.PrimaryPart then Attack(Enemy, true) elseif Position then Tween:NPCs(Position) end return true elseif Text:find("Destroy") then return BreakHydraTrees() end end, (Sea == 3)) newFunc("MirageFruitDealer", function() if Map:FindFirstChild("MysticIsland") then local FruitDealer = IslandManager:GetMirageFruitDealer() if FruitDealer and FruitDealer.PrimaryPart then PlayerTP(FruitDealer.PrimaryPart.CFrame) return true end end end, (Sea == 3)) newFunc("MirageGear", function() local Mirage = Map:FindFirstChild("MysticIsland") if Mirage then local MirageGear = IslandManager:GetMirageGear(Mirage) if MirageGear and MirageGear.Transparency < 1 then PlayerTP(MirageGear.CFrame) return true end end end, (Sea == 3)) newFunc("TeleportMirage", function() local Mirage = Map:FindFirstChild("MysticIsland") if Mirage then local MirageTop = IslandManager:GetMirageTop(Mirage) if MirageTop then PlayerTP(MirageTop.CFrame * CFrame.new(0, 211.8, 0)) end end end, (Sea == 3)) newFunc("KitsuneIsland", function() local Island = Map:FindFirstChild("KitsuneIsland") if Island then noSit() local Ember = GetEmberTemplate() if Ember then PlayerTP(Ember.CFrame) return true end local Stone = Island:FindFirstChild("ShrineDialogPart") if Stone then PlayerTP(Stone.CFrame) else PlayerTP(Island.WorldPivot) end end local Boat = SeaManager:GetPlayerBoat() if not Boat then SeaManager:BuyNewBoat() return true else SeaManager:RandomTeleport("6") return true end end) newFunc("Bartilo", function() if Level.Value < 850 or Unlocked["Warrior Helmet"] then return nil end local Progress = Module:GetProgress("Bartilo", "BartiloQuestProgress") if Progress.KilledSpring then FireRemote("BartiloQuestProgress", "DidPlates") elseif Progress.KilledBandits then if Module.IsAlive("Jeremy") then local Enemy = Enemies("Jeremy") if Enemy and Enemy.PrimaryPart then Attack(Enemy) else PlayerTP(CFrame.new(2316, 449, 787)) end return true end elseif not Progress.KilledBandits then local HasQuest = (Quest:VerifyQuest("Swan Pirate") and Quest:VerifyQuest("50")) if HasQuest then local Enemy = Enemies("Swan Pirate") if Enemy and Enemy.PrimaryPart then Attack(Enemy) elseif EnemyLocations["Swan Pirate"] then Tween:NPCs(EnemyLocations["Swan Pirate"]) end else QuestManager:StartQuest("BartiloQuest", 1, Bartilo) end return true end end, (Sea == 2)) newFunc("RaceV2", function() if Level.Value < 850 or Unlocked["Warrior Helmet"] or Data.Race:FindFirstChild("Evolved") then return nil end local Progress = Module:GetData("RaceV2", "Alchemist", "1") if Progress == 0 or Progress == 2 then if Player:DistanceFromCharacter(Alchemist.Position) < 5 then FireRemote("Alchemist", Progress == 0 and "2" or "3") else PlayerTP(Alchemist) end return true elseif Progress == 1 then for i = 1, 2 do local Flower = workspace:FindFirstChild("Flower" .. i) if Flower and Flower.Transparency ~= 1 and not VerifyTool("Flower " .. i) then PlayerTP(Flower.CFrame) return true end end if not VerifyTool("Flower 3") then local Enemy = Enemies("Swan Pirate") if Enemy and Enemy.PrimaryPart then Attack(Enemy) elseif EnemyLocations["Swan Pirate"] then Tween:NPCs(EnemyLocations["Swan Pirate"]) end end end end, (Sea == 2)) newFunc("RaceV3", function() if Completed.RaceV3 or not Data.Race:FindFirstChild("Evolved") then return nil end local Progress = Module:GetProgress("RaceV3", "Wenlocktoad", "1") if Progress == 3 then Completed.RaceV3 = true return nil end if Progress == 0 or Progress == 2 then if Player:DistanceFromCharacter(Wenlocktoad.Position) < 5 then FireRemote("Wenlocktoad", Progress == 0 and "2" or "3") else PlayerTP(Wenlocktoad) end return true elseif Progress == 1 then local Race = Data.Race.Value if Race == "Shark" then return index.Sea() elseif Race == "Human" then for _, Name in ipairs(RaceV3.Human) do if IsSpawned(Name) then return KillBossByInfo(Module.Bosses[Name], Name) end end elseif Race == "Mink" then return index.ChestTween() end end end, (Sea == 2)) newFunc("Sea", function() local Boat = SeaManager:GetPlayerBoat() if not Boat then SeaManager:BuyNewBoat() return true end local EnabledOptions = Settings.seaEnemy if not EnabledOptions then return nil end if EnabledOptions["Pirate Brigade"] then local PirateBrigade = SeaManager:GetSeaEvent("Pirate Brigade") if PirateBrigade then SeaManager:attackSeaEvent(PirateBrigade) return true end end if EnabledOptions["Sea Beast"] then local SeaBeast = SeaManager:GetSeaBeast() if SeaBeast then SeaManager:attackSeaBeast(SeaBeast) return true end end if Boat then SeaManager:RandomTeleport() return true end end, (Sea == 2)) newFunc("Sea", function() local Boat = SeaManager:GetPlayerBoat() if not Boat then SeaManager:BuyNewBoat() return true end local EnabledBoats = Settings.boatSelected local EnabledFishs = Settings.fishSelected if EnabledFishs["Sea Beast"] then local SeaBeast = SeaManager:GetSeaBeast() if SeaBeast then SeaManager:attackSeaBeast(SeaBeast) return true end end for Name, Enabled in pairs(EnabledFishs) do if Enabled and Name ~= "Sea Beast" then local Enemy = SeaManager:GetSeaEvent(Name) if Enemy then SeaManager:attackSeaEvent(Enemy) return true end end end for Name, Enabled in pairs(EnabledBoats) do if Enabled then local Enemy = SeaManager:GetSeaEvent(Name) if Enemy then SeaManager:attackSeaEvent(Enemy) return true end end end if Boat then SeaManager:RandomTeleport() return true end end, (Sea == 3)) newFunc("Yama", function() if Unlocked.Yama then return nil end if Module.Progress.EliteHunter >= 30 then if Player:DistanceFromCharacter(YamaSword) < 5 then pcall(CollectYama) task.wait(1) else PlayerTP(YamaSword) end return true end end, (Sea == 3)) newFunc("EliteHunter", function() local Quest = QuestManager:VerifyQuest(Elites) if (Enabled.DoughKing or Enabled.CakePrince or Enabled.RipIndra) and (( IsSpawned("rip_indra True Form") or IsSpawned("Dough King") or IsSpawned("Cake Prince") ) or ( VerifyTool("God's Chalice") or VerifyTool("Sweet Chalice") )) then return nil end if Quest then local Elite = Enemies(Quest) if Elite and Elite.PrimaryPart then Attack(Elite) return true end else for i = 1, #Elites do if IsSpawned(Elites[i]) then PlayerTP(EliteQuest) Tween:talkNpc(EliteQuest, "EliteHunter") return true end end end end, (Sea == 3)) newFunc("ThirdSea", function() if Level.Value < 1500 or Level.Value >= 1850 then return nil end local Progress = Module:GetProgress("Zou1", "ZQuestProgress") local Check = Completed.Zou2 or Module:GetProgress("Zou2", "ZQuestProgress", "Check") if not Check then local Unlocked = Module:GetProgress("Unlockables", "GetUnlockables").FlamingoAccess if Unlocked then return index.DonSwan() end return nil elseif not Completed.Zou2 then Completed.Zou2 = true end if Player:DistanceFromCharacter(ThirdSea) < 1200 then local Enemy = EnemiesFolder:FindFirstChild("rip_indra") if Enemy and Enemy.PrimaryPart then Attack(Enemy) end return true end if Progress.KilledIndraBoss then return Module.TravelTo(3) else local NPC = CFrame.new(-1926, 13, 1738) if Player:DistanceFromCharacter(NPC.Position).Magnitude < 5 then FireRemote("ZQuestProgress", "Begin") _ENV.OnFarm = false repeat task.wait() until Player:DistanceFromCharacter(ThirdSea) < 250 return true else PlayerTP(NPC) end end end, (Sea == 2)) newFunc("DonSwan", function() if not Unlocked["Warrior Helmet"] then return nil end if IsSpawned("Don Swan") then local Enemy = Enemies("Don Swan") if Enemy and Enemy.PrimaryPart then Attack(Enemy) else PlayerTP(DonSwan) end return true end end, (Sea == 2)) newFunc("SecondSea", function() if Level.Value < 700 then return nil end local Progress = Module:GetProgress("Dressrosa", "DressrosaQuestProgress") if Progress.KilledIceBoss then return Module.TravelTo(2) end if not Progress.TalkedDetective then FireRemote("DressrosaQuestProgress","Detective") elseif not Progress.UsedKey then if not VerifyTool("Key") then FireRemote("DressrosaQuestProgress", "Detective") end EquipTool("Key") FireRemote("DressrosaQuestProgress", "UseKey") elseif not Progress.KilledIceBoss then local Enemy = Enemies("Ice Admiral") if Enemy and Enemy.PrimaryPart then Attack(Enemy) end end return true end, (Sea == 1)) newFunc("Order", function() local Enemy = EnemiesFolder:FindFirstChild("Order") if Enemy and Enemy.PrimaryPart then Attack(Enemy) return true end if VerifyTool("Microchip") then return fireclickdetector(Map.CircleIsland.RaidSummon.Button.Main.ClickDetector) end if Settings.FullyLawRaid then return BuyMicrochip() end end, (Sea == 2)) newFunc("Saber", function() if Level.Value < 200 or Unlocked.Saber then return nil end local Data = Module:GetProgress("Shanks", "ProQuestProgress") if Data.UsedRelic then if Module.IsSpawned("Saber Expert") then local Enemy = Enemies("Saber Expert") if Enemy and Enemy.PrimaryPart then Attack(Enemy) else PlayerTP(ShanksSpawn) end return true end elseif Data.KilledMob then if VerifyTool("Relic") then FireRemote("ProQuestProgress", "PlaceRelic") else FireRemote("ProQuestProgress", "RichSon") end return true elseif Data.UsedCup then if not Data.TalkedSon then return FireRemote("ProQuestProgress", "RichSon") end if Module.IsSpawned("Mob Leader") then local Enemy = Enemies("Mob Leader") if Enemy and Enemy.PrimaryPart then Attack(Enemy) else PlayerTP(CFrame.new(-2880, 9, 5430)) end return true end elseif Data.UsedTorch then if VerifyTool("Cup") then FireRemote("ProQuestProgress", "FillCup", Player.Character and Player.Character:FindFirstChild("Cup") or Player.Backpack:FindFirstChild("Cup") ) else FireRemote("ProQuestProgress", "GetCup") end FireRemote("ProQuestProgress", "SickMan") return true else for i, v in next, Data.Plates do if not v then FireRemote("ProQuestProgress", "Plate", i) return true end end if VerifyTool("Torch") then FireRemote("ProQuestProgress", "DestroyTorch") else FireRemote("ProQuestProgress", "GetTorch") end return true end end, (Sea == 1)) newFunc("PoleV1", function() if Level.Value < 450 or Unlocked["Pole (1st Form)"] then return nil end if Module.IsSpawned("Thunder God") then local Enemy = Enemies("Thunder God") if Enemy and Enemy.PrimaryPart then Attack(Enemy) else PlayerTP(ThunderGod) end return true end end, (Sea == 1)) newFunc("TheSaw", function() if Level.Value < 100 or Unlocked["Shark Saw"] then return nil end if Module.IsSpawned("The Saw") then local Enemy = Enemies("The Saw") if Enemy and Enemy.PrimaryPart then Attack(Enemy) else PlayerTP(TheSaw) end return true end end, (Sea == 1)) newFunc("SoulReaper", function() local Enemy = Enemies("Soul Reaper") if Enemy and Enemy.PrimaryPart then Attack(Enemy) return true elseif VerifyTool("Hallow Essence") then EquipTool("Hallow Essence") PlayerTP(Map["Haunted Castle"].Summoner.Detection.CFrame) return true end end, (Sea == 3)) newFunc("RipIndra", function() local Enemy = Enemies("rip_indra True Form") if Enemy and Enemy.PrimaryPart then Attack(Enemy) return true end if VerifyTool("God's Chalice") then if PlacesActivated() then PlayerTP(RipIndraSpawn) end return true end end, (Sea == 3)) newFunc("BossSelected", function() local Name = Settings.BossSelected local Enemy = Name and IsSpawned(Name) if Enemy then return KillBossByInfo(Module.Bosses[Name], Name) end end) newFunc("AllBosses", function() local Name = GetNextBoss() if Name then return KillBossByInfo(Module.Bosses[Name], Name) end end) newFunc("DoughKing", function() local Enemy = Enemies("Dough King") or Enemies("Cake Prince") if VerifyTool("Red Key") then FireRemote("CakeScientist", "Check") return true end if Enemy and Enemy.PrimaryPart then Attack(Enemy) else if not VerifyTool("Sweet Chalice") and VerifyTool("God's Chalice") then if Module:GetMaterial("Conjured Cocoa") < 10 then FarmManager.Material("Conjured Cocoa") else PlayerTP(SweetChalice) Tween:talkNpc(SweetChalice, "SweetChaliceNpc") end return true end local Target = Enemies(Katakuri) if Target and Target.PrimaryPart then Attack(Target, true, true) else PlayerTP(KatakuriSpawn) end end return true end, (Sea == 3)) newFunc("CakePrince", function() if Enabled.DoughKing then return nil end local Enemy = Enemies("Dough King") or Enemies("Cake Prince") if Enemy and Enemy.PrimaryPart then Attack(Enemy) else local Target = Enemies(Katakuri) if Target and Target.PrimaryPart then Attack(Target, true, true) else PlayerTP(KatakuriSpawn) end end return true end, (Sea == 3)) newFunc("ChestTween", function() local Chest = Module.Chests() if Chest then PlayerTP(Chest:GetPivot()) return true end end) newFunc("Ectoplasm", function() local Enemy = Enemies(Ectoplasm) if Enemy and Enemy.PrimaryPart then Attack(Enemy, true, true) else PlayerTP(EctoplasmSpawn) end return true end, (Sea == 2)) newFunc("Bones", function() if Enabled.Level and Level.Value < Module.MaxLevel then return nil end local Enemy = Enemies(Bones) if Enemy and Enemy.PrimaryPart then Attack(Enemy, true, true) else PlayerTP(BonesSpawn) end return true end, (Sea == 3)) newFunc("Level", function() -- if Enabled.SkyFarm then return nil end local Quest = QuestManager:GetQuest() if not Quest then return nil end local Target = Quest.Enemy.Name local Position = Quest.Enemy.Position local Enemy = QuestManager:VerifyQuest(Target) if Enemy then Enemy = Enemies[Enemy] if Enemy and Enemy.PrimaryPart then Attack(Enemy, true) else if #Position > 0 then Tween:NPCs(Position) else PlayerTP(QuestManager:GetQuestPosition()) end end else QuestManager:StartQuest(Quest.Name, Quest.Count, QuestManager:GetQuestPosition()) end return true end) newFunc("Material", function() if Settings.fMaterial then FarmManager.Material(Settings.fMaterial) return true end end) newFunc("Nearest", function() if CachedNearest and IsAlive(CachedNearest) then Attack(CachedNearest, true, true) return true end local Distance, Nearest = math.huge for _, Enemy in ipairs(EnemiesFolder:GetChildren()) do local PrimaryPart = Enemy.PrimaryPart if IsAlive(Enemy) and PrimaryPart then local Magnitude = Player:DistanceFromCharacter(PrimaryPart.Position) if Magnitude < Distance then Distance, Nearest = Magnitude, Enemy end end end if Nearest then CachedNearest = Nearest Attack(Nearest, true, true) return true end end) if Sea == 3 then RE_DragonDojoEmber.OnClientEvent:Connect(function() DragonHunterProgress = nil end) QuestUpdate.OnClientEvent:Connect(function(...) local Quest = DojoTrainerProgress and DojoTrainerProgress.Quest if Quest and (Quest.BeltName == "Admittance" or Quest.BeltName == "Yellow") then Quest.Progress = Quest.Progress + 1 end end) end local function NewCharacter(Character) local Humanoid = Character:WaitForChild("Humanoid") Humanoid:GetPropertyChangedSignal("SeatPart"):Connect(function() local SeatPart = Humanoid.SeatPart if _ENV.OnFarm and SeatPart and SeatPart.Name ~= "VehicleSeat" then Humanoid.Sit = false end end) end if Player.Character then NewCharacter(Player.Character) end Player.CharacterAdded:Connect(NewCharacter) end Loader:Initialize() Loader:StartFarm() Loader:StartFunctions() Loader:LoadLibrary()