craftwars redux health changer
Key RequiredUniversal

craftwars redux health changer

Universal ScriptT4444T4444 783 views 302 executesUpdated May 3, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•162 lines (4998 chars)
-- Roblox LocalScript GUI: Armor protector (manual tool name + value), mobile draggable, respawn-safe

local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local player = Players.LocalPlayer

-- helper to get character + humanoid safely
local function getCharHum()
    local char = player.Character or player.CharacterAdded:Wait()
    local hum = char:WaitForChild("Humanoid")
    return char, hum
end

-- find any tool in backpack that matches the name (user input)
local function getArmorTool(name)
    if not name or name == "" then return nil end
    local backpack = player:WaitForChild("Backpack")
    local tool = backpack:FindFirstChild(name)
    if tool and tool:FindFirstChild("RemoteFunction") then
        return tool
    end
    return nil
end

-- GUI
local gui = Instance.new("ScreenGui")
gui.Name = "ArmorProtectGUI"
gui.ResetOnSpawn = true
gui.Parent = player:WaitForChild("PlayerGui")

local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 260, 0, 200)
frame.Position = UDim2.new(0.5, -130, 0.5, -100)
frame.BackgroundColor3 = Color3.fromRGB(20,20,26)
frame.BorderSizePixel = 0
frame.Parent = gui
Instance.new("UICorner", frame).CornerRadius = UDim.new(0,12)

local title = Instance.new("TextLabel")
title.Size = UDim2.new(1,0,0,30)
title.BackgroundTransparency = 1
title.Text = "Armor Protector"
title.Font = Enum.Font.GothamBold
title.TextSize = 16
title.TextColor3 = Color3.fromRGB(255,255,255)
title.Parent = frame

local status = Instance.new("TextLabel")
status.Size = UDim2.new(1,-10,0,18)
status.Position = UDim2.new(0,5,0,28)
status.BackgroundTransparency = 1
status.Text = "Idle"
status.Font = Enum.Font.Gotham
status.TextSize = 12
status.TextColor3 = Color3.fromRGB(180,180,180)
status.Parent = frame

-- armor name input
local nameBox = Instance.new("TextBox")
nameBox.Size = UDim2.new(1,-20,0,28)
nameBox.Position = UDim2.new(0,10,0,52)
nameBox.PlaceholderText = "Armor Tool Name"
nameBox.Text = "Omega Death Armour"
nameBox.Font = Enum.Font.Gotham
nameBox.TextSize = 14
nameBox.BackgroundColor3 = Color3.fromRGB(34,34,42)
nameBox.TextColor3 = Color3.fromRGB(255,255,255)
nameBox.BorderSizePixel = 0
nameBox.Parent = frame
Instance.new("UICorner", nameBox).CornerRadius = UDim.new(0,8)

-- value input (max 6,000,000)
local valueBox = Instance.new("TextBox")
valueBox.Size = UDim2.new(1,-20,0,28)
valueBox.Position = UDim2.new(0,10,0,86)
valueBox.PlaceholderText = "Protection Value (max 6000000)"
valueBox.Text = "11375"
valueBox.Font = Enum.Font.Gotham
valueBox.TextSize = 14
valueBox.BackgroundColor3 = Color3.fromRGB(34,34,42)
valueBox.TextColor3 = Color3.fromRGB(255,255,255)
valueBox.BorderSizePixel = 0
valueBox.Parent = frame
Instance.new("UICorner", valueBox).CornerRadius = UDim.new(0,8)

local applyBtn = Instance.new("TextButton")
applyBtn.Size = UDim2.new(1,-20,0,34)
applyBtn.Position = UDim2.new(0,10,0,128)
applyBtn.Text = "APPLY"
applyBtn.Font = Enum.Font.GothamBold
applyBtn.TextSize = 14
applyBtn.BackgroundColor3 = Color3.fromRGB(0,170,120)
applyBtn.TextColor3 = Color3.new(1,1,1)
applyBtn.BorderSizePixel = 0
applyBtn.Parent = frame
Instance.new("UICorner", applyBtn).CornerRadius = UDim.new(0,8)

-- draggable (mobile + pc)
local dragging = false
local dragInput, dragStart, startPos

frame.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        dragging = true
        dragStart = input.Position
        startPos = frame.Position
        input.Changed:Connect(function()
            if input.UserInputState == Enum.UserInputState.End then
                dragging = false
            end
        end)
    end
end)

frame.InputChanged:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
        dragInput = input
    end
end)

UIS.InputChanged:Connect(function(input)
    if dragging and input == dragInput then
        local delta = input.Position - dragStart
        frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
    end
end)

-- apply logic
applyBtn.MouseButton1Click:Connect(function()
    local toolName = nameBox.Text
    local value = tonumber(valueBox.Text) or 0
    if value > 6000000 then value = 6000000 end

    local tool = getArmorTool(toolName)
    if not tool then
        status.Text = "Tool not found"
        return
    end

    local remote = tool:FindFirstChild("RemoteFunction")
    if not remote then
        status.Text = "No RemoteFunction"
        return
    end

    local char, hum = getCharHum()

    local args = {
        [1] = "protect",
        [2] = {char, hum, value}
    }

    local success, err = pcall(function()
        remote:InvokeServer(unpack(args))
    end)

    if success then
        status.Text = "Applied: " .. tostring(value)
    else
        status.Text = "Error"
    end
end)

Features & Information

need to manually input the armour you have just need any armour can only get 6 million hp that's the health cap but you won't be able to die to any boss (they do only 400k max damage)

Community Comments (1)

T4444T4444May 3, 2026

also fe not just cilent sided adding a money changer and rank changer soon

More Scripts for Universal Scripts