AutoFarm AutoAdd Snowman AutoSell Candy And More Op Script
Key Required

AutoFarm AutoAdd Snowman AutoSell Candy And More Op Script

Snowman Simulator ☃️akifrzayev06akifrzayev06 742 views 102 executesUpdated Nov 24, 2025
4.0/ 5(5 votes)
4180% Positive
Lua Script•209 lines (11652 chars)
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local CoreGui = game:GetService("CoreGui")
local Workspace = game:GetService("Workspace")

local client = Players.LocalPlayer
local KEYBIND = Enum.KeyCode.M

local gui = Instance.new("ScreenGui", CoreGui)
gui.Name = "AkifSnowmanSim_Clean"
gui.IgnoreGuiInset = true
gui.ResetOnSpawn = false

local window = Instance.new("Frame", gui)
window.Size = UDim2.fromOffset(280, 260)
window.Position = UDim2.new(0.5, -140, 0.5, -130)
window.BackgroundColor3 = Color3.fromRGB(24, 25, 26)
window.BorderSizePixel = 0
window.Active = true
window.Draggable = true
window.Visible = false

local windowCanvas = Instance.new("CanvasGroup", window)
local corner = Instance.new("UICorner"); corner.CornerRadius = UDim.new(0, 8); corner.Parent = window
local stroke = Instance.new("UIStroke"); stroke.Color = Color3.fromRGB(10, 11, 12); stroke.Thickness = 1; stroke.Parent = window
local pad = Instance.new("UIPadding"); pad.PaddingTop=UDim.new(0,12); pad.PaddingLeft=UDim.new(0,12); pad.PaddingRight=UDim.new(0,12); pad.PaddingBottom=UDim.new(0,12); pad.Parent = window
local titleBar = Instance.new("Frame", window)
titleBar.Size = UDim2.new(1, 0, 0, 32); titleBar.BackgroundTransparency = 1

local title = Instance.new("TextLabel", titleBar)
title.Size = UDim2.new(1, 0, 1, 0); title.BackgroundTransparency = 1; title.TextXAlignment = Enum.TextXAlignment.Left; title.Font = Enum.Font.GothamBold; title.TextSize = 16; title.TextColor3 = Color3.fromRGB(255, 255, 255); title.Text = "Snowman Sim"
local subtitle = Instance.new("TextLabel", titleBar)
subtitle.Size = UDim2.new(1, 0, 1, 0); subtitle.BackgroundTransparency = 1; subtitle.TextXAlignment = Enum.TextXAlignment.Right; subtitle.Font = Enum.Font.Gotham; subtitle.TextSize = 14; subtitle.TextColor3 = Color3.fromRGB(150, 155, 170); subtitle.Text = "by AkifRzayev"

local list = Instance.new("UIListLayout", window)
list.Padding = UDim.new(0, 10)
list.SortOrder = Enum.SortOrder.LayoutOrder

local buttonHolder = Instance.new("Frame", window)
buttonHolder.Size = UDim2.new(1, 0, 0, 146) 
buttonHolder.BackgroundTransparency = 1
buttonHolder.LayoutOrder = 1
local listLayout = Instance.new("UIListLayout", buttonHolder)
listLayout.Padding = UDim.new(0, 10)

local function makeToggleButton(textOff, textOn)
    local button = Instance.new("TextButton", buttonHolder)
    button.Size = UDim2.new(1, 0, 0, 42)
    button.BackgroundColor3 = Color3.fromRGB(38, 39, 41)
    button.Font = Enum.Font.GothamSemibold
    button.TextSize = 16
    button.TextColor3 = Color3.fromRGB(230, 235, 245)
    button.Text = textOff
    
    local c = Instance.new("UICorner"); c.CornerRadius = UDim.new(0, 6); c.Parent = button
    local s = Instance.new("UIStroke"); s.Color = Color3.fromRGB(20, 21, 22); s.Thickness = 1; s.Parent = button
    
    local isOn = false
    local changedEvent = Instance.new("BindableEvent")
    local offColor = button.BackgroundColor3
    local onColor = Color3.fromRGB(46, 204, 113)
    local onColorHover = Color3.fromRGB(66, 224, 133)
    
    button.MouseEnter:Connect(function() local hoverColor = isOn and onColorHover or Color3.fromRGB(55, 56, 58); TweenService:Create(button, TweenInfo.new(0.2), { BackgroundColor3 = hoverColor }):Play() end)
    button.MouseLeave:Connect(function() local baseColor = isOn and onColor or offColor; TweenService:Create(button, TweenInfo.new(0.2), { BackgroundColor3 = baseColor }):Play() end)
    button.MouseButton1Click:Connect(function()
        isOn = not isOn
        button.Text = isOn and textOn or textOff
        local baseColor = isOn and onColor or offColor
        TweenService:Create(button, TweenInfo.new(0.3), { BackgroundColor3 = baseColor }):Play()
        changedEvent:Fire(isOn)
    end)
    return button, changedEvent.Event
