Dust Sans Simulator Silent aim a version update
Key Required

Dust Sans Simulator Silent aim a version update

(RESET 3 PART 1) Dust Sans Simulator - The Remake alfountain18alfountain18 4.7K views 56 executesUpdated Aug 16, 2025
Unrated
00
Lua Script•324 lines (11844 chars)
--// Services
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local enemiesFolder = workspace:WaitForChild("Enemys")

-- --- GUI Setup ---
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "EnemyAimGUI"
screenGui.ResetOnSpawn = false
screenGui.Parent = player:WaitForChild("PlayerGui")

local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 500, 0, 380)
mainFrame.Position = UDim2.new(0.3, 0, 0.3, 0)
mainFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Parent = screenGui

local uiCorner = Instance.new("UICorner")
uiCorner.CornerRadius = UDim.new(0, 12)
uiCorner.Parent = mainFrame

-- --- Left panel: enemy buttons ---
local leftPanel = Instance.new("Frame")
leftPanel.Size = UDim2.new(0, 200, 1, -20)
leftPanel.Position = UDim2.new(0, 10, 0, 10)
leftPanel.BackgroundTransparency = 1
leftPanel.Parent = mainFrame

local leftScroll = Instance.new("ScrollingFrame")
leftScroll.Size = UDim2.new(1, 0, 1, 0)
leftScroll.CanvasSize = UDim2.new(0,0,0,0)
leftScroll.ScrollBarThickness = 6
leftScroll.BackgroundTransparency = 1
leftScroll.Parent = leftPanel

local leftLayout = Instance.new("UIListLayout")
leftLayout.Padding = UDim.new(0,5)
leftLayout.Parent = leftScroll

local enemyButtons = {}
local selectedEnemy = nil

-- --- Right panel: Silent Aim + Prediction + Slash Assist + Melee Assist ---
local rightPanel = Instance.new("Frame")
rightPanel.Size = UDim2.new(0, 280, 1, -20)
rightPanel.Position = UDim2.new(0, 210, 0, 10)
rightPanel.BackgroundColor3 = Color3.fromRGB(60,60,60)
rightPanel.Visible = false
rightPanel.Parent = mainFrame

local uiCorner2 = Instance.new("UICorner")
uiCorner2.CornerRadius = UDim.new(0, 12)
uiCorner2.Parent = rightPanel

local silentTitle = Instance.new("TextLabel")
silentTitle.Size = UDim2.new(1, -20, 0, 40)
silentTitle.Position = UDim2.new(0, 10, 0, 10)
silentTitle.BackgroundTransparency = 1
silentTitle.TextColor3 = Color3.fromRGB(255,255,255)
silentTitle.Font = Enum.Font.SourceSansBold
silentTitle.TextScaled = true
silentTitle.Text = "Silent Aim"
silentTitle.Parent = rightPanel

local fireButton = Instance.new("TextButton")
fireButton.Size = UDim2.new(0, 260, 0, 50)
fireButton.Position = UDim2.new(0, 10, 0, 70)
fireButton.BackgroundColor3 = Color3.fromRGB(90,90,90)
fireButton.TextColor3 = Color3.fromRGB(255,255,255)
fireButton.Text = "Silent Aim Off"
fireButton.Parent = rightPanel

local predictionLabel = Instance.new("TextLabel")
predictionLabel.Size = UDim2.new(0, 260, 0, 30)
predictionLabel.Position = UDim2.new(0, 10, 0, 130)
predictionLabel.BackgroundTransparency = 1
predictionLabel.TextColor3 = Color3.fromRGB(255,255,255)
predictionLabel.Font = Enum.Font.SourceSans
predictionLabel.TextScaled = true
predictionLabel.Text = "Prediction: 0.1"
predictionLabel.Parent = rightPanel

local predictionSlider = Instance.new("TextBox")
predictionSlider.Size = UDim2.new(0, 260, 0, 30)
predictionSlider.Position = UDim2.new(0, 10, 0, 170)
predictionSlider.BackgroundColor3 = Color3.fromRGB(80,80,80)
predictionSlider.TextColor3 = Color3.fromRGB(255,255,255)
predictionSlider.Text = "0.1"
predictionSlider.ClearTextOnFocus = false
predictionSlider.Parent = rightPanel

-- NEW: Slash Assist toggle
local slashAssistEnabled = true
local slashButton = Instance.new("TextButton")
slashButton.Size = UDim2.new(0, 260, 0, 40)
slashButton.Position = UDim2.new(0, 10, 0, 210)
slashButton.BackgroundColor3 = Color3.fromRGB(90,90,90)
slashButton.TextColor3 = Color3.fromRGB(255,255,255)
slashButton.Text = "Slash Assist: On"
slashButton.Parent = rightPanel

