Roblox DELTARUNE Fight Script (October 2026)

PUBLISHEDUPDATED
1 Available ScriptFree

Playing smarter on mobile is the only way to survive tough battles without losing your mind, and using a DELTARUNE Fight script makes handling chaotic boss patterns way less painful.

This experience is a classic fight sim fan game where you test your skills in intense showdowns, replay classic boss fights, and grind out wins against tricky enemies using simple keyboard controls.

If you want to breeze past the annoying parts and stop dying on the same attack pattern, grab the working script below and jump straight back into the action.

DELTARUNE Fight Script – Click Teleport god mode infinite tp & More

Click Teleport god mode infinite tp & MoreFree
Click Teleport god mode infinite tp
-- Load Rayfield Library
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")

local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")

----------------------------------------------------
-- TARGET OBJECT LOCATOR
----------------------------------------------------
local function getSoulField()
	local gameUI = PlayerGui:FindFirstChild("GameUI")
	if not gameUI then return nil end
	
	local main = gameUI:FindFirstChild("Main")
	local activeBattle = main and main:FindFirstChild("ActiveBattle")
	local battleMain = activeBattle and activeBattle:FindFirstChild("Main")
	local base = battleMain and battleMain:FindFirstChild("Base")
	return base and base:FindFirstChild("SoulField")
end

local function getSoulObject()
	local soulField = getSoulField()
	return soulField and soulField:FindFirstChild("Soul")
end

----------------------------------------------------
-- RAYFIELD WINDOW CREATION
----------------------------------------------------
local Window = Rayfield:CreateWindow({
   Name = "Deptarunebattle yes",
   LoadingTitle = "Loading deltarune battle",
   LoadingSubtitle = "uh put smtng",
   ConfigurationSaving = {
      Enabled = false,
   },
   KeySystem = false,
})

local SoulTab = Window:CreateTab("Soul", "user")
local GrazeTab = Window:CreateTab("Graze", "zap")

----------------------------------------------------
-- STATE VARIABLES
----------------------------------------------------
local teleportEnabled = false
local isTeleportDragging = false
local removeHitboxesEnabled = false

local infiniteTPEnabled = false
local finishTurnButtonEnabled = false

-- Floating Draggable Button Reference
local floatingGui = nil
local floatingButton = nil

----------------------------------------------------
-- RAYFIELD ELEMENTS: SOUL TAB
----------------------------------------------------
SoulTab:CreateToggle({
   Name = "Click Teleport",
   CurrentValue = false,
   Flag = "TeleportToggle",
   Callback = function(Value)
      teleportEnabled = Value
      if not Value then
         isTeleportDragging = false
      end
   end,
})

SoulTab:CreateToggle({
   Name = "Remove All Hitboxes",
   CurrentValue = false,
   Flag = "RemoveHitboxToggle",
   Callback = function(Value)
      removeHitboxesEnabled = Value
   end,
})

----------------------------------------------------
-- RAYFIELD ELEMENTS: GRAZE TAB
----------------------------------------------------
GrazeTab:CreateToggle({
   Name = "Infinite TP",
   CurrentValue = false,
   Flag = "InfiniteTPToggle",
   Callback = function(Value)
      infiniteTPEnabled = Value
   end,
})

GrazeTab:CreateToggle({
   Name = "Finish Enemy Turn Button",
   CurrentValue = false,
   Flag = "FinishTurnToggle",
   Callback = function(Value)
      finishTurnButtonEnabled = Value
      
      if Value then
         -- Create Floating Draggable Button
         if floatingGui then floatingGui:Destroy() end
         
         floatingGui = Instance.new("ScreenGui")
         floatingGui.Name = "FinishTurnScreenGui"
         floatingGui.ResetOnSpawn = false
         floatingGui.DisplayOrder = 999999
         floatingGui.Parent = PlayerGui

         floatingButton = Instance.new("TextButton")
         floatingButton.Name = "FinishTurnButton"
         floatingButton.Size = UDim2.new(0, 140, 0, 45)
         floatingButton.Position = UDim2.new(0.5, -70, 0.1, 0)
         floatingButton.BackgroundColor3 = Color3.fromRGB(180, 40, 40)
         floatingButton.TextColor3 = Color3.fromRGB(255, 255, 255)
         floatingButton.Text = "FINISH TURN"
         floatingButton.Font = Enum.Font.SourceSansBold
         floatingButton.TextSize = 14
         floatingButton.Active = true
         floatingButton.Parent = floatingGui

         local corner = Instance.new("UICorner")
         corner.CornerRadius = UDim.new(0, 6)
         corner.Parent = floatingButton

         -- Draggable logic for floating button
         local dragging, dragInput, dragStart, startPos
         
         floatingButton.InputBegan:Connect(function(input)
            if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
               dragging = true
               dragStart = input.Position
               startPos = floatingButton.Position

               input.Changed:Connect(function()
                  if input.UserInputState == Enum.UserInputState.End then
                     dragging = false
                  end
               end)
            end
         end)

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

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

         -- Click / Touch behavior to fire SequenceDone remote
         floatingButton.MouseButton1Click:Connect(function()
            local remotes = ReplicatedStorage:FindFirstChild("Remotes")
            local seqDoneEvent = remotes and remotes:FindFirstChild("Battle_SequenceDone")
            if seqDoneEvent then
               pcall(function()
                  seqDoneEvent:FireServer()
               end)
            end
         end)
      else
         -- Remove Floating Button
         if floatingGui then
            floatingGui:Destroy()
            floatingGui = nil
            floatingButton = nil
         end
      end
   end,
})