end

local status = Instance.new("TextLabel", window)
status.Size = UDim2.new(1, 0, 0, 20)
status.BackgroundTransparency = 1; status.Font = Enum.Font.Gotham; status.TextSize = 14; status.TextColor3 = Color3.fromRGB(170, 175, 170); status.TextXAlignment = Enum.TextXAlignment.Left; status.Text = "Ready"; status.LayoutOrder = 2

local Signals = ReplicatedStorage:WaitForChild("Signals", 10)

local autoFarmActive = false
local autoFarmThread = nil
local autoAddActive = false
local autoAddThread = nil
local autoSellActive = false
local autoSellThread = nil

local btnAutoFarm, autoFarmChanged = makeToggleButton("Auto Farm [OFF]", "Auto Farm [ON]")
local btnAutoAdd, autoAddChanged = makeToggleButton("Auto Add Snowman [OFF]", "Auto Add Snowman [ON]")
local btnAutoSell, autoSellChanged = makeToggleButton("Auto Sell Candy [OFF]", "Auto Sell Candy [ON]")

if not Signals then
    status.Text = "Error: Signals folder not found."
    btnAutoFarm.Text = "ERROR"; btnAutoFarm.BackgroundColor3 = Color3.fromRGB(192, 57, 43)
    btnAutoAdd.Text = "ERROR"; btnAutoAdd.BackgroundColor3 = Color3.fromRGB(192, 57, 43)
    btnAutoSell.Text = "ERROR"; btnAutoSell.BackgroundColor3 = Color3.fromRGB(192, 57, 43)
else
    autoFarmChanged:Connect(function(isOn)
        autoFarmActive = isOn
        if isOn then
            status.Text = "Auto Farm enabled."
            autoFarmThread = task.spawn(function()
                while autoFarmActive do
                    pcall(function()
                        Signals.snowballControllerFunc:InvokeServer("stopRoll")
                        Signals.collectSnow:FireServer(Workspace.gameSnow.GAME_SNOW)
                    end)
                    task.wait(0.01)
                end
            end)
        else
            status.Text = "Auto Farm disabled."
            if autoFarmThread then task.cancel(autoFarmThread); autoFarmThread = nil end
        end
    end)

    autoAddChanged:Connect(function(isOn)
        autoAddActive = isOn
        if isOn then
            status.Text = "Auto Add Snowman enabled."
            autoAddThread = task.spawn(function()
                while autoAddActive do
                    pcall(function()
                        Signals.addToSnowman:FireServer("addToSnowman")
                    end)
                    task.wait(10)
                end
            end)
        else
            status.Text = "Auto Add Snowman disabled."
            if autoAddThread then task.cancel(autoAddThread); autoAddThread = nil end
        end
    end)

    autoSellChanged:Connect(function(isOn)
        autoSellActive = isOn
        if isOn then
            status.Text = "Auto Sell enabled."
            autoSellThread = task.spawn(function()
                while autoSellActive do
                    pcall(function()
                        Signals.candycaneSell:FireServer("sellCandycanes", 1, Workspace.sellSpots.redB.Nutcracker)
                        Signals.candycaneSell:FireServer("sellCandycanes", 2, Workspace.sellSpots.greenA.Nutcracker)
                        Signals.candycaneSell:FireServer("sellCandycanes", 3, Workspace.sellSpots.goldA.Nutcracker)
                    end)
                    task.wait(0.01)
                end
            end)
        else
            status.Text = "Auto Sell disabled."
            if autoSellThread then task.cancel(autoSellThread); autoSellThread = nil end
        end
    end)
end

