AutoFarm (RU) [updated 4]
Key Required

AutoFarm (RU) [updated 4]

Ozon Simulator 📦SanTerSanTer 7K views 31 executesUpdated Jan 3, 2025
5.0/ 5(3 votes)
30100% Positive
Lua Script•320 lines (9078 chars)
--!optimize 2

--[[
в скрипте используется МНОЖЕСТВО абъюзов типизации; в следствии чего фрагменты скрипта могут выглядить глупо.
если вы думаете, что это повлияет на оптимизацию - нет.
луау оптимизирует скрипт при компиляции, почитайте про !optimize 2. (что по стандарту включается, когда вы играете в игры в роблоксе)

by: SanTer :D
]]

local osclockBefore = os.clock()
local LibrarySrc =
	game:HttpGetAsync("https://github.com/ActualMasterOogway/Fluent-Renewed/releases/latest/download/Fluent.luau")
LibrarySrc = loadstring(LibrarySrc)
local Library: FluentUI
Library = LibrarySrc() :: FluentUI
print("took " .. os.clock() - osclockBefore .. "s to load Fluent Renewed library..")

local Window = Library:CreateWindow({
	Title = "Симулятор азона",
	SubTitle = "",
	TabWidth = 160,
	Size = UDim2.fromOffset(830, 830),
	Resize = true,
	MinSize = Vector2.new(470, 380),
	Acrylic = true,
	Theme = "Dark",
	MinimizeKey = Enum.KeyCode.LeftControl,
})

local ReplicatedStorage = game:GetService("ReplicatedStorage") :: ReplicatedStorage
local player = (game:GetService("Players") :: Players).LocalPlayer
local playerGui = player:FindFirstChild("PlayerGui") :: PlayerGui

local Remotes = ReplicatedStorage:FindFirstChild("Remotes") :: Folder
local REvent = Remotes:FindFirstChild("REvent") :: RemoteEvent
local Map = workspace:FindFirstChild("Map") :: Folder
local BoxesUnequipPrompt = Map.Houses.Ozonium.Shelfes.ToShelfes1.ProximityPrompt :: ProximityPrompt
local GetBoxesPrompt = Map.Scripts.DeliveryTerminal.ProximityPrompt :: ProximityPrompt
local Postamats = (Map.Postamat :: Folder):GetChildren()
local CarFolder = Map.CarFolder.Car :: Folder
local TotalBoxesChildrens = (Map.Houses.Ozonium.Shelfes.Boxes :: Folder):GetChildren()
local TotalBoxes = {}
for i, v: Part in TotalBoxesChildrens do
	if v.Transparency ~= 1 then
		table.insert(TotalBoxes, v)
	end
end

local EspCar = false

local ozonCheckpoint = CFrame.new(121.9235, 8.82086849, -106.7995)
local fiveterochkaCheckpoint = CFrame.new(495.67749, 6.15029955, -156.953094)

local cache = {
	StorageCount = #TotalBoxes,
}

GetBoxesPrompt.RequiresLineOfSight = false
BoxesUnequipPrompt.RequiresLineOfSight = false

local function useProximityPrompt(prox: ProximityPrompt)
	local oldCFrame = player.Character:GetPivot()
	player.Character:PivotTo((prox.Parent :: Part).CFrame)
	task.wait(0.15)
	fireproximityprompt(prox)
	task.wait(0.15)
	player.Character:PivotTo(oldCFrame)
end

local function findPostamat(position: Vector3): ProximityPrompt | nil
	for _, v: Model in Postamats do
		print(v)
		local monitor = v:FindFirstChild("Monitor") :: Part
		local distance = (monitor.Position - position).Magnitude

		if distance <= 2 then
			return monitor:FindFirstChild("ProximityPrompt") :: ProximityPrompt
		end
	end

	Library:Notify({
		Title = "Ошибочка вышла",
		Content = "Клиент получил ответ от сервера для позиции, но при сверки дистанций не нашлось ни одного промпта.",
		SubContent = "Скрипт будет работать также.",
		Duration = 5,
	})
	return
end

local Tabs = {
	Main = Window:CreateTab({
		Title = "Основное",
		Icon = "app-window",
	}),
}

do
	Tabs.Main:CreateButton({
		Title = "🌀 Телепортироваться в ПВЗ",
		Description = "Телепортирует около компьютера.",
		Callback = function()
			player.Character:PivotTo(ozonCheckpoint)
		end,
	})

	Tabs.Main:CreateButton({
		Title = "🌀 Телепортироваться в пятерочку",
		Description = "Телепортирует прямо возле кассира.",
		Callback = function()
			player.Character:PivotTo(fiveterochkaCheckpoint)
		end,
	})

	Tabs.Main:CreateButton({
		Title = "🚫💸 Убрать кнопку доната",
		Callback = function()
			(playerGui:FindFirstChild("Money") :: ScreenGui).Enabled = false
		end,
	})

	Tabs.Main:CreateToggle("", {
		Title = "🔕 Убрать красные уведомления",
		Callback = function(value)
			(playerGui:FindFirstChild("HUD").Warn :: Frame).Visible = not value
		end,
	})

	do
		local section = Tabs.Main:AddSection("Игрок")

		local upvalue1 = false
		section:CreateToggle("", {
			Title = "⚡ Бесконечная энергия",
			Description = "ура бегать",
			Callback = function(value)
				upvalue1 = value
			end,
		})
		task.spawn(function()
			player.AttributeChanged:Connect(function(att)
				if att == "energy" then
					if player:GetAttribute(att) ~= 100 and upvalue1 then
						player:SetAttribute(att, 100)
					end
				end
			end)
		end)

		local upvalue2 = false
		section:CreateToggle("", {
			Title = "🛒 Авто-покупка еды",
			Description = "Покупает 3 хлеба когда шкала сытости изменяется и становится <=30.",
			Callback = function(value)
				upvalue2 = value
			end,
		})
		task.spawn(function()
			player.AttributeChanged:Connect(function(att)
				if att == "hungry" then
					if player:GetAttribute(att) <= 30 and upvalue2 then
						for _ = 1, 3 do
							REvent:FireServer("FiveShopBuy", "\208\165\208\187\208\181\208\177")
						end
					end
				end
			end)
		end)
	end

	do
		local section = Tabs.Main:AddSection("Коробки")

		local autocallboxes = false
		section:CreateToggle("", {
			Title = "🚗 Авто-вызов грузовика",
			Description = "Вызывает грузовик с 16 коробками каждую секунду.\nРекомендуется использовать кнопку `Убрать красные уведомления`!",
			Callback = function(value)
				autocallboxes = value
			end,
		})
		task.spawn(function()
			while task.wait(1) do
				if autocallboxes then
					REvent:FireServer("CarStart", 16)
				end
			end
		end)

		section:CreateParagraph("", {
			Title = "⚠️ Следующие три функции лучше использовать в вариации: ⚠️",
			Content = "\n1;\n2 и 3.\nВ противном случае автофарм может работать очень плохо; читайте, что написано в описании функции.",
		})

		local autoboxes = false
		section:CreateToggle("", {
			Title = "🚪 Авто-разгрузка в шкаф",
			Description = "Любые ВСЕ коробки, которые у тебя есть в инвентаре, будут разгружены в шкаф!",
			Callback = function(value)
				autoboxes = value
			end,
		})
		task.spawn(function()
			while task.wait(0.1) do
				if autoboxes and player.Character:FindFirstChild("Box") then
					useProximityPrompt(BoxesUnequipPrompt)
				end
			end
		end)

		local autodelivery = false
		section:CreateToggle("", {
			Title = "📦 Авто-разгрузка по постаматам для доставки на дом",
			Description = "При ответе от сервера, клиент будет искать промпт.\nЕсли промпт найден, он будет использован.\nЕсли вы уже взяли заказ, то нужно будет взять его еще раз.",
			Callback = function(value)
				autodelivery = value
			end,
		})
		task.spawn(function()
			REvent.OnClientEvent:Connect(function(event: string, ...)
				if not autodelivery then
					return
				end
				local args = { ... }

				if event == "ToDelivery" then
					local position = args[1] :: Vector3
					if position == nil then
						return
					end
					local prompt = findPostamat(position)
					if prompt ~= nil then
						while task.wait(0.1) do
							if not player.Character:FindFirstChild("Box") then
								break
							end
							useProximityPrompt(prompt)
						end
					end
				end
			end)
		end)

		local autoequipboxes = false
		section:CreateToggle("", {
			Title = "🚚 Авто-взятие коробок для доставки на дом",
			Description = "Название говорит само за себя.",
			Callback = function(value)
				autoequipboxes = value
			end,
		})
		task.spawn(function()
			while task.wait(0.1) do
				if cache.StorageCount > 5 then
					if autoequipboxes and not player.Character:FindFirstChild("Box") then
						useProximityPrompt(GetBoxesPrompt)
					end
				end
			end
		end)

		local autoequipcarboxes = false
		section:CreateToggle("", {
			Title = "🚚 Авто-взятие коробок из грузовика",
			Description = "Название говорит само за себя.\nМожет быть нестабильно.",
			Callback = function(value)
				autoequipcarboxes = value
			end,
		})
		task.spawn(function()
			while task.wait(0.5) do
				if
					autoequipcarboxes
					and not player.Character:FindFirstChild("Box")
					and CarFolder:FindFirstChild("Car") ~= nil
				then
					for i, v: Part in CarFolder.Car.CarBoxes:GetChildren() do
						if not player.Character:FindFirstChild("Box") then
							local prompt = v:FindFirstChild("GetBoxPrompt") :: ProximityPrompt
							if prompt then
								useProximityPrompt(prompt)
								repeat
									task.wait()
								until player.Character:FindFirstChild("Box") == nil
							end
						end
					end
				end
			end
		end)

		section:CreateToggle("", {
			Title = "👁️ Подсветить грузовик",
			Description = "Может чем-то помочь.\nПодсвечивает только при спавне грузовика.",
			Callback = function(value)
				EspCar = value
			end,
		})
	end
