local Rayfield = loadstring(game:HttpGet('https://[Log in to view URL]'))()
local Window = Rayfield:CreateWindow({
Name = "99 Nights in the Forest 🔦",
Icon = 0, -- Icon in Topbar. Can use Lucide Icons (string) or Roblox Image (number). 0 to use no icon (default).
LoadingTitle = "Example Hub",
LoadingSubtitle = "by punaszopo",
ShowText = "Rayfield", -- for mobile users to unhide rayfield, change if you'd like
Theme = "Default", -- Check https://[Log in to view URL]
ToggleUIKeybind = "K", -- The keybind to toggle the UI visibility (string like "K" or Enum.KeyCode)
DisableRayfieldPrompts = false,
DisableBuildWarnings = false, -- Prevents Rayfield from warning when the script has a version mismatch with the interface
ConfigurationSaving = {
Enabled = true,
FolderName = nil, -- Create a custom folder for your hub/game
FileName = "CHEAT"
},
Discord = {
Enabled = false, -- Prompt the user to join your Discord server if their executor supports it
Invite = "noinvitelink", -- The Discord invite code, do not include discord.gg/. E.g. discord.gg/ ABCD would be ABCD
RememberJoins = true -- Set this to false to make them join the discord every time they load it up
},
KeySystem = true, -- Set this to true to use our key system
KeySettings = {
Title = "99 Nights in the Forest 🔦 | KEY",
Subtitle = "Key System",
Note = "To Obtain The Key Go To My Roblox User (USER: punaszopo), It's Gonna Be In My Bio", -- Use this to tell the user how to get a key
FileName = "Script Key", -- It is recommended to use something unique as other scripts using Rayfield may overwrite your key file
SaveKey = false, -- The user's key will be saved, but if you change the key, they will be unable to use your script
GrabKeyFromSite = true, -- If this is true, set Key below to the RAW site you would like Rayfield to get the key from
Key = {"1kOlb7824PSXtdcv9"} -- List of keys that will be accepted by the system, can be RAW file links (pastebin, github etc) or simple strings ("hello","key22")
}
})
local MainTab = Window:CreateTab("🏡 Home", nil) -- Title, Image
local MainSection = MainTab:CreateSection("Infinite Jump")
Rayfield:Notify({
Title = "You Executed The Script",
Content = "Very Good Script",
Duration = 6.5,
Image = nil,
})
local Button = MainTab:CreateButton({
Name = "Infinite Jump",
Callback = function()
--[[
Š 2022 WeAreDevs | The WeAreDevs Infinite Jump script
Created and distributed by https://[Log in to view URL]
March 9, 2022
Step 1: Inject this script into any game using a Lua injector like JJSploit
Step 2: When you get the ready notification, spam the space bar to jump as many times as you want
Controls:
Reinject the script to toggle the infinite jump script on or off.
Excute Lua "G.infinjump = true" to explicity turn the infinite jump script on
Excute Lua "G.infinjump = false" to explicity turn the infinite jump script off
]]
--Toggles the infinite jump between on or off on every script run
_G.infinjump = not _G.infinjump
if _G.infinJumpStarted == nil then
--Ensures this only runs once to save resources
_G.infinJumpStarted = true
--Notifies readiness
--The actual infinite jump
local plr = game:GetService('Players').LocalPlayer
local m = plr:GetMouse()
m.KeyDown:connect(function(k)
if _G.infinjump then
if k:byte() == 32 then
humanoid = game:GetService'Players'.LocalPlayer.Character:FindFirstChildOfClass('Humanoid')
humanoid:ChangeState('Jumping')
wait()
humanoid:ChangeState('Seated')
end
end
end)
end
end,
})
local Slider = MainTab:CreateSlider({
Name = "Walkspeed Slider",
Range = {0, 300},
Increment = 1,
Suffix = "Speed",
CurrentValue = 16,
Flag = "Slider1", -- A flag is the identifier for the configuration file, make sure every element has a different flag if you're using configuration saving to ensure no overlaps
Callback = function(Value)
game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = (Value)
end,
})
local Toggle = MainTab:CreateToggle({
Name = "ESP",
CurrentValue = false,
Flag = "Toggle1", -- A flag is the identifier for the configuration file, make sure every element has a different flag if you're using configuration saving to ensure no overlaps
Callback = function(Value)
-- Function to create ESP for an entity
local function CreateESP(entity, entityType)
-- Check if the entity is valid
if not entity or not entity.Parent then return end
-- Create a ScreenGui for the ESP if it doesn't already exist
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "ESP"
screenGui.Parent = game.CoreGui
-- Create ESP components: Box, Name, and Distance Label
local nameLabel = Instance.new("TextLabel")
local boxOutline = Instance.new("Frame")
local distanceLabel = Instance.new("TextLabel")
-- Name label setup
nameLabel.Name = "NameLabel"
nameLabel.Text = entity.Name
nameLabel.Size = UDim2.new(0, 200, 0, 50)
nameLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
nameLabel.BackgroundTransparency = 1
nameLabel.Parent = screenGui
-- Box outline setup
boxOutline.Name = "BoxOutline"
boxOutline.Size = UDim2.new(0, 100, 0, 100)
boxOutline.Position = UDim2.new(0, 0, 0, 0)
boxOutline.BorderSizePixel = 2
boxOutline.Parent = screenGui
-- Distance label setup
distanceLabel.Name = "DistanceLabel"
distanceLabel.Size = UDim2.new(0, 200, 0, 50)
distanceLabel.Position = UDim2.new(0, 0, 0, 0)
distanceLabel.TextColor3 = Color3.fromRGB(255, 255, 0)
distanceLabel.BackgroundTransparency = 1
distanceLabel.Parent = screenGui
-- Set color based on entity type
if entityType == "Player" then
nameLabel.TextColor3 = Color3.fromRGB(255, 0, 0) -- Red for players
boxOutline.BorderColor3 = Color3.fromRGB(255, 0, 0)
elseif entityType == "Food" then
nameLabel.TextColor3 = Color3.fromRGB(0, 255, 0) -- Green for food
boxOutline.BorderColor3 = Color3.fromRGB(0, 255, 0)
elseif entityType == "Monster" then
nameLabel.TextColor3 = Color3.fromRGB(0, 0, 255) -- Blue for monsters
boxOutline.BorderColor3 = Color3.fromRGB(0, 0, 255)
elseif entityType == "Animal" then
nameLabel.TextColor3 = Color3.fromRGB(255, 255, 0) -- Yellow for animals
boxOutline.BorderColor3 = Color3.fromRGB(255, 255, 0)
end
-- Update ESP position and appearance
game:GetService("RunService").Heartbeat:Connect(function()
local rootPart = entity:FindFirstChild("HumanoidRootPart") or entity:FindFirstChild("PrimaryPart")
if rootPart then
-- Convert 3D world position to 2D screen position
local screenPos, onScreen = workspace.CurrentCamera:WorldToScreenPoint(rootPart.Position)
if onScreen then
-- Position the name label
nameLabel.Position = UDim2.new(0, screenPos.X - nameLabel.Size.X.Offset / 2, 0, screenPos.Y - nameLabel.Size.Y.Offset / 2 - 50)
-- Adjust the box outline
local size = rootPart.Size
boxOutline.Position = UDim2.new(0, screenPos.X - size.X / 2, 0, screenPos.Y - size.Y / 2 - 50)
-- Update distance label
local distance = (game.Players.LocalPlayer.Character.HumanoidRootPart.Position - rootPart.Position).magnitude
distanceLabel.Text = "Distance: " .. math.floor(distance) .. " studs"
distanceLabel.Position = UDim2.new(0, screenPos.X - distanceLabel.Size.X.Offset / 2, 0, screenPos.Y - distanceLabel.Size.Y.Offset / 2 - 75)
else
-- Hide if off-screen
nameLabel.Visible = false
boxOutline.Visible = false
distanceLabel.Visible = false
end
end
end)
-- Clean up when entity is removed
entity.AncestryChanged:Connect(function()
if not entity.Parent then
screenGui:Destroy()
end
end)
end
-- Function to create ESP for players, food, monsters, and animals
local function DetectEntities()
-- Detect all players
for _, player in ipairs(game.Players:GetPlayers()) do
if player.Character then
CreateESP(player.Character, "Player")
end
-- Listen for new players joining
player.CharacterAdded:Connect(function(character)
CreateESP(character, "Player")
end)
end
-- Detect all food (assuming food items are tagged with "FoodTag" or check by name)
for _, food in ipairs(workspace:GetChildren()) do
if food:IsA("Model") and food.Name:match("Food") then -- Assuming food names contain "Food"
CreateESP(food, "Food")
end
end
-- Detect all monsters (assuming monsters are tagged with "MonsterTag" or check by name)
for _, monster in ipairs(workspace:GetChildren()) do
if monster:IsA("Model") and monster.Name:match("Monster") then -- Assuming monster names contain "Monster"
CreateESP(monster, "Monster")
end
end
-- Detect all animals (assuming animals are tagged with "AnimalTag" or check by name)
for _, animal in ipairs(workspace:GetChildren()) do
if animal:IsA("Model") and animal.Name:match("Animal") then -- Assuming animal names contain "Animal"
CreateESP(animal, "Animal")
end
end
end
-- Continuously detect new entities (players, food, monsters, animals)
DetectEntities()
-- Recheck every time new entities are added
workspace.ChildAdded:Connect(function(child)
if child:IsA("Model") then
-- Detect if it's a player, food, monster, or animal
if game.Players:GetPlayerFromCharacter(child) then
CreateESP(child, "Player")
elseif child.Name:match("Food") then
CreateESP(child, "Food")
elseif child.Name:match("Monster") then
CreateESP(child, "Monster")
elseif child.Name:match("Animal") then
CreateESP(child, "Animal")
end
end
end)
end,
})
To embed this project on your website, copy the following code and paste it into your website's HTML: