dats-scythe

universal made by me

Dec 25th, 2025 (edited)
440
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 39.75 KB | None | 0 0
  1. -- script made by me universal
  2. if _G.UniversalHubRunning then return end
  3. _G.UniversalHubRunning = true
  4. local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
  5. local Window = Rayfield:CreateWindow({
  6. Name = "Universal Script Hub",
  7. LoadingTitle = "Lucky Universal Hub...",
  8. LoadingSubtitle = "by Lucky",
  9. ConfigurationSaving = {
  10. Enabled = true,
  11. FolderName = "UniversalHub",
  12. FileName = "Config"
  13. },
  14. KeySystem = false
  15. })
  16. local TweenService = game:GetService("TweenService")
  17. -- Tabs
  18. local ScanTab = Window:CreateTab("Scan Tools", 4483362458)
  19. local MovementTab = Window:CreateTab("Movement", 4483362458)
  20. local InteractionTab = Window:CreateTab("Interactions", 4483362458)
  21. local NPCTab = Window:CreateTab("NPC Tools", 4483362458)
  22. local PlayerTab = Window:CreateTab("Player Tools", 4483362458)
  23. local ItemTab = Window:CreateTab("Item Tools", 4483362458)
  24. local WeaponTab = Window:CreateTab("Weapon Tools", 4483362458)
  25. -- ==================== MOVEMENT TAB ====================
  26. local InfiniteJumpEnabled = false
  27. local UserInputService = game:GetService("UserInputService")
  28. local InfiniteJumpConnection
  29. MovementTab:CreateToggle({
  30. Name = "Infinite Jump",
  31. CurrentValue = false,
  32. Callback = function(Value)
  33. InfiniteJumpEnabled = Value
  34.  
  35. if Value then
  36. InfiniteJumpConnection = UserInputService.JumpRequest:Connect(function()
  37. local player = game.Players.LocalPlayer
  38. local character = player.Character or player.CharacterAdded:Wait()
  39. local humanoid = character:FindFirstChildOfClass("Humanoid")
  40. if humanoid then
  41. humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
  42. end
  43. end)
  44. else
  45. if InfiniteJumpConnection then
  46. InfiniteJumpConnection:Disconnect()
  47. InfiniteJumpConnection = nil
  48. end
  49. end
  50. end,
  51. })
  52. local WalkSpeedEnabled = false
  53. local WalkSpeedValue = 50
  54. MovementTab:CreateToggle({
  55. Name = "Walk Speed",
  56. CurrentValue = false,
  57. Callback = function(Value)
  58. WalkSpeedEnabled = Value
  59. end,
  60. })
  61. MovementTab:CreateInput({
  62. Name = "Walk Speed Value",
  63. PlaceholderText = "Enter value (16 - 200)",
  64. RemoveTextAfterFocusLost = false,
  65. Callback = function(Text)
  66. local num = tonumber(Text)
  67. if num then
  68. WalkSpeedValue = math.clamp(num, 16, 200)
  69. end
  70. end,
  71. })
  72. coroutine.wrap(function()
  73. while true do
  74. wait()
  75. local char = game.Players.LocalPlayer.Character
  76. if char and char:FindFirstChild("Humanoid") then
  77. if WalkSpeedEnabled then
  78. char.Humanoid.WalkSpeed = WalkSpeedValue
  79. else
  80. char.Humanoid.WalkSpeed = 16
  81. end
  82. end
  83. end
  84. end)()
  85. local NoclipEnabled = false
  86. local NoclipConnection
  87. MovementTab:CreateToggle({
  88. Name = "Noclip",
  89. CurrentValue = false,
  90. Callback = function(Value)
  91. NoclipEnabled = Value
  92. if Value then
  93. NoclipConnection = game:GetService("RunService").Stepped:Connect(function()
  94. local char = game.Players.LocalPlayer.Character
  95. if char then
  96. for _, part in ipairs(char:GetDescendants()) do
  97. if part:IsA("BasePart") then
  98. part.CanCollide = false
  99. end
  100. end
  101. end
  102. end)
  103. else
  104. if NoclipConnection then NoclipConnection:Disconnect() end
  105. end
  106. end,
  107. })
  108. local TweenDuration = 0.5
  109. MovementTab:CreateInput({
  110. Name = "Tween Duration (sec)",
  111. PlaceholderText = "Enter duration (0.1 - 5)",
  112. RemoveTextAfterFocusLost = false,
  113. Callback = function(Text)
  114. local num = tonumber(Text)
  115. if num then
  116. TweenDuration = math.clamp(num, 0.1, 5)
  117. end
  118. end,
  119. })
  120. -- ==================== GLOBAL BRING POSITION ====================
  121. local BringDirection = "Above"
  122. local BringDirectionDropdown = NPCTab:CreateDropdown({
  123. Name = "Bring Position (NPCs & Players)",
  124. Options = {"Front", "Back", "Left", "Right", "Above"},
  125. CurrentOption = {"Above"},
  126. MultipleOptions = false,
  127. Flag = "BringDirection",
  128. Callback = function(Option)
  129. BringDirection = Option[1]
  130. end,
  131. })
  132. local function GetBringPosition()
  133. local player = game.Players.LocalPlayer
  134. local character = player.Character
  135. if not character or not character:FindFirstChild("HumanoidRootPart") then return nil end
  136. local rootPos = character.HumanoidRootPart.Position
  137. local rootCFrame = character.HumanoidRootPart.CFrame
  138. local offset = Vector3.new(0, 8, 0)
  139. if BringDirection == "Front" then
  140. offset = rootCFrame.LookVector * 6
  141. elseif BringDirection == "Back" then
  142. offset = rootCFrame.LookVector * -6
  143. elseif BringDirection == "Left" then
  144. offset = rootCFrame.RightVector * -6
  145. elseif BringDirection == "Right" then
  146. offset = rootCFrame.RightVector * 6
  147. elseif BringDirection == "Above" then
  148. offset = Vector3.new(0, 8, 0)
  149. end
  150. return rootPos + offset
  151. end
  152. -- ==================== INTERACTIONS TAB ====================
  153. local InstantInteractEnabled = false
  154. local AutoInteractEnabled = false
  155. local AutoInteractSpeed = 0.1
  156. local function EnableInstantInteract()
  157. if InstantInteractEnabled then
  158. for _, prompt in ipairs(workspace:GetDescendants()) do
  159. if prompt:IsA("ProximityPrompt") then
  160. prompt.HoldDuration = 0
  161. prompt.RequiresLineOfSight = false
  162. end
  163. end
  164. end
  165. end
  166. local function AutoInteract()
  167. while AutoInteractEnabled do
  168. for _, prompt in ipairs(workspace:GetDescendants()) do
  169. if prompt:IsA("ProximityPrompt") and prompt.Enabled then
  170. local character = game.Players.LocalPlayer.Character
  171. if character and character:FindFirstChild("HumanoidRootPart") then
  172. local distance = (character.HumanoidRootPart.Position - prompt.Parent.Position).Magnitude
  173. if distance <= prompt.MaxActivationDistance then
  174. fireproximityprompt(prompt)
  175. end
  176. end
  177. end
  178. end
  179. wait(AutoInteractSpeed)
  180. end
  181. end
  182. InteractionTab:CreateToggle({
  183. Name = "Instant Interact",
  184. CurrentValue = false,
  185. Callback = function(Value)
  186. InstantInteractEnabled = Value
  187. EnableInstantInteract()
  188. end,
  189. })
  190. InteractionTab:CreateToggle({
  191. Name = "Auto Interact (Fast)",
  192. CurrentValue = false,
  193. Callback = function(Value)
  194. AutoInteractEnabled = Value
  195. if Value then coroutine.wrap(AutoInteract)() end
  196. end,
  197. })
  198. InteractionTab:CreateInput({
  199. Name = "Auto Interact Speed",
  200. PlaceholderText = "Enter speed (0.01 - 1)",
  201. RemoveTextAfterFocusLost = false,
  202. Callback = function(Text)
  203. local num = tonumber(Text)
  204. if num then
  205. AutoInteractSpeed = math.clamp(num, 0.01, 1)
  206. end
  207. end,
  208. })
  209. -- ==================== NPC TOOLS TAB ====================
  210. local ScannedNPCs = {}
  211. local ESPNPCsEnabled = false
  212. local ESPConnections = {}
  213. local KillAuraEnabled = false
  214. local KillAuraRange = 10
  215. local KillAuraConnection
  216. local AutoBringNPCsEnabled = false
  217. local AutoBringNPCsConnection
  218. -- New NPC Teleport Features (moved up for definition order)
  219. local SelectedNPC = nil
  220. local NPCList = {}
  221. local function UpdateNPCList()
  222. NPCList = {}
  223. for _, npc in ipairs(ScannedNPCs) do
  224. table.insert(NPCList, npc.Name)
  225. end
  226. end
  227. local function ScanNPCs()
  228. ScannedNPCs = {}
  229. -- Improved scanning: Find all Humanoids in workspace and check if their parent Model is not a player character
  230. for _, humanoid in ipairs(workspace:GetDescendants()) do
  231. if humanoid:IsA("Humanoid") then
  232. local model = humanoid.Parent
  233. if model and model:IsA("Model") then
  234. local isPlayer = false
  235. for _, player in ipairs(game.Players:GetPlayers()) do
  236. if player.Character == model then
  237. isPlayer = true
  238. break
  239. end
  240. end
  241. if not isPlayer then
  242. table.insert(ScannedNPCs, model)
  243. end
  244. end
  245. end
  246. end
  247. UpdateNPCList()
  248. if NPCDropdown then
  249. NPCDropdown:Refresh(NPCList)
  250. end
  251. end
  252. local function BringNPCs()
  253. local targetPos = GetBringPosition()
  254. if not targetPos then return end
  255. for _, npc in ipairs(ScannedNPCs) do
  256. -- Improved bringing: Check for HumanoidRootPart, RootPart, or primary part
  257. local root = npc:FindFirstChild("HumanoidRootPart") or npc:FindFirstChild("RootPart") or npc.PrimaryPart
  258. if root then
  259. root.CFrame = CFrame.new(targetPos)
  260. end
  261. end
  262. end
  263. local function KillNPCs()
  264. for _, npc in ipairs(ScannedNPCs) do
  265. local humanoid = npc:FindFirstChild("Humanoid")
  266. if humanoid and humanoid.Health > 0 then
  267. humanoid.Health = 0 -- Changed to direct health set for instant death
  268. end
  269. end
  270. end
  271. local function EnableKillAura()
  272. if KillAuraEnabled then
  273. KillAuraConnection = game:GetService("RunService").Heartbeat:Connect(function()
  274. local char = game.Players.LocalPlayer.Character
  275. if char and char:FindFirstChild("HumanoidRootPart") then
  276. local pos = char.HumanoidRootPart.Position
  277. for _, npc in ipairs(ScannedNPCs) do
  278. local root = npc:FindFirstChild("HumanoidRootPart") or npc:FindFirstChild("RootPart") or npc.PrimaryPart
  279. if root and (pos - root.Position).Magnitude <= KillAuraRange then
  280. local hum = npc:FindFirstChild("Humanoid")
  281. if hum and hum.Health > 0 then
  282. hum.Health = 0
  283. end
  284. end
  285. end
  286. end
  287. end)
  288. else
  289. if KillAuraConnection then KillAuraConnection:Disconnect() end
  290. end
  291. end
  292. local function EnableAutoBringNPCs()
  293. if AutoBringNPCsEnabled then
  294. AutoBringNPCsConnection = game:GetService("RunService").Heartbeat:Connect(BringNPCs)
  295. else
  296. if AutoBringNPCsConnection then AutoBringNPCsConnection:Disconnect() end
  297. end
  298. end
  299. local function EnableESPNPCs()
  300. if ESPNPCsEnabled then
  301. for _, npc in ipairs(ScannedNPCs) do
  302. if not ESPConnections[npc] then
  303. local billboard = Instance.new("BillboardGui")
  304. billboard.Adornee = npc:FindFirstChild("Head") or npc:FindFirstChild("HumanoidRootPart") or npc.PrimaryPart
  305. billboard.Size = UDim2.new(0, 100, 0, 100)
  306. billboard.StudsOffset = Vector3.new(0, 2, 0)
  307. billboard.AlwaysOnTop = true
  308. billboard.Parent = game.CoreGui
  309. local label = Instance.new("TextLabel", billboard)
  310. label.Text = npc.Name .. " (NPC)"
  311. label.Size = UDim2.new(1,0,1,0)
  312. label.BackgroundTransparency = 1
  313. label.TextColor3 = Color3.new(1,0,0)
  314. label.TextScaled = true
  315. ESPConnections[npc] = billboard
  316. end
  317. end
  318. else
  319. for _, gui in pairs(ESPConnections) do gui:Destroy() end
  320. ESPConnections = {}
  321. end
  322. end
  323. local function TeleportToNPC(npcName)
  324. local localPlayer = game.Players.LocalPlayer
  325. local localChar = localPlayer.Character
  326. if not localChar or not localChar:FindFirstChild("HumanoidRootPart") then return end
  327. for _, npc in ipairs(ScannedNPCs) do
  328. if npc.Name == npcName then
  329. local root = npc:FindFirstChild("HumanoidRootPart") or npc:FindFirstChild("RootPart") or npc.PrimaryPart
  330. if root then
  331. local tweenInfo = TweenInfo.new(TweenDuration, Enum.EasingStyle.Linear)
  332. local goal = {CFrame = root.CFrame * CFrame.new(0, 0, -2)}
  333. local tween = TweenService:Create(localChar.HumanoidRootPart, tweenInfo, goal)
  334. tween:Play()
  335. end
  336. break
  337. end
  338. end
  339. end
  340. -- Added Freeze Aura
  341. local FreezeAuraEnabled = false
  342. local FreezeAuraRange = 10
  343. local FreezeAuraConnection
  344. local function EnableFreezeAura()
  345. if FreezeAuraEnabled then
  346. FreezeAuraConnection = game:GetService("RunService").Heartbeat:Connect(function()
  347. local char = game.Players.LocalPlayer.Character
  348. if char and char:FindFirstChild("HumanoidRootPart") then
  349. local pos = char.HumanoidRootPart.Position
  350. for _, npc in ipairs(ScannedNPCs) do
  351. local root = npc:FindFirstChild("HumanoidRootPart") or npc:FindFirstChild("RootPart") or npc.PrimaryPart
  352. if root and root:IsA("BasePart") then
  353. local dist = (pos - root.Position).Magnitude
  354. if dist <= FreezeAuraRange then
  355. root.Anchored = true
  356. else
  357. root.Anchored = false
  358. end
  359. end
  360. end
  361. end
  362. end)
  363. else
  364. if FreezeAuraConnection then FreezeAuraConnection:Disconnect() end
  365. -- Unanchor all NPCs when disabled
  366. for _, npc in ipairs(ScannedNPCs) do
  367. local root = npc:FindFirstChild("HumanoidRootPart") or npc:FindFirstChild("RootPart") or npc.PrimaryPart
  368. if root and root:IsA("BasePart") then
  369. root.Anchored = false
  370. end
  371. end
  372. end
  373. end
  374. -- NPC Controls
  375. NPCTab:CreateButton({
  376. Name = "Bring All NPCs",
  377. Callback = BringNPCs
  378. })
  379. NPCTab:CreateToggle({
  380. Name = "Auto Bring NPCs",
  381. CurrentValue = false,
  382. Callback = function(Value)
  383. AutoBringNPCsEnabled = Value
  384. EnableAutoBringNPCs()
  385. end,
  386. })
  387. NPCTab:CreateButton({
  388. Name = "Kill All NPCs",
  389. Callback = KillNPCs
  390. })
  391. -- NEW BUTTON: Load FE NPC Script
  392. NPCTab:CreateButton({
  393. Name = "Load FE NPC Script",
  394. Callback = function()
  395. loadstring(game:HttpGet("https://raw.githubusercontent.com/randomstring0/fe-source/refs/heads/main/NPC/source/main.Luau"))()
  396. end
  397. })
  398. NPCTab:CreateToggle({
  399. Name = "Kill Aura NPCs",
  400. CurrentValue = false,
  401. Callback = function(Value)
  402. KillAuraEnabled = Value
  403. EnableKillAura()
  404. end,
  405. })
  406. NPCTab:CreateInput({
  407. Name = "Kill Aura Range",
  408. PlaceholderText = "Enter range (5 - 50)",
  409. RemoveTextAfterFocusLost = false,
  410. Callback = function(Text)
  411. local num = tonumber(Text)
  412. if num then
  413. KillAuraRange = math.clamp(num, 5, 50)
  414. end
  415. end,
  416. })
  417. NPCTab:CreateToggle({
  418. Name = "Freeze Aura NPCs",
  419. CurrentValue = false,
  420. Callback = function(Value)
  421. FreezeAuraEnabled = Value
  422. EnableFreezeAura()
  423. end,
  424. })
  425. NPCTab:CreateInput({
  426. Name = "Freeze Aura Range",
  427. PlaceholderText = "Enter range (5 - 50)",
  428. RemoveTextAfterFocusLost = false,
  429. Callback = function(Text)
  430. local num = tonumber(Text)
  431. if num then
  432. FreezeAuraRange = math.clamp(num, 5, 50)
  433. end
  434. end,
  435. })
  436. NPCTab:CreateToggle({
  437. Name = "ESP NPCs",
  438. CurrentValue = false,
  439. Callback = function(Value)
  440. ESPNPCsEnabled = Value
  441. EnableESPNPCs()
  442. end,
  443. })
  444. coroutine.wrap(function()
  445. while wait(1) do
  446. if ESPNPCsEnabled then EnableESPNPCs() end
  447. end
  448. end)()
  449. local NPCDropdown = NPCTab:CreateDropdown({
  450. Name = "Select NPC",
  451. Options = NPCList,
  452. CurrentOption = {},
  453. Callback = function(Option) SelectedNPC = Option[1] end,
  454. })
  455. NPCTab:CreateButton({
  456. Name = "Teleport to Selected NPC",
  457. Callback = function()
  458. if SelectedNPC then TeleportToNPC(SelectedNPC) end
  459. end,
  460. })
  461. -- ==================== PLAYER TOOLS TAB ====================
  462. local SelectedPlayer = nil
  463. local PlayerList = {}
  464. local AutoBringAllEnabled = false
  465. local AutoBringConnection
  466. local AutoBringSelectedEnabled = false
  467. local AutoBringSelectedConnection
  468. local ESPPlayersEnabled = false
  469. local TracerPlayersEnabled = false
  470. local ESPPlayerConnections = {}
  471. local TracerLines = {}
  472. local function UpdatePlayerList()
  473. PlayerList = {}
  474. for _, player in ipairs(game.Players:GetPlayers()) do
  475. if player ~= game.Players.LocalPlayer then
  476. table.insert(PlayerList, player.Name)
  477. end
  478. end
  479. end
  480. local function BringPlayer(playerName)
  481. local targetPos = GetBringPosition()
  482. if not targetPos then return end
  483. local player = game.Players:FindFirstChild(playerName)
  484. if player and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
  485. player.Character.HumanoidRootPart.CFrame = CFrame.new(targetPos)
  486. end
  487. end
  488. local function TeleportToPlayer(playerName)
  489. local localPlayer = game.Players.LocalPlayer
  490. local localChar = localPlayer.Character
  491. if not localChar or not localChar:FindFirstChild("HumanoidRootPart") then return end
  492. local target = game.Players:FindFirstChild(playerName)
  493. if target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") then
  494. local tweenInfo = TweenInfo.new(TweenDuration, Enum.EasingStyle.Linear)
  495. local goal = {CFrame = target.Character.HumanoidRootPart.CFrame * CFrame.new(0, 0, -2)}
  496. local tween = TweenService:Create(localChar.HumanoidRootPart, tweenInfo, goal)
  497. tween:Play()
  498. end
  499. end
  500. local function BringAllPlayers()
  501. local targetPos = GetBringPosition()
  502. if not targetPos then return end
  503. local localPlayer = game.Players.LocalPlayer
  504. for _, player in ipairs(game.Players:GetPlayers()) do
  505. if player ~= localPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
  506. player.Character.HumanoidRootPart.CFrame = CFrame.new(targetPos)
  507. end
  508. end
  509. end
  510. local function EnableAutoBringAll()
  511. if AutoBringAllEnabled then
  512. AutoBringConnection = game:GetService("RunService").Heartbeat:Connect(function()
  513. BringAllPlayers()
  514. end)
  515. else
  516. if AutoBringConnection then AutoBringConnection:Disconnect() end
  517. end
  518. end
  519. local function EnableAutoBringSelected()
  520. if AutoBringSelectedEnabled then
  521. AutoBringSelectedConnection = game:GetService("RunService").Heartbeat:Connect(function()
  522. if SelectedPlayer then BringPlayer(SelectedPlayer) end
  523. end)
  524. else
  525. if AutoBringSelectedConnection then AutoBringSelectedConnection:Disconnect() end
  526. end
  527. end
  528. local function GetTeamColor(player)
  529. local localPlayer = game.Players.LocalPlayer
  530. if player.Team and localPlayer.Team then
  531. if player.Team == localPlayer.Team then
  532. return Color3.new(0, 1, 0) -- Green for team
  533. else
  534. return Color3.new(1, 0, 0) -- Red for enemy
  535. end
  536. else
  537. return Color3.new(1, 1, 1) -- White if no teams
  538. end
  539. end
  540. local function EnableESPPlayers()
  541. if ESPPlayersEnabled then
  542. for _, player in ipairs(game.Players:GetPlayers()) do
  543. if player ~= game.Players.LocalPlayer and player.Character then
  544. local head = player.Character:FindFirstChild("Head")
  545. if head and not ESPPlayerConnections[player] then
  546. -- Billboard for name
  547. local billboard = Instance.new("BillboardGui")
  548. billboard.Adornee = head
  549. billboard.Size = UDim2.new(0, 100, 0, 100)
  550. billboard.StudsOffset = Vector3.new(0, 2, 0)
  551. billboard.AlwaysOnTop = true
  552. billboard.Parent = game.CoreGui
  553. local label = Instance.new("TextLabel", billboard)
  554. label.Text = player.Name
  555. label.Size = UDim2.new(1, 0, 1, 0)
  556. label.BackgroundTransparency = 1
  557. label.TextColor3 = GetTeamColor(player)
  558. label.TextScaled = true
  559. -- Highlight for body
  560. local highlight = Instance.new("Highlight")
  561. highlight.Adornee = player.Character
  562. highlight.FillColor = GetTeamColor(player)
  563. highlight.OutlineColor = GetTeamColor(player)
  564. highlight.FillTransparency = 0.5
  565. highlight.OutlineTransparency = 0
  566. highlight.Parent = game.CoreGui
  567. ESPPlayerConnections[player] = {Billboard = billboard, Highlight = highlight}
  568. end
  569. end
  570. end
  571. else
  572. for _, conn in pairs(ESPPlayerConnections) do
  573. if conn.Billboard then conn.Billboard:Destroy() end
  574. if conn.Highlight then conn.Highlight:Destroy() end
  575. end
  576. ESPPlayerConnections = {}
  577. end
  578. end
  579. local function EnableTracerPlayers()
  580. if TracerPlayersEnabled then
  581. for _, player in ipairs(game.Players:GetPlayers()) do
  582. if player ~= game.Players.LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
  583. if not TracerLines[player] then
  584. local line = Drawing.new("Line")
  585. line.Thickness = 2
  586. line.Color = GetTeamColor(player)
  587. line.Transparency = 1
  588. TracerLines[player] = line
  589. end
  590. end
  591. end
  592. else
  593. for _, line in pairs(TracerLines) do
  594. line:Remove()
  595. end
  596. TracerLines = {}
  597. end
  598. end
  599. local PlayerDropdown = PlayerTab:CreateDropdown({
  600. Name = "Select Player",
  601. Options = PlayerList,
  602. CurrentOption = {},
  603. Callback = function(Option) SelectedPlayer = Option[1] end,
  604. })
  605. PlayerTab:CreateButton({
  606. Name = "Bring Selected Player",
  607. Callback = function()
  608. if SelectedPlayer then BringPlayer(SelectedPlayer) end
  609. end,
  610. })
  611. PlayerTab:CreateToggle({
  612. Name = "Auto Bring Selected Player",
  613. CurrentValue = false,
  614. Callback = function(Value)
  615. AutoBringSelectedEnabled = Value
  616. EnableAutoBringSelected()
  617. end,
  618. })
  619. PlayerTab:CreateButton({
  620. Name = "Teleport to Selected Player",
  621. Callback = function()
  622. if SelectedPlayer then TeleportToPlayer(SelectedPlayer) end
  623. end,
  624. })
  625. PlayerTab:CreateButton({
  626. Name = "Bring All Players",
  627. Callback = BringAllPlayers
  628. })
  629. PlayerTab:CreateToggle({
  630. Name = "Auto Bring All Players",
  631. CurrentValue = false,
  632. Callback = function(Value)
  633. AutoBringAllEnabled = Value
  634. EnableAutoBringAll()
  635. end,
  636. })
  637. PlayerTab:CreateToggle({
  638. Name = "ESP Players",
  639. CurrentValue = false,
  640. Callback = function(Value)
  641. ESPPlayersEnabled = Value
  642. EnableESPPlayers()
  643. end,
  644. })
  645. PlayerTab:CreateToggle({
  646. Name = "Tracer Players",
  647. CurrentValue = false,
  648. Callback = function(Value)
  649. TracerPlayersEnabled = Value
  650. EnableTracerPlayers()
  651. end,
  652. })
  653. -- Initial setup
  654. UpdatePlayerList()
  655. PlayerDropdown:Refresh(PlayerList)
  656. -- Dynamic instant interact
  657. workspace.DescendantAdded:Connect(function(descendant)
  658. if InstantInteractEnabled and descendant:IsA("ProximityPrompt") then
  659. descendant.HoldDuration = 0
  660. descendant.RequiresLineOfSight = false
  661. end
  662. end)
  663. -- ESP and Tracer update loop
  664. coroutine.wrap(function()
  665. while wait(0.1) do
  666. if ESPPlayersEnabled then
  667. EnableESPPlayers()
  668. -- Update colors in case teams change
  669. for player, conn in pairs(ESPPlayerConnections) do
  670. if conn.Billboard and conn.Billboard:FindFirstChild("TextLabel") then
  671. conn.Billboard.TextLabel.TextColor3 = GetTeamColor(player)
  672. end
  673. if conn.Highlight then
  674. conn.Highlight.FillColor = GetTeamColor(player)
  675. conn.Highlight.OutlineColor = GetTeamColor(player)
  676. end
  677. end
  678. end
  679. if TracerPlayersEnabled then
  680. local camera = workspace.CurrentCamera
  681. local screenCenter = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2)
  682. for player, line in pairs(TracerLines) do
  683. if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
  684. local pos, onScreen = camera:WorldToViewportPoint(player.Character.HumanoidRootPart.Position)
  685. if onScreen then
  686. line.From = screenCenter
  687. line.To = Vector2.new(pos.X, pos.Y)
  688. line.Visible = true
  689. line.Color = GetTeamColor(player)
  690. else
  691. line.Visible = false
  692. end
  693. else
  694. line.Visible = false
  695. end
  696. end
  697. end
  698. end
  699. end)()
  700.  
  701. local ScannedItems = {}
  702. local ItemESPEnabled = false
  703. local ItemESPObjects = {}
  704. local ItemSearchText = ""
  705.  
  706. local function IsItem(obj)
  707. if obj:IsA("Tool") then return true end
  708. local keywords = {
  709. "box", "loot", "food", "coin", "money", "drop", "item", "apple", "goldenapple", "crowbar",
  710. "weapon", "gun", "sword", "knife", "pistol", "rifle", "shotgun", "card", "tools", "tool",
  711. "key", "keycard", "chest", "crate", "pickup", "collectible", "orb", "gem", "crystal",
  712. "treasure", "ammo", "health", "potion", "bottle"
  713. }
  714. local lname = obj.Name:lower()
  715. for _, kw in ipairs(keywords) do
  716. if lname:find(kw) then
  717. return true
  718. end
  719. end
  720. -- Additional check for interactable items (universal scan enhancement)
  721. if obj:FindFirstChildWhichIsA("ProximityPrompt") or obj:FindFirstChildWhichIsA("ClickDetector") then
  722. return true
  723. end
  724. return false
  725. end
  726.  
  727. local function ScanItems()
  728. ScannedItems = {}
  729. for _, obj in ipairs(workspace:GetDescendants()) do
  730. if IsItem(obj) then
  731. table.insert(ScannedItems, obj)
  732. end
  733. end
  734. end
  735.  
  736. local function EnableItemESP()
  737. if ItemESPEnabled then
  738. for _, item in ipairs(ScannedItems) do
  739. if not ItemESPObjects[item] then
  740. local adornee =
  741. item:IsA("Model") and (item.PrimaryPart or item:FindFirstChildWhichIsA("BasePart"))
  742. or item:IsA("BasePart") and item
  743.  
  744. if adornee then
  745. local gui = Instance.new("BillboardGui")
  746. gui.Adornee = adornee
  747. gui.Size = UDim2.new(0, 120, 0, 40)
  748. gui.StudsOffset = Vector3.new(0, 2, 0)
  749. gui.AlwaysOnTop = true
  750. gui.Parent = game.CoreGui
  751.  
  752. local txt = Instance.new("TextLabel", gui)
  753. txt.Size = UDim2.new(1,0,1,0)
  754. txt.BackgroundTransparency = 1
  755. txt.TextColor3 = Color3.new(1,1,0)
  756. txt.TextScaled = true
  757. txt.Text = item.Name
  758.  
  759. ItemESPObjects[item] = gui
  760. end
  761. end
  762. end
  763. else
  764. for _, gui in pairs(ItemESPObjects) do
  765. gui:Destroy()
  766. end
  767. ItemESPObjects = {}
  768. end
  769. end
  770.  
  771. local SelectedItemESPEnabled = false
  772. local SelectedItemESPObjects = {}
  773. local SelectedItemNames = {}
  774.  
  775. local function EnableSelectedItemESP()
  776. for _, gui in pairs(SelectedItemESPObjects) do gui:Destroy() end
  777. SelectedItemESPObjects = {}
  778. if SelectedItemESPEnabled and #SelectedItemNames > 0 then
  779. for _, item in ipairs(ScannedItems) do
  780. if table.find(SelectedItemNames, item.Name) then
  781. local adornee =
  782. item:IsA("Model") and (item.PrimaryPart or item:FindFirstChildWhichIsA("BasePart"))
  783. or item:IsA("BasePart") and item
  784.  
  785. if adornee then
  786. local gui = Instance.new("BillboardGui")
  787. gui.Adornee = adornee
  788. gui.Size = UDim2.new(0, 120, 0, 40)
  789. gui.StudsOffset = Vector3.new(0, 2, 0)
  790. gui.AlwaysOnTop = true
  791. gui.Parent = game.CoreGui
  792.  
  793. local txt = Instance.new("TextLabel", gui)
  794. txt.Size = UDim2.new(1,0,1,0)
  795. txt.BackgroundTransparency = 1
  796. txt.TextColor3 = Color3.new(0,1,0)
  797. txt.TextScaled = true
  798. txt.Text = item.Name .. " (Selected)"
  799.  
  800. SelectedItemESPObjects[item] = gui
  801. end
  802. end
  803. end
  804. end
  805. end
  806.  
  807. coroutine.wrap(function()
  808. while task.wait(1) do
  809. if ItemESPEnabled then
  810. EnableItemESP()
  811. end
  812. if SelectedItemESPEnabled then
  813. EnableSelectedItemESP()
  814. end
  815. end
  816. end)()
  817.  
  818. local function GetItemRoot(item)
  819. if item:IsA("Tool") then
  820. return item:FindFirstChild("Handle")
  821. elseif item:IsA("Model") then
  822. return item.PrimaryPart or item:FindFirstChildWhichIsA("BasePart")
  823. elseif item:IsA("BasePart") then
  824. return item
  825. end
  826. end
  827.  
  828. local function TeleportToItem(item)
  829. local root = GetItemRoot(item)
  830. local char = game.Players.LocalPlayer.Character
  831. if root and char and char:FindFirstChild("HumanoidRootPart") then
  832. local tweenInfo = TweenInfo.new(TweenDuration, Enum.EasingStyle.Linear)
  833. local goal = {CFrame = root.CFrame * CFrame.new(0,0,-3)}
  834. local tween = TweenService:Create(char.HumanoidRootPart, tweenInfo, goal)
  835. tween:Play()
  836. end
  837. end
  838.  
  839. local function BringItem(item)
  840. local root = GetItemRoot(item)
  841. local pos = GetBringPosition()
  842. if root and pos then
  843. root.CFrame = CFrame.new(pos)
  844. end
  845. end
  846.  
  847. local function BringAllItems()
  848. local pos = GetBringPosition()
  849. if not pos then return end
  850. for _, item in ipairs(ScannedItems) do
  851. local root = GetItemRoot(item)
  852. if root then
  853. root.CFrame = CFrame.new(pos)
  854. end
  855. end
  856. end
  857.  
  858. local function GetFilteredItems()
  859. local set = {}
  860. local list = {}
  861. for _, item in ipairs(ScannedItems) do
  862. if (ItemSearchText == "" or item.Name:lower():find(ItemSearchText)) and not set[item.Name] then
  863. set[item.Name] = true
  864. table.insert(list, item.Name)
  865. end
  866. end
  867. return list
  868. end
  869.  
  870.  
  871. ItemTab:CreateToggle({
  872. Name = "ESP Items",
  873. CurrentValue = false,
  874. Callback = function(v)
  875. ItemESPEnabled = v
  876. EnableItemESP()
  877. end
  878. })
  879.  
  880. ItemTab:CreateToggle({
  881. Name = "ESP Selected Item",
  882. CurrentValue = false,
  883. Callback = function(v)
  884. SelectedItemESPEnabled = v
  885. EnableSelectedItemESP()
  886. end
  887. })
  888.  
  889. ItemTab:CreateInput({
  890. Name = "Search Items",
  891. PlaceholderText = "coin / box / food / money",
  892. Callback = function(txt)
  893. ItemSearchText = txt:lower()
  894. ItemDropdown:Refresh(GetFilteredItems())
  895. end
  896. })
  897.  
  898. local ItemDropdown = ItemTab:CreateDropdown({
  899. Name = "Select Item",
  900. Options = {},
  901. CurrentOption = {},
  902. MultipleOptions = true,
  903. Callback = function(opt)
  904. SelectedItemNames = opt
  905. if SelectedItemESPEnabled then
  906. EnableSelectedItemESP()
  907. end
  908. end
  909. })
  910.  
  911. ItemTab:CreateButton({
  912. Name = "Teleport To Item",
  913. Callback = function()
  914. if #SelectedItemNames > 0 then
  915. for _, item in ipairs(ScannedItems) do
  916. if table.find(SelectedItemNames, item.Name) then
  917. TeleportToItem(item)
  918. break -- Teleport to first matching item only
  919. end
  920. end
  921. end
  922. end
  923. })
  924.  
  925. ItemTab:CreateButton({
  926. Name = "Bring Selected Items",
  927. Callback = function()
  928. if #SelectedItemNames > 0 then
  929. for _, item in ipairs(ScannedItems) do
  930. if table.find(SelectedItemNames, item.Name) then
  931. BringItem(item)
  932. end
  933. end
  934. end
  935. end
  936. })
  937.  
  938. ItemTab:CreateButton({
  939. Name = "Bring ALL Items",
  940. Callback = BringAllItems
  941. })
  942.  
  943. local AutoPickupEnabled = false
  944. local AutoPickupRange = 20
  945.  
  946. local function AutoPickupLoop()
  947. while AutoPickupEnabled do
  948. local char = game.Players.LocalPlayer.Character
  949. if char and char:FindFirstChild("HumanoidRootPart") then
  950. local pos = char.HumanoidRootPart.Position
  951. local rootPart = char.HumanoidRootPart
  952. for _, item in ipairs(ScannedItems) do
  953. local root = GetItemRoot(item)
  954. if root and (pos - root.Position).Magnitude <= AutoPickupRange then
  955. -- Teleport to player
  956. root.CFrame = rootPart.CFrame
  957. -- Fire prompt if exists
  958. local prompt = item:FindFirstChildOfClass("ProximityPrompt", true)
  959. if prompt then
  960. fireproximityprompt(prompt)
  961. end
  962. -- If tool, try to parent to backpack
  963. if item:IsA("Tool") then
  964. item.Parent = game.Players.LocalPlayer.Backpack
  965. end
  966. end
  967. end
  968. end
  969. wait(0.1)
  970. end
  971. end
  972.  
  973. ItemTab:CreateToggle({
  974. Name = "Auto Pickup Items",
  975. CurrentValue = false,
  976. Callback = function(Value)
  977. AutoPickupEnabled = Value
  978. if Value then
  979. coroutine.wrap(AutoPickupLoop)()
  980. end
  981. end,
  982. })
  983.  
  984. ItemTab:CreateInput({
  985. Name = "Auto Pickup Range",
  986. PlaceholderText = "Enter range (10 - 100)",
  987. RemoveTextAfterFocusLost = false,
  988. Callback = function(Text)
  989. local num = tonumber(Text)
  990. if num then
  991. AutoPickupRange = math.clamp(num, 10, 100)
  992. end
  993. end,
  994. })
  995.  
  996. -- ==================== SCAN TAB ====================
  997. local AutoScanInterval = 5
  998. local AutoScanNPCsEnabled = false
  999. local AutoScanItemsEnabled = false
  1000. local AutoScanPlayersEnabled = false
  1001.  
  1002. ScanTab:CreateButton({
  1003. Name = "Scan NPCs",
  1004. Callback = function()
  1005. ScanNPCs()
  1006. UpdateNPCList()
  1007. if NPCDropdown then NPCDropdown:Refresh(NPCList) end
  1008. end,
  1009. })
  1010.  
  1011. ScanTab:CreateToggle({
  1012. Name = "Auto Scan NPCs",
  1013. CurrentValue = false,
  1014. Callback = function(Value)
  1015. AutoScanNPCsEnabled = Value
  1016. if Value then
  1017. coroutine.wrap(function()
  1018. while AutoScanNPCsEnabled do
  1019. ScanNPCs()
  1020. UpdateNPCList()
  1021. if NPCDropdown then NPCDropdown:Refresh(NPCList) end
  1022. wait(AutoScanInterval)
  1023. end
  1024. end)()
  1025. end
  1026. end,
  1027. })
  1028.  
  1029. ScanTab:CreateButton({
  1030. Name = "Scan Items",
  1031. Callback = function()
  1032. ScanItems()
  1033. if ItemDropdown then ItemDropdown:Refresh(GetFilteredItems()) end
  1034. end,
  1035. })
  1036.  
  1037. ScanTab:CreateToggle({
  1038. Name = "Auto Scan Items",
  1039. CurrentValue = false,
  1040. Callback = function(Value)
  1041. AutoScanItemsEnabled = Value
  1042. if Value then
  1043. coroutine.wrap(function()
  1044. while AutoScanItemsEnabled do
  1045. ScanItems()
  1046. if ItemDropdown then ItemDropdown:Refresh(GetFilteredItems()) end
  1047. wait(AutoScanInterval)
  1048. end
  1049. end)()
  1050. end
  1051. end,
  1052. })
  1053.  
  1054. ScanTab:CreateButton({
  1055. Name = "Scan Players",
  1056. Callback = function()
  1057. UpdatePlayerList()
  1058. if PlayerDropdown then PlayerDropdown:Refresh(PlayerList) end
  1059. end,
  1060. })
  1061.  
  1062. ScanTab:CreateToggle({
  1063. Name = "Auto Scan Players",
  1064. CurrentValue = false,
  1065. Callback = function(Value)
  1066. AutoScanPlayersEnabled = Value
  1067. if Value then
  1068. coroutine.wrap(function()
  1069. while AutoScanPlayersEnabled do
  1070. UpdatePlayerList()
  1071. if PlayerDropdown then PlayerDropdown:Refresh(PlayerList) end
  1072. wait(AutoScanInterval)
  1073. end
  1074. end)()
  1075. end
  1076. end,
  1077. })
  1078.  
  1079. ScanTab:CreateInput({
  1080. Name = "Auto Scan Interval (sec)",
  1081. PlaceholderText = "Enter seconds (1 - 30)",
  1082. RemoveTextAfterFocusLost = false,
  1083. Callback = function(Text)
  1084. local num = tonumber(Text)
  1085. if num then
  1086. AutoScanInterval = math.clamp(num, 1, 30)
  1087. end
  1088. end,
  1089. })
  1090.  
  1091. -- ==================== WEAPON TAB ====================
  1092. local InfiniteAmmoEnabled = false
  1093. local FastFireEnabled = false
  1094. local FireRateValue = 0.05
  1095.  
  1096. WeaponTab:CreateToggle({
  1097. Name = "Infinite Ammo",
  1098. CurrentValue = false,
  1099. Callback = function(Value)
  1100. InfiniteAmmoEnabled = Value
  1101. end,
  1102. })
  1103.  
  1104. WeaponTab:CreateToggle({
  1105. Name = "Fast Fire",
  1106. CurrentValue = false,
  1107. Callback = function(Value)
  1108. FastFireEnabled = Value
  1109. if Value then
  1110. coroutine.wrap(function()
  1111. while FastFireEnabled do
  1112. local char = game.Players.LocalPlayer.Character
  1113. if char then
  1114. local serverScript = char:FindFirstChild("ServerScript")
  1115. if serverScript then
  1116. local fireWeapon = serverScript:FindFirstChild("FireWeapon")
  1117. if fireWeapon then
  1118. fireWeapon:FireServer()
  1119. end
  1120. end
  1121. end
  1122. wait(FireRateValue)
  1123. end
  1124. end)()
  1125. end
  1126. end,
  1127. })
  1128.  
  1129. WeaponTab:CreateInput({
  1130. Name = "Fire Rate Delay",
  1131. PlaceholderText = "Enter delay (0.01 - 1)",
  1132. RemoveTextAfterFocusLost = false,
  1133. Callback = function(Text)
  1134. local num = tonumber(Text)
  1135. if num then
  1136. FireRateValue = math.clamp(num, 0.01, 1)
  1137. end
  1138. end,
  1139. })
  1140.  
  1141. local AmmoNames = {"Ammo", "Clip", "Magazine", "Bullets", "Rounds", "StoredAmmo"}
  1142.  
  1143. coroutine.wrap(function()
  1144. while true do
  1145. wait(0.1)
  1146. if InfiniteAmmoEnabled then
  1147. local char = game.Players.LocalPlayer.Character
  1148. if char then
  1149. -- Search in character
  1150. for _, obj in ipairs(char:GetDescendants()) do
  1151. if (obj:IsA("IntValue") or obj:IsA("NumberValue")) and table.find(AmmoNames, obj.Name) then
  1152. obj.Value = 999
  1153. end
  1154. end
  1155. -- Search in backpack
  1156. local backpack = game.Players.LocalPlayer.Backpack
  1157. for _, tool in ipairs(backpack:GetChildren()) do
  1158. for _, obj in ipairs(tool:GetDescendants()) do
  1159. if (obj:IsA("IntValue") or obj:IsA("NumberValue")) and table.find(AmmoNames, obj.Name) then
  1160. obj.Value = 999
  1161. end
  1162. end
  1163. end
  1164. end
  1165. end
  1166. end
  1167. end)()
  1168.  
  1169. WeaponTab:CreateButton({
  1170. Name = "Mod Guns (Alternative if Infinite Ammo not working)",
  1171. Callback = function()
  1172. for _, v in pairs(getgc(true)) do
  1173. if type(v) == "table" and rawget(v, "BulletDamage") and rawget(v, "BulletRange") then
  1174. v.MaxAmmo = 999999
  1175. v.Supply = 999999
  1176. v.BulletDamage = 450
  1177. v.BulletRange = 1000
  1178. v.FireInterval = 0
  1179. v.ReloadInterval = 0
  1180. print("guns modded")
  1181. return
  1182. end
  1183. end
  1184. print("executor not support or type error??")
  1185. end
  1186. })
Advertisement
Add Comment
Please, Sign In to add comment