----------------------------------------------------
-- CLICK TELEPORT LOGIC
----------------------------------------------------
local function updateSoulToPosition(inputPos)
	local soul = getSoulObject()
	local soulField = getSoulField()
	if not soul or not soulField then return end

	local absPos = soulField.AbsolutePosition
	local localX = inputPos.X - absPos.X
	local localY = inputPos.Y - absPos.Y

	local soulSize = soul.AbsoluteSize
	local anchor = soul.AnchorPoint

	local targetX = localX - (soulSize.X * anchor.X)
	local targetY = localY - (soulSize.Y * anchor.Y)

	soul.Position = UDim2.new(0, targetX, 0, targetY)
end

UserInputService.InputBegan:Connect(function(input, gameProcessed)
	if not teleportEnabled or gameProcessed then return end
	if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
		isTeleportDragging = true
		updateSoulToPosition(input.Position)
	end
end)

UserInputService.InputEnded:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
		isTeleportDragging = false
	end
end)

UserInputService.InputChanged:Connect(function(input)
	if teleportEnabled and isTeleportDragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
		updateSoulToPosition(input.Position)
	end
end)

----------------------------------------------------
-- HITBOX REMOVER
----------------------------------------------------
local function destroyHitboxes()
	if not removeHitboxesEnabled then return end

	for _, descendant in ipairs(PlayerGui:GetDescendants()) do
		if descendant:IsA("GuiObject") then
			local nameLower = string.lower(descendant.Name)
			if string.find(nameLower, "hitbox") or string.find(nameLower, "damage") or string.find(nameLower, "collider") then
				pcall(function()
					descendant:Destroy()
				end)
			end
		end
	end
end

----------------------------------------------------
-- INSTANT REMOTE FIRE HELPERS
----------------------------------------------------
local function fireTP(count)
	local remotes = ReplicatedStorage:FindFirstChild("Remotes")
	local grazedEvent = remotes and remotes:FindFirstChild("Battle_Grazed")
	if grazedEvent then
		local args = {
			[1] = nil,
			[2] = math.random() * 0.5,
			[3] = nil,
			n = 3,
		}
		for i = 1, count do
			task.spawn(function()
				grazedEvent:FireServer(unpack(args, 1, args.n or #args))
			end)
		end
	end
end

----------------------------------------------------
-- MAIN BACKGROUND LOOP
----------------------------------------------------
task.spawn(function()
	while task.wait(0.05) do
		-- Hitbox Destroyer
		destroyHitboxes()

		-- Instant Background TP
		if infiniteTPEnabled then
			fireTP(100)
		end
	end
end)
Executor compatibility changes over time. Check current reports before testing.

Copy the code above into a compatible Roblox script executor if you choose to test it.

DELTARUNE Fight Script Status

✓AvailabilityFree
$Price$0
◫CompatibilityDesktop & Mobile
★SafetyVerified

Roblox and game updates can affect compatibility, so the script’s status should be treated as temporary rather than guaranteed.

Frequently Asked Questions

What is a DELTARUNE Fight script?

A DELTARUNE Fight script is third-party Lua code intended to run alongside the Roblox game through a compatible script executor.

What features does this DELTARUNE Fight script include?

Different scripts contain different code. This version includes: Click Teleport god mode infinite tp.

How do you use the DELTARUNE Fight script?

Pick a compatible executor such as Hydrogen, MacSploit, AWP.GG, Delta, Fluxus, Codex, launch Roblox and join the game, copy the complete Lua code from the script card above, paste it into the executor’s editor, and click Run or Execute. Compatibility changes over time, so a name here doesn’t guarantee current support.

Can a DELTARUNE Fight script get your Roblox account banned?

Yes. Third-party scripts can violate Roblox rules and may put an account at risk. Only use code from a source you trust, never enter your Roblox password into a script or executor, and test on an alternate account first.

Does the DELTARUNE Fight script work on mobile?

Check whether both the executor and the script support your device and the current Roblox version. Mobile executor support does not guarantee that every script will work.

Check out our Roblox Scripts hub and Roblox Games Directory for more.

Leave a Comment