Auto Battle + Max Battle Speed Evomon Script [No Key]
Features:
Steps to Use :
1. Click COPY button for auto copy script
2. Paste the script into your script application
3. Run and done
-- AutoBattle Script with Rayfield UI<br>local Players = game:GetService("Players")<br>local ReplicatedStorage = game:GetService("ReplicatedStorage")<br>local LocalPlayer = Players.LocalPlayer</p><p>-- ============================================================<br>-- CONFIGURATION<br>-- ============================================================</p><p>local Config = {<br> Enabled = true,<br> StartDelay = 1.0,<br> FullAuto = true,<br> WildEncounters = true,<br> TrainerBattles = true,<br> NpcBattles = true,<br> BossBattles = false,<br> DungeonEncounters = true,<br> PvP = false,<br> AutoSelectSkill = false,<br> AutoSwitch = true,<br> AutoCatch = false,<br> ActionDelay = 0.5,<br> BattleSpeedMult = 10,<br>}</p><p>local isActive = false<br>local currentBattleType = nil</p><p>-- ============================================================<br>-- GET REMOTES<br>-- ============================================================</p><p>local Remote = ReplicatedStorage:FindFirstChild("Remote")<br>if not Remote then return end</p><p>local BattleRemote = Remote:FindFirstChild("Battle")<br>if not BattleRemote then return end</p><p>local ReqAutoBattle = BattleRemote:FindFirstChild("ReqAutoBattle")<br>local ReqOperateBattle = BattleRemote:FindFirstChild("ReqOperateBattle")</p><p>-- ============================================================<br>-- GET BINDABLES<br>-- ============================================================</p><p>local Bindable = ReplicatedStorage:FindFirstChild("Bindable")<br>local BattleBindable = Bindable and Bindable:FindFirstChild("Battle")<br>local ClientBattleStart = BattleBindable and BattleBindable:FindFirstChild("ClientBattleStart")</p><p>-- ============================================================<br>-- GET SERVICES<br>-- ============================================================</p><p>local Script = ReplicatedStorage:FindFirstChild("Script")<br>local BattleScript = Script and Script:FindFirstChild("Battle")<br>local BattleService = nil</p><p>if BattleScript then<br> pcall(function()<br> BattleService = require(BattleScript:WaitForChild("BattleService", 10))<br> end)<br>end</p><p>-- ============================================================<br>-- UTILITY FUNCTIONS<br>-- ============================================================</p><p>local function isBattleTypeEnabled(battleType)<br> if battleType == 1 then return Config.WildEncounters<br> elseif battleType == 4 then return Config.TrainerBattles<br> elseif battleType == 3 then return Config.BossBattles<br> elseif battleType == 6 then return Config.DungeonEncounters<br> elseif battleType == 5 then return Config.PvP<br> end<br> return true<br>end</p><p>local function getBattleType()<br> if not BattleService then return nil end<br> local battle = BattleService.getCurrentBattle()<br> if battle and type(battle) == "table" then<br> return battle.type<br> end<br> return nil<br>end</p><p>local function enableAutoBattle()<br> if not ReqAutoBattle then return false end<br> <br> local success, result = pcall(function()<br> return ReqAutoBattle:InvokeServer(Config.FullAuto)<br> end)<br> <br> if success then<br> isActive = true<br> return true<br> end<br> return false<br>end</p><p>local function disableAutoBattle()<br> if not ReqAutoBattle then return end<br> pcall(function()<br> ReqAutoBattle:InvokeServer(false)<br> end)<br> isActive = false<br>end</p><p>-- ============================================================<br>-- BATTLE MONITOR<br>-- ============================================================</p><p>local function onBattleStart()<br> if not Config.Enabled then return end<br> <br> local battleType = getBattleType()<br> currentBattleType = battleType<br> <br> if not isBattleTypeEnabled(battleType) then return end<br> <br> task.delay(Config.StartDelay, function()<br> enableAutoBattle()<br> end)<br>end</p><p>local function onBattleEnd()<br> isActive = false<br> currentBattleType = nil<br>end</p><p>if ClientBattleStart then<br> ClientBattleStart.Event:Connect(onBattleStart)<br>end</p><p>if BattleRemote:FindFirstChild("ResSettleBattle") then<br> BattleRemote.ResSettleBattle.OnClientEvent:Connect(function()<br> task.wait(0.5)<br> onBattleEnd()<br> end)<br>end</p><p>-- ============================================================<br>-- AUTO-ACTION LOOP<br>-- ============================================================</p><p>task.spawn(function()<br> while true do<br> task.wait(Config.ActionDelay)<br> <br> if not isActive or not Config.Enabled then continue end<br> <br> if not Config.FullAuto and ReqOperateBattle then<br> pcall(function()<br> local actionData = {<br> actionType = 1,<br> skillId = 0,<br> targetCampId = 2,<br> targetPos = 1,<br> }<br> ReqOperateBattle:InvokeServer(actionData)<br> end)<br> end<br> end<br>end)</p><p>-- ============================================================<br>-- BATTLE SPEED HACK<br>-- ============================================================</p><p>task.spawn(function()<br> local ScriptFolder = ReplicatedStorage:FindFirstChild("Script", 15)<br> if not ScriptFolder then return end<br> <br> local BattleChoreo = ScriptFolder:FindFirstChild("BattleChoreo", 15)<br> if not BattleChoreo then return end<br> <br> local Basic = BattleChoreo:FindFirstChild("Basic", 15)<br> if not Basic then return end<br> <br> local ChoreoConstModule = Basic:FindFirstChild("BattleChoreoConst", 15)<br> if not ChoreoConstModule then return end<br> <br> local success, CC = pcall(require, ChoreoConstModule)<br> <br> if success and type(CC) == "table" then<br> local mult = Config.BattleSpeedMult<br> <br> if type(CC.DefaultActionWaitTime) == "number" then<br> CC.DefaultActionWaitTime = CC.DefaultActionWaitTime / mult<br> end<br> if type(CC.SettleNodeWaitTime) == "number" then<br> CC.SettleNodeWaitTime = CC.SettleNodeWaitTime / mult<br> end<br> if type(CC.StartBattleBeforeChoreographyDelayTime) == "number" then<br> CC.StartBattleBeforeChoreographyDelayTime = CC.StartBattleBeforeChoreographyDelayTime / mult<br> end<br> <br> if type(CC.ActionWaitTimeByType) == "table" then<br> for k, v in pairs(CC.ActionWaitTimeByType) do<br> if type(v) == "number" then<br> CC.ActionWaitTimeByType[k] = v / mult<br> end<br> end<br> end<br> end<br> <br> -- SkillPerformanceCfg<br> local Pet = ScriptFolder:FindFirstChild("Pet", 15)<br> if not Pet then return end<br> <br> local Cfg = Pet:FindFirstChild("Cfg", 15)<br> if not Cfg then return end<br> <br> local SkillCfgModule = Cfg:FindFirstChild("SkillPerformanceCfg", 15)<br> if not SkillCfgModule then return end<br> <br> local success2, SC = pcall(require, SkillCfgModule)<br> <br> if success2 and type(SC) == "table" then<br> local mult = Config.BattleSpeedMult<br> <br> for skillId, data in pairs(SC) do<br> if type(data) == "table" and type(data.finishWaitTime) == "number" then<br> data.finishWaitTime = math.max(50, math.floor(data.finishWaitTime / mult))<br> end<br> end<br> end<br>end)</p><p>-- ============================================================<br>-- RAYFIELD UI<br>-- ============================================================</p><p>local Rayfield = loadstring(game:HttpGet("https://sirius.menu/rayfield"))()</p><p>local Window = Rayfield:CreateWindow({<br> Name = "Auto Battle",<br> Icon = 0,<br> LoadingTitle = "Loading...",<br> LoadingSubtitle = "by Script",<br> ConfigurationSaving = {<br> Enabled = true,<br> FolderName = "AutoBattleConfig",<br> FileName = "Settings"<br> },<br> Discord = {<br> Enabled = false<br> },<br> KeySystem = false<br>})</p><p>-- Main Tab<br>local MainTab = Window:CreateTab("Main", 0)</p><p>local MainSection = MainTab:CreateSection("Auto Battle Settings")</p><p>MainTab:CreateToggle({<br> Name = "Enable Auto Battle",<br> CurrentValue = Config.Enabled,<br> Flag = "AutoBattleEnabled",<br> Callback = function(Value)<br> Config.Enabled = Value<br> if not Value and isActive then<br> disableAutoBattle()<br> end<br> end,<br>})</p><p>MainTab:CreateToggle({<br> Name = "Full Auto Mode",<br> CurrentValue = Config.FullAuto,<br> Flag = "FullAutoMode",<br> Callback = function(Value)<br> Config.FullAuto = Value<br> if isActive then<br> enableAutoBattle()<br> end<br> end,<br>})</p><p>MainTab:CreateSlider({<br> Name = "Start Delay (seconds)",<br> Range = {0, 5},<br> Increment = 0.1,<br> Suffix = "s",<br> CurrentValue = Config.StartDelay,<br> Flag = "StartDelay",<br> Callback = function(Value)<br> Config.StartDelay = Value<br> end,<br>})</p><p>MainTab:CreateSlider({<br> Name = "Action Delay (seconds)",<br> Range = {0.1, 2},<br> Increment = 0.1,<br> Suffix = "s",<br> CurrentValue = Config.ActionDelay,<br> Flag = "ActionDelay",<br> Callback = function(Value)<br> Config.ActionDelay = Value<br> end,<br>})</p><p>MainTab:CreateSlider({<br> Name = "Battle Speed Multiplier",<br> Range = {1, 20},<br> Increment = 1,<br> Suffix = "x",<br> CurrentValue = Config.BattleSpeedMult,<br> Flag = "BattleSpeed",<br> Callback = function(Value)<br> Config.BattleSpeedMult = Value<br> end,<br>})</p><p>-- Battle Types Tab<br>local BattleTab = Window:CreateTab("Battle Types", 1)</p><p>local BattleSection = BattleTab:CreateSection("Enable Battle Types")</p><p>BattleTab:CreateToggle({<br> Name = "Wild Encounters",<br> CurrentValue = Config.WildEncounters,<br> Flag = "WildEncounters",<br> Callback = function(Value)<br> Config.WildEncounters = Value<br> end,<br>})</p><p>BattleTab:CreateToggle({<br> Name = "Trainer Battles",<br> CurrentValue = Config.TrainerBattles,<br> Flag = "TrainerBattles",<br> Callback = function(Value)<br> Config.TrainerBattles = Value<br> end,<br>})</p><p>BattleTab:CreateToggle({<br> Name = "NPC Battles",<br> CurrentValue = Config.NpcBattles,<br> Flag = "NpcBattles",<br> Callback = function(Value)<br> Config.NpcBattles = Value<br> end,<br>})</p><p>BattleTab:CreateToggle({<br> Name = "Boss Battles",<br> CurrentValue = Config.BossBattles,<br> Flag = "BossBattles",<br> Callback = function(Value)<br> Config.BossBattles = Value<br> end,<br>})</p><p>BattleTab:CreateToggle({<br> Name = "Dungeon Encounters",<br> CurrentValue = Config.DungeonEncounters,<br> Flag = "DungeonEncounters",<br> Callback = function(Value)<br> Config.DungeonEncounters = Value<br> end,<br>})</p><p>BattleTab:CreateToggle({<br> Name = "PvP Battles",<br> CurrentValue = Config.PvP,<br> Flag = "PvP",<br> Callback = function(Value)<br> Config.PvP = Value<br> end,<br>})</p><p>-- Advanced Tab<br>local AdvancedTab = Window:CreateTab("Advanced", 2)</p><p>local AdvancedSection = AdvancedTab:CreateSection("Advanced Options")</p><p>AdvancedTab:CreateToggle({<br> Name = "Auto Select Skill",<br> CurrentValue = Config.AutoSelectSkill,<br> Flag = "AutoSelectSkill",<br> Callback = function(Value)<br> Config.AutoSelectSkill = Value<br> end,<br>})</p><p>AdvancedTab:CreateToggle({<br> Name = "Auto Switch Pet",<br> CurrentValue = Config.AutoSwitch,<br> Flag = "AutoSwitch",<br> Callback = function(Value)<br> Config.AutoSwitch = Value<br> end,<br>})</p><p>AdvancedTab:CreateToggle({<br> Name = "Auto Catch (Wild)",<br> CurrentValue = Config.AutoCatch,<br> Flag = "AutoCatch",<br> Callback = function(Value)<br> Config.AutoCatch = Value<br> end,<br>})</p><p>-- Status Tab<br>local StatusTab = Window:CreateTab("Status", 3)</p><p>local StatusSection = StatusTab:CreateSection("Current Status")</p><p>StatusTab:CreateLabel("Auto Battle Status:")<br>StatusTab:CreateLabel("• Enabled: " .. tostring(Config.Enabled))</p><p>StatusTab:CreateLabel("Current Battle Status:")<br>local StatusLabel = StatusTab:CreateLabel("• Not in battle")</p><p>-- Update status<br>task.spawn(function()<br> while true do<br> task.wait(1)<br> local status = isActive and "Active" or "Inactive"<br> local battleType = currentBattleType or "None"<br> StatusLabel:Set("• Status: " .. status .. " | Battle Type: " .. tostring(battleType))<br> end<br>end)</p><p>-- Buttons<br>local ButtonSection = MainTab:CreateSection("Controls")</p><p>MainTab:CreateButton({<br> Name = "Enable Auto Battle Now",<br> Callback = function()<br> Config.Enabled = true<br> enableAutoBattle()<br> end,<br>})</p><p>MainTab:CreateButton({<br> Name = "Disable Auto Battle",<br> Callback = function()<br> Config.Enabled = false<br> disableAutoBattle()<br> end,<br>})</p><p>MainTab:CreateButton({<br> Name = "Refresh Battle Detection",<br> Callback = function()<br> local battleType = getBattleType()<br> if battleType then<br> currentBattleType = battleType<br> end<br> end,<br>})</p><p>print("Auto Battle UI Loaded Successfully!")
This sctipt is available for free download. You may download and use it according to the free item policy.