end

REvent.OnClientEvent:Connect(function(event: string, StorageCount: number)
	if event == "UpdateStorageCount" then
		cache.StorageCount = StorageCount
	end
end)

CarFolder.ChildAdded:Connect(function(child: Model)
	if child.Name == "Car" and EspCar then
		for i, v: Instance in child:GetChildren() do
			if v.Name == "CarEsp" then
				v:Destroy()
			end
		end
		local highlight = Instance.new("Highlight", child) :: Highlight
		highlight.Name = "CarEsp"
		highlight.FillColor = Color3.fromRGB(148, 254, 255)
		highlight.OutlineColor = Color3.fromRGB(61, 61, 61)
	end
end)

Features & Information

Функции: 📦 Авто-разгрузка по постаматам для доставки на дом 🚪 Авто-разгрузка в шкаф 🚚 Авто-взятие коробок для доставки на дом 🚗 Авто-вызов грузовика 🔕 Убрать красные уведомления 🚫💸 Убрать кнопку доната 🌀 Телепортироваться в ПВЗ и пятерочку ⚡ Бесконечная энергия 🛒 Авто-покупка еды 🚚 Авто-взятие коробок из грузовика 👁️ Подсветить грузовик (должно работать 50/50 на Solara)

Community Comments (7)

6yvem5db36yvem5db3Jan 3, 2025(edited)

хз не проверял

SanTerSanTerJan 3, 2025(edited)

поставьте лайк иначе нищие

ArcturusArcturusadminJan 3, 2025(edited)

Here is the script translated to English: https://pastebin.com/GA4Sfs5B

UnequaledUnrivaledUnequaledUnrivaledJan 3, 2025(edited)

how do i get verified

SanTerSanTerJan 3, 2025(edited)

Robby, спасибо и обнови перевод на скрипт пж пж пж

J0kKidd_c00lJ0kKidd_c00lJan 3, 2025(edited)

F5ggyg7u

SanTerSanTerJan 3, 2025(edited)

я не разговариваю на языке приглашения дискорда