local function showNotification()
    local notif = Instance.new("Frame", gui)
    notif.Size = UDim2.fromOffset(250, 60); notif.Position = UDim2.new(1, 10, 0, 10); notif.BackgroundColor3 = Color3.fromRGB(30, 31, 32); notif.BorderSizePixel = 0
    local c = Instance.new("UICorner"); c.CornerRadius = UDim.new(0, 6); c.Parent = notif
    local s = Instance.new("UIStroke"); s.Color = Color3.fromRGB(15, 16, 17); s.Thickness = 1; s.Parent = notif
    local l = Instance.new("TextLabel", notif)
    l.Size = UDim2.new(1, -16, 1, -16); l.Position = UDim2.fromOffset(8, 8); l.BackgroundTransparency = 1; l.Font = Enum.Font.Gotham; l.TextColor3 = Color3.fromRGB(220, 220, 220); l.TextSize = 14
    l.Text = "Press [ " .. KEYBIND.Name .. " ] to toggle the menu."
    l.TextWrapped = true
    TweenService:Create(notif, TweenInfo.new(0.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {Position = UDim2.new(1, -260, 0, 10)}):Play()
    task.wait(5)
    TweenService:Create(notif, TweenInfo.new(0.5, Enum.EasingStyle.Quint, Enum.EasingDirection.In), {Position = UDim2.new(1, 10, 0, 10)}):Play()
    task.wait(0.5)
    notif:Destroy()
end

UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if not gameProcessed and UserInputService:GetFocusedTextBox() == nil and input.KeyCode == KEYBIND then
        window.Visible = not window.Visible
    end
end)

local loadingContainer = Instance.new("Frame"); loadingContainer.Name = "LoadingContainer"; loadingContainer.Size = UDim2.new(1, 0, 1, 0); loadingContainer.BackgroundColor3 = Color3.fromRGB(0, 0, 0); loadingContainer.BackgroundTransparency = 1; loadingContainer.Parent = gui
local spinner = Instance.new("Frame"); spinner.Size = UDim2.fromOffset(60, 60); spinner.Position = UDim2.new(0.5, 0, 0.5, 0); spinner.AnchorPoint = Vector2.new(0.5, 0.5); spinner.BackgroundTransparency = 1; spinner.Visible = false; spinner.Parent = loadingContainer
local spinnerCanvas = Instance.new("CanvasGroup"); spinnerCanvas.Parent = spinner
local spinnerCorner = Instance.new("UICorner"); spinnerCorner.CornerRadius = UDim.new(1,0); spinnerCorner.Parent = spinner
local spinnerStroke = Instance.new("UIStroke"); spinnerStroke.Color = Color3.fromRGB(255, 255, 255); spinnerStroke.Thickness = 4; spinnerStroke.LineJoinMode = Enum.LineJoinMode.Round; spinnerStroke.Parent = spinner
local spinnerGradient = Instance.new("UIGradient"); spinnerGradient.Color = ColorSequence.new({ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 255, 255)), ColorSequenceKeypoint.new(0.7, Color3.fromRGB(255, 255, 255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(80, 80, 80))}); spinnerGradient.Rotation = 90; spinnerGradient.Parent = spinnerStroke
local creditsText = Instance.new("TextLabel"); creditsText.Size = UDim2.new(1, 0, 0, 50); creditsText.Position = UDim2.new(0.5, 0, 0.5, 0); creditsText.AnchorPoint = Vector2.new(0.5, 0.5); creditsText.BackgroundTransparency = 1; creditsText.Font = Enum.Font.GothamBold; creditsText.Text = "Made with love by AkifRzayev"; creditsText.TextColor3 = Color3.fromRGB(255, 255, 255); creditsText.TextSize = 24; creditsText.TextTransparency = 1; creditsText.Parent = loadingContainer

TweenService:Create(loadingContainer, TweenInfo.new(0.5), {BackgroundTransparency = 0.5}):Play()
task.wait(0.5)
spinner.Visible = true
local rotationTween = TweenService:Create(spinner, TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut, -1), { Rotation = 360 }); rotationTween:Play()
task.wait(2.5)
local tweenInfoFadeOut = TweenInfo.new(0.4)
TweenService:Create(spinnerCanvas, tweenInfoFadeOut, { GroupTransparency = 1 }):Play(); task.wait(0.4)
rotationTween:Cancel(); spinner:Destroy()
local tweenInfoFadeIn = TweenInfo.new(0.6)
TweenService:Create(creditsText, tweenInfoFadeIn, { TextTransparency = 0 }):Play();
task.wait(2)
TweenService:Create(creditsText, tweenInfoFadeOut, { TextTransparency = 1 }):Play()
TweenService:Create(loadingContainer, tweenInfoFadeOut, { BackgroundTransparency = 1 }):Play()
task.wait(0.5); loadingContainer:Destroy()

window.Visible = true
showNotification()
windowCanvas.GroupTransparency = 1

local transparencyTween = TweenService:Create(windowCanvas, TweenInfo.new(0.5, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {GroupTransparency = 0})
transparencyTween:Play()

Features & Information

AutoFarm AutoSell Candy Auto Add Snowman

Community Comments (0)

No comments yet for this script.

More Scripts for Snowman Simulator ☃️