Lewati ke konten
Berfungsi

Basic Script

CLclarkdevlinorg0 tayanganEvade26 Jul 2026
Bagikan
Basic Script

Kode Script

Lua
local p = game:GetService("Players")
local ws = game:GetService("Workspace")
local vim = game:GetService("VirtualInputManager")
local uis = game:GetService("UserInputService")
local rs = game:GetService("RunService")
local lp = p.LocalPlayer

local gui = Instance.new("ScreenGui")
gui.Name = "ChulFarm"
gui.ResetOnSpawn = false

if lp.PlayerGui:FindFirstChild("ChulFarm") then
    lp.PlayerGui:FindFirstChild("ChulFarm"):Destroy()
end
gui.Parent = lp.PlayerGui

local function drag(btn)
    local dragging = false
    local dragStart = nil
    local btnStart = nil
    
    btn.MouseButton1Down:Connect(function()
        dragging = true
        dragStart = uis:GetMouseLocation()
        btnStart = btn.Position
    end)
    
    uis.InputChanged:Connect(function(input)
        if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
            local delta = input.Position - dragStart
            btn.Position = UDim2.new(btnStart.X.Scale, btnStart.X.Offset + delta.X, btnStart.Y.Scale, btnStart.Y.Offset + delta.Y)
        end
    end)
    
    uis.InputEnded:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then
            dragging = false
        end
    end)
end

local farmBtn = Instance.new("TextButton")
farmBtn.Size = UDim2.new(0, 80, 0, 30)
farmBtn.Position = UDim2.new(0.02, 0, 0.80, 0)
farmBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
farmBtn.Text = "Temp V"
farmBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
farmBtn.TextSize = 12
farmBtn.Font = Enum.Font.SourceSansBold
farmBtn.Parent = gui
Instance.new("UICorner").Parent = farmBtn
drag(farmBtn)

local espBtn = Instance.new("TextButton")
espBtn.Size = UDim2.new(0, 80, 0, 30)
espBtn.Position = UDim2.new(0.02, 0, 0.87, 0)
espBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
espBtn.Text = "ESP: ON"
espBtn.TextColor3 = Color3.fromRGB(0, 255, 0)
espBtn.TextSize = 12
espBtn.Font = Enum.Font.SourceSansBold
espBtn.Parent = gui
Instance.new("UICorner").Parent = espBtn
drag(espBtn)

local playerESP = {}
local tempVESP = {}
local espEnabled = true

local function createPlayerESP(character)
    local highlight = Instance.new("Highlight")
    highlight.FillTransparency = 1
    highlight.OutlineTransparency = 0.2
    highlight.OutlineColor = Color3.fromRGB(173, 216, 230)
    highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
    highlight.Enabled = espEnabled
    highlight.Parent = character
    
    local conn
    conn = rs.RenderStepped:Connect(function()
        if not character or not character.Parent then
            if highlight then highlight:Destroy() end
            if conn then conn:Disconnect() end
        end
    end)
    
    return {highlight = highlight, conn = conn}
end

local function createTempVESP(part)
    local box = Instance.new("SelectionBox")
    box.Adornee = part
    box.Color3 = Color3.fromRGB(0, 255, 0)
    box.LineThickness = 0.08
    box.Transparency = 0.2
    box.Visible = espEnabled
    box.Parent = part
    
    local bill = Instance.new("BillboardGui")
    bill.Size = UDim2.new(0, 50, 0, 15)
    bill.StudsOffset = Vector3.new(0, 1.5, 0)
    bill.AlwaysOnTop = true
    bill.Enabled = espEnabled
    bill.Parent = part
    
    local label = Instance.new("TextLabel")
    label.Size = UDim2.new(1, 0, 1, 0)
    label.BackgroundTransparency = 1
    label.TextColor3 = Color3.fromRGB(0, 255, 0)
    label.TextStrokeTransparency = 0.2
    label.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
    label.TextScaled = true
    label.Font = Enum.Font.GothamBold
    label.Text = "V"
    label.Parent = bill
    
    local conn
    conn = rs.RenderStepped:Connect(function()
        if not part or not part.Parent then
            box:Destroy()
            bill:Destroy()
            if conn then conn:Disconnect() end
        end
    end)
    
    return {box = box, bill = bill, conn = conn}
end

local function updateTempV()
    local folder = ws:FindFirstChild("_TempVPickups")
    if not folder then return end
    
    for _, obj in ipairs(folder:GetDescendants()) do
        if obj:IsA("ProximityPrompt") and obj.Name == "TempVPickupPrompt" then
            local parent = obj.Parent
            if parent and parent:IsA("BasePart") and not tempVESP[parent] then
                tempVESP[parent] = createTempVESP(parent)
            end
        end
    end
    
    for obj, data in pairs(tempVESP) do
        if not obj or not obj.Parent then
            if data.box then data.box:Destroy() end
            if data.bill then data.bill:Destroy() end
            if data.conn then data.conn:Disconnect() end
            tempVESP[obj] = nil
        end
    end
end

local function addPlayerESP(player)
    if player == lp then return end
    
    if playerESP[player] then
        local old = playerESP[player]
        if old.highlight then old.highlight:Destroy() end
        if old.conn then old.conn:Disconnect() end
        playerESP[player] = nil
    end
    
    local char = player.Character
    if char then
        local esp = createPlayerESP(char)
        if esp then playerESP[player] = esp end
    end
end

local function updatePlayers()
    for _, player in ipairs(p:GetPlayers()) do
        if player ~= lp then addPlayerESP(player) end
    end
    
    for player, data in pairs(playerESP) do
        if not player or not player.Parent then
            if data.highlight then data.highlight:Destroy() end
            if data.conn then data.conn:Disconnect() end
            playerESP[player] = nil
        end
    end
