19.09.25 55 997 просмотров
Привет, фанаты Roblox! Ищешь рабочий и бесплатный скрипт для 99 Ночей в Лесу на ...
Этот ресурс можно скачать. Нажмите на кнопку и посмотрите рекламу

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
--// SETTINGS
local CURRENT_PLOT = "Plot1"
local CURRENT_ISLAND = "Basic"
local TELEPORT_DELAY = 0.08
local ISLANDS = {"Basic", "VoidReef", "CyberTech", "RainbowReef", "RadioactiveReef"}
local PLOTS = {"Plot1", "Plot2", "Plot3", "Plot4", "Plot5"}
local lootFolder = workspace:WaitForChild("ActiveLoot")
local busy = false
--// GUI
local screenGui = Instance.new("ScreenGui", playerGui)
screenGui.ResetOnSpawn = false
local frame = Instance.new("Frame", screenGui)
frame.Size = UDim2.new(0, 260, 0, 200)
frame.Position = UDim2.new(0.1, 0, 0.2, 0)
frame.BackgroundColor3 = Color3.fromRGB(30,30,30)
frame.Active = true
frame.Draggable = true
local title = Instance.new("TextLabel", frame)
title.Size = UDim2.new(1,0,0,25)
title.Text = "Loot Controller"
title.BackgroundTransparency = 1
title.TextColor3 = Color3.new(1,1,1)
--// DROPDOWN FUNCTION
local function createDropdown(parent, position, options, default, callback)
local container = Instance.new("Frame", parent)
container.Position = position
container.Size = UDim2.new(0, 230, 0, 25)
container.BackgroundColor3 = Color3.fromRGB(50,50,50)
container.ZIndex = 2
local button = Instance.new("TextButton", container)
button.Size = UDim2.new(1,0,1,0)
button.Text = default
button.TextColor3 = Color3.new(1,1,1)
button.BackgroundTransparency = 1
button.ZIndex = 3
local listFrame = Instance.new("Frame", container)
listFrame.Position = UDim2.new(0,0,1,0)
listFrame.Size = UDim2.new(1,0,0,#options * 25)
listFrame.BackgroundColor3 = Color3.fromRGB(40,40,40)
listFrame.Visible = false
listFrame.ZIndex = 10 -- 🔥 HIGH so it appears on top
for i, option in ipairs(options) do
local opt = Instance.new("TextButton", listFrame)
opt.Size = UDim2.new(1,0,0,25)
opt.Position = UDim2.new(0,0,0,(i-1)*25)
opt.Text = option
opt.BackgroundTransparency = 1
opt.TextColor3 = Color3.new(1,1,1)
opt.ZIndex = 11 -- above dropdown background
opt.MouseButton1Click:Connect(function()
button.Text = option
listFrame.Visible = false
callback(option)
end)
end
button.MouseButton1Click:Connect(function()
listFrame.Visible = not listFrame.Visible
end)
return button
end
-- Island dropdown
createDropdown(frame, UDim2.new(0,10,0,35), ISLANDS, CURRENT_ISLAND, function(val)
CURRENT_ISLAND = val
end)
-- Plot dropdown
createDropdown(frame, UDim2.new(0,10,0,70), PLOTS, CURRENT_PLOT, function(val)
CURRENT_PLOT = val
end)
-- Delay input
local delayBox = Instance.new("TextBox", frame)
delayBox.Position = UDim2.new(0,10,0,105)
delayBox.Size = UDim2.new(0,230,0,25)
delayBox.Text = tostring(TELEPORT_DELAY)
delayBox.FocusLost:Connect(function()
local val = tonumber(delayBox.Text)
if val then
TELEPORT_DELAY = val
end
end)
-- Buttons
local collectBtn = Instance.new("TextButton", frame)
collectBtn.Position = UDim2.new(0,10,0,140)
collectBtn.Size = UDim2.new(0,110,0,40)
collectBtn.Text = "Collect"
local homeBtn = Instance.new("TextButton", frame)
homeBtn.Position = UDim2.new(0,130,0,140)
homeBtn.Size = UDim2.new(0,110,0,40)
homeBtn.Text = "Home"
--// LOGIC
local function getSafeZone()
local island = workspace:WaitForChild("Islands"):FindFirstChild(CURRENT_ISLAND)
if not island then return nil end
local plot = island:WaitForChild("Plots"):FindFirstChild(CURRENT_PLOT)
if not plot then return nil end
return plot:WaitForChild("Important"):FindFirstChild("SafeZone")
end
local function getMatchingLoot()
local matches = {}
local character = player.Character or player.CharacterAdded:Wait()
local hrp = character:WaitForChild("HumanoidRootPart")
for _, model in ipairs(lootFolder:GetChildren()) do
if model:IsA("Model") and model:GetAttribute("PlotName") == CURRENT_PLOT then
local pivot = model:GetPivot()
local distance = (pivot.Position - hrp.Position).Magnitude
if distance <= 800 then
table.insert(matches, model)
end
end
end
return matches
end
local function teleportOnce()
if busy then return end
busy = true
local character = player.Character or player.CharacterAdded:Wait()
local hrp = character:WaitForChild("HumanoidRootPart")
for _, model in ipairs(getMatchingLoot()) do
if model and model.Parent then
hrp.CFrame = model:GetPivot() + Vector3.new(0,2,0)
end
task.wait(TELEPORT_DELAY)
end
busy = false
end
local function teleportHome()
local safeZone = getSafeZone()
if not safeZone then return end
local character = player.Character or player.CharacterAdded:Wait()
local hrp = character:WaitForChild("HumanoidRootPart")
hrp.CFrame = safeZone.CFrame + Vector3.new(0,3,0)
end
-- Buttons
collectBtn.MouseButton1Click:Connect(teleportOnce)
homeBtn.MouseButton1Click:Connect(teleportHome)
-- Hotkeys
UserInputService.InputBegan:Connect(function(input, gp)
if gp then return end
if input.KeyCode == Enum.KeyCode.G then
teleportOnce()
elseif input.KeyCode == Enum.KeyCode.F then
teleportHome()
end
end)Loot Controller
Collect button
Home button
Auto Farm
Teleport
Target/plot selection
Collection timing control
| Плюсы | Минусы |
|---|---|
| Работает без ключа (No Key) | Нужен сторонний инжектор |
| Очень быстрый автофарм | Иногда визуально дергается камера |
| Поддержка ПК и мобилок | Нет русского языка в меню скрипта |
| Удобный Loot Controller | Требует стабильный интернет |
Нет, этот скрипт работает без системы ключей, просто вставляй и запускай.
Да, он отлично идет на Android через Delta или Arceus X.
Скрипт актуален, но всегда стоит помнить, что в Roblox за читы могут наказать, если злоупотреблять ими на глазах у админов.
Убедись, что твой инжектор обновлен до последней версии и антивирус не блокирует его работу.