
Fust Survival Script MunkeHub: Player ESP, Resource ESP
0 views

Use this MunkeHub for Fust Survival Roblox!! Now you can get features like Sleeper ESP, Loot ESP, Fullbright, Vehicle ESP and No Fog, and More!! The Resources page has a master switch for Resource ESP, with Max Distance at 450m and Font Size at 9. The Nodes and Pickups boxes cover sulfur, stone, trees, hemp, mushrooms and wood or stone piles, while the Loot box handles crates, barrels, military crates and airdrops. The left menu also has pages for Players, Vehicles, AI / Enemies, Deployables, World and Combat. No key on this one, so paste the loadstring and go!!
Explore more scripts for this game (1)
--[[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=6af2686daeb273fbec883fd7"))()
end)
end)
--[[rscripts:analytics:end]]
local AIRFLOW_URL = "https://raw.githubusercontent.com/kni-fe/free-products/main/AirFlowLibrary.luau"
local Players = game:GetService("Players")
local CoreGui = game:GetService("CoreGui")
local LocalPlayer = Players.LocalPlayer
local popup = Instance.new("ScreenGui")
popup.Name = "MunkeHubDiscordGate"
popup.IgnoreGuiInset = true
popup.DisplayOrder = 999
popup.Parent = (gethui and gethui()) or CoreGui
local bg = Instance.new("Frame")
bg.Size = UDim2.new(1, 0, 1, 0)
bg.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
bg.BackgroundTransparency = 0.4
bg.BorderSizePixel = 0
bg.Parent = popup
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 400, 0, 260)
frame.Position = UDim2.new(0.5, -200, 0.5, -130)
frame.BackgroundColor3 = Color3.fromRGB(15, 18, 20)
frame.BorderSizePixel = 0
frame.Parent = popup
local frameCorner = Instance.new("UICorner")
frameCorner.CornerRadius = UDim.new(0, 8)
frameCorner.Parent = frame
local stroke = Instance.new("UIStroke")
stroke.Color = Color3.fromRGB(0, 210, 210) -- Cyan theme match
stroke.Thickness = 2
stroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
stroke.Parent = frame
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 40)
title.BackgroundTransparency = 1
title.Text = "KEYLESS MUNKEHUB v1.0.1"
title.TextColor3 = Color3.fromRGB(0, 210, 210)
title.Font = Enum.Font.GothamBold
title.TextSize = 18
title.Parent = frame
local msg = Instance.new("TextLabel")
msg.Size = UDim2.new(1, -40, 0, 120)
msg.Position = UDim2.new(0, 20, 0, 45)
msg.BackgroundTransparency = 1
msg.Text = "This script is currently in BETA.\n\nA fully optimized script featuring advanced Combat and No-Clip is being made and will be released KEYLESS to Discord members early!\n\nPressing continue will copy a Discord invite."
msg.TextColor3 = Color3.fromRGB(240, 245, 250)
msg.Font = Enum.Font.Gotham
msg.TextSize = 13
msg.TextWrapped = true
msg.TextYAlignment = Enum.TextYAlignment.Top
msg.Parent = frame
local continueBtn = Instance.new("TextButton")
continueBtn.Size = UDim2.new(0, 360, 0, 40)
continueBtn.Position = UDim2.new(0, 20, 0, 195)
continueBtn.BackgroundColor3 = Color3.fromRGB(0, 210, 210)
continueBtn.BorderSizePixel = 0
continueBtn.Text = "CONTINUE"
continueBtn.TextColor3 = Color3.fromRGB(0, 0, 0)
continueBtn.Font = Enum.Font.GothamBold
continueBtn.TextSize = 15
continueBtn.Parent = frame
local contCorner = Instance.new("UICorner")
contCorner.CornerRadius = UDim.new(0, 4)
contCorner.Parent = continueBtn
continueBtn.MouseButton1Click:Connect(function()
-- Copy to clipboard
if setclipboard then
pcall(function() setclipboard("https://discord.gg/Kb3GEdsVFV") end)
end
-- Visual feedback
continueBtn.Text = "Copied! Loading script..."
continueBtn.TextColor3 = Color3.fromRGB(0, 100, 0)
continueBtn.BackgroundColor3 = Color3.fromRGB(200, 255, 200)
task.wait(1) -- Wait 1 second before loading
popup:Destroy()
local ok, Library = pcall(function() return loadstring(game:HttpGet(AIRFLOW_URL, true))() end)
if not ok or type(Library) ~= "table" then
local err = Instance.new("ScreenGui", CoreGui)
local lbl = Instance.new("TextLabel", err)
lbl.Size = UDim2.new(1,0,0,50)
lbl.Text = "[Visuals] Failed to load AirFlow UI: " .. tostring(Library)
lbl.TextColor3 = Color3.new(1,0,0)
lbl.BackgroundTransparency = 1
lbl.Font = Enum.Font.GothamBold
lbl.TextSize = 20
return
end
local RunService = game:GetService("RunService")
local Lighting = game:GetService("Lighting")
local Camera = workspace.CurrentCamera
local Drawingnew = Drawing.new
local Color3fromRGB = Color3.fromRGB
local Vector3new = Vector3.new
local Vector2new = Vector2.new
local mathfloor = math.floor
local Connections = {}
local function Track(c) table.insert(Connections, c); return c end
local Env = { Fullbright=false, NoFog=false, NoShadows=false, NoPostFX=false, ClearWater=false, NoLeaves=false, ForcedTime=-1 }
local Original = {
Brightness=Lighting.Brightness, Ambient=Lighting.Ambient, OutdoorAmbient=Lighting.OutdoorAmbient,
FogEnd=Lighting.FogEnd, GlobalShadows=Lighting.GlobalShadows, ClockTime=Lighting.ClockTime,
AtmosphereDensity=(Lighting:FindFirstChildOfClass("Atmosphere") and Lighting.Atmosphere.Density) or 0.3,
WaterColor=workspace.Terrain and workspace.Terrain.WaterColor or Color3.new(),
WaterTransparency=workspace.Terrain and workspace.Terrain.WaterTransparency or 0.5,
}
Track(RunService.RenderStepped:Connect(function()
pcall(function()
Lighting.Brightness = Env.Fullbright and 2 or Original.Brightness
Lighting.Ambient = Env.Fullbright and Color3fromRGB(255,255,255) or Original.Ambient
Lighting.OutdoorAmbient = Env.Fullbright and Color3fromRGB(255,255,255) or Original.OutdoorAmbient
local atm = Lighting:FindFirstChildOfClass("Atmosphere")
if atm then atm.Density = Env.NoFog and 0 or Original.AtmosphereDensity end
Lighting.FogEnd = Env.NoFog and 1000000 or Original.FogEnd
Lighting.GlobalShadows = Env.NoShadows and false or Original.GlobalShadows
Lighting.ClockTime = Env.ForcedTime > -1 and Env.ForcedTime or Original.ClockTime
if workspace.Terrain then
workspace.Terrain.WaterColor = Env.ClearWater and Color3fromRGB(255,255,255) or Original.WaterColor
workspace.Terrain.WaterTransparency = Env.ClearWater and 1 or Original.WaterTransparency
end
for _, c in ipairs(Lighting:GetChildren()) do
if c:IsA("BloomEffect") or c:IsA("BlurEffect") or c:IsA("SunRaysEffect") or c:IsA("ColorCorrectionEffect") then
c.Enabled = not Env.NoPostFX
end
end
end)
end))
local function ToggleLeaves(state)
for _, obj in ipairs(workspace:GetDescendants()) do
if obj.Name == "Leaves" or obj.Name == "Fern" then
if obj:IsA("MeshPart") or obj:IsA("Model") then pcall(function() obj.Transparency = state and 1 or 0 end) end
end
end
end
local PosCache, PosCacheTimes = {}, {}
local function FastPos(model)
if not model then return nil end
local now = tick()
local c = PosCache[model]
if c and (now - (PosCacheTimes[model] or 0)) < 2 and c.Parent == model.Parent then return c.Position end
local pos
local ok, pivot = pcall(function() return model:GetPivot().Position end)
if ok and pivot then pos = pivot
elseif model.PrimaryPart then pos = model.PrimaryPart.Position
else local part = model:FindFirstChildWhichIsA("BasePart"); pos = part and part.Position end
if pos then PosCache[model] = { Position = pos, Parent = model.Parent }; PosCacheTimes[model] = now end
return pos
end
local function CharPos(char)
if not char then return nil end
for _, n in ipairs({"HumanoidRootPart","UpperTorso","LowerTorso","Head","FustBodyCollider"}) do
local p = char:FindFirstChild(n)
if p and p:IsA("BasePart") then return p.Position end
end
return nil
end
local ChamsFolder = Instance.new("Folder", (gethui and gethui()) or CoreGui)
local function UpdateHighlight(hl, enabled, color, outline)
if not hl then return end
hl.Enabled = enabled
if enabled then
hl.FillColor = color
hl.OutlineColor = outline and Color3fromRGB(0,0,0) or color
hl.OutlineTransparency = outline and 0 or 1
hl.FillTransparency = 0.5
end
end
local function CreateDraw()
local d = {
box = Drawingnew("Square"), name = Drawingnew("Text"), dist = Drawingnew("Text"),
weapon = Drawingnew("Text"), healthBar = Drawingnew("Line"), healthBarOutline = Drawingnew("Line"),
cham = Instance.new("Highlight", ChamsFolder)
}
d.box.Thickness = 1; d.box.Outline = true; d.box.Filled = false
d.name.Center = true; d.name.Outline = true; d.name.Font = 2
d.dist.Center = true; d.dist.Outline = true; d.dist.Font = 2
d.weapon.Center = true; d.weapon.Outline = true; d.weapon.Font = 2
d.healthBar.Thickness = 1; d.healthBarOutline.Thickness = 3
return d
end
local function HideDraw(d)
if not d then return end
d.box.Visible = false; d.name.Visible = false; d.dist.Visible = false
d.weapon.Visible = false; d.healthBar.Visible = false; d.healthBarOutline.Visible = false
d.cham.Enabled = false
end
local function DestroyDraw(d)
if not d then return end
pcall(function() d.box:Remove() end); pcall(function() d.name:Remove() end)
pcall(function() d.dist:Remove() end); pcall(function() d.weapon:Remove() end)
pcall(function() d.healthBar:Remove() end); pcall(function() d.healthBarOutline:Remove() end)
pcall(function() d.cham:Destroy() end)
end
local function ComputeBox(pos, heightStuds)
local h = heightStuds or 3
local top = Camera:WorldToViewportPoint(pos + Vector3new(0, h/2, 0))
local bottom = Camera:WorldToViewportPoint(pos - Vector3new(0, h/2, 0))
if top.Z <= 0 or bottom.Z <= 0 then return nil end
local height = math.abs(bottom.Y - top.Y)
if height < 1 then height = 30 end
local width = height / 2
if width < 1 then width = 15 end
return Vector2new(top.X - width/2, top.Y), Vector2new(width, height)
end
local ESP = { Master=true, MaxDistance=600, FontSize=13, DrawBox=false, DrawName=true, DrawDistance=true, DrawChams=false,
ShowSulfurNode=false, ShowMetalNode=false, ShowStoneNode=false, ShowTree=false,
ShowHemp=false, ShowMushroom=false, ShowWoodPile=false, ShowStonePile=false,
ShowSulfurOrePile=false, ShowMetalOrePile=false, ShowBerryBush=false, ShowCarrotPlant=false, ShowPotatoPlant=false,
ShowLootCrate=false, ShowLootBarrel=false, ShowMilitaryCrate=false, ShowAirdrops=false }
local Colors = { Sulfur=Color3fromRGB(255,255,100), Metal=Color3fromRGB(180,180,200), Stone=Color3fromRGB(200,140,90),
Wood=Color3fromRGB(120,220,130), Hemp=Color3fromRGB(200,255,120), Mushroom=Color3fromRGB(255,170,220),
Berry=Color3fromRGB(255,100,160), Carrot=Color3fromRGB(255,150,60), Potato=Color3fromRGB(230,200,120),
Loot=Color3fromRGB(255,90,255), Military=Color3fromRGB(255,60,60), Airdrop=Color3fromRGB(255,240,100) }
local P = { Enabled=false, MaxDistance=0, FontSize=13, Box=true, BoxColor=Color3fromRGB(255,60,60),
Name=true, NameColor=Color3fromRGB(255,255,255), Distance=true, DistanceColor=Color3fromRGB(255,255,255),
HealthBar=true, HealthBarSize=3, Chams=false, ChamColor=Color3fromRGB(255,60,60),
SleeperEnabled=false, SleeperMaxDistance=0, SleeperFontSize=13, SleeperBox=true, SleeperName=true,
SleeperDistance=true, SleeperChams=false, SleeperColor=Color3fromRGB(160,160,255) }
local T = { Vehicles=false, VehMaxDist=0, VehFontSize=13, VehBox=true, VehName=true, VehDist=true, VehChams=false, VehColor=Color3fromRGB(0,200,255),
AI=false, AIMaxDist=0, AIFontSize=13, AIBox=true, AIName=true, AIDist=true, AIChams=false, AIColor=Color3fromRGB(255,60,60),
AIFilterGuards=true, AIFilterScavengers=true, AIFilterAnimals=true }
local D = { Enabled=false, MaxDistance=1000, FontSize=13, Box=true, Name=true, Chams=true,
ShowTC=true, ShowBoxes=true, ShowFurnaces=true, ShowWorkbenches=true, ShowTraps=true, ShowOther=false,
ColorEnemy=Color3fromRGB(255,60,60), ColorOwn=Color3fromRGB(60,255,60) }
local ResourceDraws = {}
local ResourceFilters = {
Nodes = {
{ match="SulfurNode", tag="Sulfur", color=Colors.Sulfur, key="ShowSulfurNode" },
{ match="MetalNode", tag="Metal", color=Colors.Metal, key="ShowMetalNode" },
{ match="StoneNode", tag="Stone", color=Colors.Stone, key="ShowStoneNode" },
{ match="Tree", tag="Wood", color=Colors.Wood, key="ShowTree" },
},
Pickups = {
{ match="Hemp", tag="Hemp", color=Colors.Hemp, key="ShowHemp" },
{ match="Mushroom", tag="Mushroom", color=Colors.Mushroom, key="ShowMushroom" },
{ match="WoodPile", tag="Wood", color=Colors.Wood, key="ShowWoodPile" },
{ match="StonePile", tag="Stone", color=Colors.Stone, key="ShowStonePile" },
{ match="SulfurOrePile", tag="Sulfur", color=Colors.Sulfur, key="ShowSulfurOrePile" },
{ match="MetalOrePile", tag="Metal", color=Colors.Metal, key="ShowMetalOrePile" },
{ match="BerryBush", tag="Berry", color=Colors.Berry, key="ShowBerryBush" },
{ match="CarrotPlant", tag="Carrot", color=Colors.Carrot, key="ShowCarrotPlant" },
{ match="PotatoPlant", tag="Potato", color=Colors.Potato, key="ShowPotatoPlant" },
},
Loot = {
{ match="LootCrate", tag="Crate", color=Colors.Loot, key="ShowLootCrate" },
{ match="LootBarrel", tag="Barrel", color=Colors.Loot, key="ShowLootBarrel" },
{ match="MilitaryCrate", tag="Military", color=Colors.Military, key="ShowMilitaryCrate" },
},
Airdrops = { { match="", tag="Airdrop", color=Colors.Airdrop, key="ShowAirdrops" } },
}
local resourceAccum = 0
Track(RunService.RenderStepped:Connect(function(dt)
resourceAccum = resourceAccum + dt
if resourceAccum < 0.066 then return end
resourceAccum = 0
local char = LocalPlayer.Character
if not ESP.Master or not char or not char:FindFirstChild("HumanoidRootPart") then
for _, d in pairs(ResourceDraws) do HideDraw(d) end
return
end
local myPos = char.HumanoidRootPart.Position
local seen = {}
local function Process(path, list)
local folder = workspace
for _, n in ipairs(path) do folder = folder and folder:FindFirstChild(n) end
if not folder then return end
for _, obj in ipairs(folder:GetChildren()) do
for _, rule in ipairs(list) do
if ESP[rule.key] and (rule.match == "" or obj.Name:find(rule.match)) then
local pos = FastPos(obj)
if pos and (myPos - pos).Magnitude <= ESP.MaxDistance then
seen[obj] = true
if not ResourceDraws[obj] then ResourceDraws[obj] = CreateDraw() end
local d = ResourceDraws[obj]
local sp, onScreen = Camera:WorldToViewportPoint(pos)
if onScreen then
local boxPos, boxSize = ComputeBox(pos, 3)
if boxPos then
d.box.Size = boxSize; d.box.Position = boxPos
d.box.Color = rule.color; d.box.Visible = ESP.DrawBox
d.name.Text = rule.tag; d.name.Size = ESP.FontSize
d.name.Position = Vector2new(sp.X, boxPos.Y - 18)
d.name.Color = rule.color; d.name.Visible = ESP.DrawName
d.dist.Text = "[" .. mathfloor((myPos-pos).Magnitude) .. "m]"
d.dist.Size = ESP.FontSize - 1
d.dist.Position = Vector2new(sp.X, boxPos.Y + boxSize.Y + 2)
d.dist.Color = rule.color; d.dist.Visible = ESP.DrawDistance
d.weapon.Visible = false
d.healthBar.Visible = false; d.healthBarOutline.Visible = false
d.cham.Adornee = obj
UpdateHighlight(d.cham, ESP.DrawChams, rule.color, true)
end
else HideDraw(d) end
end
break
end
end
end
end
Process({"Nodes"}, ResourceFilters.Nodes); Process({"Pickups"}, ResourceFilters.Pickups)
Process({"Loot"}, ResourceFilters.Loot); Process({"Airdrops"}, ResourceFilters.Airdrops)
for obj, d in pairs(ResourceDraws) do
if not seen[obj] then HideDraw(d); if not obj.Parent then DestroyDraw(d); ResourceDraws[obj] = nil end end
end
end))
local PlayerDraws, SleeperDraws = {}, {}
for _, plr in ipairs(Players:GetPlayers()) do
if plr ~= LocalPlayer then PlayerDraws[plr] = CreateDraw() end
end
Track(Players.PlayerAdded:Connect(function(plr) if plr ~= LocalPlayer then PlayerDraws[plr] = CreateDraw() end end))
Track(Players.PlayerRemoving:Connect(function(plr)
if PlayerDraws[plr] then DestroyDraw(PlayerDraws[plr]); PlayerDraws[plr] = nil end
end))
Track(RunService.RenderStepped:Connect(function()
local char = LocalPlayer.Character
if not char or not char:FindFirstChild("HumanoidRootPart") then
for _, d in pairs(PlayerDraws) do HideDraw(d) end
for _, d in pairs(SleeperDraws) do HideDraw(d) end
return
end
local localRoot = char.HumanoidRootPart
if not P.Enabled then
for _, d in pairs(PlayerDraws) do HideDraw(d) end
else
for player, d in pairs(PlayerDraws) do
local eChar = player.Character
local visible = false
if eChar and player:GetAttribute("Alive") == true and player:GetAttribute("Dead") ~= true then
local pos = CharPos(eChar)
if pos then
local dist = (localRoot.Position - pos).Magnitude
if P.MaxDistance == 0 or dist <= P.MaxDistance then
local sp, onScreen = Camera:WorldToViewportPoint(pos)
if onScreen then
local boxPos, boxSize = ComputeBox(pos, 5.5)
if boxPos then
visible = true
d.box.Size = boxSize; d.box.Position = boxPos
d.box.Color = P.BoxColor; d.box.Visible = P.Box
d.name.Text = player.Name; d.name.Size = P.FontSize
d.name.Position = Vector2new(sp.X, boxPos.Y - 18)
d.name.Color = P.NameColor; d.name.Visible = P.Name
d.dist.Text = "[" .. mathfloor(dist) .. "m]"; d.dist.Size = P.FontSize - 1
d.dist.Position = Vector2new(sp.X, boxPos.Y + boxSize.Y + 2)
d.dist.Color = P.DistanceColor; d.dist.Visible = P.Distance
local hum = eChar:FindFirstChildOfClass("Humanoid")
if hum and P.HealthBar then
local hp = math.clamp(hum.Health/hum.MaxHealth, 0, 1)
d.healthBar.From = Vector2new(boxPos.X - 5, boxPos.Y + boxSize.Y*(1-hp))
d.healthBar.To = Vector2new(boxPos.X - 5, boxPos.Y + boxSize.Y)
d.healthBar.Color = Color3fromRGB(mathfloor(255*(1-hp)), mathfloor(255*hp), 0)
d.healthBar.Thickness = P.HealthBarSize
d.healthBar.Visible = true
d.healthBarOutline.From = Vector2new(boxPos.X - 5, boxPos.Y - 1)
d.healthBarOutline.To = Vector2new(boxPos.X - 5, boxPos.Y + boxSize.Y + 1)
d.healthBarOutline.Visible = true
else
d.healthBar.Visible = false; d.healthBarOutline.Visible = false
end
d.weapon.Visible = false
d.cham.Adornee = eChar
UpdateHighlight(d.cham, P.Chams, P.ChamColor, true)
end
end
end
end
end
if not visible then HideDraw(d) end
end
end
if not P.SleeperEnabled then
for _, d in pairs(SleeperDraws) do HideDraw(d) end
else
local sf = workspace:FindFirstChild("Sleepers")
local seen = {}
if sf then
for _, sleeper in ipairs(sf:GetChildren()) do
local pos = CharPos(sleeper)
if pos and (P.SleeperMaxDistance == 0 or (localRoot.Position - pos).Magnitude <= P.SleeperMaxDistance) then
seen[sleeper] = true
if not SleeperDraws[sleeper] then SleeperDraws[sleeper] = CreateDraw() end
local d = SleeperDraws[sleeper]
local sp, onScreen = Camera:WorldToViewportPoint(pos)
if onScreen then
local boxPos, boxSize = ComputeBox(pos, 5.5)
if boxPos then
d.box.Size = boxSize; d.box.Position = boxPos
d.box.Color = P.SleeperColor; d.box.Visible = P.SleeperBox
d.name.Text = sleeper.Name; d.name.Size = P.SleeperFontSize
d.name.Position = Vector2new(sp.X, boxPos.Y - 18)
d.name.Color = P.SleeperColor; d.name.Visible = P.SleeperName
d.dist.Text = "[" .. mathfloor((localRoot.Position-pos).Magnitude) .. "m]"
d.dist.Size = P.SleeperFontSize - 1
d.dist.Position = Vector2new(sp.X, boxPos.Y + boxSize.Y + 2)
d.dist.Color = P.SleeperColor; d.dist.Visible = P.SleeperDistance
d.weapon.Visible = false
d.healthBar.Visible = false; d.healthBarOutline.Visible = false
d.cham.Adornee = sleeper
UpdateHighlight(d.cham, P.SleeperChams, P.SleeperColor, true)
end
else HideDraw(d) end
end
end
end
for s, d in pairs(SleeperDraws) do
if not seen[s] then HideDraw(d); if not s.Parent then DestroyDraw(d); SleeperDraws[s] = nil end end
end
end
end))
local VehicleDraws = {}
local vehAccum = 0
Track(RunService.RenderStepped:Connect(function(dt)
if not T.Vehicles then
for _, d in pairs(VehicleDraws) do HideDraw(d) end
return
end
vehAccum = vehAccum + dt
if vehAccum < 0.05 then return end
vehAccum = 0
local char = LocalPlayer.Character
if not char or not char:FindFirstChild("HumanoidRootPart") then return end
local myPos = char.HumanoidRootPart.Position
local seen = {}
for _, obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("VehicleSeat") and obj.Parent and obj.Parent:IsA("Model") then
local model = obj.Parent
local pos = FastPos(model)
if pos and (T.VehMaxDist == 0 or (myPos - pos).Magnitude <= T.VehMaxDist) then
seen[model] = true
if not VehicleDraws[model] then VehicleDraws[model] = CreateDraw() end
local d = VehicleDraws[model]
local sp, onScreen = Camera:WorldToViewportPoint(pos)
if onScreen then
local boxPos, boxSize = ComputeBox(pos, 4)
if boxPos then
d.box.Size = boxSize; d.box.Position = boxPos
d.box.Color = T.VehColor; d.box.Visible = T.VehBox
d.name.Text = model.Name; d.name.Size = T.VehFontSize
d.name.Position = Vector2new(sp.X, boxPos.Y - 18)
d.name.Color = T.VehColor; d.name.Visible = T.VehName
d.dist.Text = "[" .. mathfloor((myPos-pos).Magnitude) .. "m]"
d.dist.Size = T.VehFontSize - 1
d.dist.Position = Vector2new(sp.X, boxPos.Y + boxSize.Y + 2)
d.dist.Color = T.VehColor; d.dist.Visible = T.VehDist
d.weapon.Visible = false
d.healthBar.Visible = false; d.healthBarOutline.Visible = false
d.cham.Adornee = model
UpdateHighlight(d.cham, T.VehChams, T.VehColor, true)
end
else HideDraw(d) end
end
end
end
for model, d in pairs(VehicleDraws) do
if not seen[model] then HideDraw(d); if not model.Parent then DestroyDraw(d); VehicleDraws[model] = nil end end
end
end))
local AIDraws = {}
local aiAccum = 0
Track(RunService.RenderStepped:Connect(function(dt)
if not T.AI then
for _, d in pairs(AIDraws) do HideDraw(d) end
return
end
aiAccum = aiAccum + dt
if aiAccum < 0.05 then return end
aiAccum = 0
local char = LocalPlayer.Character
if not char or not char:FindFirstChild("HumanoidRootPart") then return end
local myPos = char.HumanoidRootPart.Position
local seen = {}
local folders = {workspace:FindFirstChild("Npcs"), workspace:FindFirstChild("Animals")}
for _, folder in ipairs(folders) do
if folder then
for _, model in ipairs(folder:GetChildren()) do
local hum = model:FindFirstChildOfClass("Humanoid")
if hum and hum.Health > 0 and model:GetAttribute("Dead") ~= true then
local kind = model:GetAttribute("NpcKind") or "Animal"
local species = model:GetAttribute("Species")
local isScav = model:GetAttribute("Scavenger") == true
local shouldShow = false
local dName = model.Name
if species and T.AIFilterAnimals then shouldShow = true; dName = species
elseif kind == "guard" and isScav and T.AIFilterScavengers then shouldShow = true; dName = "Scavenger"
elseif kind == "guard" and not isScav and T.AIFilterGuards then shouldShow = true; dName = "Guard" end
if shouldShow then
local pos = CharPos(model) or FastPos(model)
if pos and (T.AIMaxDist == 0 or (myPos - pos).Magnitude <= T.AIMaxDist) then
seen[model] = true
if not AIDraws[model] then AIDraws[model] = CreateDraw() end
local d = AIDraws[model]
local sp, onScreen = Camera:WorldToViewportPoint(pos)
if onScreen then
local boxPos, boxSize = ComputeBox(pos, 5.5)
if boxPos then
d.box.Size = boxSize; d.box.Position = boxPos
d.box.Color = T.AIColor; d.box.Visible = T.AIBox
d.name.Text = dName .. " [" .. (model:GetAttribute("State") or "") .. "]"
d.name.Size = T.AIFontSize
d.name.Position = Vector2new(sp.X, boxPos.Y - 18)
d.name.Color = T.AIColor; d.name.Visible = T.AIName
d.dist.Text = "[" .. mathfloor((myPos-pos).Magnitude) .. "m]"
d.dist.Size = T.AIFontSize - 1
d.dist.Position = Vector2new(sp.X, boxPos.Y + boxSize.Y + 2)
d.dist.Color = Color3fromRGB(255,255,255); d.dist.Visible = T.AIDist
d.weapon.Visible = false
d.healthBar.Visible = false; d.healthBarOutline.Visible = false
d.cham.Adornee = model
UpdateHighlight(d.cham, T.AIChams, T.AIColor, true)
end
else HideDraw(d) end
end
end
end
end
end
end
for model, d in pairs(AIDraws) do
if not seen[model] then HideDraw(d); if not model.Parent then DestroyDraw(d); AIDraws[model] = nil end end
end
end))
local DeployDraws = {}
local deployAccum = 0
Track(RunService.RenderStepped:Connect(function(dt)
if not D.Enabled then
for _, d in pairs(DeployDraws) do HideDraw(d) end
return
end
deployAccum = deployAccum + dt
if deployAccum < 0.1 then return end
deployAccum = 0
local char = LocalPlayer.Character
if not char or not char:FindFirstChild("HumanoidRootPart") then return end
local myPos = char.HumanoidRootPart.Position
local myOwnerTag = LocalPlayer:GetAttribute("OwnerTag")
local seen = {}
local dFolder = workspace:FindFirstChild("Deployables")
if dFolder then
for _, model in ipairs(dFolder:GetChildren()) do
local kind = model:GetAttribute("Kind")
if kind then
local show = false
if kind == "tool_cupboard" and D.ShowTC then show = true
elseif (kind == "large_box" or kind == "wooden_box" or kind == "shelves" or kind == "bamboo_rack" or kind == "locker") and D.ShowBoxes then show = true
elseif (kind == "furnace" or kind == "large_furnace") and D.ShowFurnaces then show = true
elseif (kind == "workbench_t1" or kind == "workbench_t2" or kind == "workbench_t3" or kind == "repair_bench" or kind == "skin_bench") and D.ShowWorkbenches then show = true
elseif (kind == "wooden_spikes" or kind == "high_stone_wall" or kind == "high_stone_gate" or kind == "wood_barricade") and D.ShowTraps then show = true
elseif D.ShowOther then show = true end
if show then
local pos = FastPos(model)
if pos then
local dist = (myPos - pos).Magnitude
if dist <= D.MaxDistance then
seen[model] = true
if not DeployDraws[model] then DeployDraws[model] = CreateDraw() end
local d = DeployDraws[model]
local sp, onScreen = Camera:WorldToViewportPoint(pos)
if onScreen then
local ownerTag = model:GetAttribute("OwnerTag")
local isMine = (ownerTag == myOwnerTag)
local color = isMine and D.ColorOwn or D.ColorEnemy
local boxPos, boxSize = ComputeBox(pos, 3)
if boxPos then
d.box.Size = boxSize; d.box.Position = boxPos
d.box.Color = color; d.box.Visible = D.Box
local displayName = kind:gsub("_", " "):upper()
if kind == "tool_cupboard" then displayName = "TC" end
d.name.Text = displayName
d.name.Size = D.FontSize
d.name.Position = Vector2new(sp.X, boxPos.Y - 18)
d.name.Color = color; d.name.Visible = D.Name
d.dist.Visible = false
d.weapon.Visible = false
d.healthBar.Visible = false; d.healthBarOutline.Visible = false
d.cham.Adornee = model
UpdateHighlight(d.cham, D.Chams, color, true)
end
else HideDraw(d) end
end
end
end
end
end
end
for model, d in pairs(DeployDraws) do
if not seen[model] then HideDraw(d); if not model.Parent then DestroyDraw(d); DeployDraws[model] = nil end end
end
end))
Library:SetTheme({
Accent=Color3fromRGB(0,210,210), AccentDark=Color3fromRGB(0,50,50), Background=Color3fromRGB(8,9,10),
Surface=Color3fromRGB(15,18,20), Surface2=Color3fromRGB(22,26,30), Surface3=Color3fromRGB(37,42,50),
Stroke=Color3fromRGB(45,52,60), StrokeHover=Color3fromRGB(0,210,210), Text=Color3fromRGB(240,245,250),
Muted=Color3fromRGB(140,150,160), Warning=Color3fromRGB(240,176,108), Success=Color3fromRGB(120,220,160), Error=Color3fromRGB(240,100,100),
}, true)
local Window = Library:Window({
Name="MunkeHub", Title="MunkeHub Keyless", Subtitle="v1.0.1", Keybind="RightShift", Size=UDim2.fromOffset(800,680),
Home={ Tier="Free", TierIcon="unlock", Welcome="Visuals", Features={ Title="MunkeHub v1.0.1" } },
})
local VisTab = Window:Tab({ Name="Resources", Icon="eye" })
local PlrTab = Window:Tab({ Name="Players", Icon="user" })
local VehTab = Window:Tab({ Name="Vehicles", Icon="car" })
local AITab = Window:Tab({ Name="AI / Enemies", Icon="skull" })
local DepTab = Window:Tab({ Name="Deployables", Icon="box" })
local WldTab = Window:Tab({ Name="World", Icon="globe" })
local function AddElements(group, settings, keys)
local g1 = group:Groupbox({ Name="Visuals", Icon="layout" })
for _, k in ipairs(keys) do g1:Toggle({ Name=k, Default=settings[k], Callback=function(v) settings[k]=v end }) end
end
local RMaster = VisTab:Groupbox({ Name="Master Settings", Icon="power" })
RMaster:Toggle({ Name="Enable Resource ESP", Default=true, Callback=function(v) ESP.Master=v end })
RMaster:Slider({ Name="Max Distance", Min=100, Max=3000, Default=600, Suffix="m", Callback=function(v) ESP.MaxDistance=v end })
RMaster:Slider({ Name="Font Size", Min=8, Max=24, Default=13, Callback=function(v) ESP.FontSize=v end })
AddElements(RMaster, ESP, {"DrawBox","DrawName","DrawDistance","DrawChams"})
local RNodes = VisTab:Groupbox({ Name="Nodes", Icon="mountain", Side="Left" })
RNodes:Toggle({ Name="Sulfur Node", Default=false, Callback=function(v) ESP.ShowSulfurNode=v end })
RNodes:Toggle({ Name="Metal Node", Default=false, Callback=function(v) ESP.ShowMetalNode=v end })
RNodes:Toggle({ Name="Stone Node", Default=false, Callback=function(v) ESP.ShowStoneNode=v end })
RNodes:Toggle({ Name="Tree (Wood)", Default=false, Callback=function(v) ESP.ShowTree=v end })
local RPickups = VisTab:Groupbox({ Name="Pickups", Icon="package", Side="Left" })
RPickups:Toggle({ Name="Hemp", Default=false, Callback=function(v) ESP.ShowHemp=v end })
RPickups:Toggle({ Name="Mushroom", Default=false, Callback=function(v) ESP.ShowMushroom=v end })
RPickups:Toggle({ Name="Wood Pile", Default=false, Callback=function(v) ESP.ShowWoodPile=v end })
RPickups:Toggle({ Name="Stone Pile", Default=false, Callback=function(v) ESP.ShowStonePile=v end })
RPickups:Toggle({ Name="Sulfur Ore", Default=false, Callback=function(v) ESP.ShowSulfurOrePile=v end })
RPickups:Toggle({ Name="Metal Ore", Default=false, Callback=function(v) ESP.ShowMetalOrePile=v end })
RPickups:Toggle({ Name="Berry Bush", Default=false, Callback=function(v) ESP.ShowBerryBush=v end })
RPickups:Toggle({ Name="Carrot Plant", Default=false, Callback=function(v) ESP.ShowCarrotPlant=v end })
RPickups:Toggle({ Name="Potato Plant", Default=false, Callback=function(v) ESP.ShowPotatoPlant=v end })
local RLoot = VisTab:Groupbox({ Name="Loot", Icon="box", Side="Right" })
RLoot:Toggle({ Name="Loot Crate", Default=false, Callback=function(v) ESP.ShowLootCrate=v end })
RLoot:Toggle({ Name="Loot Barrel", Default=false, Callback=function(v) ESP.ShowLootBarrel=v end })
RLoot:Toggle({ Name="Military Crate", Default=false, Callback=function(v) ESP.ShowMilitaryCrate=v end })
RLoot:Toggle({ Name="Airdrops", Default=false, Callback=function(v) ESP.ShowAirdrops=v end })
local PMaster = PlrTab:Groupbox({ Name="Master Settings", Icon="user" })
PMaster:Toggle({ Name="Enable Player ESP", Default=false, Callback=function(v) P.Enabled=v end })
PMaster:Slider({ Name="Max Distance (0 = inf)", Min=0, Max=3000, Default=0, Suffix="m", Callback=function(v) P.MaxDistance=v end })
PMaster:Slider({ Name="Font Size", Min=8, Max=24, Default=13, Callback=function(v) P.FontSize=v end })
AddElements(PMaster, P, {"Box","Name","Distance","HealthBar","Chams"})
PMaster:ColorPicker({ Name="Cham Color", Default=P.ChamColor, Callback=function(v) P.ChamColor=v end })
local PInfo = PlrTab:Groupbox({ Name="Colors", Icon="palette", Side="Left" })
PInfo:ColorPicker({ Name="Box Color", Default=P.BoxColor, Callback=function(v) P.BoxColor=v end })
PInfo:ColorPicker({ Name="Name Color", Default=P.NameColor, Callback=function(v) P.NameColor=v end })
PInfo:ColorPicker({ Name="Distance Color", Default=P.DistanceColor, Callback=function(v) P.DistanceColor=v end })
local SMaster = PlrTab:Groupbox({ Name="Sleeper Settings", Icon="moon" })
SMaster:Toggle({ Name="Enable Sleeper ESP", Default=false, Callback=function(v) P.SleeperEnabled=v end })
SMaster:Slider({ Name="Max Distance (0 = inf)", Min=0, Max=3000, Default=0, Suffix="m", Callback=function(v) P.SleeperMaxDistance=v end })
SMaster:Slider({ Name="Font Size", Min=8, Max=24, Default=13, Callback=function(v) P.SleeperFontSize=v end })
AddElements(SMaster, P, {"SleeperBox","SleeperName","SleeperDistance","SleeperChams"})
SMaster:ColorPicker({ Name="Sleeper Color", Default=P.SleeperColor, Callback=function(v) P.SleeperColor=v end })
local VMaster = VehTab:Groupbox({ Name="Master Settings", Icon="car" })
VMaster:Toggle({ Name="Enable Vehicle ESP", Default=false, Callback=function(v) T.Vehicles=v end })
VMaster:Slider({ Name="Max Distance (0 = inf)", Min=0, Max=3000, Default=0, Suffix="m", Callback=function(v) T.VehMaxDist=v end })
VMaster:Slider({ Name="Font Size", Min=8, Max=24, Default=13, Callback=function(v) T.VehFontSize=v end })
AddElements(VMaster, T, {"VehBox","VehName","VehDist","VehChams"})
VMaster:ColorPicker({ Name="Vehicle Color", Default=T.VehColor, Callback=function(v) T.VehColor=v end })
local AMaster = AITab:Groupbox({ Name="Master Settings", Icon="skull" })
AMaster:Toggle({ Name="Enable AI ESP", Default=false, Callback=function(v) T.AI=v end })
AMaster:Slider({ Name="Max Distance (0 = inf)", Min=0, Max=3000, Default=0, Suffix="m", Callback=function(v) T.AIMaxDist=v end })
AMaster:Slider({ Name="Font Size", Min=8, Max=24, Default=13, Callback=function(v) T.AIFontSize=v end })
AddElements(AMaster, T, {"AIBox","AIName","AIDist","AIChams"})
AMaster:ColorPicker({ Name="AI Color", Default=T.AIColor, Callback=function(v) T.AIColor=v end })
local AFilters = AITab:Groupbox({ Name="Filters", Icon="filter", Side="Left" })
AFilters:Toggle({ Name="Guards", Default=true, Callback=function(v) T.AIFilterGuards=v end })
AFilters:Toggle({ Name="Scavengers", Default=true, Callback=function(v) T.AIFilterScavengers=v end })
AFilters:Toggle({ Name="Animals", Default=true, Callback=function(v) T.AIFilterAnimals=v end })
local DMaster = DepTab:Groupbox({ Name="Master Settings", Icon="box" })
DMaster:Toggle({ Name="Enable Deployable ESP", Default=false, Callback=function(v) D.Enabled=v end })
DMaster:Slider({ Name="Max Distance", Min=100, Max=3000, Default=1000, Suffix="m", Callback=function(v) D.MaxDistance=v end })
DMaster:Slider({ Name="Font Size", Min=8, Max=24, Default=13, Callback=function(v) D.FontSize=v end })
AddElements(DMaster, D, {"Box","Name","Chams"})
local DFilters = DepTab:Groupbox({ Name="Filters", Icon="filter", Side="Left" })
DFilters:Toggle({ Name="Tool Cupboards", Default=true, Callback=function(v) D.ShowTC=v end })
DFilters:Toggle({ Name="Loot Boxes / Shelves", Default=true, Callback=function(v) D.ShowBoxes=v end })
DFilters:Toggle({ Name="Furnaces", Default=true, Callback=function(v) D.ShowFurnaces=v end })
DFilters:Toggle({ Name="Workbenches / Repair", Default=true, Callback=function(v) D.ShowWorkbenches=v end })
DFilters:Toggle({ Name="Walls / Traps / Gates", Default=true, Callback=function(v) D.ShowTraps=v end })
DFilters:Toggle({ Name="Other (Beds, Lights)", Default=false, Callback=function(v) D.ShowOther=v end })
local DColors = DepTab:Groupbox({ Name="Colors", Icon="palette", Side="Right" })
DColors:ColorPicker({ Name="Enemy Color", Default=D.ColorEnemy, Callback=function(v) D.ColorEnemy=v end })
DColors:ColorPicker({ Name="Your Base Color", Default=D.ColorOwn, Callback=function(v) D.ColorOwn=v end })
local WMaster = WldTab:Groupbox({ Name="World Modifiers", Icon="sun" })
WMaster:Toggle({ Name="Fullbright", Default=false, Callback=function(v) Env.Fullbright=v end })
WMaster:Toggle({ Name="No Fog", Default=false, Callback=function(v) Env.NoFog=v end })
WMaster:Toggle({ Name="No Shadows", Default=false, Callback=function(v) Env.NoShadows=v end })
WMaster:Toggle({ Name="Disable Post-FX", Default=false, Callback=function(v) Env.NoPostFX=v end })
WMaster:Toggle({ Name="Clear Water", Default=false, Callback=function(v) Env.ClearWater=v end })
WMaster:Toggle({ Name="Remove Foliage", Default=false, Callback=function(v) Env.NoLeaves=v; ToggleLeaves(v) end })
WMaster:Slider({ Name="Force Time (0-24, 12=off)", Min=0, Max=24, Default=12, Callback=function(v) Env.ForcedTime=(v==12) and -1 or v end })
local UGroup = WldTab:Groupbox({ Name="Unload", Icon="log-out" })
UGroup:Button({
Name = "UNLOAD SCRIPT",
Callback = function()
for _, c in ipairs(Connections) do pcall(function() c:Disconnect() end) end
Connections = {}
for _, d in pairs(ResourceDraws) do DestroyDraw(d) end
for _, d in pairs(PlayerDraws) do DestroyDraw(d) end
for _, d in pairs(SleeperDraws) do DestroyDraw(d) end
for _, d in pairs(VehicleDraws) do DestroyDraw(d) end
for _, d in pairs(AIDraws) do DestroyDraw(d) end
for _, d in pairs(DeployDraws) do DestroyDraw(d) end
pcall(function()
Lighting.Brightness = Original.Brightness
Lighting.Ambient = Original.Ambient
Lighting.OutdoorAmbient = Original.OutdoorAmbient
Lighting.FogEnd = Original.FogEnd
Lighting.GlobalShadows = Original.GlobalShadows
Lighting.ClockTime = Original.ClockTime
local atm = Lighting:FindFirstChildOfClass("Atmosphere")
if atm then atm.Density = Original.AtmosphereDensity end
if workspace.Terrain then
workspace.Terrain.WaterColor = Original.WaterColor
workspace.Terrain.WaterTransparency = Original.WaterTransparency
end
end)
pcall(function() Library:Unload() end)
end,
})
print("[MunkeHub v1.0.1] Loaded.")
end)