-- NEW: Melee Assist toggle (no auto use; only when you click the tool)
local meleeAssistEnabled = false
local meleeButton = Instance.new("TextButton")
meleeButton.Size = UDim2.new(0, 260, 0, 40)
meleeButton.Position = UDim2.new(0, 10, 0, 255)
meleeButton.BackgroundColor3 = Color3.fromRGB(90,90,90)
meleeButton.TextColor3 = Color3.fromRGB(255,255,255)
meleeButton.Text = "Melee Assist: Off"
meleeButton.Parent = rightPanel

local silentAimEnabled = false
fireButton.MouseButton1Click:Connect(function()
    silentAimEnabled = not silentAimEnabled
    fireButton.Text = silentAimEnabled and "Silent Aim On" or "Silent Aim Off"
end)
slashButton.MouseButton1Click:Connect(function()
    slashAssistEnabled = not slashAssistEnabled
    slashButton.Text = slashAssistEnabled and "Slash Assist: On" or "Slash Assist: Off"
end)
meleeButton.MouseButton1Click:Connect(function()
    meleeAssistEnabled = not meleeAssistEnabled
    meleeButton.Text = meleeAssistEnabled and "Melee Assist: On" or "Melee Assist: Off"
end)

-- --- Universal Auto Aim ---
local universalButton = Instance.new("TextButton")
universalButton.Size = UDim2.new(0, 480, 0, 40)
universalButton.Position = UDim2.new(0, 10, 0, -50)
universalButton.BackgroundColor3 = Color3.fromRGB(100,100,100)
universalButton.TextColor3 = Color3.fromRGB(255,255,255)
universalButton.Text = "Universal Auto Aim: Off"
universalButton.Parent = mainFrame

local universalEnabled = false
local universalTarget = nil
universalButton.MouseButton1Click:Connect(function()
    universalEnabled = not universalEnabled
    universalButton.Text = universalEnabled and "Universal Auto Aim: On" or "Universal Auto Aim: Off"
end)

-- --- Helpers ---
local function getNearestEnemy()
    local char = player.Character
    if not char or not char:FindFirstChild("HumanoidRootPart") then return nil end
    local rootPos = char.HumanoidRootPart.Position
    local nearest, minDist = nil, math.huge
    for _, enemy in pairs(enemiesFolder:GetChildren()) do
        local torso = enemy:FindFirstChild("Torso") or enemy:FindFirstChild("HumanoidRootPart")
        if torso then
            local dist = (torso.Position - rootPos).Magnitude
            if dist <= 150 and dist < minDist then
                nearest = enemy
                minDist = dist
            end
        end
    end
    return nearest
end

-- --- Melee Tool Handling (only if toggle is ON and you click the tool) ---
local function meleeHit(tool)
    if not meleeAssistEnabled then return end
    local remote = tool:FindFirstChild("lo")
    if not remote then return end
    local target = getNearestEnemy()
    if target then
        remote:FireServer(player) -- keep original arg style from your game
    end
end

-- --- Slash TouchInterest Handling (robust; works with parts or a Slash folder) ---
local function handleSlashTouch()
    if not slashAssistEnabled then return end
    local active = workspace:FindFirstChild("ActiveAttacks")
    if not active then return end

    local target = selectedEnemy or getNearestEnemy()
    if not target then return end
    local torso = target:FindFirstChild("Torso") or target:FindFirstChild("HumanoidRootPart")
    if not torso then return end

    -- Handle both: a Folder named "Slash" or parts named "Slash"
    for _, child in ipairs(active:GetChildren()) do
        if child:IsA("Folder") and child.Name == "Slash" then
            for _, slash in ipairs(child:GetChildren()) do
                if slash:IsA("BasePart") and slash:FindFirstChildWhichIsA("TouchTransmitter") then
                    slash.CFrame = torso.CFrame
                end
            end
        elseif child:IsA("BasePart") and (child.Name == "Slash" or child.Name:lower():find("slash")) then
            if child:FindFirstChildWhichIsA("TouchTransmitter") then
                child.CFrame = torso.CFrame
            end
        end
    end
end

-- --- Bone Projectile Handling (kept fixed) ---
local function fireBone(tool)
    if not selectedEnemy then return end
    local head = selectedEnemy:FindFirstChild("Head")
    if not head then return end
    local remote = tool:FindFirstChild("RemoteEvent")
    if not remote then return end

    local pos = head.Position
    local cf = CFrame.new(pos)
    local args = { pos.X, pos.Y, pos.Z, Vector3.new(pos.X, pos.Y, pos.Z), cf }
    remote:FireServer(unpack(args))