end

local function toggleESP()
    espEnabled = not espEnabled
    
    for _, data in pairs(playerESP) do
        if data.highlight then data.highlight.Enabled = espEnabled end
    end
    
    for _, data in pairs(tempVESP) do
        if data.box then data.box.Visible = espEnabled end
        if data.bill then data.bill.Enabled = espEnabled end
    end
    
    if espEnabled then
        updatePlayers()
        updateTempV()
    end
    
    espBtn.Text = espEnabled and "ESP: ON" or "ESP: OFF"
    espBtn.TextColor3 = espEnabled and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(255, 0, 0)
end

local function getClosestPrompt()
    local char = lp.Character
    if not char or not char:FindFirstChild("HumanoidRootPart") then return nil end
    
    local hrp = char.HumanoidRootPart
    local folder = ws:FindFirstChild("_TempVPickups")
    if not folder then return nil end
    
    local minDist = math.huge
    local closest = nil
    
    for _, obj in ipairs(folder:GetDescendants()) do
        if obj:IsA("ProximityPrompt") and obj.Name == "TempVPickupPrompt" then
            local parent = obj.Parent
            if parent and parent:IsA("BasePart") then
                local dist = (hrp.Position - parent.Position).Magnitude
                if dist < minDist then
                    minDist = dist
                    closest = obj
                end
            end
        end
    end
    
    return closest
end

local function activatePrompt(prompt)
    prompt.HoldDuration = 0
    
    local success = pcall(function()
        fireproximityprompt(prompt, 1)
    end)
    
    if not success then
        local key = Enum.KeyCode.E
        pcall(function()
            if prompt.KeyboardKeyCode then
                key = prompt.KeyboardKeyCode
            end
        end)
        
        vim:SendKeyEvent(true, key, false, game)
        task.wait(0.05)
        vim:SendKeyEvent(false, key, false, game)
    end
end

local function onCharacterAdded(player, character)
    task.wait(0.2)
    if espEnabled and player ~= lp then
        addPlayerESP(player)
    end
end

for _, player in ipairs(p:GetPlayers()) do
    if player ~= lp then
        player.CharacterAdded:Connect(function(character)
            onCharacterAdded(player, character)
        end)
    end
end

p.PlayerAdded:Connect(function(player)
    if player ~= lp then
        task.wait(0.5)
        if espEnabled then addPlayerESP(player) end
        player.CharacterAdded:Connect(function(character)
            onCharacterAdded(player, character)
        end)
    end
end)

p.PlayerRemoving:Connect(function(player)
    if playerESP[player] then
        local data = playerESP[player]
        if data.highlight then data.highlight:Destroy() end
        if data.conn then data.conn:Disconnect() end
        playerESP[player] = nil
    end
end)

task.wait(0.5)
updatePlayers()
updateTempV()

spawn(function()
    while true do
        task.wait(2)
        if espEnabled then
            updatePlayers()
            updateTempV()
        end
    end
end)

farmBtn.MouseButton1Click:Connect(function()
    local char = lp.Character
    local hrp = char and char:FindFirstChild("HumanoidRootPart")
    
    if not hrp then
        farmBtn.Text = "Wait"
        task.wait(1)
        farmBtn.Text = "Temp V"
        return
    end
    
    local target = getClosestPrompt()
    
    if target and target.Parent then
        local part = target.Parent
        local originalColor = part.Color or Color3.fromRGB(255, 255, 255)
        part.Color = Color3.fromRGB(255, 200, 0)
        local originalPos = hrp.CFrame
        
        hrp.Velocity = Vector3.new(0, 0, 0)
        hrp.CFrame = part.CFrame * CFrame.new(0, 3, 0)
        
        task.wait(0.15)
        activatePrompt(target)
        task.wait(0.25)
        
        hrp.Velocity = Vector3.new(0, 0, 0)
        hrp.CFrame = originalPos
        
        task.wait(0.1)
        part.Color = originalColor
        
        farmBtn.Text = "Got!"
        task.wait(0.5)
        farmBtn.Text = "Temp V"
    else
        farmBtn.Text = "No item"
        task.wait(1)
        farmBtn.Text = "Temp V"
    end
end)

espBtn.MouseButton1Click:Connect(function()
    toggleESP()
end)

print("idk")

Komentar (0)

Masuk untuk ikut berdiskusi

  • Jadilah yang pertama berkomentar.

Pertanyaan yang sering diajukan

Bagaimana cara menggunakan script Basic Script?
Salin kode script di atas, buka executor Roblox Anda, tempel kodenya, lalu tekan execute saat Anda berada di dalam game. Fitur akan aktif seketika setelah script berjalan.
Apakah script Basic Script gratis?
Ya. Script ini gratis untuk disalin dan digunakan. Jika menggunakan sistem kunci, ikuti tautan "Dapatkan kunci" untuk membukanya tanpa biaya.
Apakah script Basic Script aman digunakan?
Kode sumber lengkap ditampilkan di halaman ini sehingga Anda bisa membaca persis apa yang dilakukannya sebelum menjalankannya. Selalu gunakan executor tepercaya, dan ingat bahwa menggunakan script melanggar ketentuan layanan Roblox, jadi gunakan dengan risiko Anda sendiri.
Executor mana yang kompatibel dengan Basic Script?
Script ini bekerja dengan sebagian besar executor Roblox populer. Lihat halaman executor kami untuk menemukan executor gratis atau berbayar yang tepercaya untuk perangkat Anda.
Basic Script | BloxScripter