50 Days on a Raft Script
The 50 Days on a Raft Script helps players survive longer, gather resources faster, and automate important actions in the Roblox game. With features like Auto Gather, Auto Build, Infinite Stamina, and ESP, this script makes survival easier and more enjoyable.
What is 50 Days on a Raft Script?
The 50 Days on a Raft Script is a Lua script designed for the Roblox game 50 Days on a Raft. It gives players access to automated survival tools that help collect materials, build structures, defend against threats, and maintain resources without constant manual effort.
This script is perfect for players who want smoother progression and easier survival while spending more time exploring and less time grinding.

Features Of 50 Days on a Raft Script
1
Auto Gather Resources
Automatically collects wood, barrels, leaves, and floating materials around your raft.
2
Auto Build Structures
Automatically places and upgrades essential structures like floors, walls, nets, and crafting stations.
3
Infinite Stamina
Prevents your stamina from running out so you can move, swim, and work without slowing down.
Download & Copy All 50 Days on a Raft Script 2025
1. 50 Days on a Raft Script
--[[
WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
]]
local player = game:GetService("Players").LocalPlayer
local UIS = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local ScreenGui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui"))
ScreenGui.Name = "AutoFarmGUI"
ScreenGui.ResetOnSpawn = false
local Button = Instance.new("TextButton", ScreenGui)
Button.Size = UDim2.new(0, 140, 0, 45)
Button.Position = UDim2.new(0.05, 0, 0.3, 0)
Button.Text = "Auto Farm: OFF"
Button.BackgroundColor3 = Color3.fromRGB(255, 70, 70)
Button.TextScaled = true
Button.Active = true
local autoFarm = false
local dragging = false
local dragStart
local startPosButton
local function update(input)
local delta = input.Position - dragStart
Button.Position = UDim2.new(
startPosButton.X.Scale,
startPosButton.X.Offset + delta.X,
startPosButton.Y.Scale,
startPosButton.Y.Offset + delta.Y
)
end
local function dragBegin(input)
dragging = true
dragStart = input.Position
startPosButton = Button.Position
end
local function dragEnd(input)
dragging = false
end
Button.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch then
dragBegin(input)
end
end)
Button.InputEnded:Connect(dragEnd)
UIS.InputChanged:Connect(function(input)
if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement
or input.UserInputType == Enum.UserInputType.Touch) then
update(input)
end
end)
local function getNearestRoot()
local nearest
local minDistance = math.huge
local char = player.Character
if not char or not char:FindFirstChild("HumanoidRootPart") then return nil end
local hrp = char.HumanoidRootPart
for _, sea in ipairs(workspace.WorldSea:GetChildren()) do
for _, fish in ipairs(sea:GetChildren()) do
if fish:FindFirstChild("Model") and fish.Model:FindFirstChild("Root") then
local root = fish.Model.Root
local dist = (root.Position - hrp.Position).Magnitude
if dist < minDistance then
minDistance = dist
nearest = root
end
end
end
end
return nearest
end
local function tweenToRoot(root)
local char = player.Character
if not char or not char:FindFirstChild("HumanoidRootPart") then return end
local hrp = char.HumanoidRootPart
local distance = (root.Position - hrp.Position).Magnitude
local tweenInfo = TweenInfo.new(
distance / 60,
Enum.EasingStyle.Linear
)
local tween = TweenService:Create(hrp, tweenInfo, {
CFrame = CFrame.new(root.Position)
})
tween:Play()
return tween
end
local function findTool()
local char = player.Character
if not char then return nil end
for _, item in ipairs(char:GetChildren()) do
if item:IsA("Tool") then
return item
end
end
return nil
end
local function autoCast(root)
if not root then return end
local tool = findTool()
if not tool then return end
local args = {
[1] = "Fire",
[2] = {
cameraOrigin = workspace.CurrentCamera.CFrame.Position,
player = player,
toolInstance = tool,
destination = root.Position,
isCharge = false
}
}
game:GetService("ReplicatedStorage").Remotes.FireRE:FireServer(unpack(args))
end
task.spawn(function()
while true do
if autoFarm then
local root = getNearestRoot()
if root then
tweenToRoot(root)
task.wait(0.2)
autoCast(root)
end
end
task.wait(0.03)
end
end)
Button.MouseButton1Click:Connect(function()
autoFarm = not autoFarm
if autoFarm then
Button.Text = "Auto Farm: ON"
Button.BackgroundColor3 = Color3.fromRGB(70, 255, 70)
else
Button.Text = "Auto Farm: OFF"
Button.BackgroundColor3 = Color3.fromRGB(255, 70, 70)
end
end)
Also Read: Hatch 1 Million Chickens Script
How to use 50 Days on a Raft Script
- Install a working executor (Arceus X Neo, Delta, Fluxus, Evon, etc.).
- Copy the latest 50 Days on a Raft Script.
- Join the 50 Days on a Raft game on Roblox.
- Paste the script into your executor.
- Click Execute to load the GUI.
- Turn on features like Auto Gather, Auto Build, or ESP.
- Adjust settings based on your preferred survival style.
Frequently Asked Questions (FAQs)
Can this script help me survive longer?
Yes — features like Auto Gather, Auto Build, and Infinite Stamina make survival much easier.
Does it work on mobile?
Yes, mobile executors support it.
Will ESP help me find resources?
Absolutely — it highlights items, barrels, and threats around you.
Is Auto Craft included?
Yes, it automatically creates items when you have the materials.
Do I need frequent updates?
Only when the game receives major updates.
Conclusion
The 50 Days on a Raft Script is an excellent tool for players who want easier survival, faster resource gathering, and smoother gameplay. With automated features like Auto Gather, Auto Craft, Infinite Stamina, and ESP, you can focus on exploring and expanding your raft without constant manual work.
If you want a more enjoyable and efficient survival experience, this script is a great addition to your setup.