local Players=game:GetService("Players")local Workspace=game:GetService("Workspace")local RunService=game:GetService("RunService")local UserInputService=game:GetService("UserInputService")local StarterGui=game:GetService("StarterGui")local HttpService=game:GetService("HttpService")local TweenService=game:GetService("TweenService")local LocalPlayer=Players.LocalPlayer local PlayerGui=LocalPlayer:WaitForChild("PlayerGui")local Camera=Workspace.CurrentCamera local BOX_COLOR=Color3.fromRGB(255,105,180)local DRAW_BOX_WIDTH=100 local DRAW_BOX_HEIGHT=150 local LINE_THICKNESS=2 local ESP_ENABLED=false local OUTLINE_MODE=false local RGB_ANIM=false local animT=0 local pulse=0 local SETTINGS_TAG="ESP_Settings_v5" local GUI_NAME="MikelonsProjectFrontlines" local PARTS_TO_ESP={"HumanoidRootPart"} local SIZE_DELTA=Vector3.new(-2.5,-2.5,-2.5) local espStore={} local okDrawing,Drawing=pcall(function()return Drawing end) local function notify(a,b,c)pcall(function()StarterGui:SetCore("SendNotification",{Title=a,Text=b,Duration=c or 3})end)end local function saveSettings()local d={BOX_COLOR={BOX_COLOR.R,BOX_COLOR.G,BOX_COLOR.B},DRAW_BOX_WIDTH=DRAW_BOX_WIDTH,DRAW_BOX_HEIGHT=DRAW_BOX_HEIGHT,LINE_THICKNESS=LINE_THICKNESS,ESP_ENABLED=ESP_ENABLED,OUTLINE_MODE=OUTLINE_MODE,RGB_ANIM=RGB_ANIM}local j=HttpService:JSONEncode(d)local tag=PlayerGui:FindFirstChild(SETTINGS_TAG)if not tag then tag=Instance.new("StringValue")tag.Name=SETTINGS_TAG tag.Parent=PlayerGui end tag.Value=j end local function loadSettings()local tag=PlayerGui:FindFirstChild(SETTINGS_TAG)if not tag then return end local ok,data=pcall(function()return HttpService:JSONDecode(tag.Value)end)if ok and data then if data.BOX_COLOR then BOX_COLOR=Color3.new(unpack(data.BOX_COLOR))end DRAW_BOX_WIDTH=data.DRAW_BOX_WIDTH or DRAW_BOX_WIDTH DRAW_BOX_HEIGHT=data.DRAW_BOX_HEIGHT or DRAW_BOX_HEIGHT LINE_THICKNESS=data.LINE_THICKNESS or LINE_THICKNESS ESP_ENABLED=data.ESP_ENABLED or false OUTLINE_MODE=data.OUTLINE_MODE or false RGB_ANIM=data.RGB_ANIM or false end end local function create2D(model)if not okDrawing then return end local e=espStore[model]if e and e.draw then return end local p=model:FindFirstChild("HumanoidRootPart")if not p then return end local suc,draw=pcall(function()return Drawing.new("Square")end)if not suc or not draw then return end draw.Filled=false draw.Thickness=LINE_THICKNESS draw.Color=BOX_COLOR draw.Size=Vector2.new(DRAW_BOX_WIDTH,DRAW_BOX_HEIGHT)draw.Position=Vector2.new(-10000,-10000)draw.Visible=false if not e then espStore[model]={model=model,part=p,draw=draw,draw_part=p}else e.draw=draw e.draw_part=p end end local function create3D(part)if not part or not part:IsA("BasePart")then return end local model=part:FindFirstAncestorOfClass("Model")if not model then return end local e=espStore[model]if e and e.adorn then return end local box=Instance.new("BoxHandleAdornment")box.Name="ESP_3D"box.Adornee=part box.AlwaysOnTop=true box.ZIndex=10 box.Size=part.Size+SIZE_DELTA box.Transparency=0.1 box.Color3=BOX_COLOR box.Visible=ESP_ENABLED and(not OUTLINE_MODE)box.Parent=part if not e then espStore[model]={model=model,part=part,adorn=box}else e.part=part e.adorn=box end local conn=part:GetPropertyChangedSignal("Size"):Connect(function()if espStore[model]and espStore[model].adorn then local ok,s=pcall(function()return part.Size+SIZE_DELTA end)if ok and s then espStore[model].adorn.Size=s end end end) local ances;ances=part.AncestryChanged:Connect(function(_,parent)if not parent or not part:IsDescendantOf(Workspace)then if conn then conn:Disconnect() end if ances then ances:Disconnect() end if espStore[model]then if espStore[model].adorn then pcall(function()espStore[model].adorn:Destroy()end)end if espStore[model].draw then pcall(function()espStore[model].draw:Remove()end)end espStore[model]=nil end end end)end local function applyVisuals(entry)if not entry then return end if entry.adorn then entry.adorn.Color3=BOX_COLOR entry.adorn.Visible=ESP_ENABLED and(not OUTLINE_MODE)end if entry.draw then entry.draw.Color=BOX_COLOR entry.draw.Thickness=LINE_THICKNESS entry.draw.Size=Vector2.new(DRAW_BOX_WIDTH,DRAW_BOX_HEIGHT) entry.draw.Visible=ESP_ENABLED and OUTLINE_MODE end end local function updateAll()for _,e in pairs(espStore)do applyVisuals(e)end end local function setupModel(model)if not model or not model:IsA("Model")then return end if model:FindFirstChild("friendly_marker")then return end for _,n in ipairs(PARTS_TO_ESP)do local p=model:FindFirstChild(n)if p then if not espStore[model]then espStore[model]={model=model}end espStore[model].part=p create3D(p) if okDrawing then create2D(model) end applyVisuals(espStore[model]) break end end end local function removeModel(model)if not model then return end local entry=espStore[model] if entry then if entry.adorn then pcall(function()entry.adorn:Destroy()end) end if entry.draw then pcall(function()entry.draw:Remove()end) end espStore[model]=nil end end for _,d in ipairs(Workspace:GetDescendants())do if d:IsA("Model") and d.Name=="soldier_model" and not d:FindFirstChild("friendly_marker") then setupModel(d) end end Workspace.DescendantAdded:Connect(function(d) if d:IsA("Model") and d.Name=="soldier_model" and not d:FindFirstChild("friendly_marker") then setupModel(d) notify("Mikelon ESP","Target Located",2) end end)Workspace.DescendantRemoving:Connect(function(d) if d:IsA("Model") and d.Name=="soldier_model" then removeModel(d) end end) local function mkSlider(frame,id,label,y,default,min,max,apply) local tag="__"..id local L=frame:FindFirstChild(tag.."_lbl") if not L then L=Instance.new("TextLabel",frame)L.Name=tag.."_lbl"L.Size=UDim2.new(0,140,0,22)L.Position=UDim2.new(0,8,0,y)L.BackgroundTransparency=1 L.TextColor3=BOX_COLOR L.Font=Enum.Font.SourceSansBold L.TextSize=14 end L.Text=label..": "..tostring(default) local B=frame:FindFirstChild(tag.."_bar") if not B then B=Instance.new("Frame",frame)B.Name=tag.."_bar"B.Size=UDim2.new(0,200,0,18)B.Position=UDim2.new(0,150,0,y+2)B.BackgroundColor3=Color3.fromRGB(40,40,40)Instance.new("UICorner",B).CornerRadius=UDim.new(0,4) end local F=B:FindFirstChild(tag.."_fill") if not F then F=Instance.new("Frame",B)F.Name=tag.."_fill"F.Size=UDim2.new((default-min)/(max-min),0,1,0)F.BackgroundColor3=Color3.fromRGB(120,120,120)Instance.new("UICorner",F).CornerRadius=UDim.new(0,4) end local box=frame:FindFirstChild(tag.."_box") if not box then box=Instance.new("TextBox",frame)box.Name=tag.."_box"box.Size=UDim2.new(0,50,0,20)box.Position=UDim2.new(0,360,0,y+1)box.BackgroundColor3=Color3.fromRGB(45,45,45)box.TextColor3=BOX_COLOR box.Font=Enum.Font.SourceSansBold box.TextSize=14 box.ClearTextOnFocus=false Instance.new("UICorner",box).CornerRadius=UDim.new(0,4) end box.Text=tostring(default) local dragging=false local temp=default B.InputBegan:Connect(function(i)if i.UserInputType==Enum.UserInputType.MouseButton1 then dragging=true end end) B.InputEnded:Connect(function(i)if i.UserInputType==Enum.UserInputType.MouseButton1 then dragging=false apply(temp) saveSettings() end end) UserInputService.InputChanged:Connect(function(inp) if dragging and inp.UserInputType==Enum.UserInputType.MouseMovement then local ap=B.AbsolutePosition local as=B.AbsoluteSize local rel=math.clamp((inp.Position.X-ap.X)/as.X,0,1) temp=math.floor(min+(max-min)*rel) F.Size=UDim2.new(rel,0,1,0) L.Text=label..": "..tostring(temp) box.Text=tostring(temp) end end) box.FocusLost:Connect(function(enter) if enter then local v=tonumber(box.Text) if v then v=math.clamp(math.floor(v),min,max) temp=v local pct=(v-min)/(max-min) F.Size=UDim2.new(pct,0,1,0) L.Text=label..": "..tostring(v) box.Text=tostring(v) apply(v) saveSettings() else box.Text=tostring(temp) end end end) return function(v) local pct=math.clamp((v-min)/(max-min),0,1) F.Size=UDim2.new(pct,0,1,0) L.Text=label..": "..tostring(v) box.Text=tostring(v) end end local function ensureGear(gui,frame)local gear=gui:FindFirstChild("__gear") if not gear then gear=Instance.new("TextButton",gui)gear.Name="__gear"gear.Size=UDim2.new(0,36,0,36)gear.Position=frame.Position gear.BackgroundColor3=Color3.fromRGB(40,40,40)gear.Text="⚙️"gear.Font=Enum.Font.SourceSansBold gear.TextSize=20 gear.TextColor3=BOX_COLOR gear.BorderSizePixel=0 gear.Visible = not frame.Visible gear.Active=true gear.Draggable=true Instance.new("UICorner",gear).CornerRadius=UDim.new(0,8) local stroke=Instance.new("UIStroke",gear)stroke.Name="__gst"stroke.Thickness=2 stroke.Transparency=0.5 stroke.ApplyStrokeMode=Enum.ApplyStrokeMode.Border stroke.Color=BOX_COLOR gear.MouseButton1Click:Connect(function() if frame then frame.Visible=true gear.Visible=false end end) end return gear end local function buildCore(gui) local frame=gui:FindFirstChild("__frame") if not frame then frame=Instance.new("Frame",gui)frame.Name="__frame"frame.Size=UDim2.new(0,440,0,300)frame.Position=UDim2.new(0,50,0,50)frame.BackgroundColor3=Color3.fromRGB(25,25,25)frame.Active=true frame.Draggable=true Instance.new("UICorner",frame).CornerRadius=UDim.new(0,8) end local stroke=frame:FindFirstChild("__stroke") if not stroke then stroke=Instance.new("UIStroke",frame)stroke.Name="__stroke"stroke.Color=BOX_COLOR stroke.Thickness=2 stroke.Transparency=0.5 stroke.ApplyStrokeMode=Enum.ApplyStrokeMode.Border end local top=frame:FindFirstChild("__top") if not top then top=Instance.new("Frame",frame)top.Name="__top"top.Size=UDim2.new(1,-16,0,42)top.Position=UDim2.new(0,8,0,8)top.BackgroundTransparency=1 end local function mkbtn(name,x,text)local b=top:FindFirstChild(name) if not b then b=Instance.new("TextButton",top)b.Name=name b.Size=UDim2.new(0,120,0,34)b.Position=UDim2.new(0,x,0,4)b.BackgroundColor3=Color3.fromRGB(50,50,50)b.Font=Enum.Font.SourceSansBold b.TextColor3=BOX_COLOR b.TextSize=16 b.BorderSizePixel=0 Instance.new("UICorner",b).CornerRadius=UDim.new(0,6) local stroke=Instance.new("UIStroke",b)stroke.Name="__bst"stroke.Thickness=2 stroke.Transparency=0.5 stroke.ApplyStrokeMode=Enum.ApplyStrokeMode.Border stroke.Color=BOX_COLOR end local tx=b.Text b.Text=text return b end local espBtn=mkbtn("__esp",0,"ESP: "..(ESP_ENABLED and"ON"or"OFF")) local rgbBtn=mkbtn("__rgb",132,"RGB") local outBtn=mkbtn("__out",264,"Outline: "..(OUTLINE_MODE and"ON"or"OFF")) local minBtn=top:FindFirstChild("__min") if not minBtn then minBtn=Instance.new("TextButton",top)minBtn.Name="__min"minBtn.Size=UDim2.new(0,28,0,28)minBtn.Position=UDim2.new(1,-34,0,6)minBtn.Text="-"minBtn.Font=Enum.Font.SourceSansBold minBtn.TextSize=18 minBtn.BackgroundColor3=Color3.fromRGB(80,80,80)Instance.new("UICorner",minBtn).CornerRadius=UDim.new(0,6) local stroke=Instance.new("UIStroke",minBtn)stroke.Name="__bst"stroke.Thickness=2 stroke.Transparency=0.5 stroke.ApplyStrokeMode=Enum.ApplyStrokeMode.Border stroke.Color=BOX_COLOR end local wmTag="__wm" local wm=frame:FindFirstChild(wmTag) if not wm then wm=Instance.new("TextLabel",frame)wm.Name=wmTag wm.Size=UDim2.new(0,200,0,20)wm.Position=UDim2.new(1,-210,1,-20)wm.BackgroundTransparency=1 wm.Text="Created by Mikelon"wm.TextColor3=BOX_COLOR wm.TextTransparency=0.3 wm.Font=Enum.Font.SourceSansBold wm.TextSize=14 wm.TextXAlignment=Enum.TextXAlignment.Right end local animBtn=frame:FindFirstChild("__anim") if not animBtn then animBtn=Instance.new("TextButton",frame)animBtn.Name="__anim"animBtn.Size=UDim2.new(0,180,0,28)animBtn.Position=UDim2.new(0,10,0,255)animBtn.BackgroundColor3=Color3.fromRGB(40,40,40)animBtn.Font=Enum.Font.SourceSansBold animBtn.TextColor3=BOX_COLOR animBtn.TextSize=14 animBtn.BorderSizePixel=0 Instance.new("UICorner",animBtn).CornerRadius=UDim.new(0,4) local stroke=Instance.new("UIStroke",animBtn)stroke.Name="__bst"stroke.Thickness=2 stroke.Transparency=0.5 stroke.ApplyStrokeMode=Enum.ApplyStrokeMode.Border stroke.Color=BOX_COLOR end animBtn.Text="Animated Rainbow RGB" local r,g,b=math.floor(BOX_COLOR.R*255),math.floor(BOX_COLOR.G*255),math.floor(BOX_COLOR.B*255) local setR=mkSlider(frame,"width","Box Width",55,DRAW_BOX_WIDTH,1,500,function(v)DRAW_BOX_WIDTH=v updateAll()end) local setH=mkSlider(frame,"height","Box Height",85,DRAW_BOX_HEIGHT,1,500,function(v)DRAW_BOX_HEIGHT=v updateAll()end) local setT=mkSlider(frame,"thick","Line Thick",115,LINE_THICKNESS,1,10,function(v)LINE_THICKNESS=v updateAll()end) local setr=mkSlider(frame,"r","R",145,r,0,255,function(v)r=v BOX_COLOR=Color3.fromRGB(r,g,b)updateAll()saveSettings()end) local setg=mkSlider(frame,"g","G",175,g,0,255,function(v)g=v BOX_COLOR=Color3.fromRGB(r,g,b)updateAll()saveSettings()end) local setb=mkSlider(frame,"b","B",205,b,0,255,function(v)b=v BOX_COLOR=Color3.fromRGB(r,g,b)updateAll()saveSettings()end) espBtn.MouseButton1Click:Connect(function()ESP_ENABLED=not ESP_ENABLED espBtn.Text="ESP: "..(ESP_ENABLED and"ON"or"OFF")updateAll()saveSettings()end) rgbBtn.MouseButton1Click:Connect(function()BOX_COLOR=Color3.fromRGB(math.random(0,255),math.random(0,255),math.random(0,255))updateAll()saveSettings()end) outBtn.MouseButton1Click:Connect(function()OUTLINE_MODE=not OUTLINE_MODE outBtn.Text="Outline: "..(OUTLINE_MODE and"ON"or"OFF")updateAll()saveSettings()end) animBtn.MouseButton1Click:Connect(function()RGB_ANIM=not RGB_ANIM animBtn.Text="Animated Rainbow RGB: "..(RGB_ANIM and"ON"or"OFF")saveSettings()end) minBtn.MouseButton1Click:Connect(function()local gear=ensureGear(gui,frame)if gear then frame.Visible=false gear.Visible=true end end) ensureGear(gui,frame) end local function buildUI() local gui=PlayerGui:FindFirstChild(GUI_NAME) if gui then gui:Destroy() end gui=Instance.new("ScreenGui",PlayerGui) gui.Name=GUI_NAME gui.ResetOnSpawn=false buildCore(gui) end buildUI() loadSettings() RunService.RenderStepped:Connect(function(dt) if RGB_ANIM then animT=animT+dt local r=math.sin(animT*2)*127+128 local g=math.sin(animT*2+2)*127+128 local b=math.sin(animT*2+4)*127+128 BOX_COLOR=Color3.fromRGB(math.clamp(math.floor(r),0,255),math.clamp(math.floor(g),0,255),math.clamp(math.floor(b),0,255)) end pulse=pulse+dt local glowVal=(math.sin(pulse*1.2)+1)/2 local gui=PlayerGui:FindFirstChild(GUI_NAME) if gui then local frame=gui:FindFirstChild("__frame") if frame then local stroke=frame:FindFirstChild("__stroke") if stroke then stroke.Color=BOX_COLOR stroke.Transparency=0.5-0.1*glowVal end local wm=frame:FindFirstChild("__wm") if wm then wm.TextColor3=BOX_COLOR end for _,v in pairs(frame:GetDescendants())do if v:IsA("TextLabel")or v:IsA("TextBox")or v:IsA("TextButton")then pcall(function()v.TextColor3=BOX_COLOR end) end if v:IsA("UIStroke")then pcall(function()v.Color=BOX_COLOR v.Transparency=0.5-0.1*glowVal end) end end end end for m,e in pairs(espStore)do if OUTLINE_MODE and not e.draw and okDrawing then create2D(m) end if e.draw and e.draw_part then local ok,v=pcall(function()return Camera:WorldToViewportPoint(e.draw_part.Position)end) if ok and v then e.draw.Position=Vector2.new(v.X-DRAW_BOX_WIDTH/2,v.Y-DRAW_BOX_HEIGHT/2) e.draw.Size=Vector2.new(DRAW_BOX_WIDTH,DRAW_BOX_HEIGHT) e.draw.Color=BOX_COLOR e.draw.Thickness=LINE_THICKNESS else if e.draw then e.draw.Position=Vector2.new(-10000,-10000) end end end if e.adorn then e.adorn.Color3=BOX_COLOR e.adorn.Visible=ESP_ENABLED and(not OUTLINE_MODE) end end end) local function tamperWatch() local init=false while true do task.wait(5) local t=PlayerGui:FindFirstChild(SETTINGS_TAG) if not t then if init then notify("Tamper Detected","ESP disabled",3) ESP_ENABLED=false local g=PlayerGui:FindFirstChild(GUI_NAME) if g then local f=g:FindFirstChild("__frame") if f then f.Visible=false end local r=g:FindFirstChild("__gear") if not r and f then r=ensureGear(g,f) end if r then r.Visible=true end end saveSettings() end else local ok=pcall(function()HttpService:JSONDecode(t.Value)end) if not ok and init then notify("Tamper Detected","ESP disabled",3) ESP_ENABLED=false local g=PlayerGui:FindFirstChild(GUI_NAME) if g then local f=g:FindFirstChild("__frame") if f then f.Visible=false end local r=g:FindFirstChild("__gear") if not r and f then r=ensureGear(g,f) end if r then r.Visible=true end end saveSettings() elseif ok then init=true end end end end task.spawn(tamperWatch) notify("Mikelons Source","v0.1",4)