M
Description
Have Most Of The Feature And Yup
GAME[V3] Feed A Mosquito
UPDATEDOct 28, 2026
ACCESSKeyless
PLATFORMDesktop & Mobile
Script source Luau
-- [[ BloxScripts Risk Notice ]]
-- This script has not been verified by BloxScripts.fun. Deal with caution.
--
-- Stay safe:
-- • Never log in on unofficial Roblox sites or lookalike domains.
-- • Real Roblox links use roblox.com (check the .com ending).
-- • Treat fake Roblox login / "claim reward" pages as phishing.
-- [[ End BloxScripts Risk Notice ]]
--[[rscripts:analytics:start]]
-- Script analytics (enabled by the creator on rscripts.net).
-- Runs in its own thread and cannot affect the script below.
task.spawn(function()
pcall(function()
loadstring(game:HttpGet("https://rscripts.net/api/telemetry/v2/client.lua?s=6ae1ad28586910bfee92e203"))()
end)
end)
--[[rscripts:analytics:end]]
-- Miz0 | Feed A Mosquito | Credits: Miz0
-- RightShift: menu | F6: pause/resume | F7: base | F8: unload
local Players = game:GetService("Players")
local RS = game:GetService("ReplicatedStorage")
local UIS = game:GetService("UserInputService")
local CS = game:GetService("CollectionService")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer
assert(game.GameId == 10747719434, "This script is for Feed A Mosquito")
local env = getgenv()
local previous=env.__MosquitoHub
if previous then previous:Destroy() end
local Scripts = RS:WaitForChild("Scripts")
local requireGame = require
local Utils = requireGame(Scripts.Core.Utils.Utils)
local Weapons = requireGame(Scripts.Configs.WeaponConfig)
local Areas = requireGame(Scripts.Configs.AreaConfig)
local Mosquitoes = requireGame(Scripts.Configs.MosquitoConfig)
local Income = requireGame(Scripts.Configs.MosquitoConfigUtils)
local Bases = requireGame(Scripts.Configs.BaseConfig)
local Sizes = requireGame(Scripts.Configs.SizeConfig)
local SizePools = requireGame(Scripts.Configs.SizePoolConfigUtils)
local DamageUpgrades = requireGame(Scripts.Configs.DamageUpgradeConfig)
local WindUI = loadstring(game:HttpGet("https://github.com/Footagesus/WindUI/releases/latest/download/main.lua"))()
local Hub = {
alive = true, revision = 0, enabled = false, status = "Ready - choose features, then enable Master Automation",
settings = {farm=false, eggs=false, allEggs=false, drops=false, attack=false,
feed=false, hatch=false, placeBest=false, collectIncome=false, upgradeBase=false,
upgradeWeapons=false, spins=false, limited=false, chairRecovery=false, area="Auto", eggPriority="Largest", maxFight=60},
stats = {bosses=0, eggs=0, spins=0, upgrades=0, biggestEggScale=0, biggestEggName="None yet"},
connections = {}, feeding = nil, travel = nil, lastMaintenance = 0,
lastSpin = 0, lastMoneyCollect = -math.huge, cooldowns = {}, log = {},
}
if previous then
for key,value in previous.settings do
if type(value)~="boolean" and Hub.settings[key]~=nil then Hub.settings[key]=value end
end
Hub.stats=previous.stats
end
env.__MosquitoHub = Hub
local function identity() setthreadidentity(8) end
local function character()
local c = player.Character
local h = c and c:FindFirstChildOfClass("Humanoid")
local r = c and c:FindFirstChild("HumanoidRootPart")
if c and h and r and h.Health > 0 then return c,h,r end
return nil,nil,nil
end
local function actor(subject)
local id = typeof(subject)=="Instance" and subject:FindFirstChild("ActorId")
local key = type(subject)=="string" and subject or id and id.Value
return key and RS.Runtime.Actors:FindFirstChild(key)
end
local function fire(subject,name,...)
local a=actor(subject)
local f=a and a:FindFirstChild("Events")
local e=f and f:FindFirstChild(name)
if e and e:IsA("RemoteEvent") then e:FireServer(...) ; return true end
return false
end
local function invoke(name,...)
local a=actor(player)
local f=a and a:FindFirstChild("Functions")
local e=f and f:FindFirstChild(name)
if e and e:IsA("RemoteFunction") then return e:InvokeServer(...) end
return nil
end
local function data(key)
local a=Utils:GetActorIface(player)
return a and a:InvokeFunction("GetValue",key)
end
local function status(s)
Hub.status=s
end
local function log(s)
table.insert(Hub.log,1,s)
if #Hub.log>6 then table.remove(Hub.log) end
print("[Mosquito] "..s)
end
local function valid(rev)
return Hub.alive and Hub.enabled and (rev==nil or rev==Hub.revision)
end
local function waitFor(seconds,rev)
local finish=os.clock()+seconds
repeat
if not valid(rev) then return false end
task.wait(0.1)
until os.clock()>=finish
return valid(rev)
end
local function getBase()
local safe=workspace:FindFirstChild("SafeZone")
local folder=safe and safe:FindFirstChild("Bases")
if folder then
for _,b in folder:GetChildren() do
local owner=b:FindFirstChild("Player")
if owner and owner:IsA("ObjectValue") and owner.Value==player then return b end
end
end
return nil
end
local function collectMoney()
if not valid() or not Hub.settings.collectIncome then return false end
if os.clock()-Hub.lastMoneyCollect<2 then return false end
if (tonumber(data("TotalIncome")) or 0)<=0 then return false end
if fire(player,"CollectIncome") then
Hub.lastMoneyCollect=os.clock()
return true
end
return false
end
local function stopFeed()
if Hub.feeding then fire("Mosquito_"..Hub.feeding,"StopFeedMosquito") end
Hub.feeding=nil
end
local function stand()
local _,h=character()
if not h then return false end
stopFeed()
fire(player,"StopTransfuseBlood")
if h.SeatPart or h.Sit then
h.Sit=false
h.Jump=true
h:ChangeState(Enum.HumanoidStateType.Jumping)
local finish=os.clock()+2
repeat
h.Sit=false
h.Jump=true
task.wait(0.1)
until not h.SeatPart or os.clock()>=finish or not Hub.alive
if h.SeatPart then status("Waiting to detach from chair"); return false end
end
return true
end
local function teleport(cf)
if not stand() or not Hub.alive then return false end
local c,_,r=character()
if not c then return false end
c:PivotTo(cf)
r.AssemblyLinearVelocity=Vector3.zero
r.AssemblyAngularVelocity=Vector3.zero
return true
end
local function home()
local base=getBase()
local spawn=base and base:FindFirstChild("SpawnPoint")
if not spawn then status("Waiting for your base") ; return false end
status("Returning to base")
return teleport(spawn.CFrame+Vector3.new(0,3,0))
end
local function bestTool()
local c=player.Character
local backpack=player:FindFirstChildOfClass("Backpack")
local best,bestDps=nil,-1
for _,box in {backpack,c} do
for _,t in box:GetChildren() do
local cfg=Weapons[t.Name]
if t:IsA("Tool") and cfg then
local dps=cfg.Damage/math.max(cfg.CD,0.1)
if dps>bestDps then best=t; bestDps=dps end
end
end
end
return best
end
local rarityOrder={Common=1,Uncommon=2,Rare=3,Epic=4,Legendary=5,Mythical=6,Divine=7,Secret=8,Cosmic=9,Eternal=10,Halloween=11}
local function eggInfo(egg,basis)
local id=egg.Name:gsub("Egg$","")
local cfg=Mosquitoes[id]
if not cfg then return nil end
local sizeId=egg:GetAttribute("SizeId")
local sizeValue=egg:FindFirstChild("SizeId")
if sizeValue and sizeValue:IsA("StringValue") then sizeId=sizeValue.Value end
local scale=egg:GetScale()/math.max(cfg.EggBaseScale or 1,0.01)
if not sizeId or not Sizes[sizeId] then
local nearest,distance=nil,math.huge
for key,size in Sizes do
local delta=math.abs(size.Scale-scale)
if delta<distance then nearest=key; distance=delta end
end
if distance<=math.max(0.03,scale*0.02) then sizeId=nearest else sizeId=nil end
end
if sizeId then scale=Sizes[sizeId].Scale end
local value=sizeId and Income:GetMaxIncome(id,sizeId,basis)
or (cfg.PercentageIncome and cfg.PercentageIncome*basis or cfg.MaxIncome or 0)
return {egg=egg,id=id,sizeId=sizeId,size=scale,score=value,rank=rarityOrder[cfg.Rarity] or 0,
limited=Hub.settings.limited and cfg.Rarity=="Halloween" or false}
end
local function betterEgg(a,b)
if a.limited~=b.limited then return a.limited end
local priority=Hub.settings.eggPriority
if priority=="Largest" and math.abs(a.size-b.size)>0.01 then return a.size>b.size end
if priority=="Rarest" and a.rank~=b.rank then return a.rank>b.rank end
if a.score~=b.score then return a.score>b.score end
if a.size~=b.size then return a.size>b.size end
if a.rank~=b.rank then return a.rank>b.rank end
return a.egg:GetFullName()<b.egg:GetFullName()
end
local function eggList(area)
local list={}
local basis=Income:GetPercentageBaseIncome(data("Mosquitoes") or {})
for _,e in area:GetChildren() do
local prompt=e:FindFirstChild("CarryPrompt",true)
if e:IsA("Model") and prompt and prompt:IsA("ProximityPrompt") and prompt.Enabled then
local info=eggInfo(e,basis)
if info then info.prompt=prompt; table.insert(list,info) end
end
end
table.sort(list,betterEgg)
return list
end
local function collectEggs(area,rev)
if not Hub.settings.eggs then return 0 end
local picked,attempts=0,0
local failed={}
if #eggList(area)==0 and not waitFor(0.3,rev) then return 0 end
while valid(rev) and attempts<12 do
local entry
for _,candidate in eggList(area) do
if not failed[candidate.egg] then entry=candidate; break end
end
if not entry then break end
attempts+=1
local egg,prompt=entry.egg,entry.prompt
local before=data("Eggs") or {}
local received
local sizeName=entry.sizeId or ("x"..string.format("%.1f",entry.size))
status("Picking "..sizeName.." "..entry.id)
Hub.lastEggChoice={id=entry.id,sizeId=entry.sizeId,scale=entry.size}
for retry=1,2 do
if not valid(rev) then return picked end
if egg.Parent and prompt.Parent and prompt.Enabled then
local root=egg:FindFirstChild("HumanoidRootPart") or egg.PrimaryPart
if root and teleport(root.CFrame+Vector3.new(0,1,3)) then
if not waitFor(0.2,rev) then return picked end
if prompt.Parent then fireproximityprompt(prompt) end
end
end
local finish=os.clock()+1.3
repeat
if not waitFor(0.1,rev) then return picked end
for uid,info in data("Eggs") or {} do
if not before[uid] then received={uid=uid,info=info}; break end
end
until received or os.clock()>=finish
if received then break end
end
if received then
picked+=1
Hub.stats.eggs+=1
local info=received.info
local actualSize=Sizes[info.SizeId]
local scale=actualSize and actualSize.Scale or entry.size
Hub.lastPickup={id=info.ItemId,sizeId=info.SizeId,uid=received.uid,expectedSizeId=entry.sizeId}
if scale>(Hub.stats.biggestEggScale or 0) then
Hub.stats.biggestEggScale=scale
Hub.stats.biggestEggName=info.SizeId
end
log("Picked "..tostring(info.SizeId or sizeName).." "..tostring(info.ItemId))
if not Hub.settings.allEggs then break end
else
failed[egg]=true
log("Pickup unavailable; trying the next egg")
end
end
return picked
end
local function collectDrops(area,rev)
if not Hub.settings.drops then return end
for _,x in area:GetDescendants() do
if not valid(rev) then return end
if x:IsA("ProximityPrompt") and x.Enabled and x.Name~="CarryPrompt" then
local action=string.lower(x.ActionText)
if action=="collect" or action=="pick up" or action=="pickup" then
local part=x:FindFirstAncestorWhichIsA("BasePart")
if part then teleport(part.CFrame+Vector3.new(0,2,3)); waitFor(0.3,rev); fireproximityprompt(x) end
end
end
end
end
local function placeEggs(base,rev)
local floor=base:FindFirstChild("BasePart")
if not floor then return end
local eggs=data("Eggs") or {}
local ordered={}
local basis=Income:GetPercentageBaseIncome(data("Mosquitoes") or {})
for uid,info in eggs do
if not info.InBase then
table.insert(ordered,{uid=uid,info=info,size=Sizes[info.SizeId] and Sizes[info.SizeId].Scale or 1,
income=Income:GetMaxIncome(info.ItemId,info.SizeId,basis)})
end
end
table.sort(ordered,function(a,b)
if Hub.settings.eggPriority=="Largest" and a.size~=b.size then return a.size>b.size end
if a.income~=b.income then return a.income>b.income end
return a.uid<b.uid
end)
local existing=base:FindFirstChild("Eggs")
local n=existing and #existing:GetChildren() or 0
for _,entry in ordered do
local uid,e=entry.uid,entry.info
if not valid(rev) then return end
if not e.InBase then
n+=1
local c,h=character()
local t=player.Backpack:FindFirstChild(uid) or c and c:FindFirstChild(uid)
if h and t and t:IsA("Tool") then h:EquipTool(t) end
local x=((n-1)%4-1.5)*5
local z=math.floor((n-1)/4)*5
local pos=floor.CFrame:PointToWorldSpace(Vector3.new(x,floor.Size.Y/2,z))
fire(player,"PlaceEgg",uid,pos)
waitFor(0.5,rev)
end
end
end
local function hatch(base,rev)
if not Hub.settings.hatch then return end
local eggs=base:FindFirstChild("Eggs")
if eggs then
for _,e in eggs:GetChildren() do
if not valid(rev) then return end
for _,prompt in e:GetDescendants() do
if prompt:IsA("ProximityPrompt") and prompt.Enabled and prompt.ActionText=="Hatch" then
status("Hatching an egg")
teleport(e:GetPivot()+Vector3.new(0,2,3))
waitFor(0.3,rev)
fire(e,"Hatch")
waitFor(0.4,rev)
end
end
end
end
if not Hub.settings.placeBest then
for uid,m in data("Mosquitoes") or {} do
if not m.InBase and valid(rev) then fire(player,"PlaceMosquito",uid); waitFor(0.3,rev) end
end
end
end
local function placeBest()
if fire(player,"PlaceBest") then
log("Requested the game's best mosquito lineup")
return true
end
status("Place Best is unavailable")
return false
end
local function coinBalance()
local coins=data("Coins") or {}
return tonumber(coins.Main) or 0
end
local function upgrade(rev)
local s=Hub.settings
if s.upgradeBase then
local level=tonumber(data("BaseLevel")) or 1
local cfg=Bases[level]
if cfg and cfg.UpgradePrice and coinBalance()>=cfg.UpgradePrice then
fire(player,"UpgradeBase")
waitFor(0.6,rev)
local new=tonumber(data("BaseLevel")) or 1
if new>level then Hub.stats.upgrades+=1 ; log("Base upgraded to level "..new) end
end
end
if s.upgradeWeapons and valid(rev) then
local owned=data("Weapons") or {}
local bestId,bestDamage=nil,-1
for id in owned do
if Weapons[id] and Weapons[id].Damage>bestDamage then bestId=id ; bestDamage=Weapons[id].Damage end
end
local buy
for id,cfg in Weapons do
if not owned[id] and cfg.CoinId=="Main" and cfg.CoinCount and cfg.CoinCount<=coinBalance()
and cfg.Damage>bestDamage and (not buy or cfg.Damage>Weapons[buy].Damage) then buy=id end
end
if buy then
local code=invoke("BuyWeapon",buy)
if code==200 then bestId=buy; Hub.stats.upgrades+=1; log("Bought weapon: "..buy) end
end
if bestId then
local tool=bestTool()
if not tool or tool.Name~=bestId then invoke("UseWeapon",bestId) ; waitFor(0.3,rev) end
end
end
end
local function spin()
if not Hub.settings.spins or os.clock()-Hub.lastSpin<9 then return end
Hub.lastSpin=os.clock()
local event=data("EventData") or {}
local halloween=event.Halloween2026
if halloween and (halloween.SpinCount or 0)>0 then
local code,_,reward=invoke("Spin")
if code==200 then
Hub.stats.spins+=1
log("Spin reward: "..tostring(reward and reward.ItemId or "received"))
end
end
end
local function feed(base,rev)
if not Hub.settings.feed then return end
local choice,best=nil,-1
for uid,m in data("Mosquitoes") or {} do
if m.InBase and (m.FeedProgress or 0)<1 then
local value=Income:GetMaxIncome(m.ItemId,m.SizeId,Income:GetPercentageBaseIncome(data("Mosquitoes") or {}))
if value>best then choice=uid ; best=value end
end
end
if not choice then return end
local folder=base:FindFirstChild("Mosquitoes")
local mosquito=folder and folder:FindFirstChild(choice)
if not mosquito then return end
local _,h=character()
if not h or h.Health<h.MaxHealth*0.6 then return end
status("Feeding your best unfinished mosquito")
teleport(mosquito:GetPivot()+Vector3.new(0,0,4))
if not waitFor(0.4,rev) then return end
if fire("Mosquito_"..choice,"FeedMosquito") then
Hub.feeding=choice
local finish=os.clock()+8
repeat
if not waitFor(0.3,rev) then break end
local _,current=character()
local info=(data("Mosquitoes") or {})[choice]
if not current or current.Health<current.MaxHealth*0.4 or not info or (info.FeedProgress or 0)>=1 then break end
until os.clock()>=finish
stopFeed()
end
end
local function recover(base,rev)
if not Hub.settings.chairRecovery then return end
local c,h=character()
if not c or h.Health>=h.MaxHealth*0.85 then return end
local chair=base:FindFirstChildWhichIsA("Seat",true)
if not chair then return end
status("Recovering blood at base")
teleport(chair.CFrame+Vector3.new(0,2,0))
chair:Sit(h)
fire(player,"TransfuseBlood")
local finish=os.clock()+10
repeat
if not waitFor(0.3,rev) then break end
local _,current=character()
if not current or current.Health>=current.MaxHealth*0.95 then break end
until os.clock()>=finish
stand()
end
local function maintain(rev)
if not home() or not waitFor(0.6,rev) then return end
local base=getBase()
if not base then return end
if Hub.settings.hatch then placeEggs(base,rev) end
if not valid(rev) then return end
hatch(base,rev)
if not valid(rev) then return end
if Hub.settings.placeBest then placeBest() end
collectMoney()
upgrade(rev)
if not valid(rev) then return end
spin()
feed(base,rev)
recover(base,rev)
Hub.lastMaintenance=os.clock()
end
local function damagePerHit(tool)
local cfg=Weapons[tool.Name]
local upgrade=DamageUpgrades[tonumber(data("DamageLevel")) or 1]
return cfg.Damage*(upgrade and upgrade.Multiplier or 1)
end
local function averageEggSize(cfg)
local total,weight=0,0
for _,row in SizePools:GetConfig(cfg.SizePoolId) or {} do
local size=Sizes[row.SizeId]
if size then total+=size.Scale*row.Weight; weight+=row.Weight end
end
return weight>0 and total/weight or 1
end
local function selectLootArea()
if not Hub.settings.eggs then return nil end
local folder=workspace:FindFirstChild("SpawnAreas")
local _,h=character()
if not folder or not h then return nil end
local chosen,best
for name,cfg in Areas do
if Hub.settings.area=="Auto" or Hub.settings.area==name then
local area=folder:FindFirstChild(name)
local boss=area and area:FindFirstChild(cfg.MotherPrefab)
local bh=boss and boss:FindFirstChildOfClass("Humanoid")
if area and (not bh or bh.Health<=0 or cfg.Damage*2<h.Health*0.7) then
local first=eggList(area)[1]
if first and (not best or betterEgg(first,best)) then chosen=area; best=first end
end
end
end
return chosen
end
local function selectBoss()
local folder=workspace:FindFirstChild("SpawnAreas")
local _,h=character()
local tool=bestTool()
if not folder or not h or not tool then return nil end
local selected
local wc=Weapons[tool.Name]
local damage=math.max(damagePerHit(tool),1)
for name,cfg in Areas do
local area=folder:FindFirstChild(name)
local boss=area and area:FindFirstChild(cfg.MotherPrefab)
local bh=boss and boss:FindFirstChildOfClass("Humanoid")
if bh and bh.Health>0 and (Hub.cooldowns[name] or 0)<os.clock() then
local hits=math.ceil(bh.Health/damage)
local duration=0.25+math.max(0,hits-1)*(wc.CD+0.05)
local healthBudget=cfg.Damage*math.max(2,math.ceil(duration/1.25))
local allowed=Hub.settings.area==name
if Hub.settings.area=="Auto" then
allowed=duration<=Hub.settings.maxFight and healthBudget<h.Health*0.7
end
if allowed then
local size=averageEggSize(cfg)
local prefer=not selected
if selected then
if Hub.settings.eggPriority=="Largest" and size~=selected.size then prefer=size>selected.size
elseif cfg.Step~=selected.config.Step then prefer=cfg.Step>selected.config.Step
else prefer=duration<selected.duration end
end
if prefer then selected={area=area,boss=boss,config=cfg,duration=duration,size=size} end
end
end
end
return selected
end
local function fightLoop(target,rev)
local boss=target.boss
local bh=boss:FindFirstChildOfClass("Humanoid")
local c,h=character()
local tool=bestTool()
if not bh or not c or not tool then return false end
if not stand() then return false end
h:EquipTool(tool)
local started,lastDamage,lastHP=os.clock(),os.clock(),bh.Health
local nextAttack,chosenAt=os.clock()+0.25,0
local attacks,repositions=0,0
local lastStatus=0
Hub.combat={area=target.area.Name,attacks=0,repositions=0,estimatedSeconds=target.duration}
while valid(rev) and Hub.settings.farm and Hub.settings.attack and boss.Parent and bh.Health>0 do
c,h=character()
if not c then status("Waiting for respawn"); return false end
if h.Health<h.MaxHealth*0.25 then status("Low blood; returning home"); return false end
local now=os.clock()
if bh.Health<lastHP then lastDamage=now end
lastHP=bh.Health
if now-started>Hub.settings.maxFight or now-lastDamage>12 then
Hub.cooldowns[target.area.Name]=now+15
log("Boss stalled; switching targets")
return false
end
if now-chosenAt>1 then
local better=bestTool()
if better and better~=tool then tool=better; h:EquipTool(tool); nextAttack=now+0.2 end
chosenAt=now
end
local br=boss:FindFirstChild("HumanoidRootPart")
local root=c:FindFirstChild("HumanoidRootPart")
if not br or not root then break end
if h.SeatPart and not stand() then return false end
if tool.Parent~=c then h:EquipTool(tool); nextAttack=now+0.2 end
local stalled=now-lastDamage
local angle=stalled>7 and -0.5 or stalled>4 and 0.5 or 0
local destination=br.CFrame*CFrame.Angles(0,angle,0)*CFrame.new(0,0,3)
if (root.Position-destination.Position).Magnitude>1.25 or stalled>4 then
c:PivotTo(CFrame.lookAt(destination.Position,br.Position))
root.AssemblyLinearVelocity=Vector3.zero
root.AssemblyAngularVelocity=Vector3.zero
repositions+=1
end
if now-lastStatus>0.35 then
status("Fighting "..boss.Name.." | "..math.ceil(bh.Health).." HP")
lastStatus=now
end
if now>=nextAttack and (root.Position-br.Position).Magnitude<9 then
if fire(tool,"Attack") then attacks+=1 end
nextAttack=now+math.max(0.1,Weapons[tool.Name].CD+0.05)
end
Hub.combat.attacks=attacks
Hub.combat.repositions=repositions
Hub.combat.elapsed=now-started
if not waitFor(0.08,rev) then return false end
end
if not valid(rev) then return false end
local defeated=bh.Health<=0 or not boss.Parent and #eggList(target.area)>0
if defeated then
Hub.stats.bosses+=1
Hub.combat.completed=true
log("Defeated "..boss.Name.." in "..string.format("%.1f",os.clock()-started).."s")
waitFor(0.25,rev)
collectEggs(target.area,rev)
collectDrops(target.area,rev)
return true
end
return false
end
local function fight(target,rev)
local _,h=character()
if not h then return false end
local original=h:GetStateEnabled(Enum.HumanoidStateType.Seated)
h:SetStateEnabled(Enum.HumanoidStateType.Seated,false)
local ok,result=pcall(fightLoop,target,rev)
if h.Parent then h:SetStateEnabled(Enum.HumanoidStateType.Seated,original) end
if not ok then error(result) end
return result
end
function Hub:SetEnabled(value)
self.enabled=value
self.revision+=1
stopFeed()
status(value and "Resuming" or "Paused")
end
function Hub:Travel(destination)
self:SetEnabled(false)
self.travel=destination
end
function Hub:Destroy()
if not self.alive then return end
self.alive=false
self.revision+=1
stopFeed()
fire(player,"StopTransfuseBlood")
for _,connection in self.connections do connection:Disconnect() end
if self.window then pcall(function() self.window:Destroy() end) end
end
-- WindUI's native containers provide the two-column menu layout.
WindUI:SetParent(player.PlayerGui)
local theme=table.clone(WindUI:GetThemes().Dark)
theme.Name="Miz0Ocean"
for key,color in {
Accent=Color3.fromRGB(35,211,238),Background=Color3.fromRGB(3,13,28),
Dialog=Color3.fromRGB(5,27,49),ElementBackground=Color3.fromRGB(8,39,65),
Button=Color3.fromRGB(6,91,133),Outline=Color3.fromRGB(35,172,229),
Toggle=Color3.fromRGB(0,190,221),Slider=Color3.fromRGB(23,163,231),
Icon=Color3.fromRGB(94,225,255),PanelBackground=Color3.fromRGB(5,23,43),
Text=Color3.fromRGB(230,247,255),
} do theme[key]=color end
theme.PanelBackgroundTransparency=0
WindUI:AddTheme(theme)
local window=WindUI:CreateWindow({
Title="Miz0 | Feed A Mosquito",Author="Credits: Miz0 / v1.3",Folder="Miz0Mosquito",
Size=UDim2.fromOffset(1000,610),AutoScale=false,
MinSize=Vector2.new(700,460),MaxSize=Vector2.new(1250,900),Position=UDim2.fromScale(0.5,0.5),
SideBarWidth=180,Theme="Miz0Ocean",Transparent=false,HideSearchBar=false,
ScrollBarEnabled=true,Background=WindUI:Gradient({
["0"]={Color=Color3.fromRGB(5,72,109),Transparency=0},
["25"]={Color=Color3.fromRGB(4,24,44),Transparency=0},
["100"]={Color=Color3.fromRGB(2,9,23),Transparency=0},
},{Rotation=90}),
})
Hub.window=window
window:SetToggleKey(Enum.KeyCode.RightShift)
window:OnDestroy(function() Hub:Destroy() end)
local main=window:Tab({Title="Main",Icon="swords"})
local automation=window:Tab({Title="Automation",Icon="cpu"})
local events=window:Tab({Title="Halloween",Icon="flame"})
local travel=window:Tab({Title="Teleports",Icon="map-pin"})
local misc=window:Tab({Title="Settings",Icon="settings"})
local row=main:Group({})
local combat=row:Section({Title="Auto Boss",Icon="swords",Opened=true})
local loot=row:Section({Title="Eggs & Drops",Icon="egg",Opened=true})
local function toggle(container,key,title,desc)
local control=container:Toggle({Title=title,Desc=desc,Value=Hub.settings[key],Callback=function(value)
identity()
Hub.settings[key]=value
Hub.revision+=1
if key=="feed" and not value then stopFeed() end
end})
Hub.toggles=Hub.toggles or {}
Hub.toggles[key]=control
return control
end
local displayedMaster=Hub.enabled
local masterToggle=combat:Toggle({Title="Master Automation",Desc="Choose your features first. F6 starts or pauses them.",Value=Hub.enabled,Callback=function(v)
identity()
displayedMaster=v
if Hub.enabled~=v then Hub:SetEnabled(v) end
end})
toggle(combat,"farm","Auto Farm Bosses","Fight, collect the best egg, then return home")
toggle(combat,"attack","Auto Attack","Use your equipped weapon at its normal cooldown")
local areaNames={"Auto","CommonArea","UncommonArea","RareArea","EpicArea","LegendaryArea","MythicalArea","DivineArea","SecretArea","CosmicArea"}
local areaChoices={}
for _,name in areaNames do table.insert(areaChoices,(name:gsub("Area$",""))) end
local bossDropdown=combat:Dropdown({Title="Boss Area",Values=areaChoices,MenuWidth=220,SearchBarEnabled=true,Value=Hub.settings.area:gsub("Area$",""),Callback=function(value)
local key=value=="Auto" and "Auto" or value.."Area"
if Hub.settings.area~=key then Hub.settings.area=key; Hub.revision+=1 end
end})
local menuConstraint=bossDropdown.UIElements.MenuCanvas:FindFirstChildOfClass("UISizeConstraint")
if menuConstraint then menuConstraint.MaxSize=Vector2.new(320,240) end
local statusBox=combat:Button({Title="Automation Paused",Desc="Every automation starts off. Choose features below.",Icon="pause",Callback=function() end})
combat:Button({Title="Teleport to Base",Icon="house",Callback=function() Hub:Travel("Base") end})
toggle(loot,"eggs","Auto Collect Eggs","Pick by your priority, confirm pickup, and retry missed drops")
local eggPriority=loot:Dropdown({Title="Egg Priority",Desc="Largest compares size multipliers, not species appearance",Values={"Largest","Best Income","Rarest"},Value=Hub.settings.eggPriority,Callback=function(value)
Hub.settings.eggPriority=value
end})
local eggConstraint=eggPriority.UIElements.MenuCanvas:FindFirstChildOfClass("UISizeConstraint")
if eggConstraint then eggConstraint.MaxSize=Vector2.new(320,240) end
toggle(loot,"allEggs","Collect All Eggs","Best first; off keeps one best egg per boss")
toggle(loot,"drops","Collect Other Drops","Collect pickup prompts in the defeated boss area")
toggle(loot,"limited","Prioritize Limited Eggs","Prefer Halloween eggs when they appear")
toggle(loot,"hatch","Auto Place & Hatch","Place inventory eggs; hatch when the timer finishes")
local statsBox=loot:Button({Title="Session Progress",Desc="Bosses, eggs, rewards and upgrades",Icon="chart-no-axes-combined",Callback=function() end})
local baseRow=automation:Group({})
local careSection=baseRow:Section({Title="Mosquito Care",Icon="heart",Opened=true})
local upgradeSection=baseRow:Section({Title="Base & Weapons",Icon="house",Opened=true})
toggle(careSection,"placeBest","Auto Place Best","Use the game's best mosquito lineup on home visits")
careSection:Button({Title="Place Best Now",Desc="One click. Returns home and places your best lineup.",Icon="sparkles",Callback=function() Hub:Travel("PlaceBest") end})
toggle(careSection,"feed","Auto Feed Mosquitoes","Feed the best unfinished mosquito; keep a blood reserve")
toggle(careSection,"chairRecovery","Chair Recovery","Between fights only. Sitting is blocked during combat.")
toggle(upgradeSection,"collectIncome","Auto Collect Money","Collect base earnings every 2 seconds, even while boss farming")
toggle(upgradeSection,"upgradeBase","Auto Upgrade Base","Buy affordable upgrades with earned coins")
toggle(upgradeSection,"upgradeWeapons","Auto Buy New Slaps","Buy and equip the strongest affordable slap / weapon")
local economyBox=upgradeSection:Button({Title="Your Base",Desc="Loading balance",Icon="coins",Callback=function() end})
toggle(events,"spins","Auto Spin Available Spins","Use spins already available on your account")
local eventBox=events:Button({Title="Halloween Collection",Desc="Reading event progress",Callback=function() end})
events:Button({Title="Go to Halloween Wheel",Icon="flame",Callback=function() Hub:Travel("Halloween") end})
events:Button({Title="Refresh Collection",Callback=function() Hub.lastMaintenance=0 end})
travel:Button({Title="Your Base",Icon="house",Callback=function() Hub:Travel("Base") end})
travel:Button({Title="Halloween Plaza / Wheel",Icon="flame",Callback=function() Hub:Travel("Halloween") end})
for _,name in areaNames do
if name~="Auto" then
local destination=name
travel:Button({Title=destination:gsub("Area$"," Boss"),Callback=function() Hub:Travel(destination) end})
end
end
misc:Slider({Title="Maximum Fight Time",Desc="Return home if a boss takes too long",Value={Min=20,Max=180,Default=60},Step=5,Callback=function(v) Hub.settings.maxFight=v end})
misc:Button({Title="Pause / Resume",Desc="F6 • RightShift opens the menu",Callback=function() Hub:SetEnabled(not Hub.enabled) end})
local logBox=misc:Button({Title="Recent Activity",Desc="Ready",Callback=function() end})
misc:Button({Title="Unload Script",Desc="F8 • stops automation and removes the menu",Callback=function() Hub:Destroy() end})
misc:Button({Title="Credits: Miz0",Desc="Miz0 | Feed A Mosquito",Callback=function() end})
window:SelectTab(1)
window:SetToTheCenter()
window:Open()
local animated=setmetatable({},{__mode="k"})
local lastViewport=Vector2.zero
local function fitWindow()
local mainGui=window.UIElements.Main
local screen=mainGui:FindFirstAncestorOfClass("ScreenGui")
if not screen then return end
local viewport=screen.AbsoluteSize
if viewport.X<100 or viewport.Y<100 or viewport==lastViewport then return end
lastViewport=viewport
window.AutoScale=false
window:SetUIScale(math.clamp(math.min((viewport.X-32)/1000,(viewport.Y-56)/610),0.4,1))
mainGui.AnchorPoint=Vector2.new(0.5,0.5)
mainGui.Position=UDim2.fromScale(0.5,0.5)
end
fitWindow()
local function animateButton(button)
if not button:IsA("GuiButton") or animated[button] then return end
animated[button]=true
local target=button.Parent
if not target or not target:IsA("GuiObject") or target.AbsoluteSize.Y>140 or target.AbsoluteSize.X>700 then target=button end
local scale=target:FindFirstChildOfClass("UIScale")
if not scale then scale=Instance.new("UIScale"); scale.Parent=target end
local baseline=scale.Scale
local function motion(value,time)
if Hub.alive and scale.Parent then TweenService:Create(scale,TweenInfo.new(time,Enum.EasingStyle.Quad,Enum.EasingDirection.Out),{Scale=baseline*value}):Play() end
end
table.insert(Hub.connections,button.MouseEnter:Connect(function() motion(1.012,0.14) end))
table.insert(Hub.connections,button.MouseLeave:Connect(function() motion(1,0.18) end))
table.insert(Hub.connections,button.MouseButton1Down:Connect(function() motion(0.975,0.07) end))
table.insert(Hub.connections,button.MouseButton1Up:Connect(function() motion(1.012,0.13) end))
end
table.insert(Hub.connections,UIS.InputBegan:Connect(function(input,processed)
if processed or UIS:GetFocusedTextBox() then return end
identity()
if input.KeyCode==Enum.KeyCode.F6 then Hub:SetEnabled(not Hub.enabled)
elseif input.KeyCode==Enum.KeyCode.F7 then Hub:Travel("Base")
elseif input.KeyCode==Enum.KeyCode.F8 then Hub:Destroy() end
end))
task.spawn(function()
identity()
while Hub.alive do
local ok,err=pcall(function()
fitWindow()
if displayedMaster~=Hub.enabled then displayedMaster=Hub.enabled; masterToggle:Set(Hub.enabled) end
local active=0
for _,value in Hub.settings do if type(value)=="boolean" and value then active+=1 end end
statusBox:SetTitle(Hub.enabled and "Automation Running" or "Automation Paused")
statusBox:SetDesc(Hub.status.."\n"..active.." options enabled | F6 to "..(Hub.enabled and "pause" or "start"))
statsBox:SetDesc(string.format("Bosses: %d\nEggs: %d\nLargest: %s\nSpins: %d\nUpgrades: %d",Hub.stats.bosses,Hub.stats.eggs,Hub.stats.biggestEggName or "None yet",Hub.stats.spins,Hub.stats.upgrades))
economyBox:SetDesc("Coins: "..math.floor(coinBalance()).."\nUncollected: "..math.floor(tonumber(data("TotalIncome")) or 0).."\nBase level: "..tostring(data("BaseLevel") or 1))
local ed=(data("EventData") or {}).Halloween2026 or {}
local pity=ed.Pity or {}
local counts={PumpkinMosquito=0,BlackCatMosquito=0}
for _,key in {"Eggs","Mosquitoes"} do for _,item in data(key) or {} do if counts[item.ItemId]~=nil then counts[item.ItemId]+=1 end end end
eventBox:SetDesc(string.format("Available spins: %d\nNext earned spin: %ds\nPumpkin: %d owned • pity %d\nBlack Cat: %d owned • pity %d",ed.SpinCount or 0,math.max(0,math.ceil(300-(ed.TimeProgress or 0))),counts.PumpkinMosquito,pity.PumpkinMosquito or 0,counts.BlackCatMosquito,pity.BlackCatMosquito or 0))
logBox:SetDesc(table.concat(Hub.log,"\n"))
local mainGui=window.UIElements and window.UIElements.Main
local screen=mainGui and mainGui:FindFirstAncestorOfClass("ScreenGui")
if screen then screen.DisplayOrder=10000 end
for _,g in player.PlayerGui:GetChildren() do
if g:IsA("ScreenGui") and g.Name:sub(1,7)=="WindUI/" then g.DisplayOrder=10010 end
end
if mainGui then for _,x in mainGui:GetDescendants() do if x:IsA("GuiButton") then animateButton(x) end end end
end)
if not ok then Hub.lastUiError=tostring(err) end
task.wait(1)
end
end)
task.spawn(function()
identity()
while Hub.alive do
local ok,err=pcall(collectMoney)
if not ok then Hub.lastMoneyError=tostring(err) end
task.wait(0.5)
end
end)
task.spawn(function()
identity()
while Hub.alive do
local ok,err=pcall(function()
if Hub.travel then
local destination=Hub.travel ; Hub.travel=nil
if destination=="Base" then home()
elseif destination=="PlaceBest" then
if home() then
task.wait(0.6)
if Hub.alive and placeBest() then status("Best lineup requested - automation remains paused") end
end
elseif destination=="Halloween" then
local points=CS:GetTagged("SpinPoint")
local point=points[1]
if point then
local cf=point:IsA("Model") and point:GetPivot() or point:IsA("BasePart") and point.CFrame
if cf then teleport(cf+Vector3.new(0,3,5)) ; status("At Halloween wheel") end
else status("Halloween wheel is unavailable") end
else
local folder=workspace:FindFirstChild("SpawnAreas")
local area=folder and folder:FindFirstChild(destination)
local floor=area and area:FindFirstChild("Area")
if floor then teleport(floor.CFrame+Vector3.new(0,4,0)) ; status("At "..destination) end
end
return
end
if not Hub.enabled then return end
local selected=false
for _,key in {"farm","eggs","feed","hatch","placeBest","upgradeBase","upgradeWeapons","spins","chairRecovery"} do
if Hub.settings[key] then selected=true; break end
end
if not selected then
status(Hub.settings.collectIncome and "Auto Collect Money active" or "Choose an automation to begin")
return
end
local rev=Hub.revision
if not character() then status("Waiting for respawn") ; return end
local lootArea=selectLootArea()
if lootArea then
local picked=collectEggs(lootArea,rev)
if valid(rev) and picked>0 then collectDrops(lootArea,rev); maintain(rev) end
return
end
if os.clock()-Hub.lastMaintenance>15 then maintain(rev) end
if not valid(rev) then return end
if Hub.settings.farm then
if not Hub.settings.attack then status("Enable Auto Attack to farm bosses"); return end
local target=selectBoss()
if target then
local won=fight(target,rev)
local _,humanoid=character()
if valid(rev) and (won or humanoid and humanoid.Health<humanoid.MaxHealth*0.3) then maintain(rev) end
else
status(bestTool() and "Waiting for a suitable boss" or "Waiting for a weapon")
spin()
end
else status("Base automation active") ; spin() end
end)
if not ok then
Hub.lastError=tostring(err)
stopFeed()
status("Retrying: "..tostring(err):sub(1,100))
end
task.wait(0.4)
end
end)
log("Ready. All automation starts off. RightShift: menu | F6: start/pause")
return Hub
Review the source before using it. Executions count successful copies, capped at 10 per user and network per script in 24 hours.
Community discussion
0Start the conversation.


Your community, in one place