end

-- --- Tool Activation ---
local function onToolActivated(tool)
    if tool:FindFirstChild("lo") then
        meleeHit(tool) -- only if meleeAssistEnabled
        return
    end

    if tool:FindFirstChild("RemoteEvent") and tool.Name:lower():find("bone") then
        fireBone(tool)
        return
    end

    if not silentAimEnabled or not selectedEnemy then return end
    local head = selectedEnemy:FindFirstChild("Head")
    if not head then return end
    local prediction = tonumber(predictionSlider.Text) or 0.1
    local vel = head.Velocity or Vector3.new()
    local predPos = head.Position + vel * prediction

    local remote = tool:FindFirstChildWhichIsA("RemoteEvent")
    if remote then
        remote:FireServer(CFrame.new(predPos), predPos.Y, predPos.Z)
        return
    end

    local scriptFolder = tool:FindFirstChild("Script")
    if scriptFolder then
        local frameEvent = scriptFolder:FindFirstChild("FrameEvent")
        if frameEvent and frameEvent:IsA("RemoteEvent") then
            frameEvent:FireServer(predPos.X, predPos.Y, predPos.Z)
        end
    end
end

local function connectTool(tool)
    if tool:IsA("Tool") then
        tool.Activated:Connect(function()
            onToolActivated(tool)
        end)
    end
end

player.Character.ChildAdded:Connect(connectTool)
if player.Character then
    for _, tool in pairs(player.Character:GetChildren()) do
        connectTool(tool)
    end
end

-- --- Enemy Buttons ---
local function refreshEnemyButtons()
    local char = player.Character
    local rootPos = char and char:FindFirstChild("HumanoidRootPart") and char.HumanoidRootPart.Position or Vector3.new()
    for _, enemy in pairs(enemiesFolder:GetChildren()) do
        local torso = enemy:FindFirstChild("Torso") or enemy:FindFirstChild("HumanoidRootPart")
        if torso then
            local distance = (torso.Position - rootPos).Magnitude
            if distance <= 150 then
                local btn = enemyButtons[enemy]
                if not btn then
                    btn = Instance.new("TextButton")
                    btn.Size = UDim2.new(1, -10, 0, 30)
                    btn.BackgroundColor3 = Color3.fromRGB(70,70,70)
                    btn.TextColor3 = Color3.fromRGB(255,255,255)
                    btn.Text = enemy.Name.." ("..math.floor(distance).." studs)"
                    btn.Parent = leftScroll
                    local corner = Instance.new("UICorner")
                    corner.CornerRadius = UDim.new(0,6)
                    corner.Parent = btn
                    btn.MouseButton1Click:Connect(function()
                        selectedEnemy = enemy
                        silentTitle.Text = "Silent Aim: "..enemy.Name
                        rightPanel.Visible = true
                    end)
                    enemyButtons[enemy] = btn
                else
                    btn.Text = enemy.Name.." ("..math.floor(distance).." studs)"
                end
            else
                if enemyButtons[enemy] then
                    enemyButtons[enemy]:Destroy()
                    enemyButtons[enemy] = nil
                end
            end
        end
    end
    leftScroll.CanvasSize = UDim2.new(0,0,0,leftLayout.AbsoluteContentSize.Y)
end

local function updateEnemyHighlight()
    for enemy, btn in pairs(enemyButtons) do
        if enemy == selectedEnemy or enemy == universalTarget then
            btn.BackgroundColor3 = Color3.fromRGB(255,0,0)
        else
            btn.BackgroundColor3 = Color3.fromRGB(70,70,70)
        end
    end
end

-- --- Run Updates ---
RunService.RenderStepped:Connect(function()
    refreshEnemyButtons()
    updateEnemyHighlight()
    if universalEnabled then
        universalTarget = getNearestEnemy()
        selectedEnemy = universalTarget
    end
    handleSlashTouch()
end)

Features & Information

ok prettu much a update now there a slash script thing (don't mind about the melee idk why chatgpt made that) but now im work on testing if i can get to where most projectiles go into the enemy. slient aim, universal slient aim (for new that just auto targets) slash teleportion, and i think that about it. remember to check account for updates.
#Dust sans simulator#Dust sans#Dust#Sans#Simulator

Community Comments (1)

RedScripter102RedScripter102Aug 17, 2025

It kinda useless sorry

More Scripts for (RESET 3 PART 1) Dust Sans Simulator - The Remake