Meme Sea Script | AUTOFARM, AUTOQUEST

Created by 0xDEITY

Features:

  • AUTOFARM
  • AUTOQUEST
--: services
local Players = game:GetService("Players")

--: vars
local LocalPlayer = Players.LocalPlayer
local NPCFolder = workspace:WaitForChild("Npc")
local MonsterFolder = workspace:WaitForChild("Monster")

--: game stuff
local GetLevel = function()
   return LocalPlayer.PlayerData.Level.Value
end

local EquipTool = function()
   if not LocalPlayer.Character then return end

   if not LocalPlayer.Character:FindFirstChildOfClass("Tool") then
       LocalPlayer:WaitForChild("Backpack").Combat.Parent = LocalPlayer.Character
   end
end

local GetMonsters = function(quest)
   local monsters = {}; for i, v in pairs(MonsterFolder:GetChildren()) do
       if string.lower(v.Name) == string.lower(quest.QuestScript.Enemy.Value) then
           table.insert(monsters, v)
       end
   end
   
   return monsters
end

local GetQuest = function()
   local doable = {}
   for i, v in pairs(NPCFolder:GetChildren()) do
       if not string.find(string.lower(v.Name), "quest") then continue end
       if string.find(v.Name, "[", 0, true) ~= nil then continue end

       local Quest; for i2, v2 in pairs(v:GetDescendants()) do
           if v2.ClassName == "ProximityPrompt" then
               Quest = v2
           end
       end
       
       if not Quest then continue end
       if GetLevel() <= Quest.QuestScript.LevelNeed.Value then continue end

       table.insert(doable, Quest)
   end

   local highestLvl = 0
   local highestQ; for i, v in pairs(doable) do
       if v.QuestScript.LevelNeed.Value > highestLvl then
           highestQ = v
       end
   end
   
   return highestQ
end

local Attack = function(quest)
   local Monsters = GetMonsters(quest)

   for i, v in pairs(Monsters) do
       repeat
           if not v:FindFirstChild("HumanoidRootPart") then return end
           if not LocalPlayer.Character then return end
           if not LocalPlayer.Character:FindFirstChild("Combat") then return end
           
           LocalPlayer.Character.Combat.Sword_Client.RemoteEvent:FireServer(1, v.HumanoidRootPart.Position)
           task.wait(.2)
       until not v:FindFirstChild("Humanoid") or v.Humanoid.Health <= 0
   end
end

local DoQuest = function()
   local Quest = GetQuest()
   pcall(function()
       LocalPlayer.Character.HumanoidRootPart.Position = Vector3.new(Quest.Parent.Position.X, Quest.Parent.Position.Y + 10, Quest.Parent.Position.Z)
   end)
   fireproximityprompt(Quest, 0)

   repeat
       EquipTool()
       Attack(Quest)
       task.wait()
   until LocalPlayer:FindFirstChild("QuestLeader") == nil
end

--: main
while task.wait() do
   DoQuest()
end

ENJOY!

Warning: DO NOT DOWNLOAD anything from this page, you’re only here to copy the script!