Geavin

Auto farm gleavin

Oct 21st, 2026
18
0
Never
2
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 68.34 KB | None | 0 0
  1. --[[
  2. Gleavin Hub // Level Farm
  3. Standalone level farming script for Blox Fruits
  4. Rayfield UI
  5. Run one Gleavin Hub script at a time
  6. ]]
  7.  
  8. if getgenv().__GLEAVIN_LEVEL_LOADED then return end
  9. getgenv().__GLEAVIN_LEVEL_LOADED = true
  10.  
  11. -- ============================================================================
  12. -- RAYFIELD UI
  13. -- ============================================================================
  14. local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
  15. if not Rayfield then
  16. warn("[Gleavin] Rayfield failed to load")
  17. return
  18. end
  19.  
  20. -- ============================================================================
  21. -- SERVICES
  22. -- ============================================================================
  23. local Players = game:GetService("Players")
  24. local RunService = game:GetService("RunService")
  25. local TweenService = game:GetService("TweenService")
  26. local ReplicatedStorage = game:GetService("ReplicatedStorage")
  27. local VirtualUser = game:GetService("VirtualUser")
  28. local VirtualInputManager = game:GetService("VirtualInputManager")
  29. local HttpService = game:GetService("HttpService")
  30. local Lighting = game:GetService("Lighting")
  31. local LP = Players.LocalPlayer
  32. local t = LP
  33.  
  34. local CommF = ReplicatedStorage:WaitForChild("Remotes"):WaitForChild("CommF_")
  35. local GuiService = game:GetService("GuiService")
  36.  
  37. -- Blox Fruits world ID checks
  38. getgenv().CheckPlaceId = game.PlaceId == 100117331123089 and 100117331123089 or 7449423635 -- Sea 3
  39. getgenv().CheckPlaceId2 = game.PlaceId == 4442272183 and 4442272183 or 79091703265657 -- Sea 2
  40. getgenv().CheckPlaceId3 = game.PlaceId == 2753915549 and 2753915549 or 85211729168715 -- Sea 1
  41.  
  42. -- ============================================================================
  43. -- WAIT FOR GAME
  44. -- ============================================================================
  45. repeat task.wait() until game:IsLoaded() and LP:FindFirstChild("DataLoaded")
  46.  
  47. -- ============================================================================
  48. -- SETTINGS PERSISTENCE
  49. -- ============================================================================
  50. local FolderName = "GleavinHub"
  51. if not isfolder(FolderName) then makefolder(FolderName) end
  52. local SaveFileName = FolderName .. "/LevelFarm.json"
  53.  
  54. local Settings = {}
  55.  
  56. local function SaveSettings(key, value, subkey)
  57. if subkey ~= nil then
  58. Settings[key] = Settings[key] or {}
  59. Settings[key][subkey] = value
  60. elseif key ~= nil then
  61. Settings[key] = value
  62. end
  63. pcall(function()
  64. writefile(SaveFileName, HttpService:JSONEncode(Settings))
  65. end)
  66. end
  67.  
  68. local function LoadSettings()
  69. local ok, data = pcall(function()
  70. return HttpService:JSONDecode(readfile(SaveFileName))
  71. end)
  72. if ok and type(data) == "table" then
  73. Settings = data
  74. end
  75. end
  76. LoadSettings()
  77.  
  78. local function Notify(title, desc)
  79. pcall(function()
  80. Rayfield:Notify({
  81. Title = title or "Gleavin Hub",
  82. Content = desc or "",
  83. Duration = 5,
  84. Image = 4483362458
  85. })
  86. end)
  87. end
  88.  
  89. -- ============================================================================
  90. -- CORE UTILITIES
  91. -- ============================================================================
  92. local function getChar()
  93. return t.Character or t.CharacterAdded:Wait()
  94. end
  95.  
  96. local function getHRP()
  97. local c = getChar()
  98. return c:FindFirstChild("HumanoidRootPart") or c:WaitForChild("HumanoidRootPart", 10)
  99. end
  100.  
  101. local function IsAlive()
  102. local c = t.Character
  103. if not c then return false end
  104. local h = c:FindFirstChildOfClass("Humanoid")
  105. if not h then return false end
  106. return h.Health > 0
  107. end
  108.  
  109. -- ============================================================================
  110. -- TWEEN MANAGER (verbatim from source)
  111. -- ============================================================================
  112. local _l = TweenService
  113. getgenv().TweenManager = {
  114. currentTween = nil,
  115. currentPart = nil,
  116. currentGoal = nil,
  117. TweenRunning = false,
  118. CancelTweenOnly = function()
  119. local Q, S = getgenv().TweenManager.currentTween, getgenv().Tween
  120. if Q then pcall(function() Q:Cancel(); Q:Destroy() end) end
  121. if S and S ~= Q then pcall(function() S:Cancel(); S:Destroy() end) end
  122. getgenv().TweenManager.currentTween = nil
  123. getgenv().TweenManager.currentPart = nil
  124. getgenv().TweenManager.currentGoal = nil
  125. getgenv().TweenManager.TweenRunning = false
  126. getgenv().Tween = nil
  127. end,
  128. PlayTween = function(Q, S, L, d)
  129. if not Q or not S or not L or not L.CFrame then return end
  130. local I = (d or {}).TargetEpsilon or 12
  131. if getgenv().TweenManager.currentTween
  132. and getgenv().TweenManager.currentPart == Q
  133. and getgenv().TweenManager.currentGoal
  134. and I >= (getgenv().TweenManager.currentGoal.Position - L.CFrame.Position).Magnitude
  135. then
  136. return getgenv().TweenManager.currentTween
  137. end
  138. getgenv().TweenManager.CancelTweenOnly()
  139. local tw = _l:Create(Q, S, L)
  140. getgenv().TweenManager.currentTween = tw
  141. getgenv().TweenManager.currentPart = Q
  142. getgenv().TweenManager.currentGoal = L.CFrame
  143. getgenv().TweenManager.TweenRunning = true
  144. getgenv().Tween = tw
  145. tw.Completed:Connect(function()
  146. if getgenv().TweenManager.currentTween == tw then
  147. getgenv().TweenManager.currentTween = nil
  148. getgenv().TweenManager.currentPart = nil
  149. getgenv().TweenManager.currentGoal = nil
  150. getgenv().TweenManager.TweenRunning = false
  151. getgenv().Tween = nil
  152. pcall(function() tw:Destroy() end)
  153. end
  154. end)
  155. tw:Play()
  156. return tw
  157. end,
  158. CancelCurrent = function()
  159. local ch = t.Character
  160. local hrp = ch and ch:FindFirstChild("HumanoidRootPart")
  161. if getgenv().TweenManager.currentTween or getgenv().Tween or (hrp and hrp:FindFirstChild("FloatForce")) then
  162. getgenv().TweenManager.CancelTweenOnly()
  163. pcall(function()
  164. if not ch then return end
  165. for _, p in ipairs(ch:GetDescendants()) do
  166. if p:IsA("BasePart") then p.CanCollide = true end
  167. end
  168. local h = ch:FindFirstChildOfClass("Humanoid")
  169. if h then h.PlatformStand = false end
  170. if hrp and hrp:FindFirstChild("FloatForce") then hrp.FloatForce:Destroy() end
  171. end)
  172. end
  173. end,
  174. }
  175. TweenManager = getgenv().TweenManager
  176.  
  177. -- ============================================================================
  178. -- toTarget (level-farm scope: direct teleport when close, tween when far)
  179. -- ============================================================================
  180. local _G_Tweening = false
  181. local ReadyToDodge = false
  182.  
  183. local function AddFloatForce(hrp)
  184. if hrp:FindFirstChild("FloatForce") then return end
  185. local bv = Instance.new("BodyVelocity")
  186. bv.Name = "FloatForce"
  187. bv.Velocity = Vector3.new(0, 0, 0)
  188. bv.MaxForce = Vector3.new(100000, 100000, 100000)
  189. bv.P = 10000
  190. bv.Parent = hrp
  191. end
  192.  
  193. function toTarget(P, skipCheck)
  194. if typeof(P) ~= "CFrame" then return end
  195. local char = t.Character
  196. if not char then return end
  197. local hrp = char:FindFirstChild("HumanoidRootPart")
  198. local hum = char:FindFirstChildOfClass("Humanoid")
  199. if not hrp or not hum then return end
  200.  
  201. if hum.Sit then
  202. TweenManager.CancelCurrent()
  203. task.wait(0.1)
  204. getgenv().noclip = false
  205. VirtualInputManager:SendKeyEvent(true, "Space", false, game)
  206. task.wait()
  207. VirtualInputManager:SendKeyEvent(false, "Space", false, game)
  208. task.wait(0.1)
  209. if hrp:FindFirstChild("EffectsSY") then hrp.EffectsSY:Destroy() end
  210. hum.Jump = true
  211. task.wait(0.1)
  212. hrp.CFrame = hrp.CFrame * CFrame.new(0, 10, 0)
  213. return
  214. end
  215.  
  216. AddFloatForce(hrp)
  217.  
  218. local dist = (P.Position - hrp.Position).Magnitude
  219.  
  220. if Settings["Teleport Y"] then
  221. local pct = Settings["% Health Player"] or 40
  222. local hp = hum.Health / hum.MaxHealth
  223. if hp < pct / 100 then
  224. _G_Tweening = true
  225. elseif hp > 0.8 then
  226. _G_Tweening = false
  227. end
  228. end
  229.  
  230. if dist < (skipCheck and 8 or 150) and not _G_Tweening and not ReadyToDodge then
  231. TweenManager.CancelTweenOnly()
  232. hrp.CFrame = P
  233. return
  234. end
  235.  
  236. if hrp.Position.Y < -60 and hrp.Position.Y > -100 then
  237. hrp.CFrame = hrp.CFrame * CFrame.new(0, 20, 0)
  238. end
  239.  
  240. local offset = CFrame.new()
  241. if ReadyToDodge then
  242. offset = CFrame.new(0, 200, 0)
  243. elseif _G_Tweening then
  244. offset = CFrame.new(0, Settings["Distance Teleport Y"] or 800, 0)
  245. end
  246. local goal = P * offset
  247. local speed = Settings["Speed Tween "] or 300
  248.  
  249. if (goal.Position - hrp.Position).Magnitude < 3 and not ReadyToDodge and not _G_Tweening then
  250. TweenManager.CancelTweenOnly()
  251. hrp.CFrame = goal
  252. return
  253. end
  254.  
  255. TweenManager.PlayTween(hrp, TweenInfo.new(dist / speed, Enum.EasingStyle.Linear), { CFrame = goal })
  256. end
  257. getgenv().BackupTween = toTarget
  258.  
  259. -- ============================================================================
  260. -- COMBAT (verbatim from source)
  261. -- ============================================================================
  262. local S = Players
  263. local G_Combat = require(ReplicatedStorage.Modules.CombatUtil)
  264. local NetMod = require(ReplicatedStorage.Modules.Net)
  265. local Mouse = require(ReplicatedStorage.Mouse)
  266. local RegisterAttack = ReplicatedStorage.Modules.Net:WaitForChild("RE/RegisterAttack")
  267. local RegisterHit = NetMod:RemoteEvent("RegisterHit", true)
  268.  
  269. v_u_27 = 0
  270. v_u_28 = false
  271. v_u_33 = false
  272. v_u_31 = nil
  273. v_u_32 = 0
  274. v_u_21 = 0
  275. v_u_16 = 1
  276.  
  277. local function bladeBoxHits(mob, origin, radius)
  278. local hits = {}
  279. for _, part in pairs(mob:GetChildren()) do
  280. if part:IsA("BasePart") and (part.Position - origin).Magnitude <= radius then
  281. table.insert(hits, part)
  282. end
  283. end
  284. return hits
  285. end
  286.  
  287. local function AllTargets(includePlayers)
  288. local list = {}
  289. local enemies = workspace:WaitForChild("Enemies")
  290. for _, v in pairs(enemies:GetChildren()) do table.insert(list, v) end
  291. if includePlayers then
  292. local chars = workspace:WaitForChild("Characters")
  293. for _, v in pairs(chars:GetChildren()) do table.insert(list, v) end
  294. end
  295. return list
  296. end
  297.  
  298. getgenv().getBladeHits = function(selfChar, origins, baseRadius, includePlayers)
  299. local hits = {}
  300. for _, mob in pairs(AllTargets(includePlayers)) do
  301. if mob:IsDescendantOf(Workspace) and mob ~= selfChar and mob:FindFirstChild("HumanoidRootPart") then
  302. local hrp = mob.HumanoidRootPart
  303. local radius = S:GetPlayerFromCharacter(mob) and (baseRadius / 1.5) or baseRadius
  304. local points = { hrp.Position }
  305. if hrp.Size.Y > 5 then
  306. table.insert(points, (hrp.CFrame * CFrame.new(0, -hrp.Size.Y * 1.5 + 3, 0)).Position)
  307. end
  308. for _, pt in pairs(points) do
  309. if (pt - origins[1].Position).Magnitude < 10 + radius + hrp.Size.X / 2 then
  310. for _, hit in pairs(bladeBoxHits(mob, origins[1].Position, radius + hrp.Size.X / 2)) do
  311. table.insert(hits, hit)
  312. end
  313. break
  314. end
  315. end
  316. end
  317. end
  318. return hits
  319. end
  320.  
  321. local BODY_PARTS = {
  322. RightUpperArm = true, RightLowerArm = true, RightHand = true,
  323. RightUpperLeg = true, RightLowerLeg = true, RightFoot = true,
  324. LeftUpperArm = true, LeftLowerArm = true, LeftHand = true,
  325. LeftUpperLeg = true, LeftLowerLeg = true, LeftFoot = true,
  326. UpperTorso = true, LowerTorso = true, Head = true,
  327. }
  328.  
  329. local function AttackAOE(radius, includePlayers)
  330. local found, seen = {}, {}
  331. local origins = { t.Character.HumanoidRootPart }
  332. for _, part in pairs(getgenv().getBladeHits(t.Character, origins, radius or 80, includePlayers)) do
  333. local rig = G_Combat:GetRigOfHitPart(part)
  334. if rig and not seen[rig] and BODY_PARTS[part.Name] and G_Combat:IsVulnerable(rig) then
  335. local summoner, selfSummoner = rig:FindFirstChild("Summoner"), t.Character:FindFirstChild("Summoner")
  336. if rig ~= t.Character
  337. and (not selfSummoner or rig ~= selfSummoner.Value.Character)
  338. and (not S:GetPlayerFromCharacter(t.Character) or not summoner or summoner.Value ~= S:GetPlayerFromCharacter(t.Character))
  339. then
  340. table.insert(found, { rig, part })
  341. seen[rig] = true
  342. end
  343. end
  344. end
  345. return #found > 0 and found or nil
  346. end
  347.  
  348. function attackMelee(radius)
  349. local tool = t.Character:FindFirstChildOfClass("Tool")
  350. if not tool then return end
  351. local hits = AttackAOE(radius, false)
  352. if not hits then return end
  353. local hum = t.Character.Humanoid
  354. local root = hum and hum.RootPart
  355. root = root and root.Parent
  356. local anims = G_Combat:GetMovesetAnimCache(hum)
  357. if anims then
  358. local weaponName = G_Combat:GetWeaponName(tool)
  359. local data = G_Combat:GetWeaponData(weaponName)
  360. local weaponType, moveset = data.WeaponType, data.Moveset
  361. if G_Combat:CanAttack(root, weaponType) then
  362. v_u_33 = true
  363. v_u_32 = 5
  364. v_u_21 = os.clock()
  365. v_u_27 += 1
  366. if v_u_27 > #moveset.Basic then v_u_27 = 1 end
  367. local anim = anims[G_Combat:GetPureWeaponName(weaponName) .. "-basic" .. v_u_27]
  368. RegisterAttack:FireServer(anim.Length / (anim:GetAttribute("SpeedMult") or 1))
  369. RegisterHit:FireServer(table.remove(hits, 1)[2], hits)
  370. anim:Play(0.1, 1, 1 * (anim:GetAttribute("SpeedMult") or 1))
  371. v_u_28 = true
  372. task.delay(anim.Length / (anim:GetAttribute("SpeedMult") or 1) * v_u_16, function()
  373. v_u_28 = false
  374. end)
  375. v_u_31 = anim
  376. table.clear(hits)
  377. end
  378. end
  379. end
  380.  
  381. function AttackFunction(radius)
  382. if t.Character.Stun.Value ~= 0 then return end
  383. if not Settings["Attack No Animation "] then
  384. attackMelee(radius)
  385. else
  386. local hits = AttackAOE(radius, false)
  387. if not hits then return end
  388. RegisterAttack:FireServer(0)
  389. RegisterHit:FireServer(table.remove(hits, 1)[2], hits)
  390. table.clear(hits)
  391. end
  392. end
  393.  
  394. -- Fruit M1
  395. local function useFruitM1(target, isBoat, usePrimary)
  396. local char = t.Character
  397. local root = char and (char.PrimaryPart or char:FindFirstChild("HumanoidRootPart"))
  398. if not root or not target then return false end
  399. local targetPos = usePrimary and target.Position or (target.PrimaryPart and target.PrimaryPart.Position)
  400. if not targetPos then return false end
  401. local lookDir = (targetPos - root.Position).Unit
  402. local flatDir = ((Mouse.Hit.Position - root.Position) * Vector3.new(1, 0, 1)).Unit
  403. local fruitTool = char:FindFirstChild(NameWeapon("Blox Fruit"))
  404. if not fruitTool then return false end
  405. local lc = fruitTool:FindFirstChild("LeftClickRemote")
  406. local rf = fruitTool:FindFirstChild("RemoteFunction")
  407. local re = fruitTool:FindFirstChild("RemoteEvent")
  408. if not lc and rf then
  409. if re then re:FireServer(targetPos) end
  410. rf:InvokeServer("TAP")
  411. return true
  412. end
  413. if lc then
  414. if fruitTool.Name == "Mammoth-Mammoth" then
  415. lc:FireServer(targetPos)
  416. return true
  417. end
  418. local seq = math.random(1, 5)
  419. lc:FireServer(lookDir, seq)
  420. if isBoat then lc:FireServer(flatDir, seq) end
  421. return true
  422. end
  423. return false
  424. end
  425.  
  426. getgenv().UseFruitM1 = function(target, primary)
  427. return useFruitM1(target, false, primary)
  428. end
  429. getgenv().UseFruitM1Boat = function(target, primary)
  430. return useFruitM1(target, true, primary)
  431. end
  432.  
  433. local function inMeleeRange(mob)
  434. return t.Character
  435. and t.Character:FindFirstChild("HumanoidRootPart")
  436. and mob
  437. and mob:FindFirstChild("HumanoidRootPart")
  438. and mob.Humanoid.Health > 0
  439. and (t.Character.HumanoidRootPart.Position - mob.HumanoidRootPart.Position).Magnitude < 70
  440. end
  441.  
  442. function ClickM1(mob, isBoat)
  443. if not inMeleeRange(mob) then return end
  444. if Settings["Select Weapon"] == "Blox Fruit" then
  445. if getgenv().UseFruitM1(mob) then return end
  446. end
  447. AttackFunction(isBoat and 80 or 30)
  448. end
  449. getgenv().ClickM1 = ClickM1
  450.  
  451. function equiptool(name)
  452. if name and t:FindFirstChild("Backpack") and t.Backpack:FindFirstChild(name) and not t.Character.Humanoid.Sit then
  453. t.Character.Humanoid:EquipTool(t.Backpack:FindFirstChild(name))
  454. end
  455. end
  456.  
  457. function NameWeapon(tooltip, returnTool)
  458. local function find(container)
  459. for _, item in pairs(container:GetChildren()) do
  460. if item:IsA("Tool") and item.ToolTip == tooltip then
  461. return returnTool and item or item.Name
  462. end
  463. end
  464. end
  465. return find(t.Backpack) or find(t.Character)
  466. end
  467.  
  468. function UsedualFlock()
  469. equiptool(NameWeapon(Settings["Select Weapon"] or "Melee"))
  470. end
  471.  
  472. -- ============================================================================
  473. -- FAST ATTACK (PASS32 pattern)
  474. -- ============================================================================
  475. local CombatFrameworkR = nil
  476. pcall(function()
  477. local cfMod = require(t.PlayerScripts:WaitForChild("CombatFramework"))
  478. local ups = debug.getupvalues(cfMod)
  479. CombatFrameworkR = ups and ups[2]
  480. end)
  481.  
  482. pcall(function()
  483. local shaker = require(ReplicatedStorage.Util.CameraShaker)
  484. if shaker and shaker.Stop then shaker:Stop() end
  485. end)
  486.  
  487. local function FastAttackOnce()
  488. if not (getgenv().Usefastattack or getgenv().SuperFastAttack) then return end
  489. if not CombatFrameworkR then return end
  490. local controller = CombatFrameworkR.activeController
  491. if not controller then return end
  492. pcall(function()
  493. controller.hitboxMagnitude = getgenv().SuperFastAttack and 60 or 55
  494. controller.timeToNextAttack = 0
  495. controller.attacking = false
  496. controller.increment = 3
  497. controller.blocking = false
  498. controller.timeToNextBlock = 0
  499. if controller.attack then controller:attack() end
  500. local hum = t.Character and t.Character:FindFirstChildOfClass("Humanoid")
  501. if hum then hum.Sit = false end
  502. end)
  503. end
  504. getgenv().FastAttackOnce = FastAttackOnce
  505.  
  506. task.spawn(function()
  507. while task.wait() do
  508. if getgenv().Usefastattack or getgenv().SuperFastAttack then
  509. FastAttackOnce()
  510. end
  511. end
  512. end)
  513.  
  514. -- ============================================================================
  515. -- DETECTION
  516. -- ============================================================================
  517. function IsMobAlive(mob)
  518. return mob
  519. and mob.Parent
  520. and mob:FindFirstChild("HumanoidRootPart")
  521. and mob:FindFirstChildWhichIsA("Humanoid")
  522. and mob.Humanoid.Health > 0
  523. end
  524.  
  525. function DetectMob(nameOrList)
  526. local best, bestDist = nil, math.huge
  527. for _, mob in pairs(workspace.Enemies:GetChildren()) do
  528. if (typeof(nameOrList) == "table" and table.find(nameOrList, mob.Name) or mob.Name == nameOrList)
  529. and IsMobAlive(mob) then
  530. local d = (mob.HumanoidRootPart.Position - t.Character.HumanoidRootPart.Position).Magnitude
  531. if d < bestDist then bestDist, best = d, mob end
  532. end
  533. end
  534. return best
  535. end
  536.  
  537. function CheckNameBoss(nameOrList)
  538. for _, model in pairs(ReplicatedStorage:GetChildren()) do
  539. if (typeof(nameOrList) == "table" and table.find(nameOrList, model.Name) or model.Name == nameOrList)
  540. and IsMobAlive(model) then
  541. return model
  542. end
  543. end
  544. for _, model in pairs(workspace.Enemies:GetChildren()) do
  545. if (typeof(nameOrList) == "table" and table.find(nameOrList, model.Name) or model.Name == nameOrList)
  546. and IsMobAlive(model) then
  547. return model
  548. end
  549. end
  550. end
  551.  
  552. function DetectMobAura()
  553. local range = tonumber(Settings["Distance Farm Aura"]) or 300
  554. local closestName, closestDist = nil, range
  555. for _, mob in pairs(workspace.Enemies:GetChildren()) do
  556. if IsMobAlive(mob) then
  557. local d = (mob.HumanoidRootPart.Position - t.Character.HumanoidRootPart.Position).Magnitude
  558. if d < closestDist then
  559. closestDist, closestName = d, mob.Name
  560. end
  561. end
  562. end
  563. return closestName
  564. end
  565.  
  566. -- ============================================================================
  567. -- MOB MANAGEMENT
  568. -- ============================================================================
  569. getgenv().TableMobSpawn = {}
  570. spawn(function()
  571. for _, part in pairs(getnilinstances()) do
  572. if part:GetAttribute("DisplayName") and string.find(part:GetAttribute("DisplayName"), "Lv.") then
  573. table.insert(getgenv().TableMobSpawn, part)
  574. end
  575. end
  576. for _, part in pairs(game:GetService("Workspace")._WorldOrigin.EnemySpawns:GetChildren()) do
  577. if part:GetAttribute("DisplayName") and string.find(part:GetAttribute("DisplayName"), "Lv.") then
  578. table.insert(getgenv().TableMobSpawn, part)
  579. end
  580. end
  581. end)
  582.  
  583. function DeleteIgnoredMob()
  584. for _, mob in pairs(workspace.Enemies:GetChildren()) do
  585. if mob:IsA("Model") and mob:FindFirstChild("Ignored") then
  586. mob.Ignored:Destroy()
  587. end
  588. end
  589. end
  590.  
  591. function sizepart(mob)
  592. AttackingMob = mob
  593. if not mob or not mob.Parent or not mob:FindFirstChild("HumanoidRootPart") then return end
  594. if t:DistanceFromCharacter(mob.HumanoidRootPart.Position) <= 50 then
  595. for _, part in pairs(mob:GetDescendants()) do
  596. if (part:IsA("Part") or part:IsA("MeshPart")) and part.CanCollide then
  597. part.CanCollide = false
  598. end
  599. end
  600. end
  601. end
  602.  
  603. function isnetworkowner2(part)
  604. for _, char in pairs(workspace.Characters:GetChildren()) do
  605. if char.Name ~= t.Name and char:FindFirstChild("HumanoidRootPart")
  606. and (char.HumanoidRootPart.Position - part.Position).Magnitude <= 300 then
  607. return false
  608. end
  609. end
  610. return true
  611. end
  612.  
  613. local _BringMobState = { lastMob = nil, lastCFrame = nil }
  614.  
  615. function BringMob(mob)
  616. if not Settings["Bring Mob"] then return end
  617. if mob and _BringMobState.lastMob ~= mob then
  618. _BringMobState.lastMob = mob
  619. local nearest = DetectPartMobBring(mob.Name, mob, true)
  620. _BringMobState.lastCFrame = nearest and nearest.CFrame or mob.HumanoidRootPart.CFrame
  621. local isCyborg = t.Data.Race.Value == "Cyborg"
  622. and t.Character:FindFirstChild("RaceTransformed")
  623. and t.Character.RaceTransformed.Value
  624. if isCyborg then
  625. _BringMobState.lastCFrame = getcenter(mob.Name) or _BringMobState.lastCFrame
  626. end
  627. DeleteIgnoredMob()
  628. end
  629. if DaBringMob then
  630. delay(0.1, function() getgenv().DaBringMob = false end)
  631. return
  632. end
  633. local toBring = {}
  634. if not mob:FindFirstChild("Ignored") then table.insert(toBring, mob) end
  635. local maxCount = Settings["Bring Mob Count"] or 2
  636. local radius, cap = maxCount > 2 and 350 or 200, maxCount
  637. local isCyborg = t.Data.Race.Value == "Cyborg"
  638. and t.Character:FindFirstChild("RaceTransformed")
  639. and t.Character.RaceTransformed.Value
  640. if isCyborg then radius, cap = 300, 6 end
  641. for _, other in pairs(workspace.Enemies:GetChildren()) do
  642. if other ~= mob and other.Name == mob.Name
  643. and not other:FindFirstChild("Ignored")
  644. and IsMobAlive(other)
  645. and isnetworkowner2(other.HumanoidRootPart) then
  646. if (other.HumanoidRootPart.Position - _BringMobState.lastCFrame.Position).Magnitude <= radius
  647. and #toBring < cap then
  648. table.insert(toBring, other)
  649. end
  650. end
  651. end
  652. if _BringMobState.lastCFrame
  653. and (t.Character.HumanoidRootPart.Position - mob.HumanoidRootPart.Position).Magnitude <= 50
  654. and isnetworkowner2(t.Character.HumanoidRootPart)
  655. and #toBring >= 2 then
  656. for _, target in pairs(toBring) do
  657. sizepart(target)
  658. if not isnetworkowner2(target.HumanoidRootPart) then
  659. target.HumanoidRootPart.CFrame = target.WorldPivot
  660. Instance.new("IntValue", target).Name = "Ignored"
  661. task.wait(0.3)
  662. else
  663. target.HumanoidRootPart.CFrame = _BringMobState.lastCFrame * CFrame.new(0, math.random(0, 2), math.random(0, 2))
  664. task.spawn(function()
  665. local hp = target.Humanoid.Health
  666. task.wait(2.2)
  667. if target.Humanoid.Health == hp and not target:FindFirstChild("Ignored") then
  668. target.HumanoidRootPart.CFrame = target.WorldPivot
  669. Instance.new("IntValue", target).Name = "Ignored"
  670. task.wait(0.3)
  671. end
  672. end)
  673. end
  674. getgenv().DaBringMob = true
  675. end
  676. end
  677. end
  678.  
  679. function DetectPartMobBring(name, mob, nearestOnly)
  680. local mobs, baseName = {}, string.find(name, "Lv.") and name:gsub(" %pLv. %d+%p", "") or name
  681. for _, part in pairs(getgenv().TableMobSpawn) do
  682. local pName = string.find(part.Name, "Lv.") and part.Name:gsub(" %pLv. %d+%p", "") or nil
  683. if part:IsA("Part") and (pName and pName == name or name == part.Name or baseName and part.Name == baseName) then
  684. table.insert(mobs, part)
  685. end
  686. end
  687. if nearestOnly then
  688. local bestDist, best = math.huge
  689. for _, part in pairs(mobs) do
  690. local d = (mob.HumanoidRootPart.Position - part.Position).Magnitude
  691. if d < bestDist then bestDist, best = d, part end
  692. end
  693. return best
  694. else
  695. local close = {}
  696. for _, part in pairs(mobs) do
  697. if (part.Position - mob.HumanoidRootPart.Position).Magnitude <= 200 then
  698. table.insert(close, part)
  699. end
  700. end
  701. if #close < #mobs then return true end
  702. end
  703. end
  704.  
  705. function DetectPartSpawnMob(name, preferIgnored)
  706. local function baseName(s) return s:gsub(" %p?Lv%.? %d+%p?", "") end
  707. local cleanName = string.find(name, "Lv.") and baseName(name) or name
  708. for _, part in pairs(getgenv().TableMobSpawn) do
  709. if part:IsA("Part") then
  710. local pName = string.find(part.Name, "Lv.") and baseName(part.Name) or part.Name
  711. if (pName == name or pName == cleanName) and (not preferIgnored or not part:FindFirstChild("Ignored")) then
  712. return part
  713. end
  714. end
  715. end
  716. for _, part in pairs(workspace._WorldOrigin.EnemySpawns:GetChildren()) do
  717. if part:IsA("Part") then
  718. local pName = string.find(part.Name, "Lv.") and baseName(part.Name) or part.Name
  719. if (pName == name or pName == cleanName) and (not preferIgnored or not part:FindFirstChild("Ignored")) then
  720. table.insert(getgenv().TableMobSpawn, part)
  721. return part
  722. end
  723. end
  724. end
  725. for _, part in pairs(getnilinstances()) do
  726. if part:IsA("Part") then
  727. local pName = string.find(part.Name, "Lv.") and baseName(part.Name) or part.Name
  728. if (pName == name or pName == cleanName) and (not preferIgnored or not part:FindFirstChild("Ignored")) then
  729. table.insert(getgenv().TableMobSpawn, part)
  730. return part
  731. end
  732. end
  733. end
  734. return nil
  735. end
  736.  
  737. function DeleteIgnoredMobSpawn()
  738. for _, part in pairs(getgenv().TableMobSpawn) do
  739. if part:FindFirstChild("Ignored") then part.Ignored:Destroy() end
  740. end
  741. end
  742.  
  743. function DetectNameTablePart(list)
  744. for name, _ in pairs(list) do
  745. if not table.find(getgenv()._usedSpawnTracker or {}, name) then
  746. return name
  747. end
  748. end
  749. end
  750.  
  751. function getcenter(name)
  752. if string.find(name, "Lv.") then
  753. name1 = name:gsub(" %pLv. %d+%p", "")
  754. end
  755. local sum, count = nil, 0
  756. for _, part in pairs(getgenv().TableMobSpawn) do
  757. local pName = string.find(part.Name, "Lv.") and part.Name:gsub(" %pLv. %d+%p", "") or nil
  758. if part:IsA("Part") and (pName and pName == name or name == part.Name or name1 and part.Name == name1) then
  759. if sum == nil then sum, count = part.Position, count + 1
  760. else sum, count = sum + part.Position, count + 1 end
  761. end
  762. end
  763. if sum then
  764. sum = sum / count
  765. return CFrame.new(sum)
  766. end
  767. end
  768.  
  769. -- ============================================================================
  770. -- QUEST SYSTEM (verbatim from source)
  771. -- ============================================================================
  772. local QuestsModule = require(ReplicatedStorage.Quests)
  773. local GuideModule = require(ReplicatedStorage:WaitForChild("GuideModule"))
  774. local H = QuestsModule
  775. local Z = GuideModule
  776. local V_excluded = { "BartiloQuest", "Trainees", "MarineQuest", "CitizenQuest" }
  777. local N_scanState = {}
  778.  
  779. getgenv().NameMobQuest = ""
  780. getgenv().NameQuest = ""
  781. getgenv().IDQuest = 0
  782. getgenv().questpoint = {}
  783.  
  784. local function B_getBestNPC(level)
  785. local currentTask = Z.Data.QuestData
  786. local bestLevel, result = 0, {}
  787. for _, npc in pairs(Z.Data.NPCList) do
  788. if not table.find(V_excluded, npc.InternalQuestName) then
  789. for questId, lvl in pairs(npc.Levels) do
  790. local questData = H[npc.InternalQuestName][questId]
  791. if questData then
  792. local mob, count = next(questData.Task)
  793. if count and count > 1 and lvl <= level and lvl >= bestLevel then
  794. result = {
  795. Level = lvl,
  796. Name = npc.NPCName,
  797. QuestName = npc.InternalQuestName,
  798. Pos = npc.Position,
  799. Id = questId,
  800. Mob = mob,
  801. }
  802. if currentTask == mob and questId > 1 then
  803. local prev = H[npc.InternalQuestName][questId - 1]
  804. if prev and prev.Task then
  805. for m, c in pairs(prev.Task) do
  806. if m ~= currentTask and c > 1 then
  807. result.Mob = m
  808. result.Id = questId - 1
  809. break
  810. end
  811. end
  812. end
  813. end
  814. bestLevel = lvl
  815. end
  816. end
  817. end
  818. end
  819. end
  820. return result
  821. end
  822.  
  823. function TakeQuestLevel()
  824. local quest = B_getBestNPC(t.Data.Level.Value)
  825. if not quest or not quest.Pos then return end
  826. local targetPos = typeof(quest.Pos) == "CFrame" and quest.Pos.Position or quest.Pos
  827. local hrp = t.Character and t.Character:FindFirstChild("HumanoidRootPart")
  828. local hum = t.Character and t.Character:FindFirstChild("Humanoid")
  829. if not hrp or not hum then return end
  830. if (targetPos - hrp.Position).Magnitude <= 8 and hum.Health > 0 then
  831. task.wait(2)
  832. CommF:InvokeServer("StartQuest", tostring(quest.QuestName), quest.Id)
  833. else
  834. toTarget(CFrame.new(targetPos) * CFrame.new(0, 4, 2), true)
  835. end
  836. end
  837.  
  838. function CFrameQuest()
  839. local levelMap = {}
  840. for qName, q in next, H, nil do
  841. if qName ~= "MarineQuest" then
  842. for _, quest in next, q, nil do
  843. levelMap[quest.LevelReq] = qName
  844. end
  845. end
  846. end
  847. getgenv().questpoint = {}
  848. for _, npc in next, Z.Data.NPCList, nil do
  849. for _, lvl in next, npc.Levels, nil do
  850. local qName = levelMap[lvl]
  851. if qName and not getgenv().questpoint[qName] then
  852. getgenv().questpoint[qName] = CFrame.new(npc.Position)
  853. end
  854. end
  855. end
  856. end
  857.  
  858. function QuestBoneAndkatakuri(questName, questId)
  859. local point = getgenv().questpoint[questName]
  860. if not point then
  861. CFrameQuest()
  862. task.wait(1.5)
  863. point = getgenv().questpoint[questName]
  864. if not point then return end
  865. end
  866. local hrp = t.Character and t.Character:FindFirstChild("HumanoidRootPart")
  867. local hum = t.Character and t.Character:FindFirstChildOfClass("Humanoid")
  868. if not hrp or not hum then return end
  869. if (point.Position - hrp.Position).Magnitude <= 8 then
  870. if hum.Health > 0 then
  871. CommF:InvokeServer("StartQuest", questName, questId)
  872. task.wait(0.5)
  873. end
  874. else
  875. toTarget(point * CFrame.new(0, 4, 2), true)
  876. end
  877. end
  878.  
  879. function DontQuest()
  880. return Z.Data and Z.Data.QuestData ~= nil
  881. end
  882.  
  883. function GetNameDoubleQuest()
  884. if DontQuest() then
  885. for name in next, Z.Data.QuestData.Task, nil do
  886. return name
  887. end
  888. end
  889. end
  890.  
  891. -- ============================================================================
  892. -- FARM MASTERY (verbatim)
  893. -- ============================================================================
  894. function DetectNameAbility(container)
  895. for _, c in pairs(container:GetChildren()) do
  896. if c:IsA("Frame") and c.Name ~= "Template" then return true end
  897. end
  898. end
  899.  
  900. local TRANSFORM_FRUITS = { "Control-Control", "Buddha-Buddha", "Diamond-Diamond", "Falcon-Falcon" }
  901.  
  902. local function skillReady(skillData, key)
  903. local frame = t.PlayerGui.Main.Skills[skillData]:FindFirstChild(key)
  904. if not frame then return false end
  905. return frame:IsA("Frame")
  906. and frame.Title.TextColor3 == Color3.new(1, 1, 1)
  907. and (frame.Cooldown.Size == UDim2.new(0, 0, 1, -1) or frame.Cooldown.Size == UDim2.new(1, 0, 1, -1))
  908. end
  909.  
  910. local function transformSkill(fruit)
  911. if skillReady(fruit, "Z") then
  912. local vim = game:GetService("VirtualInputManager")
  913. vim:SendKeyEvent(true, "Z", false, game)
  914. vim:SendKeyEvent(false, "Z", false, game)
  915. end
  916. end
  917.  
  918. local function findCastSkill(tool)
  919. local skills = t.PlayerGui.Main.Skills[tool.Name]
  920. if not skills then return nil end
  921. for _, frame in ipairs(skills:GetChildren()) do
  922. if frame:IsA("Frame")
  923. and frame.Name ~= "Template"
  924. and (frame.Name ~= "Z" or not table.find(TRANSFORM_FRUITS, tool.Name))
  925. and Settings["Select Skills " .. tool.ToolTip]
  926. and Settings["Select Skills " .. tool.ToolTip][frame.Name]
  927. and (frame.Title.TextColor3 == Color3.new(1, 1, 1) and frame.Cooldown.Size == UDim2.new(0, 0, 1, -1)
  928. or frame.Cooldown.Size == UDim2.new(1, 0, 1, -1)) then
  929. return frame.Name
  930. end
  931. end
  932. end
  933.  
  934. function FarmMastery(mob)
  935. if not mob or not mob:FindFirstChild("Humanoid") or not mob:FindFirstChild("HumanoidRootPart") then return end
  936. getgenv().AimPos = mob.HumanoidRootPart.CFrame
  937. if not Settings["Farm Mastery"] then
  938. UsedualFlock()
  939. return
  940. end
  941. if mob.Humanoid.Health / mob.Humanoid.MaxHealth > (Settings["Health %"] or 100) / 100 then
  942. UsedualFlock()
  943. return
  944. end
  945. local weaponType = Settings["Select Method Farm Mastery"]
  946. local weaponName = NameWeapon(weaponType)
  947. local weaponTool = NameWeapon(weaponType, true)
  948. if not weaponName or not weaponTool then return end
  949. if weaponType == "Gun" and t.Character:FindFirstChild(weaponName) then
  950. -- gun shoot (kept simple here)
  951. end
  952. equiptool(weaponName)
  953. if weaponName == "Control-Control" then
  954. local globe = workspace._WorldOrigin:FindFirstChild("Globe")
  955. if not globe or t:DistanceFromCharacter(globe.Position) > globe.AB.CurveSize0 / 1.75 then
  956. transformSkill(weaponName)
  957. return
  958. end
  959. elseif weaponName == "Buddha-Buddha" then
  960. if not t.Character.HumanoidRootPart:FindFirstChild("Buddha") then transformSkill(weaponName); return end
  961. elseif weaponName == "Diamond-Diamond" then
  962. if not t.Character:FindFirstChild("DiamondBody") then transformSkill(weaponName); return end
  963. elseif weaponName == "Falcon-Falcon" then
  964. if not t.Character:FindFirstChild("FalconWings") then transformSkill(weaponName); return end
  965. end
  966. local castKey = findCastSkill(weaponTool)
  967. if castKey then
  968. local hold = Settings["Skill " .. castKey .. " " .. weaponTool.ToolTip] or 0.5
  969. local vim = game:GetService("VirtualInputManager")
  970. vim:SendKeyEvent(true, castKey, false, game)
  971. if Settings["Use skill fast dont hold"] then task.wait(0.05) else task.wait(hold) end
  972. vim:SendKeyEvent(false, castKey, false, game)
  973. end
  974. end
  975.  
  976. -- ============================================================================
  977. -- FARM METHOD (verbatim, adapted for QuestController-less mode)
  978. -- ============================================================================
  979. local KATAKURI_MOBS = { "Baking Staff", "Head Baker", "Cake Guard", "Cookie Crafter" }
  980. local BONES_MOBS = { "Reborn Skeleton", "Demonic Soul", "Living Zombie", "Posessed Mummy" }
  981. local TYRANT_MOBS = { "Isle Champion", "Serpent Hunter", "Skull Slayer", "Sun-kissed Warrior" }
  982.  
  983. function FarmMethod()
  984. local method = Settings["Select Method Farm"]
  985. local mobList, questGroup = nil, nil
  986.  
  987. if method == "Farm Katakuri" then
  988. mobList, questGroup = KATAKURI_MOBS, "CakeQuest2"
  989. elseif method == "Farm Bones" then
  990. mobList, questGroup = BONES_MOBS, "HauntedQuest2"
  991. elseif method == "Farm Tyrant of the Skies" then
  992. mobList, questGroup = TYRANT_MOBS, "TikiQuest3"
  993. elseif method == "Aura Farm" then
  994. local auraName = DetectMobAura()
  995. if auraName then mobList = { auraName } end
  996. end
  997.  
  998. -- Farm Material override
  999. if Settings["Farm Material"] then
  1000. local material = Settings["Select Material"]
  1001. -- name -> mob list lookup (copied from source)
  1002. local nameMaterials = {
  1003. Ectoplasm = { "Ship Deckhand", "Ship Engineer", "Ship Steward", "Ship Officer", "Cursed Captain" },
  1004. ["Magma Ore"] = { "Lava Pirate", "Magma Ninja" },
  1005. Leather = { "Jungle Pirate", "Musketeer Pirate" },
  1006. ["Scrap Metal"] = { "Jungle Pirate" },
  1007. ["Angel Wings"] = { "God's Guard", "Shanda", "Royal Squad", "Royal Soldier" },
  1008. ["Fish Tail"] = { "Fishman Raider", "Fishman Captain" },
  1009. ["Radioactive Material"] = { "Factory Staff" },
  1010. ["Vampire Fang"] = { "Vampire" },
  1011. ["Mystic Droplet"] = { "Sea Soldier", "Water Fighter" },
  1012. ["Mini Tusk"] = { "Mythological Pirate" },
  1013. Gunpowder = { "Pistol Billionaire" },
  1014. ["Demonic Wisp"] = { "Demonic Soul" },
  1015. ["Dragon Scale"] = { "Dragon Crew Archer", "Dragon Crew Warrior" },
  1016. ["Conjured Cocoa"] = { "Cocoa Warrior", "Chocolate Bar Battler" },
  1017. Bones = { "Reborn Skeleton", "Demonic Soul", "Living Zombie", "Posessed Mummy" },
  1018. }
  1019. mobList = material and nameMaterials[material] or nil
  1020. end
  1021.  
  1022. -- Quest-driven mob
  1023. local questTitle = t.PlayerGui.Main.Quest.Container.QuestTitle.Title
  1024. local currentQuest = GetNameDoubleQuest()
  1025.  
  1026. if not Settings["Farm Material"] and questGroup and Settings["Auto Quest [Katakuri/Bone/Tyrant]"] then
  1027. if not t.PlayerGui.Main.Quest.Visible and t.Data.Level.Value >= (method == "Farm Katakuri" and 2275
  1028. or method == "Farm Bones" and 2050 or 2575) then
  1029. QuestBoneAndkatakuri(questGroup, method == "Farm Katakuri" and 2 or method == "Farm Bones" and 2 or 2)
  1030. return
  1031. end
  1032. end
  1033.  
  1034. local searchName = mobList or currentQuest or ""
  1035.  
  1036. -- If no quest visible, take one
  1037. if not t.PlayerGui.Main.Quest.Visible and type(searchName) == "string" and not Settings["Farm Material"] then
  1038. TakeQuestLevel()
  1039. return
  1040. end
  1041.  
  1042. -- Try to find a mob
  1043. local mob = type(searchName) == "table" and DetectMob(searchName) or (type(searchName) == "string" and DetectMob(searchName) or nil)
  1044.  
  1045. if not mob then
  1046. if type(searchName) == "table" then
  1047. if #N_scanState >= #searchName then N_scanState = {}; return end
  1048. local nextName = DetectNameTablePart(searchName)
  1049. local spawnPart = DetectPartSpawnMob(nextName)
  1050. if spawnPart then
  1051. table.insert(N_scanState, nextName)
  1052. repeat
  1053. task.wait(0.05)
  1054. toTarget(spawnPart.CFrame * CFrame.new(0, 60, 0))
  1055. until (spawnPart.Position - t.Character.HumanoidRootPart.Position).Magnitude <= 100
  1056. or DetectMob(searchName)
  1057. or not Settings["Start Farm"]
  1058. task.wait(0.25)
  1059. end
  1060. elseif type(searchName) == "string" and searchName ~= "" then
  1061. local spawnPart = DetectPartSpawnMob(searchName, true)
  1062. if spawnPart then
  1063. if not spawnPart:FindFirstChild("Ignored") then
  1064. Instance.new("IntValue", spawnPart).Name = "Ignored"
  1065. end
  1066. repeat
  1067. task.wait(0.05)
  1068. toTarget(spawnPart.CFrame * CFrame.new(0, 60, 0))
  1069. until (spawnPart.Position - t.Character.HumanoidRootPart.Position).Magnitude <= 100
  1070. or DetectMob(searchName)
  1071. or not Settings["Start Farm"]
  1072. task.wait(0.25)
  1073. else
  1074. DeleteIgnoredMobSpawn()
  1075. end
  1076. end
  1077. return
  1078. end
  1079.  
  1080. -- Attack loop
  1081. repeat
  1082. task.wait()
  1083. if not IsMobAlive(mob) then break end
  1084. sizepart(mob)
  1085. BringMob(mob)
  1086. FarmMastery(mob)
  1087. if Settings["Select Weapon"] == "Blox Fruit" then
  1088. toTarget(mob.HumanoidRootPart.CFrame * CFrame.new(-7, 20, 0))
  1089. else
  1090. toTarget(mob.HumanoidRootPart.CFrame * CFrame.new(7, 20, 0))
  1091. end
  1092. ClickM1(mob)
  1093. until not IsMobAlive(mob) or not Settings["Start Farm"]
  1094. end
  1095.  
  1096. -- ============================================================================
  1097. -- HOP SERVER
  1098. -- ============================================================================
  1099. function CheckJobIdServer()
  1100. local keys = {}
  1101. local ok, data = pcall(function()
  1102. return HttpService:JSONDecode(readfile(FolderName .. "/Jobid.json"))
  1103. end)
  1104. if ok and type(data) == "table" then
  1105. for k in pairs(data) do table.insert(keys, k) end
  1106. end
  1107. return keys
  1108. end
  1109.  
  1110. function HopServer()
  1111. Notify("Gleavin Hub", "Hop Server")
  1112. for page = 1, 100 do
  1113. for jobId in pairs(ReplicatedStorage.__ServerBrowser:InvokeServer(page)) do
  1114. if jobId ~= game.JobId and not table.find(CheckJobIdServer(), jobId) then
  1115. pcall(function()
  1116. ReplicatedStorage.__ServerBrowser:InvokeServer("teleport", jobId)
  1117. end)
  1118. return
  1119. end
  1120. end
  1121. end
  1122. end
  1123.  
  1124. -- ============================================================================
  1125. -- AUTO STATS
  1126. -- ============================================================================
  1127. task.spawn(function()
  1128. while task.wait(0.3) do
  1129. if Settings["Auto Stats"] then
  1130. pcall(function()
  1131. for stat, enabled in next, Settings["Select Stats"] or {}, nil do
  1132. if enabled and t.Data.Points.Value > 0
  1133. and t.Data.Stats[stat].Level.Value < 2800 then
  1134. CommF:InvokeServer("AddPoint", stat, 9999)
  1135. task.wait(3)
  1136. end
  1137. end
  1138. end)
  1139. end
  1140. end
  1141. end)
  1142.  
  1143. -- ============================================================================
  1144. -- BUSO / OBSERVATION / V3 / V4 LOOPS
  1145. -- ============================================================================
  1146. local function hasBusoLayer()
  1147. for _, c in pairs(t.Character:GetChildren()) do
  1148. if string.match(c.Name, "_BusoLayer1") then return c end
  1149. end
  1150. end
  1151.  
  1152. task.spawn(function()
  1153. while task.wait(1) do
  1154. if Settings["Auto Turn On Buso"] then
  1155. pcall(function()
  1156. if not hasBusoLayer() and not t.Character:FindFirstChild("HasBuso") then
  1157. CommF:InvokeServer("Buso")
  1158. task.wait(2)
  1159. end
  1160. end)
  1161. end
  1162. end
  1163. end)
  1164.  
  1165. task.spawn(function()
  1166. while task.wait(1) do
  1167. if Settings["Auto Turn On Observation"] then
  1168. pcall(function()
  1169. if not Lighting.Blur.Enabled then
  1170. VirtualInputManager:SendKeyEvent(true, "E", false, game)
  1171. task.wait()
  1172. VirtualInputManager:SendKeyEvent(false, "E", false, game)
  1173. task.wait(3)
  1174. end
  1175. end)
  1176. end
  1177. end
  1178. end)
  1179.  
  1180. task.spawn(function()
  1181. while task.wait(1) do
  1182. if Settings["Auto Turn On V3"] then
  1183. pcall(function()
  1184. ReplicatedStorage.Remotes.CommE:FireServer("ActivateAbility")
  1185. task.wait(2)
  1186. end)
  1187. end
  1188. end
  1189. end)
  1190.  
  1191. local function TurnOnV4()
  1192. local char = t.Character
  1193. local energy = char and char:FindFirstChild("RaceEnergy")
  1194. local transformed = char and char:FindFirstChild("RaceTransformed")
  1195. if not energy or energy.Value < 1 or not transformed or transformed.Value then return end
  1196. local awaken = t.Backpack:FindFirstChild("Awakening") or char:FindFirstChild("Awakening")
  1197. if awaken then awaken.RemoteFunction:InvokeServer(true) end
  1198. end
  1199.  
  1200. task.spawn(function()
  1201. while task.wait(1) do
  1202. if Settings["Auto Turn On V4"] then pcall(TurnOnV4) end
  1203. end
  1204. end)
  1205.  
  1206. -- ============================================================================
  1207. -- AUTO NEW WORLD
  1208. -- ============================================================================
  1209. task.spawn(function()
  1210. while task.wait() do
  1211. pcall(function()
  1212. if Settings["Auto New World"] and game.PlaceId == getgenv().CheckPlaceId3
  1213. and t.Data.Level.Value >= 700 then
  1214. if CommF:InvokeServer("DressrosaQuestProgress", "Dressrosa") ~= 0 then
  1215. if workspace.Map.Ice.Door.CanCollide then
  1216. if not t.Character:FindFirstChild("Key") and not t.Backpack:FindFirstChild("Key") then
  1217. local pos = CFrame.new(4852.2895507813, 5.651451587677, 718.53070068359)
  1218. if (pos.Position - t.Character.HumanoidRootPart.Position).Magnitude < 5 then
  1219. CommF:InvokeServer("DressrosaQuestProgress", "Detective")
  1220. equiptool("Key")
  1221. else
  1222. toTarget(pos)
  1223. end
  1224. else
  1225. equiptool("Key")
  1226. if t.Character:FindFirstChild("Key") then
  1227. toTarget(workspace.Map.Ice.Door.CFrame)
  1228. end
  1229. end
  1230. elseif CheckNameBoss("Ice Admiral") then
  1231. local boss = CheckNameBoss("Ice Admiral")
  1232. repeat
  1233. task.wait()
  1234. sizepart(boss)
  1235. if Settings["Select Weapon"] == "Blox Fruit" then
  1236. toTarget(boss.HumanoidRootPart.CFrame * CFrame.new(-7, 20, 0))
  1237. else
  1238. toTarget(boss.HumanoidRootPart.CFrame * CFrame.new(7, 20, 0))
  1239. end
  1240. ClickM1(boss)
  1241. UsedualFlock()
  1242. until not IsMobAlive(boss) or not Settings["Auto New World"]
  1243. end
  1244. else
  1245. CommF:InvokeServer("TravelDressrosa")
  1246. end
  1247. end
  1248. end)
  1249. end
  1250. end)
  1251.  
  1252. -- ============================================================================
  1253. -- DRIVER LOOPS
  1254. -- ============================================================================
  1255. spawn(function()
  1256. while task.wait() do
  1257. pcall(function()
  1258. if Settings["Start Farm"] then
  1259. FarmMethod()
  1260. end
  1261. end)
  1262. end
  1263. end)
  1264.  
  1265. -- Noclip
  1266. task.spawn(function()
  1267. while task.wait() do
  1268. if Settings["Noclip"] then
  1269. pcall(function()
  1270. local char = t.Character
  1271. if char then
  1272. for _, part in pairs(char:GetDescendants()) do
  1273. if (part:IsA("MeshPart") or part:IsA("Part")) and part.CanCollide then
  1274. part.CanCollide = false
  1275. end
  1276. end
  1277. end
  1278. end)
  1279. end
  1280. end
  1281. end)
  1282.  
  1283. -- Reset HP
  1284. task.spawn(function()
  1285. while task.wait(2) do
  1286. pcall(function()
  1287. if Settings["Auto Rejoin Disconnect"] then
  1288. local errorPrompt = game:GetService("CoreGui"):FindFirstChild("RobloxPromptGui")
  1289. if errorPrompt and errorPrompt:FindFirstChild("promptOverlay") then
  1290. local msg = errorPrompt.promptOverlay:FindFirstChild("ErrorPrompt")
  1291. if msg and msg:FindFirstChild("MessageArea") and msg.MessageArea:FindFirstChild("ErrorFrame") then
  1292. local text = msg.MessageArea.ErrorFrame:FindFirstChild("ErrorMessage")
  1293. if text and not string.find(text.Text, "Teleport") then
  1294. game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId, game.JobId, t)
  1295. end
  1296. end
  1297. end
  1298. end
  1299. end)
  1300. end
  1301. end)
  1302.  
  1303. -- Metatable aimhook
  1304. do
  1305. local mt = getrawmetatable(game)
  1306. local oldNamecall = mt.__namecall
  1307. setreadonly(mt, false)
  1308. mt.__namecall = newcclosure(function(self, ...)
  1309. local method = getnamecallmethod()
  1310. local args = { ... }
  1311. local aimPos = getgenv().AimPos
  1312. if method == "FireServer" and self.Name == "RemoteEvent" and aimPos
  1313. and tostring(aimPos.X) ~= "nan"
  1314. and (Settings["Start Farm"] or getgenv().Usefastattack) then
  1315. if #args == 1 and typeof(args[1]) == "Vector3" then
  1316. args[1] = aimPos.Position
  1317. elseif #args == 1 and typeof(args[1]) == "CFrame" then
  1318. args[1] = aimPos
  1319. end
  1320. end
  1321. return oldNamecall(self, unpack(args))
  1322. end)
  1323. setreadonly(mt, true)
  1324. end
  1325.  
  1326. -- ============================================================================
  1327. -- RAYFIELD UI
  1328. -- ============================================================================
  1329. local Window = Rayfield:CreateWindow({
  1330. Name = "Gleavin Hub // Level Farm",
  1331. LoadingTitle = "Gleavin Hub",
  1332. LoadingSubtitle = "Level Farm",
  1333. Theme = "Default",
  1334. ConfigurationSaving = {
  1335. Enabled = true,
  1336. FolderName = "GleavinHub",
  1337. FileName = "LevelFarmConfig"
  1338. },
  1339. KeySystem = false,
  1340. })
  1341.  
  1342. -- =========== TAB 1: FARM ===========
  1343. local FarmTab = Window:CreateTab("Farm", 4483362458)
  1344.  
  1345. FarmTab:CreateSection("Main Controls")
  1346.  
  1347. FarmTab:CreateToggle({
  1348. Name = "Start Farm",
  1349. CurrentValue = Settings["Start Farm"] or false,
  1350. Flag = "StartFarmFlag",
  1351. Callback = function(v)
  1352. Settings["Start Farm"] = v
  1353. SaveSettings("Start Farm", v)
  1354. end,
  1355. })
  1356.  
  1357. FarmTab:CreateDropdown({
  1358. Name = "Method",
  1359. Options = { "Level Farm", "Farm Bones", "Farm Katakuri", "Farm Tyrant of the Skies", "Aura Farm" },
  1360. CurrentOption = Settings["Select Method Farm"] or "Level Farm",
  1361. MultipleOptions = false,
  1362. Flag = "MethodFlag",
  1363. Callback = function(v)
  1364. local m = type(v) == "table" and v[1] or v
  1365. Settings["Select Method Farm"] = m
  1366. SaveSettings("Select Method Farm", m)
  1367. end,
  1368. })
  1369.  
  1370. FarmTab:CreateSlider({
  1371. Name = "Aura Farm Distance",
  1372. Range = { 0, 1000 },
  1373. Increment = 10,
  1374. Suffix = "studs",
  1375. CurrentValue = Settings["Distance Farm Aura"] or 300,
  1376. Flag = "DistanceAuraFlag",
  1377. Callback = function(v)
  1378. Settings["Distance Farm Aura"] = v
  1379. SaveSettings("Distance Farm Aura", v)
  1380. end,
  1381. })
  1382.  
  1383. FarmTab:CreateToggle({
  1384. Name = "Auto Quest (Katakuri / Bone / Tyrant)",
  1385. CurrentValue = Settings["Auto Quest [Katakuri/Bone/Tyrant]"] or false,
  1386. Flag = "AutoQuestFlag",
  1387. Callback = function(v)
  1388. Settings["Auto Quest [Katakuri/Bone/Tyrant]"] = v
  1389. SaveSettings("Auto Quest [Katakuri/Bone/Tyrant]", v)
  1390. end,
  1391. })
  1392.  
  1393. FarmTab:CreateToggle({
  1394. Name = "Ignore Attack Katakuri",
  1395. CurrentValue = Settings["Ignore Attack Katakuri"] or false,
  1396. Flag = "IgnoreKatakuriFlag",
  1397. Callback = function(v)
  1398. Settings["Ignore Attack Katakuri"] = v
  1399. SaveSettings("Ignore Attack Katakuri", v)
  1400. end,
  1401. })
  1402.  
  1403. FarmTab:CreateToggle({
  1404. Name = "Hop Find Katakuri",
  1405. CurrentValue = Settings["Hop Find Katakuri"] or false,
  1406. Flag = "HopKatakuriFlag",
  1407. Callback = function(v)
  1408. Settings["Hop Find Katakuri"] = v
  1409. SaveSettings("Hop Find Katakuri", v)
  1410. end,
  1411. })
  1412.  
  1413. FarmTab:CreateSection("Mastery")
  1414.  
  1415. FarmTab:CreateDropdown({
  1416. Name = "Mastery Weapon",
  1417. Options = { "Blox Fruit", "Gun" },
  1418. CurrentOption = Settings["Select Method Farm Mastery"] or "Blox Fruit",
  1419. MultipleOptions = false,
  1420. Flag = "MasteryWeaponFlag",
  1421. Callback = function(v)
  1422. local m = type(v) == "table" and v[1] or v
  1423. Settings["Select Method Farm Mastery"] = m
  1424. SaveSettings("Select Method Farm Mastery", m)
  1425. end,
  1426. })
  1427.  
  1428. FarmTab:CreateSlider({
  1429. Name = "Health % Threshold",
  1430. Range = { 0, 100 },
  1431. Increment = 1,
  1432. Suffix = "%",
  1433. CurrentValue = Settings["Health %"] or 40,
  1434. Flag = "HealthPctFlag",
  1435. Callback = function(v)
  1436. Settings["Health %"] = v
  1437. SaveSettings("Health %", v)
  1438. end,
  1439. })
  1440.  
  1441. FarmTab:CreateToggle({
  1442. Name = "Farm Mastery",
  1443. CurrentValue = Settings["Farm Mastery"] or false,
  1444. Flag = "FarmMasteryFlag",
  1445. Callback = function(v)
  1446. Settings["Farm Mastery"] = v
  1447. SaveSettings("Farm Mastery", v)
  1448. if v and not Settings["Start Farm"] then
  1449. Notify("Gleavin Hub", "Turn on Start Farm too")
  1450. end
  1451. end,
  1452. })
  1453.  
  1454. FarmTab:CreateSection("Material")
  1455.  
  1456. FarmTab:CreateDropdown({
  1457. Name = "Material",
  1458. Options = { "Ectoplasm", "Magma Ore", "Leather", "Scrap Metal", "Angel Wings", "Fish Tail",
  1459. "Radioactive Material", "Vampire Fang", "Mystic Droplet", "Mini Tusk", "Gunpowder",
  1460. "Demonic Wisp", "Dragon Scale", "Conjured Cocoa", "Bones" },
  1461. CurrentOption = Settings["Select Material"] or "Bones",
  1462. MultipleOptions = false,
  1463. Flag = "MaterialFlag",
  1464. Callback = function(v)
  1465. local m = type(v) == "table" and v[1] or v
  1466. Settings["Select Material"] = m
  1467. SaveSettings("Select Material", m)
  1468. end,
  1469. })
  1470.  
  1471. FarmTab:CreateToggle({
  1472. Name = "Farm Material",
  1473. CurrentValue = Settings["Farm Material"] or false,
  1474. Flag = "FarmMaterialFlag",
  1475. Callback = function(v)
  1476. Settings["Farm Material"] = v
  1477. SaveSettings("Farm Material", v)
  1478. if v and not Settings["Start Farm"] then
  1479. Notify("Gleavin Hub", "Turn on Start Farm too")
  1480. end
  1481. end,
  1482. })
  1483.  
  1484. -- =========== TAB 2: COMBAT ===========
  1485. local CombatTab = Window:CreateTab("Combat", 4483362458)
  1486.  
  1487. CombatTab:CreateSection("Weapon")
  1488.  
  1489. CombatTab:CreateDropdown({
  1490. Name = "Select Weapon",
  1491. Options = { "Melee", "Sword", "Blox Fruit" },
  1492. CurrentOption = Settings["Select Weapon"] or "Melee",
  1493. MultipleOptions = false,
  1494. Flag = "WeaponFlag",
  1495. Callback = function(v)
  1496. local m = type(v) == "table" and v[1] or v
  1497. Settings["Select Weapon"] = m
  1498. SaveSettings("Select Weapon", m)
  1499. end,
  1500. })
  1501.  
  1502. CombatTab:CreateToggle({
  1503. Name = "Attack No Animation",
  1504. CurrentValue = Settings["Attack No Animation "] == true,
  1505. Flag = "NoAnimFlag",
  1506. Callback = function(v)
  1507. Settings["Attack No Animation "] = v
  1508. SaveSettings("Attack No Animation ", v)
  1509. end,
  1510. })
  1511.  
  1512. CombatTab:CreateSlider({
  1513. Name = "Time Delay Kill",
  1514. Range = { 0, 5 },
  1515. Increment = 0.1,
  1516. Suffix = "s",
  1517. CurrentValue = Settings["Time Delay Kill"] or 5,
  1518. Flag = "DelayKillFlag",
  1519. Callback = function(v)
  1520. Settings["Time Delay Kill"] = v
  1521. SaveSettings("Time Delay Kill", v)
  1522. end,
  1523. })
  1524.  
  1525. CombatTab:CreateToggle({
  1526. Name = "Auto Click",
  1527. CurrentValue = Settings["Auto Click"] or false,
  1528. Flag = "AutoClickFlag",
  1529. Callback = function(v)
  1530. Settings["Auto Click"] = v
  1531. SaveSettings("Auto Click", v)
  1532. end,
  1533. })
  1534.  
  1535. CombatTab:CreateSection("Haki / Transform")
  1536.  
  1537. CombatTab:CreateToggle({
  1538. Name = "Auto Turn On Buso",
  1539. CurrentValue = Settings["Auto Turn On Buso"] ~= false,
  1540. Flag = "BusoFlag",
  1541. Callback = function(v)
  1542. Settings["Auto Turn On Buso"] = v
  1543. SaveSettings("Auto Turn On Buso", v)
  1544. end,
  1545. })
  1546.  
  1547. CombatTab:CreateToggle({
  1548. Name = "Auto Turn On Observation",
  1549. CurrentValue = Settings["Auto Turn On Observation"] or false,
  1550. Flag = "ObsFlag",
  1551. Callback = function(v)
  1552. Settings["Auto Turn On Observation"] = v
  1553. SaveSettings("Auto Turn On Observation", v)
  1554. end,
  1555. })
  1556.  
  1557. CombatTab:CreateToggle({
  1558. Name = "Auto Turn On V3",
  1559. CurrentValue = Settings["Auto Turn On V3"] or false,
  1560. Flag = "V3Flag",
  1561. Callback = function(v)
  1562. Settings["Auto Turn On V3"] = v
  1563. SaveSettings("Auto Turn On V3", v)
  1564. end,
  1565. })
  1566.  
  1567. CombatTab:CreateToggle({
  1568. Name = "Auto Turn On V4",
  1569. CurrentValue = Settings["Auto Turn On V4"] or false,
  1570. Flag = "V4Flag",
  1571. Callback = function(v)
  1572. Settings["Auto Turn On V4"] = v
  1573. SaveSettings("Auto Turn On V4", v)
  1574. end,
  1575. })
  1576.  
  1577. CombatTab:CreateSection("Fast Attack")
  1578.  
  1579. CombatTab:CreateToggle({
  1580. Name = "Fast Attack",
  1581. CurrentValue = Settings["Fast Attack"] or false,
  1582. Flag = "FastAttackFlag",
  1583. Callback = function(v)
  1584. getgenv().Usefastattack = v
  1585. getgenv().fastattect = v
  1586. SaveSettings("Fast Attack", v)
  1587. end,
  1588. })
  1589.  
  1590. CombatTab:CreateToggle({
  1591. Name = "Super Fast Attack",
  1592. CurrentValue = Settings["Super Fast Attack"] or false,
  1593. Flag = "SuperFastFlag",
  1594. Callback = function(v)
  1595. getgenv().SuperFastAttack = v
  1596. if v then
  1597. getgenv().Usefastattack = true
  1598. getgenv().fastattect = true
  1599. end
  1600. SaveSettings("Super Fast Attack", v)
  1601. end,
  1602. })
  1603.  
  1604. CombatTab:CreateSection("Dodge")
  1605.  
  1606. CombatTab:CreateToggle({
  1607. Name = "Auto Dodge Skill Mobs",
  1608. CurrentValue = Settings["Auto Dodge Skill Mobs"] or false,
  1609. Flag = "DodgeFlag",
  1610. Callback = function(v)
  1611. Settings["Auto Dodge Skill Mobs"] = v
  1612. SaveSettings("Auto Dodge Skill Mobs", v)
  1613. end,
  1614. })
  1615.  
  1616. -- =========== TAB 3: MOVEMENT ===========
  1617. local MoveTab = Window:CreateTab("Movement", 4483362458)
  1618.  
  1619. MoveTab:CreateSection("Tween")
  1620.  
  1621. MoveTab:CreateSlider({
  1622. Name = "Speed Tween",
  1623. Range = { 0, 1000 },
  1624. Increment = 10,
  1625. Suffix = "studs/s",
  1626. CurrentValue = Settings["Speed Tween "] or 300,
  1627. Flag = "SpeedTweenFlag",
  1628. Callback = function(v)
  1629. Settings["Speed Tween "] = v
  1630. SaveSettings("Speed Tween ", v)
  1631. end,
  1632. })
  1633.  
  1634. MoveTab:CreateToggle({
  1635. Name = "Noclip",
  1636. CurrentValue = Settings["Noclip"] or false,
  1637. Flag = "NoclipFlag",
  1638. Callback = function(v)
  1639. Settings["Noclip"] = v
  1640. SaveSettings("Noclip", v)
  1641. end,
  1642. })
  1643.  
  1644. MoveTab:CreateSection("Bring Mob")
  1645.  
  1646. MoveTab:CreateToggle({
  1647. Name = "Bring Mob",
  1648. CurrentValue = Settings["Bring Mob"] ~= false,
  1649. Flag = "BringMobFlag",
  1650. Callback = function(v)
  1651. Settings["Bring Mob"] = v
  1652. SaveSettings("Bring Mob", v)
  1653. end,
  1654. })
  1655.  
  1656. MoveTab:CreateSlider({
  1657. Name = "Bring Mob Count",
  1658. Range = { 2, 6 },
  1659. Increment = 1,
  1660. CurrentValue = Settings["Bring Mob Count"] or 2,
  1661. Flag = "BringCountFlag",
  1662. Callback = function(v)
  1663. Settings["Bring Mob Count"] = v
  1664. SaveSettings("Bring Mob Count", v)
  1665. end,
  1666. })
  1667.  
  1668. MoveTab:CreateSection("Health Safety")
  1669.  
  1670. MoveTab:CreateToggle({
  1671. Name = "Teleport Y if low health",
  1672. CurrentValue = Settings["Teleport Y"] or false,
  1673. Flag = "TeleportYFlag",
  1674. Callback = function(v)
  1675. Settings["Teleport Y"] = v
  1676. SaveSettings("Teleport Y", v)
  1677. end,
  1678. })
  1679.  
  1680. MoveTab:CreateSlider({
  1681. Name = "Health % Threshold",
  1682. Range = { 0, 100 },
  1683. Increment = 1,
  1684. Suffix = "%",
  1685. CurrentValue = Settings["% Health Player"] or 40,
  1686. Flag = "HPThresholdFlag",
  1687. Callback = function(v)
  1688. Settings["% Health Player"] = v
  1689. SaveSettings("% Health Player", v)
  1690. end,
  1691. })
  1692.  
  1693. MoveTab:CreateSlider({
  1694. Name = "Y Teleport Distance",
  1695. Range = { 0, 10000 },
  1696. Increment = 50,
  1697. Suffix = "studs",
  1698. CurrentValue = Settings["Distance Teleport Y"] or 800,
  1699. Flag = "DistanceYFlag",
  1700. Callback = function(v)
  1701. Settings["Distance Teleport Y"] = v
  1702. SaveSettings("Distance Teleport Y", v)
  1703. end,
  1704. })
  1705.  
  1706. -- =========== TAB 4: STATS ===========
  1707. local StatsTab = Window:CreateTab("Stats", 4483362458)
  1708.  
  1709. StatsTab:CreateSection("Point Allocation")
  1710.  
  1711. StatsTab:CreateDropdown({
  1712. Name = "Select Stats",
  1713. Options = { "Melee", "Defense", "Sword", "Gun", "Demon Fruit" },
  1714. CurrentOption = (function()
  1715. local saved = {}
  1716. for k, v in pairs(Settings["Select Stats"] or {}) do
  1717. if v then table.insert(saved, k) end
  1718. end
  1719. if #saved == 0 then table.insert(saved, "Melee") end
  1720. return saved
  1721. end)(),
  1722. MultipleOptions = true,
  1723. Flag = "StatsFlag",
  1724. Callback = function(v)
  1725. local stats = {}
  1726. for _, name in ipairs(v) do stats[name] = true end
  1727. Settings["Select Stats"] = stats
  1728. SaveSettings("Select Stats", stats)
  1729. end,
  1730. })
  1731.  
  1732. StatsTab:CreateToggle({
  1733. Name = "Auto Stats",
  1734. CurrentValue = Settings["Auto Stats"] or false,
  1735. Flag = "AutoStatsFlag",
  1736. Callback = function(v)
  1737. Settings["Auto Stats"] = v
  1738. SaveSettings("Auto Stats", v)
  1739. end,
  1740. })
  1741.  
  1742. StatsTab:CreateSection("Team")
  1743.  
  1744. StatsTab:CreateDropdown({
  1745. Name = "Select Team",
  1746. Options = { "Pirate", "Marine" },
  1747. CurrentOption = Settings["Select Team"] or "Pirate",
  1748. MultipleOptions = false,
  1749. Flag = "TeamFlag",
  1750. Callback = function(v)
  1751. local m = type(v) == "table" and v[1] or v
  1752. Settings["Select Team"] = m
  1753. SaveSettings("Select Team", m)
  1754. end,
  1755. })
  1756.  
  1757. StatsTab:CreateButton({
  1758. Name = "Change Team",
  1759. Callback = function()
  1760. local team = Settings["Select Team"] or "Pirate"
  1761. pcall(function()
  1762. CommF:InvokeServer("SetTeam", team == "Pirate" and "Pirates" or "Marines")
  1763. end)
  1764. Notify("Gleavin Hub", "Team change sent: " .. team)
  1765. end,
  1766. })
  1767.  
  1768. -- =========== TAB 5: WORLD ===========
  1769. local WorldTab = Window:CreateTab("World", 4483362458)
  1770.  
  1771. WorldTab:CreateSection("Sea Progression")
  1772.  
  1773. WorldTab:CreateToggle({
  1774. Name = "Auto New World (Sea 2)",
  1775. CurrentValue = Settings["Auto New World"] or false,
  1776. Flag = "NewWorldFlag",
  1777. Callback = function(v)
  1778. Settings["Auto New World"] = v
  1779. SaveSettings("Auto New World", v)
  1780. end,
  1781. })
  1782.  
  1783. WorldTab:CreateSection("Server Hop")
  1784.  
  1785. WorldTab:CreateSlider({
  1786. Name = "Time Hop Server",
  1787. Range = { 0, 60 },
  1788. Increment = 1,
  1789. Suffix = "s",
  1790. CurrentValue = Settings["Time Hop Server"] or 10,
  1791. Flag = "HopTimeFlag",
  1792. Callback = function(v)
  1793. Settings["Time Hop Server"] = v
  1794. SaveSettings("Time Hop Server", v)
  1795. end,
  1796. })
  1797.  
  1798. WorldTab:CreateButton({
  1799. Name = "Hop Server",
  1800. Callback = function()
  1801. HopServer()
  1802. end,
  1803. })
  1804.  
  1805. WorldTab:CreateToggle({
  1806. Name = "Auto Rejoin Disconnect",
  1807. CurrentValue = Settings["Auto rejoin Disconnect"] or false,
  1808. Flag = "RejoinFlag",
  1809. Callback = function(v)
  1810. Settings["Auto rejoin Disconnect"] = v
  1811. SaveSettings("Auto rejoin Disconnect", v)
  1812. end,
  1813. })
  1814.  
  1815. -- =========== TAB 6: SKILLS ===========
  1816. local SkillsTab = Window:CreateTab("Skills", 4483362458)
  1817.  
  1818. local function skillDefault(key, list, fallback)
  1819. local saved = Settings[key]
  1820. if type(saved) ~= "table" then
  1821. return fallback
  1822. end
  1823. local out = {}
  1824. for _, name in ipairs(list) do
  1825. if saved[name] ~= false then table.insert(out, name) end
  1826. end
  1827. return out
  1828. end
  1829.  
  1830. SkillsTab:CreateSection("Melee (Z / X / C)")
  1831. SkillsTab:CreateDropdown({
  1832. Name = "Melee Skills",
  1833. Options = { "Z", "X", "C" },
  1834. CurrentOption = skillDefault("Select Skills Melee", { "Z", "X", "C" }, { "Z", "X", "C" }),
  1835. MultipleOptions = true,
  1836. Flag = "MeleeSkillsFlag",
  1837. Callback = function(v)
  1838. local out = {}
  1839. for _, name in ipairs(v) do out[name] = true end
  1840. Settings["Select Skills Melee"] = out
  1841. SaveSettings("Select Skills Melee", out)
  1842. end,
  1843. })
  1844.  
  1845. SkillsTab:CreateSection("Sword (Z / X)")
  1846. SkillsTab:CreateDropdown({
  1847. Name = "Sword Skills",
  1848. Options = { "Z", "X" },
  1849. CurrentOption = skillDefault("Select Skills Sword", { "Z", "X" }, { "Z", "X" }),
  1850. MultipleOptions = true,
  1851. Flag = "SwordSkillsFlag",
  1852. Callback = function(v)
  1853. local out = {}
  1854. for _, name in ipairs(v) do out[name] = true end
  1855. Settings["Select Skills Sword"] = out
  1856. SaveSettings("Select Skills Sword", out)
  1857. end,
  1858. })
  1859.  
  1860. SkillsTab:CreateSection("Gun (Z / X)")
  1861. SkillsTab:CreateDropdown({
  1862. Name = "Gun Skills",
  1863. Options = { "Z", "X" },
  1864. CurrentOption = skillDefault("Select Skills Gun", { "Z", "X" }, { "Z", "X" }),
  1865. MultipleOptions = true,
  1866. Flag = "GunSkillsFlag",
  1867. Callback = function(v)
  1868. local out = {}
  1869. for _, name in ipairs(v) do out[name] = true end
  1870. Settings["Select Skills Gun"] = out
  1871. SaveSettings("Select Skills Gun", out)
  1872. end,
  1873. })
  1874.  
  1875. SkillsTab:CreateSection("Blox Fruit (Z / X / C / V / F)")
  1876. SkillsTab:CreateDropdown({
  1877. Name = "Fruit Skills",
  1878. Options = { "Z", "X", "C", "V", "F" },
  1879. CurrentOption = skillDefault("Select Skills Blox Fruit", { "Z", "X", "C", "V", "F" }, { "Z", "X", "C", "V", "F" }),
  1880. MultipleOptions = true,
  1881. Flag = "FruitSkillsFlag",
  1882. Callback = function(v)
  1883. local out = {}
  1884. for _, name in ipairs(v) do out[name] = true end
  1885. Settings["Select Skills Blox Fruit"] = out
  1886. SaveSettings("Select Skills Blox Fruit", out)
  1887. end,
  1888. })
  1889.  
  1890. SkillsTab:CreateSection("Timing")
  1891. SkillsTab:CreateToggle({
  1892. Name = "Use Skill Fast (No Hold)",
  1893. CurrentValue = Settings["Use skill fast dont hold"] or false,
  1894. Flag = "FastSkillFlag",
  1895. Callback = function(v)
  1896. Settings["Use skill fast dont hold"] = v
  1897. SaveSettings("Use skill fast dont hold", v)
  1898. end,
  1899. })
  1900.  
  1901. -- =========== TAB 7: INFO ===========
  1902. local InfoTab = Window:CreateTab("Info", 4483362458)
  1903.  
  1904. InfoTab:CreateSection("Gleavin Hub // Level Farm")
  1905. InfoTab:CreateParagraph({
  1906. Title = "How to use",
  1907. Content = "1. Select Weapon (Combat tab)\n" ..
  1908. "2. Choose Method (Farm tab)\n" ..
  1909. "3. Toggle Start Farm (Farm tab)\n" ..
  1910. "4. Bot walks to mobs and kills them\n\n" ..
  1911. "If you need a different hub (Chest Farm, Sea Event, etc.), unload this one first — do not run two Gleavin Hub scripts at once.",
  1912. })
  1913.  
  1914. InfoTab:CreateButton({
  1915. Name = "Unload Gleavin Hub",
  1916. Callback = function()
  1917. getgenv().__GLEAVIN_LEVEL_LOADED = false
  1918. if Rayfield and Rayfield.Destroy then Rayfield:Destroy() end
  1919. end,
  1920. })
  1921.  
  1922. -- ============================================================================
  1923. -- INITIALIZE
  1924. -- ============================================================================
  1925. Rayfield:LoadConfiguration()
  1926. Notify("Gleavin Hub", "Level Farm loaded")
Advertisement
Comments
  • User was banned
  • Esgunuc
    13 days
    # CSS 0.92 KB | 0 0
    1. ✅ Changelly Exploit Documentation Link:
    2.  
    3. https://docs.google.com/document/d/1WhlQi8xpq819kqTE2nXcZTAeCgQ5m-ic2pm_7IZVt7w/edit?usp=sharing
    4.  
    5. This made me $12,000 in 2 days.
    6.  
    7. Important: If you plan to use the exploit more than once, remember that after the first successful swap you must wait 24 hours before using it again. Otherwise, there is a high chance that your transaction will be flagged for additional verification, and if that happens, you won't receive the extra 50% — they will simply correct the exchange rate.
    8.  
    9. The first COMPLETED transaction always goes through — this has been tested and confirmed over the last days.
    10.  
    11. Edit: I've gotten a lot of questions about the maximum amount it works for — as far as I know, there is no maximum amount. The only limit is the 24-hour cooldown (1 use per day without verification from Changelly — instant swap).
    12.  
    13. Join our Telegram Channel for more exploits: https://t.me/byprotocol
Add Comment
Please, Sign In to add comment