local WindUI = loadstring(game:HttpGet("https://github.com/Footagesus/WindUI/releases/latest/download/main.lua"))()
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local player = Players.LocalPlayer
local AddPepperEvent = ReplicatedStorage.Events.Brewing.AddPepper
local running = false
local function getPepperPosition(pepper)
if pepper:IsA("BasePart") then
return pepper.Position
elseif pepper:IsA("Model") then
if pepper.PrimaryPart then
return pepper.PrimaryPart.Position
end
local part = pepper:FindFirstChildWhichIsA("BasePart", true)
if part then
return part.Position
end
end
return nil
end
local function getPrompt(pepper)
if pepper:IsA("ProximityPrompt") then
return pepper
end
return pepper:FindFirstChildWhichIsA("ProximityPrompt", true)
end
local function getPlayerLot()
local lots = workspace:FindFirstChild("PlayerLots")
if not lots then
return nil
end
local namedLot = lots:FindFirstChild(player.Name)
if namedLot then
return namedLot
end
for _, lot in ipairs(lots:GetChildren()) do
local owner = lot:GetAttribute("Owner")
or lot:GetAttribute("Player")
or lot:GetAttribute("OwnerName")
or lot:GetAttribute("PlotOwner")
if owner == player.Name or owner == player.UserId then
return lot
end
end
for _, lot in ipairs(lots:GetChildren()) do
for _, value in ipairs(lot:GetDescendants()) do
if value:IsA("StringValue") then
if value.Value == player.Name then
return lot
end
elseif value:IsA("ObjectValue") then
if value.Value == player then
return lot
end
end
end
end
return nil
end
local function findPeppers()
local playerLot = getPlayerLot()
if not playerLot then
warn("Could not find player's lot")
return {}
end
local peppers = {}
local cropFolder = playerLot:FindFirstChild("Crop")
if cropFolder then
for _, obj in ipairs(cropFolder:GetChildren()) do
if obj.Name == "Pepper" then
table.insert(peppers, obj)
end
end
end
local fifth = playerLot:GetChildren()[5]
if fifth then
for _, obj in ipairs(fifth:GetChildren()) do
if obj.Name == "Pepper" then
table.insert(peppers, obj)
end
end
end
return peppers
end
local function collectOnce()
local character = player.Character or player.CharacterAdded:Wait()
local hrp = character:WaitForChild("HumanoidRootPart")
local peppers = findPeppers()
if #peppers == 0 then
warn("No peppers found")
return false
end
for i, pepper in ipairs(peppers) do
if not running then
break
end
local pepperName = pepper:GetAttribute("PepperName")
local pos = getPepperPosition(pepper)
local prompt = getPrompt(pepper)
if pos then
hrp.CFrame = CFrame.new(pos + Vector3.new(0, 3, 0))
task.wait(0.3)
end
if prompt then
fireproximityprompt(prompt)
task.wait(0.3)
end
AddPepperEvent:InvokeServer(false, pepperName)
task.wait(0.3)
end
return true
end
local function collectLoop()
while running do
local foundAny = collectOnce()
if not running then
break
end
if foundAny then
task.wait(0.5)
else
task.wait(2)
end
end
end
local Window = WindUI:CreateWindow({
Title = "🌶️ Make Hotsauce",
Icon = "map-pinned",
Author = "AspectTiber",
Folder = "WinTP",
Size = UDim2.fromOffset(500, 350),
Transparent = true,
Theme = "Dark",
})
local Tab = Window:Tab({
Title = "Main",
Icon = "flame",
})
Tab:Toggle({
Title = "Auto Collect Peppers",
Desc = "Local player's lot only",
Icon = "sprout",
Type = "Checkbox",
Value = false,
Callback = function(state)
running = state
if running then
task.spawn(collectLoop)
end
end,
})