do local Players=game:GetService("Players");local player=Players.LocalPlayer;local state={ESP=true,Enemies=true,Items=true,InstantPrompt=true,InfiniteStamina=true,PerfectMachine=true,AutoFarm=false};local gui=Instance.new("ScreenGui");gui.Name="DevPanel";gui.ResetOnSpawn=false;gui.Parent=player:WaitForChild("PlayerGui");local frame=Instance.new("Frame");frame.Size=UDim2.new(0,260,0,340);frame.Position=UDim2.new(0,20,0,20);frame.BackgroundColor3=Color3.fromRGB(18,20,35);frame.BorderSizePixel=0;frame.Active=true;frame.Draggable=true;frame.Parent=gui;Instance.new("UICorner",frame).CornerRadius=UDim.new(0,12);local stroke=Instance.new("UIStroke");stroke.Thickness=1;stroke.Color=Color3.fromRGB(90,110,180);stroke.Transparency=0.2;stroke.Parent=frame;local function tab(name,x) local b=Instance.new("TextButton");b.Size=UDim2.new(0,80,0,28);b.Position=UDim2.new(0,x,0,10);b.BackgroundColor3=Color3.fromRGB(30,35,70);b.TextColor3=Color3.fromRGB(220,230,255);b.Font=Enum.Font.GothamBold;b.TextScaled=true;b.Text=name;b.Parent=frame;Instance.new("UICorner",b).CornerRadius=UDim.new(0,8);return b;end local espTab=tab("ESP",10);local tpTab=tab("TP",95);local helpTab=tab("HELP",180);local function page() local f=Instance.new("Frame");f.Size=UDim2.new(1, -20,1, -60);f.Position=UDim2.new(0,10,0,50);f.BackgroundTransparency=1;f.Visible=false;f.Parent=frame;return f;end local espPage=page();local tpPage=page();local helpPage=page();local function btn(parent,text,y) local b=Instance.new("TextButton");b.Size=UDim2.new(1,0,0,38);b.Position=UDim2.new(0,0,0,y);b.BackgroundColor3=Color3.fromRGB(30,35,70);b.TextColor3=Color3.fromRGB(220,230,255);b.Font=Enum.Font.GothamBold;b.TextScaled=true;b.Text=text;b.Parent=parent;Instance.new("UICorner",b).CornerRadius=UDim.new(0,10);local s=Instance.new("UIStroke");s.Thickness=1;s.Color=Color3.fromRGB(90,110,180);s.Transparency=0.4;s.Parent=b;return b;end local enemies=workspace:FindFirstChild("Enemies");local interacts=workspace:FindFirstChild("Interacts");local cache={};local function highlight(obj,color) if not state.ESP then return;end if not obj:IsA("BasePart") then return;end if (cache[obj] and cache[obj].Parent) then cache[obj].FillColor=color;return;end local h=Instance.new("Highlight");h.Adornee=obj;h.FillColor=color;h.OutlineColor=Color3.fromRGB(255,255,255);h.FillTransparency=0.3;h.Parent=obj;cache[obj]=h;end local function remove(obj) local h=cache[obj];if h then h:Destroy();cache[obj]=nil;end end local function process(obj) if not state.ESP then return;end if not enemies then return;end if (obj:IsA("BasePart") and obj:IsDescendantOf(enemies)) then if state.Enemies then highlight(obj,Color3.fromRGB(255,0,0));else remove(obj);end end end for _,v in pairs(workspace:GetDescendants()) do process(v);end workspace.DescendantAdded:Connect(process);local toolsFolder=workspace:FindFirstChild("Tools");local labelCache={};local function createLabel(obj) if labelCache[obj] then return;end if not obj:IsA("BasePart") then return;end local bill=Instance.new("BillboardGui");bill.Size=UDim2.new(0,100,0,30);bill.StudsOffset=Vector3.new(0,2.5,0);bill.AlwaysOnTop=true;local text=Instance.new("TextLabel");text.Size=UDim2.new(1,0,1,0);text.BackgroundTransparency=1;text.Text=obj.Name;text.TextColor3=Color3.fromRGB(255,255,255);text.TextStrokeTransparency=0;text.Font=Enum.Font.GothamBold;text.TextScaled=true;text.Parent=bill;bill.Parent=obj;labelCache[obj]=bill;end local function removeLabel(obj) if labelCache[obj] then labelCache[obj]:Destroy();labelCache[obj]=nil;end end local function processTools(obj) if not state.ESP then return;end if not toolsFolder then return;end if ((obj:IsA("Model") or obj:IsA("Tool")) and obj:IsDescendantOf(toolsFolder)) then local part=obj:FindFirstChild("Handle") or obj.PrimaryPart or obj:FindFirstChildWhichIsA("BasePart") ;if part then highlight(part,Color3.fromRGB(0,170,255));if not labelCache[obj] then local bill=Instance.new("BillboardGui");bill.Size=UDim2.new(0,100,0,30);bill.StudsOffset=Vector3.new(0,3,0);bill.AlwaysOnTop=true;local text=Instance.new("TextLabel");text.Size=UDim2.new(1,0,1,0);text.BackgroundTransparency=1;local displayName=obj.Name;if ((displayName=="Model") or (displayName=="Part")) then displayName="Item";end text.Text=displayName;text.TextColor3=Color3.fromRGB(255,255,255);text.TextStrokeTransparency=0;text.Font=Enum.Font.GothamBold;text.TextScaled=true;text.Parent=bill;bill.Parent=part;labelCache[obj]=bill;end end end end if toolsFolder then for _,v in pairs(toolsFolder:GetDescendants()) do processTools(v);end end workspace.DescendantAdded:Connect(function(obj) processTools(obj);end);local itemCollection=workspace:FindFirstChild("Interacts");itemCollection=itemCollection and itemCollection:FindFirstChild("ItemCollection") ;local itemCache={};local function highlightItem(obj) if not state.ESP then return;end if not state.Items then return;end if not obj:IsA("BasePart") then return;end if (itemCache[obj] and itemCache[obj].Parent) then return;end local h=Instance.new("Highlight");h.Adornee=obj;h.FillColor=Color3.fromRGB(0,255,0);h.OutlineColor=Color3.fromRGB(255,255,255);h.FillTransparency=0.3;h.Parent=obj;itemCache[obj]=h;end local function removeItem(obj) if itemCache[obj] then itemCache[obj]:Destroy();itemCache[obj]=nil;end end local function processItems(obj) if not itemCollection then return;end if (obj:IsA("SpecialMesh") and obj.Parent:IsA("BasePart")) then obj=obj.Parent;end if (obj:IsA("BasePart") and obj:IsDescendantOf(itemCollection)) then if (state.ESP and state.Items) then highlightItem(obj);else removeItem(obj);end end end if itemCollection then for _,v in pairs(itemCollection:GetDescendants()) do processItems(v);end end workspace.DescendantAdded:Connect(processItems);local TRAIN_POS=Vector3.new( -631.83,8.34,532.8);local function hrp() local c=player.Character;return c and c:FindFirstChild("HumanoidRootPart") ;end local function hasPrompt(part) for _,v in pairs(part:GetDescendants()) do if v:IsA("ProximityPrompt") then return true;end end return false;end local function getClosestMachine() local h=hrp();if ( not h or not interacts) then return;end local closest,dist=nil,math.huge;for _,obj in pairs(interacts:GetDescendants()) do if (obj:IsA("BasePart") and hasPrompt(obj)) then local d=(h.Position-obj.Position).Magnitude;if (d0) then for i= #activeCoils,1, -1 do local prompt=activeCoils[i];if ( not prompt or not prompt.Parent or not prompt.Enabled) then table.remove(activeCoils,i);continue;end local part=prompt.Parent;if part:IsA("BasePart") then h.CFrame=part.CFrame + Vector3.new(0,2,0) ;task.wait(0.05);fireproximityprompt(prompt);task.wait(0.15);end end continue;end local machine=getNextMachine();if not machine then h.CFrame=CFrame.new(TRAIN_DROP + Vector3.new(0,0,0) );task.wait(0.25);h.CFrame=CFrame.new(TRAIN_POS + Vector3.new(0,3,0) );task.wait(1);continue;end h.CFrame=machine.CFrame + Vector3.new(0,3,0) ;local working=true;while working and state.AutoFarm do task.wait(0.1);if isEnemyNear(15) then h.CFrame=CFrame.new(TRAIN_DROP + Vector3.new(0,3,0) );task.wait(0.25);h.CFrame=CFrame.new(TRAIN_POS + Vector3.new(0,3,0) );task.wait(4);h.CFrame=machine.CFrame + Vector3.new(0,3,0) ;end local foundPrompt=false;for _,v in pairs(machine:GetDescendants()) do if v:IsA("ProximityPrompt") then foundPrompt=true;fireproximityprompt(v);end end if not foundPrompt then completedMachines[machine]=true;working=false;end end task.wait(0.5);end end); end