ScriptKeyless
Open-source Autoplay - YvetzalHub
[🌴SUMMER] RoBeats! 🎧 Music + Rhythm + RPGDesktop & mobile readyReal
Description
Fully open-source. The best autoplay for robeats. No need to worry about any detection. No need to re-execute before matches. You will beat everyone. Most likely won't ban you, because they almost never do manual bans anymore.
GAME[🌴SUMMER] RoBeats! 🎧 Music + Rhythm + RPG
UPDATEDOct 10, 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=6ab9f469a99435607a09baff"))()
end)
end)
--[[rscripts:analytics:end]]
--//Yvetzal open-source just for you guys.
--//Free to skid, or feed it to your llm.
--//Not allowed to sell your script if you pasted from here.
--//No credit needed.
if not game:IsLoaded() then
game.Loaded:Wait()
end
local plrs = game:GetService("Players")
local runSrv = game:GetService("RunService")
local rs = game:GetService("ReplicatedStorage")
local ws = game:GetService("Workspace")
local uis = game:GetService("UserInputService")
local light = game:GetService("Lighting")
local tweenSrv = game:GetService("TweenService")
local plr = plrs.LocalPlayer
local filePath = "Yvetzal_RoBeats.lua"
if game.PlaceId ~= 698448212 then
return
end
-- Language
local langList = { "English", "Magyar", "Deutsch", "Français", "Español", "Italiano", "Română" }
local langCode =
{ English = "en", Magyar = "hu", Deutsch = "de", Francais = "fr", Espanol = "es", Italiano = "it", Romana = "ro" }
langCode["Français"], langCode["Español"], langCode["Română"] = "fr", "es", "ro"
local function loadLang()
local l = "English"
if getgenv and getgenv().Infernum_Lang and langCode[getgenv().Infernum_Lang] then
l = getgenv().Infernum_Lang
end
pcall(function()
if readfile then
local f = readfile("InfernumConfigs/lang.txt")
if f and #f > 0 and langCode[f] then
l = f
end
end
end)
return l
end
local lang = loadLang()
if getgenv then
getgenv().Infernum_Lang = lang
end
local tr = {
-- tabs
["Home"] = { hu = "Kezdőlap", de = "Start", fr = "Accueil", es = "Inicio", it = "Home", ro = "Acasă" },
["Movement"] = {
hu = "Mozgás",
de = "Bewegung",
fr = "Mouvement",
es = "Movimiento",
it = "Movimento",
ro = "Mișcare",
},
["Visuals"] = { hu = "Vizuális", de = "Visuell", fr = "Visuels", es = "Visuales", it = "Visuali", ro = "Vizuale" },
["Weapons"] = { hu = "Fegyverek", de = "Waffen", fr = "Armes", es = "Armas", it = "Armi", ro = "Arme" },
["Autoplay"] = { hu = "Automata" },
["Player"] = { hu = "Játékos", de = "Spieler", fr = "Joueur", es = "Jugador", it = "Giocatore", ro = "Jucător" },
["Combat"] = { hu = "Harc", de = "Kampf", fr = "Combat", es = "Combate", it = "Combattimento", ro = "Luptă" },
["Teleport"] = {
hu = "Teleport",
fr = "Téléportation",
es = "Teletransporte",
it = "Teletrasporto",
ro = "Teleportare",
},
["Farm"] = { de = "Farmen" },
["Shaders"] = { hu = "Shaderek" },
["Misc"] = { hu = "Egyéb", de = "Sonstiges", fr = "Divers", es = "Varios", it = "Varie", ro = "Diverse" },
["Credits"] = { hu = "Készítők", fr = "Crédits", es = "Créditos", it = "Crediti", ro = "Credite" },
-- sections
["WELCOME"] = {
hu = "ÜDVÖZLÜNK",
de = "WILLKOMMEN",
fr = "BIENVENUE",
es = "BIENVENIDO",
it = "BENVENUTO",
ro = "BUN VENIT",
},
["Settings"] = {
hu = "Beállítások",
de = "Einstellungen",
fr = "Paramètres",
es = "Ajustes",
it = "Impostazioni",
ro = "Setări",
},
["MOVEMENT"] = {
hu = "MOZGÁS",
de = "BEWEGUNG",
fr = "MOUVEMENT",
es = "MOVIMIENTO",
it = "MOVIMENTO",
ro = "MISCARE",
},
["SOUNDS"] = { hu = "HANGOK", de = "TÖNE", fr = "SONS", es = "SONIDOS", it = "SUONI", ro = "SUNETE" },
["PLAYERS"] = {
hu = "JÁTÉKOSOK",
de = "SPIELER",
fr = "JOUEURS",
es = "JUGADORES",
it = "GIOCATORI",
ro = "JUCĂTORI",
},
["ITEMS"] = { hu = "TÁRGYAK", de = "GEGENSTÄNDE", fr = "OBJETS", es = "OBJETOS", it = "OGGETTI", ro = "OBIECTE" },
["QUICK"] = { hu = "GYORS", de = "SCHNELL", fr = "RAPIDE", es = "RÁPIDO", it = "VELOCE", ro = "RAPID" },
["TO PLAYER"] = {
hu = "JÁTÉKOSHOZ",
de = "ZUM SPIELER",
fr = "VERS JOUEUR",
es = "A JUGADOR",
it = "AL GIOCATORE",
ro = "LA JUCĂTOR",
},
["COLOR"] = { hu = "SZÍNEK", de = "FARBEN", fr = "COULEURS", es = "COLOR", it = "COLORI", ro = "CULORI" },
["EFFECTS"] = { hu = "EFFEKTEK", de = "EFFEKTE", fr = "EFFETS", es = "EFECTOS", it = "EFFETTI", ro = "EFECTE" },
["APPEARANCE"] = {
hu = "MEGJELENÉS",
de = "AUSSEHEN",
fr = "APPARENCE",
es = "APARIENCIA",
it = "ASPECT",
ro = "ASPECT",
},
["LANGUAGE"] = { hu = "NYELV", de = "SPRACHE", fr = "LANGUE", es = "IDIOMA", it = "LINGUA", ro = "LIMBĂ" },
["CAMERA"] = { hu = "KAMERA", fr = "CAMÉRA", es = "CÁMARA", ro = "CAMERĂ" },
["CHARACTER & SERVER"] = {
hu = "KARAKTER & SZERVER",
de = "CHARAKTER & SERVER",
fr = "PERSONNAGE & SERVEUR",
es = "PERSONAJE Y SERVIDOR",
it = "PERSONAGGIO & SERVER",
ro = "PERSONAJ & SERVER",
},
["TOGGLES"] = {
hu = "KAPCSOLÓK",
de = "SCHALTER",
fr = "INTERRUPTEURS",
es = "INTERRUPTORES",
it = "INTERRUTTORI",
ro = "COMUTATOARE",
},
["WORLD"] = { hu = "VILÁG", de = "WELT", fr = "MONDE", es = "MUNDO", it = "MONDO", ro = "LUME" },
["AMMO & FIRE"] = {
hu = "LŐSZER & TŰZ",
de = "MUNITION & FEUER",
fr = "MUNITION & TIR",
es = "MUNICIÓN Y DISPARO",
it = "MUNIZIONE & FUOCO",
ro = "MUNIȚIE & FOC",
},
["ACCURACY"] = {
hu = "PONTOSSÁG",
de = "PRÄZISION",
fr = "PRÉCISION",
es = "PRECISIÓN",
it = "PRECISIONE",
ro = "PRECIZIE",
},
["PLAYER ESP"] = {
hu = "JÁTÉKOS ESP",
de = "SPIELER-ESP",
fr = "ESP JOUEURS",
es = "ESP JUGADORES",
it = "ESP GIOCATORI",
ro = "ESP JUCĂTORI",
},
["CHARMS"] = { hu = "CHARMOK", fr = "CHARMES", ro = "FARMECE" },
-- misc / menu
["Menu Toggle Key"] = {
hu = "Menü gomb",
de = "Menü-Taste",
fr = "Touche du menu",
es = "Tecla del menú",
it = "Tasto menu",
ro = "Tasta meniu",
},
["Theme"] = { hu = "Téma", de = "Design", fr = "Thème", es = "Tema", it = "Tema", ro = "Temă" },
["Language"] = { hu = "Nyelv", de = "Sprache", fr = "Langue", es = "Idioma", it = "Lingua", ro = "Limbă" },
["Re-execute"] = {
hu = "Újratöltés",
de = "Neu laden",
fr = "Réexécuter",
es = "Reejecutar",
it = "Riesegui",
ro = "Reexecută",
},
["Reset Character"] = {
hu = "Karakter újraindítása",
de = "Charakter zurücksetzen",
fr = "Réinitialiser le personnage",
es = "Reiniciar personaje",
it = "Reimposta personaggio",
ro = "Resetează personajul",
},
["Rejoin Server"] = {
hu = "Újracsatlakozás",
de = "Server neu beitreten",
fr = "Rejoindre le serveur",
es = "Reincorporarse al servidor",
it = "Rientra nel server",
ro = "Reintră în server",
},
["Server Hop"] = {
hu = "Szerver váltás",
de = "Serverwechsel",
fr = "Changer de serveur",
es = "Cambiar de servidor",
it = "Cambia server",
ro = "Schimbă serverul",
},
["Low Server"] = {
hu = "Üres szerver",
de = "Leerer Server",
fr = "Serveur vide",
es = "Servidor vacío",
it = "Server vuoto",
ro = "Server gol",
},
["High Server (not full)"] = {
hu = "Népes szerver (nem teli)",
de = "Voller Server (nicht voll)",
fr = "Serveur chargé (non plein)",
es = "Servidor concurrido (no lleno)",
it = "Server affollato (non pieno)",
ro = "Server aglomerat (nu plin)",
},
["Copy JobId"] = {
hu = "JobId másolása",
de = "JobId kopieren",
fr = "Copier le JobId",
es = "Copiar JobId",
it = "Copia JobId",
ro = "Copiază JobId",
},
["Copy HWID"] = {
hu = "HWID másolása",
de = "HWID kopieren",
fr = "Copier le HWID",
es = "Copiar HWID",
it = "Copia HWID",
ro = "Copiază HWID",
},
["Copy GameId"] = {
hu = "GameId másolása",
de = "GameId kopieren",
fr = "Copier le GameId",
es = "Copiar GameId",
it = "Copia GameId",
ro = "Copiază GameId",
},
["Copy User Id"] = {
hu = "UserId másolása",
de = "UserId kopieren",
fr = "Copier l'UserId",
es = "Copiar UserId",
it = "Copia UserId",
ro = "Copiază UserId",
},
["Copied to clipboard."] = {
hu = "Vágólapra másolva.",
de = "In die Zwischenablage kopiert.",
fr = "Copié dans le presse-papiers.",
es = "Copiado al portapapeles.",
it = "Copiato negli appunti.",
ro = "Copiat în clipboard.",
},
["No clipboard support."] = {
hu = "Nincs vágólap támogatás.",
de = "Keine Zwischenablage.",
fr = "Pas de presse-papiers.",
es = "Sin portapapeles.",
it = "Nessun supporto appunti.",
ro = "Fără clipboard.",
},
["No server found."] = {
hu = "Nem található szerver.",
de = "Kein Server gefunden.",
fr = "Aucun serveur trouvé.",
es = "Ningún servidor encontrado.",
it = "Nessun server trovato.",
ro = "Niciun server găsit.",
},
["HWID not supported."] = {
hu = "HWID nem támogatott.",
de = "HWID nicht unterstützt.",
fr = "HWID non supporté.",
es = "HWID no compatible.",
it = "HWID non supportato.",
ro = "HWID nesuportat.",
},
["Day Time"] = {
hu = "Nappali idő",
de = "Tageszeit",
fr = "Heure du jour",
es = "Hora del día",
it = "Ora del giorno",
ro = "Ora zilei",
},
["Unload Script"] = {
hu = "Szkript eltávolítása",
de = "Skript entladen",
fr = "Décharger le script",
es = "Descargar script",
it = "Scarica script",
ro = "Descarcă scriptul",
},
["camera fov, 70 = default"] = {
hu = "kamera látómező, 70 = alapértelmezett",
de = "Kamera-FOV, 70 = Standard",
fr = "fov caméra, 70 = défaut",
es = "fov de cámara, 70 = predeterminado",
it = "fov camera, 70 = predefinito",
ro = "fov cameră, 70 = implicit",
},
["Anti-Lag (Remove Textures)"] = {
hu = "Anti-lag (textúrák törlése)",
de = "Anti-Lag (Texturen entfernen)",
fr = "Anti-lag (supprimer les textures)",
es = "Anti-lag (quitar texturas)",
it = "Anti-lag (rimuovi texture)",
ro = "Anti-lag (elimină texturile)",
},
["Multi-game script hub"] = {
hu = "Szkript hub több játékhoz",
de = "Script-Hub für mehrere Spiele",
fr = "Hub de scripts multi-jeux",
es = "Hub de scripts para varios juegos",
it = "Hub di script multi-gioco",
ro = "Hub de script pentru mai multe jocuri",
},
["Script hub for Arsenal, RoBeats and Murder Mystery 2."] = {
hu = "Szkript hub az Arsenal, RoBeats és Murder Mystery 2 játékokhoz.",
de = "Script-Hub für Arsenal, RoBeats und Murder Mystery 2.",
fr = "Hub de scripts pour Arsenal, RoBeats et Murder Mystery 2.",
es = "Hub de scripts para Arsenal, RoBeats y Murder Mystery 2.",
it = "Hub di script per Arsenal, RoBeats e Murder Mystery 2.",
ro = "Hub de script pentru Arsenal, RoBeats și Murder Mystery 2.",
},
-- shaders
["Game Brightness"] = {
hu = "Játék fényerő",
de = "Spielhelligkeit",
fr = "Luminosité du jeu",
es = "Brillo del juego",
it = "Luminosità del gioco",
ro = "Luminozitatea jocului",
},
["Luminance"] = {
hu = "Fényerő",
de = "Luminanz",
fr = "Luminance",
es = "Luminancia",
it = "Luminanza",
ro = "Luminanță",
},
["Contrast"] = {
hu = "Kontraszt",
de = "Kontrast",
fr = "Contraste",
es = "Contraste",
it = "Contrasto",
ro = "Contrast",
},
["Saturation"] = {
hu = "Telítettség",
de = "Sättigung",
fr = "Saturation",
es = "Saturación",
it = "Saturazione",
ro = "Saturație",
},
["Tint R"] = {
hu = "Árnyalat R",
de = "Tönung R",
fr = "Teinte R",
es = "Tinte R",
it = "Tinta R",
ro = "Tenta R",
},
["Tint G"] = {
hu = "Árnyalat G",
de = "Tönung G",
fr = "Teinte G",
es = "Tinte G",
it = "Tinta G",
ro = "Tenta G",
},
["Tint B"] = {
hu = "Árnyalat B",
de = "Tönung B",
fr = "Teinte B",
es = "Tinte B",
it = "Tinta B",
ro = "Tenta B",
},
["Bloom Intensity"] = {
hu = "Bloom erősség",
de = "Bloom-Intensität",
fr = "Intensité du bloom",
es = "Intensidad del bloom",
it = "Intensità del bloom",
ro = "Intensitate bloom",
},
["Bloom Size"] = {
hu = "Bloom méret",
de = "Bloom-Größe",
fr = "Taille du bloom",
es = "Tamaño del bloom",
it = "Dimensione del bloom",
ro = "Dimensiune bloom",
},
["Bloom Threshold"] = {
hu = "Bloom küszöb",
de = "Bloom-Schwelle",
fr = "Seuil du bloom",
es = "Umbral del bloom",
it = "Soglia del bloom",
ro = "Prag bloom",
},
["No Fog"] = {
hu = "Nincs köd",
de = "Kein Nebel",
fr = "Sans brouillard",
es = "Sin niebla",
it = "Senza nebbia",
ro = "Fără ceață",
},
["Sun Rays"] = {
hu = "Napsugarak",
de = "Sonnenstrahlen",
fr = "Rayons de soleil",
es = "Rayos de sol",
it = "Raggi di sole",
ro = "Raze de soare",
},
["Depth of Field"] = {
hu = "Mélységélesség",
de = "Tiefenschärfe",
fr = "Profondeur de champ",
es = "Profundidad de campo",
it = "Profondità di campo",
ro = "Profunzime de câmp",
},
["Global Shadows"] = {
hu = "Globális árnyékok",
de = "Globale Schatten",
fr = "Ombres globales",
es = "Sombras globales",
it = "Ombre globali",
ro = "Umbre globale",
},
["Reset Shaders"] = {
hu = "Shaderek visszaállítása",
de = "Shader zurücksetzen",
fr = "Réinitialiser les shaders",
es = "Reiniciar shaders",
it = "Reimposta shader",
ro = "Resetează shader",
},
-- neverlose sounds
["Hit Sound"] = {
hu = "Találat hang",
de = "Treffer-Sound",
fr = "Son de touche",
es = "Sonido de golpe",
it = "Suono di colpo",
ro = "Sunet de lovire",
},
["Kill Sound"] = {
hu = "Kill hang",
de = "Kill-Sound",
fr = "Son d'élimination",
es = "Sonido de muerte",
it = "Suono di kill",
ro = "Sunet de kill",
},
-- robeats
["Enable Autoplay"] = {
hu = "Autoplay bekapcsolása",
de = "Autoplay aktivieren",
fr = "Activer l'autoplay",
es = "Activar autoplay",
it = "Attiva autoplay",
ro = "Activează autoplay",
},
["Accuracy (0 = Miss, 100 = Perfect)"] = {
hu = "Pontosság (0 = hiba, 100 = tökéletes)",
de = "Genauigkeit (0 = Miss, 100 = Perfekt)",
fr = "Précision (0 = raté, 100 = parfait)",
es = "Precisión (0 = fallo, 100 = perfecto)",
it = "Precisione (0 = miss, 100 = perfetto)",
ro = "Precizie (0 = rat, 100 = perfect)",
},
["Made by Wyrizon and the Infernum Team."] = {
hu = "Készítette Wyrizon és az Infernum Csapat.",
de = "Von Wyrizon und dem Infernum-Team.",
fr = "Par Wyrizon et l'équipe Yvetzal.",
es = "Hecho por Wyrizon y el equipo de Infernum.",
it = "Realizzato da Wyrizon e dal team Infernum.",
ro = "Creat de Wyrizon și echipa Infernum.",
},
["Autoplay On"] = {
hu = "Autoplay bekapcsolva",
de = "Autoplay an",
fr = "Autoplay activé",
es = "Autoplay activado",
it = "Autoplay attivo",
ro = "Autoplay activat",
},
["Autoplay Off"] = {
hu = "Autoplay kikapcsolva",
de = "Autoplay aus",
fr = "Autoplay désactivé",
es = "Autoplay desactivado",
it = "Autoplay disattivo",
ro = "Autoplay dezactivat",
},
["Hitting notes automatically."] = {
hu = "A hangjegyek automatikus leütése.",
de = "Noten werden automatisch getroffen.",
fr = "Frappe les notes automatiquement.",
es = "Golpea las notas automáticamente.",
it = "Colpisce le note automaticamente.",
ro = "Lovește notele automat.",
},
["Stopped."] = {
hu = "Leállítva.",
de = "Gestoppt.",
fr = "Arrêté.",
es = "Detenido.",
it = "Fermato.",
ro = "Oprit.",
},
["Autoplay unavailable (no track system or debug fns). Try re-executing after the game loads."] = {
hu = "Az autoplay nem elérhető (nincs track rendszer vagy debug függvény). Próbáld újra a betöltés után.",
de = "Autoplay nicht verfügbar (kein Track-System oder Debug-Funktionen). Nach dem Laden erneut ausführen.",
fr = "Autoplay indisponible (pas de système de piste ni fonctions de debug). Réessaie après le chargement du jeu.",
es = "Autoplay no disponible (sin sistema de pistas ni funciones de debug). Reejecuta tras cargar el juego.",
it = "Autoplay non disponibile (nessun sistema di tracce né funzioni di debug). Riesegui dopo il caricamento del gioco.",
ro = "Autoplay indisponibil (fără sistem de track sau funcții de debug). Reexecută după încărcarea jocului.",
},
-- mm2
["Walkspeed"] = {
hu = "Mozgássebesség",
de = "Geschwindigkeit",
fr = "Vitesse",
es = "Velocidad",
it = "Velocità",
ro = "Viteză",
},
["JumpPower"] = {
hu = "Ugróerő",
de = "Sprungkraft",
fr = "Puissance de saut",
es = "Potencia de salto",
it = "Potenza di salto",
ro = "Putere de sărit",
},
["Infinite Jump"] = {
hu = "Végtelen ugrás",
de = "Unendlicher Sprung",
fr = "Saut infini",
es = "Salto infinito",
it = "Salto infinito",
ro = "Salt infinit",
},
["Anti Fling"] = { hu = "Fling védelem" },
["Sound"] = { hu = "Hang", fr = "Son", es = "Sonido", it = "Suono", ro = "Sunet" },
["Volume"] = { hu = "Hangerő", de = "Lautstärke", fr = "Volume", es = "Volumen", it = "Volume", ro = "Volum" },
["Play Sound"] = {
hu = "Hang lejátszása",
de = "Sound abspielen",
fr = "Jouer le son",
es = "Reproducir sonido",
it = "Riproduci suono",
ro = "Redă sunetul",
},
["Highlight"] = {
hu = "Kiemelés",
de = "Hervorhebung",
fr = "Surbrillance",
es = "Resaltado",
it = "Evidenzia",
ro = "Evidențiere",
},
["Name ESP"] = {
hu = "Név ESP",
de = "Namen-ESP",
fr = "ESP noms",
es = "ESP de nombres",
it = "ESP nomi",
ro = "ESP nume",
},
["Skeleton ESP"] = {
hu = "Csontváz ESP",
de = "Skelett-ESP",
fr = "ESP squelette",
es = "ESP esqueleto",
it = "ESP scheletro",
ro = "ESP schelet",
},
["Gun ESP"] = {
hu = "Fegyver ESP",
de = "Waffen-ESP",
fr = "ESP arme",
es = "ESP arma",
it = "ESP arma",
ro = "ESP armă",
},
["Coin ESP"] = { hu = "Érme ESP", fr = "ESP pièces", es = "ESP monedas", it = "ESP monete", ro = "ESP monede" },
["Fling Mode"] = {
hu = "Fling mód",
de = "Fling-Modus",
fr = "Mode fling",
es = "Modo fling",
it = "Modalità fling",
ro = "Mod fling",
},
["Fling Target"] = {
hu = "Fling cél",
de = "Fling-Ziel",
fr = "Cible fling",
es = "Objetivo fling",
it = "Bersaglio fling",
ro = "Țintă fling",
},
["Fling All"] = {
hu = "Mindet flingel",
de = "Alle flingen",
fr = "Flinger tout",
es = "Flingear a todos",
it = "Flinga tutti",
ro = "Fling la toți",
},
["Fling Murderer"] = {
hu = "Gyilkos flingelése",
de = "Mörder flingen",
fr = "Flinger le meurtrier",
es = "Flingear al asesino",
it = "Flinga l'assassino",
ro = "Fling la ucigaș",
},
["Fling Sheriff"] = {
hu = "Seriff flingelése",
de = "Sheriff flingen",
fr = "Flinger le shérif",
es = "Flingear al sheriff",
it = "Flinga lo sceriffo",
ro = "Fling la șerif",
},
["Fling by Name"] = {
hu = "Fling név alapján",
de = "Fling nach Name",
fr = "Fling par nom",
es = "Flingear por nombre",
it = "Flinga per nome",
ro = "Fling după nume",
},
["Player Name"] = {
hu = "Játékos neve",
de = "Spielername",
fr = "Nom du joueur",
es = "Nombre del jugador",
it = "Nome del giocatore",
ro = "Numele jucătorului",
},
["player name (partial works)"] = {
hu = "játékos neve (részleges is jó)",
de = "Spielername (auch teilweise)",
fr = "nom du joueur (partiel ok)",
es = "nombre del jugador (vale parcial)",
it = "nome del giocatore (anche parziale)",
ro = "numele jucătorului (și parțial)",
},
["No matching player."] = {
hu = "Nincs egyező játékos.",
de = "Kein passender Spieler.",
fr = "Aucun joueur correspondant.",
es = "Ningún jugador coincide.",
it = "Nessun giocatore corrispondente.",
ro = "Niciun jucător potrivit.",
},
["Warning"] = { hu = "Figyelem", de = "Warnung", fr = "Attention", es = "Aviso", it = "Avviso", ro = "Atenție" },
["Flinging is easily detected - use at your own risk."] = {
hu = "A flingelés könnyen észrevehető - saját felelősségre.",
de = "Flingen ist leicht erkennbar - auf eigene Gefahr.",
fr = "Le fling est facilement détectable - à vos risques et périls.",
es = "El fling se detecta fácilmente - bajo tu responsabilidad.",
it = "Il fling è facilmente rilevabile - a tuo rischio.",
ro = "Flingul se detectează ușor - pe propriul risc.",
},
["Spinbot Speed"] = {
hu = "Spinbot sebesség",
de = "Spinbot-Tempo",
fr = "Vitesse du spinbot",
es = "Velocidad del spinbot",
it = "Velocità spinbot",
ro = "Viteză spinbot",
},
["Target Role"] = {
hu = "Cél szerep",
de = "Ziel-Rolle",
fr = "Rôle cible",
es = "Rol objetivo",
it = "Ruolo bersaglio",
ro = "Rol țintă",
},
["Aim Part"] = {
hu = "Cél testrész",
de = "Ziel-Körperteil",
fr = "Partie visée",
es = "Parte objetivo",
it = "Parte mirata",
ro = "Parte țintă",
},
["Grab Gun"] = {
hu = "Fegyver felvétele",
de = "Waffe aufheben",
fr = "Prendre l'arme",
es = "Coger el arma",
it = "Prendi l'arma",
ro = "Ia arma",
},
["Go to Lobby"] = {
hu = "Lobbyba",
de = "Zur Lobby",
fr = "Aller au lobby",
es = "Ir al lobby",
it = "Vai alla lobby",
ro = "Mergi în lobby",
},
["Go to Map Spawn"] = {
hu = "Térkép spawnra",
de = "Zum Map-Spawn",
fr = "Aller au spawn de la carte",
es = "Ir al spawn del mapa",
it = "Vai allo spawn della mappa",
ro = "Mergi la spawnul hărții",
},
["Teleport to Murderer"] = {
hu = "Gyilkoshoz teleport",
de = "Zum Mörder teleportieren",
fr = "Téléport au meurtrier",
es = "Teletransporte al asesino",
it = "Teletrasporto all'assassino",
ro = "Teleport la ucigaș",
},
["Teleport to Sheriff"] = {
hu = "Seriffhez teleport",
de = "Zum Sheriff teleportieren",
fr = "Téléport au shérif",
es = "Teletransporte al sheriff",
it = "Teletrasporto allo sceriffo",
ro = "Teleport la șerif",
},
["Refresh List"] = {
hu = "Lista frissítése",
de = "Liste aktualisieren",
fr = "Rafraîchir la liste",
es = "Actualizar lista",
it = "Aggiorna lista",
ro = "Actualizează lista",
},
["Teleport to Player"] = {
hu = "Játékoshoz teleport",
de = "Zum Spieler teleportieren",
fr = "Téléport au joueur",
es = "Teletransporte al jugador",
it = "Teletrasporto al giocatore",
ro = "Teleport la jucător",
},
["Farm Speed"] = {
hu = "Farm sebesség",
de = "Farm-Tempo",
fr = "Vitesse de farm",
es = "Velocidad de farm",
it = "Velocità farm",
ro = "Viteză farm",
},
["Coin Farm"] = {
hu = "Érme farm",
de = "Münzen-Farm",
fr = "Farm de pièces",
es = "Farm de monedas",
it = "Farm di monete",
ro = "Farm de monede",
},
-- arsenal movement
["Fly"] = { hu = "Repülés", de = "Fliegen", fr = "Vol", es = "Volar", it = "Volo", ro = "Zbor" },
["WASD to move"] = {
hu = "WASD a mozgáshoz",
de = "WASD zum Bewegen",
fr = "WASD pour se déplacer",
es = "WASD para moverse",
it = "WASD per muoversi",
ro = "WASD pentru mișcare",
},
["Fly Speed"] = {
hu = "Repülési sebesség",
de = "Fluggeschwindigkeit",
fr = "Vitesse de vol",
es = "Velocidad de vuelo",
it = "Velocità di volo",
ro = "Viteză de zbor",
},
["Custom Walkspeed"] = {
hu = "Egyedi sebesség",
de = "Eigene Geschwindigkeit",
fr = "Vitesse personnalisée",
es = "Velocidad personalizada",
it = "Velocità personalizzata",
ro = "Viteză personalizată",
},
["Walk Method"] = {
hu = "Mozgásmód",
de = "Laufmethode",
fr = "Méthode de déplacement",
es = "Método de movimiento",
it = "Metodo di spostamento",
ro = "Metodă de deplasare",
},
["Walkspeed Power"] = {
hu = "Sebesség erő",
de = "Tempo-Wert",
fr = "Valeur de vitesse",
es = "Valor de velocidad",
it = "Valore velocità",
ro = "Valoare viteză",
},
["Custom JumpPower"] = {
hu = "Egyedi ugróerő",
de = "Eigene Sprungkraft",
fr = "Saut personnalisé",
es = "Salto personalizado",
it = "Salto personalizzato",
ro = "Salt personalizat",
},
["Jump Method"] = {
hu = "Ugrásmód",
de = "Sprungmethode",
fr = "Méthode de saut",
es = "Método de salto",
it = "Metodo di salto",
ro = "Metodă de sărit",
},
["JumpPower Value"] = {
hu = "Ugróerő érték",
de = "Sprungkraft-Wert",
fr = "Valeur de saut",
es = "Valor de salto",
it = "Valore salto",
ro = "Valoare săritură",
},
["Reset Collision"] = {
hu = "Ütközés visszaállítása",
de = "Kollision zurücksetzen",
fr = "Réinitialiser les collisions",
es = "Reiniciar colisión",
it = "Reimposta collisioni",
ro = "Resetează coliziunea",
},
["hold space to auto-hop"] = {
hu = "tartsd nyomva a space-t",
de = "Leertaste halten",
fr = "maintiens espace pour sauter",
es = "mantén espacio para saltar",
it = "tieni premuto spazio",
ro = "ține space pentru salt",
},
["Collect Debris"] = {
hu = "Szemét begyűjtése",
de = "Trümmer sammeln",
fr = "Ramasser les débris",
es = "Recoger escombros",
it = "Raccogli detriti",
ro = "Colectează resturile",
},
["Select Object"] = {
hu = "Tárgy kiválasztása",
de = "Objekt wählen",
fr = "Objet à ramasser",
es = "Objeto a recoger",
it = "Oggetto da raccogliere",
ro = "Obiect de colectat",
},
["Anti-Aim (Spin)"] = { hu = "Anti-Aim (pörgetés)" },
["Spin Speed"] = {
hu = "Pörgés sebesség",
de = "Spin-Tempo",
fr = "Vitesse de rotation",
es = "Velocidad de giro",
it = "Velocità di rotazione",
ro = "Viteză de rotație",
},
["Third Person"] = {
hu = "Harmadik személy",
fr = "Troisième personne",
es = "Tercera persona",
it = "Terza persona",
ro = "Persoana a treia",
},
["TP Distance"] = {
hu = "TP távolság",
de = "TP-Abstand",
fr = "Distance TP",
es = "Distancia TP",
it = "Distanza TP",
ro = "Distanță TP",
},
["TP Height"] = {
hu = "TP magasság",
de = "TP-Höhe",
fr = "Hauteur TP",
es = "Altura TP",
it = "Altezza TP",
ro = "Înălțime TP",
},
["- = front, + = behind"] = {
hu = "- = előre, + = hátra",
de = "- = vorne, + = hinten",
fr = "- = devant, + = derrière",
es = "- = delante, + = detrás",
it = "- = davanti, + = dietro",
ro = "- = în față, + = în spate",
},
-- arsenal hitbox / triggerbot
["Enable Hitbox"] = {
hu = "Hitbox bekapcsolása",
de = "Hitbox aktivieren",
fr = "Activer la hitbox",
es = "Activar hitbox",
it = "Attiva hitbox",
ro = "Activează hitbox",
},
["Hitbox Target"] = {
hu = "Hitbox cél",
de = "Hitbox-Ziel",
fr = "Cible hitbox",
es = "Objetivo hitbox",
it = "Bersaglio hitbox",
ro = "Țintă hitbox",
},
["Hitbox Size"] = {
hu = "Hitbox méret",
de = "Hitbox-Größe",
fr = "Taille hitbox",
es = "Tamaño hitbox",
it = "Dimensione hitbox",
ro = "Dimensiune hitbox",
},
["Hitbox Transparency"] = {
hu = "Hitbox átlátszóság",
de = "Hitbox-Transparenz",
fr = "Transparence hitbox",
es = "Transparencia hitbox",
it = "Trasparenza hitbox",
ro = "Transparență hitbox",
},
["1 = visible, 10 = invisible"] = {
hu = "1 = látható, 10 = láthatatlan",
de = "1 = sichtbar, 10 = unsichtbar",
fr = "1 = visible, 10 = invisible",
es = "1 = visible, 10 = invisible",
it = "1 = visibile, 10 = invisibile",
ro = "1 = vizibil, 10 = invizibil",
},
["No Collision"] = {
hu = "Ütközés kikapcsolása",
de = "Ohne Kollision",
fr = "Sans collision",
es = "Sin colisión",
it = "Senza collisione",
ro = "Fără coliziune",
},
["Team Check"] = {
hu = "Csapat szűrés",
de = "Team-Check",
fr = "Vérif. d'équipe",
es = "Comprobación de equipo",
it = "Controllo squadra",
ro = "Verificare echipă",
},
["Enable Triggerbot"] = {
hu = "Triggerbot bekapcsolása",
de = "Triggerbot aktivieren",
fr = "Activer le triggerbot",
es = "Activar triggerbot",
it = "Attiva triggerbot",
ro = "Activează triggerbot",
},
["Shot Delay"] = {
hu = "Lövés késleltetés",
de = "Schussverzögerung",
fr = "Délai de tir",
es = "Retardo de disparo",
it = "Ritardo di sparo",
ro = "Întârziere tragere",
},
["0 = hold & spray, raise to tap"] = {
hu = "0 = tartás, nagyobb: kattintgatás",
de = "0 = halten, erhöhen für Einzelschüsse",
fr = "0 = maintien (spray), plus = coups simples",
es = "0 = mantener, más = disparos sueltos",
it = "0 = tieni premuto, più = colpi singoli",
ro = "0 = menține, mai mare = foc singur",
},
["locks onto nearest enemy and fires (ban risk)"] = {
hu = "rázár a legközelebbi ellenségre és tüzel (ban kockázat)",
de = "zielt auf den nächsten Gegner und feuert (Bann-Risiko)",
fr = "verrouille l'ennemi le plus proche et tire (risque de ban)",
es = "fija al enemigo más cercano y dispara (riesgo de baneo)",
it = "aggancia il nemico più vicino e spara (rischio ban)",
ro = "țintește inamicul cel mai apropiat și trage (risc de ban)",
},
-- esp shared
["Enable ESP"] = {
hu = "ESP bekapcsolása",
de = "ESP aktivieren",
fr = "Activer l'ESP",
es = "Activar ESP",
it = "Attiva ESP",
ro = "Activează ESP",
},
["Distance"] = {
hu = "Távolság",
de = "Entfernung",
fr = "Distance",
es = "Distancia",
it = "Distanza",
ro = "Distanță",
},
["Boxes ESP"] = {
hu = "Doboz ESP",
de = "Boxen-ESP",
fr = "ESP boîtes",
es = "ESP de cajas",
it = "ESP box",
ro = "ESP cutii",
},
["Tracers"] = {
hu = "Vonalak",
de = "Tracer",
fr = "Traceurs",
es = "Trazadores",
it = "Tracciatori",
ro = "Trasori",
},
["Team Color"] = {
hu = "Csapat szín",
de = "Team-Farbe",
fr = "Couleur d'équipe",
es = "Color de equipo",
it = "Colore squadra",
ro = "Culoare echipă",
},
["Streamer Mode"] = {
hu = "Streamer mód",
de = "Streamer-Modus",
fr = "Mode streamer",
es = "Modo streamer",
it = "Modalità streamer",
ro = "Mod streamer",
},
["drawing ESP instead of instances"] = {
hu = "rajzolt ESP az instancek helyett",
de = "Drawing-ESP statt Instanzen",
fr = "ESP dessiné au lieu d'instances",
es = "ESP dibujado en vez de instancias",
it = "ESP disegnato invece di istanze",
ro = "ESP desenat în loc de instanțe",
},
["Enemy Color"] = {
hu = "Ellenség színe",
de = "Feindfarbe",
fr = "Couleur ennemi",
es = "Color enemigo",
it = "Colore nemico",
ro = "Culoare inamic",
},
["Teammate Color"] = {
hu = "Csapattárs színe",
de = "Mitspielerfarbe",
fr = "Couleur allié",
es = "Color aliado",
it = "Colore alleato",
ro = "Culoare coleg",
},
-- charms / world
["Arm Charms"] = {
hu = "Kar charmok",
fr = "Charmes de bras",
es = "Encantos de brazos",
it = "Charm braccia",
ro = "Farmece brațe",
},
["Arm Material"] = {
hu = "Kar anyag",
de = "Armmaterial",
fr = "Matériau des bras",
es = "Material de brazos",
it = "Materiale braccia",
ro = "Material brațe",
},
["Arm Color"] = {
hu = "Kar szín",
de = "Armfarbe",
fr = "Couleur des bras",
es = "Color de brazos",
it = "Colore braccia",
ro = "Culoare brațe",
},
["Gun Charms"] = {
hu = "Fegyver charmok",
de = "Waffen-Charms",
fr = "Charmes d'arme",
es = "Encantos de arma",
it = "Charm arma",
ro = "Farmece armă",
},
["Gun Material"] = {
hu = "Fegyver anyag",
de = "Waffenmaterial",
fr = "Matériau de l'arme",
es = "Material del arma",
it = "Materiale arma",
ro = "Material armă",
},
["Gun Color"] = {
hu = "Fegyver szín",
de = "Waffenfarbe",
fr = "Couleur de l'arme",
es = "Color del arma",
it = "Colore arma",
ro = "Culoare armă",
},
["Rainbow Gun"] = {
hu = "Szivárvány fegyver",
de = "Regenbogen-Waffe",
fr = "Arme arc-en-ciel",
es = "Arma arcoíris",
it = "Arma arcobaleno",
ro = "Armă curcubeu",
},
["Rainbow Gun (Fast)"] = {
hu = "Szivárvány fegyver (gyors)",
de = "Regenbogen-Waffe (schnell)",
fr = "Arme arc-en-ciel (rapide)",
es = "Arma arcoíris (rápida)",
it = "Arma arcobaleno (veloce)",
ro = "Armă curcubeu (rapid)",
},
["Ammo Box ESP"] = {
hu = "Lőszerdoboz ESP",
de = "Munitionsbox-ESP",
fr = "ESP caisse de munitions",
es = "ESP caja de munición",
it = "ESP cassa munizioni",
ro = "ESP cutie muniție",
},
["HP Jug ESP"] = {
hu = "HP kanna ESP",
de = "HP-Kanister-ESP",
fr = "ESP bidon de PV",
es = "ESP bidón de vida",
it = "ESP tanica HP",
ro = "ESP bidon HP",
},
-- weapons
["Infinite Ammo v1"] = {
hu = "Végtelen lőszer v1",
de = "Unendliche Munition v1",
fr = "Munitions infinies v1",
es = "Munición infinita v1",
it = "Munizioni infinite v1",
ro = "Muniție infinită v1",
},
["Infinite Ammo v2"] = {
hu = "Végtelen lőszer v2",
de = "Unendliche Munition v2",
fr = "Munitions infinies v2",
es = "Munición infinita v2",
it = "Munizioni infinite v2",
ro = "Muniție infinită v2",
},
["infinite ammo curse"] = {
hu = "végtelen lőszer curse",
de = "Fluch: unendliche Munition",
fr = "malédiction : munitions infinies",
es = "maldición: munición infinita",
it = "maledizione: munizioni infinite",
ro = "blestem: muniție infinită",
},
["forces ammo to 99"] = {
hu = "lőszert 99-re állítja",
de = "setzt Munition auf 99",
fr = "force les munitions à 99",
es = "fuerza la munición a 99",
it = "forza le munizioni a 99",
ro = "forțează muniția la 99",
},
["Fast Reload"] = {
hu = "Gyors újratöltés",
de = "Schnelles Nachladen",
fr = "Rechargement rapide",
es = "Recarga rápida",
it = "Ricarica rapida",
ro = "Reîncărcare rapidă",
},
["Fast Fire Rate"] = {
hu = "Gyors tűzgyorsaság",
de = "Hohe Feuerrate",
fr = "Cadence rapide",
es = "Cadencia rápida",
it = "Cadenza rapida",
ro = "Cadență rapidă",
},
["Always Auto"] = {
hu = "Mindig automata",
de = "Immer automatisch",
fr = "Toujours auto",
es = "Siempre automático",
it = "Sempre automatica",
ro = "Mereu automat",
},
["No Spread"] = {
hu = "Nincs szórás",
de = "Keine Streuung",
fr = "Sans dispersion",
es = "Sin dispersión",
it = "Senza dispersione",
ro = "Fără dispersie",
},
["No Recoil"] = {
hu = "Nincs visszarúgás",
de = "Kein Rückstoß",
fr = "Sans recul",
es = "Sin retroceso",
it = "Senza rinculo",
ro = "Fără recul",
},
-- universal
["Enabled"] = {
hu = "Bekapcsolva",
de = "Aktiviert",
fr = "Activé",
es = "Activado",
it = "Attivo",
ro = "Activat",
},
["Target Part"] = {
hu = "Cél testrész",
de = "Ziel-Körperteil",
fr = "Partie cible",
es = "Parte objetivo",
it = "Parte bersaglio",
ro = "Parte țintă",
},
["Smoothness"] = {
hu = "Simítás",
de = "Glättung",
fr = "Douceur",
es = "Suavidad",
it = "Morbidezza",
ro = "Fluiditate",
},
["Visibility Check"] = {
hu = "Láthatóság ellenőrzés",
de = "Sichtbarkeits-Check",
fr = "Vérif. de visibilité",
es = "Comprobación de visibilidad",
it = "Controllo visibilità",
ro = "Verificare vizibilitate",
},
["Hit Chance"] = {
hu = "Találati esély",
de = "Trefferchance",
fr = "Chance de toucher",
es = "Probabilidad de acierto",
it = "Probabilità di colpo",
ro = "Șansă de lovire",
},
["Show FOV Circle"] = {
hu = "FOV kör mutatása",
de = "FOV-Kreis anzeigen",
fr = "Afficher le cercle FOV",
es = "Mostrar círculo FOV",
it = "Mostra cerchio FOV",
ro = "Afișează cerc FOV",
},
}
local function L(s)
local t = tr[s]
if not t then
return s
end
return t[langCode[lang]] or s
end
local langMsg = {
English = "Saved. Re-execute the script to apply the new language.",
Magyar = "Mentve. Újra futtatva lép életbe az új nyelv.",
Deutsch = "Gespeichert. Skript erneut ausführen, um die Sprache zu übernehmen.",
Francais = "Enregistré. Réexécutez le script pour appliquer la nouvelle langue.",
Espanol = "Guardado. Vuelve a ejecutar el script panura aplicar el evo idioma.",
Italiano = "Salvato. Riesegui lo script per applicare la nuova lingua.",
Romana = "Salvat. Reexecută scriptul pentru a aplica noua limbă.",
}
local loadedMsg = {
English = "Loaded (%s) - toggle with %s",
Magyar = "Betöltve (%s) - menü gomb: %s",
Deutsch = "Geladen (%s) - Menü-Taste: %s",
Francais = "Chargé (%s) - touche du menu : %s",
Espanol = "Cargado (%s) - tecla del menú: %s",
Italiano = "Caricato (%s) - tasto menu: %s",
Romana = "Încărcat (%s) - tasta meniu: %s",
}
-- Themes
-- Keep the reference palette; the other presets adjust it in place.
local THEME = {
WindowColor = ColorSequence.new(Color3.fromRGB(8, 8, 8), Color3.fromRGB(0, 0, 0)),
ShadowColor = Color3.fromRGB(0, 0, 0),
SurfaceStroke = Color3.fromRGB(120, 15, 15),
CornerRoundness = UDim.new(0, 8),
ElementCornerRadius = UDim.new(0, 6),
ContentColor = Color3.fromRGB(230, 230, 230),
TitlingColor = Color3.fromRGB(255, 255, 255),
ActionColor = Color3.fromRGB(255, 255, 255),
ElementTextHoverColor = Color3.fromRGB(255, 255, 255),
TabColor = Color3.fromRGB(255, 255, 255),
TabBackground = ColorSequence.new(Color3.fromRGB(22, 22, 22), Color3.fromRGB(8, 8, 8)),
TabStroke = ColorSequence.new(Color3.fromRGB(230, 30, 30), Color3.fromRGB(110, 10, 10)),
ElementGradient = ColorSequence.new(Color3.fromRGB(18, 18, 18), Color3.fromRGB(10, 10, 10)),
ElementStroke = Color3.fromRGB(60, 60, 60),
ElementStrokeHover = Color3.fromRGB(230, 40, 40),
StatBackground = Color3.fromRGB(30, 6, 6),
AccentColor = Color3.fromRGB(220, 25, 25),
AccentStroke = Color3.fromRGB(255, 70, 70),
SliderBackground = Color3.fromRGB(35, 35, 35),
SliderProgress = ColorSequence.new(Color3.fromRGB(255, 255, 255), Color3.fromRGB(210, 210, 210)),
SliderHandle = Color3.fromRGB(255, 255, 255),
SliderStroke = Color3.fromRGB(60, 60, 60),
ToggleTrack = Color3.fromRGB(30, 30, 30),
ToggleKnobOff = Color3.fromRGB(220, 220, 220),
DropdownHighlight = Color3.fromRGB(180, 25, 25),
FieldBackground = Color3.fromRGB(14, 14, 14),
FieldGlow = Color3.fromRGB(120, 20, 20),
PlaceholderColor = Color3.fromRGB(150, 150, 150),
NeutralButton = Color3.fromRGB(26, 26, 26),
NeutralButtonHover = Color3.fromRGB(45, 45, 45),
NeutralButtonStroke = Color3.fromRGB(80, 15, 15),
ErrorColor = Color3.fromRGB(230, 40, 40),
ErrorStrokeColor = Color3.fromRGB(255, 90, 90),
}
local function darkTheme(factor)
local result = table.clone(THEME)
for _, field in ipairs({ "WindowColor", "TabBackground", "ElementGradient" }) do
local keypoints = {}
for _, kp in ipairs(THEME[field].Keypoints) do
keypoints[#keypoints + 1] = ColorSequenceKeypoint.new(kp.Time, kp.Value:Lerp(Color3.new(0, 0, 0), factor))
end
result[field] = ColorSequence.new(keypoints)
end
for _, field in ipairs({
"SliderBackground",
"ToggleTrack",
"FieldBackground",
"NeutralButton",
"NeutralButtonHover",
}) do
result[field] = THEME[field]:Lerp(Color3.new(0, 0, 0), factor)
end
return result
end
local crimsonTheme = table.clone(THEME)
crimsonTheme.AccentColor = Color3.fromRGB(220, 20, 60)
crimsonTheme.AccentStroke = Color3.fromRGB(255, 70, 100)
local themes = {
Default = THEME,
Crimson = crimsonTheme,
Dark = darkTheme(0.35),
Darker = darkTheme(0.65),
}
local themeName = "Default"
if getgenv and getgenv().Infernum_Theme and themes[getgenv().Infernum_Theme] then
themeName = getgenv().Infernum_Theme
end
pcall(function()
if readfile then
local f = readfile("InfernumConfigs/theme.txt")
if f and themes[f] then
themeName = f
end
end
end)
if getgenv then
getgenv().Infernum_Theme = themeName
end
-- Menu key and cleanup
local menuKeys = {
Insert = true,
Delete = true,
RightShift = true,
LeftShift = true,
RightControl = true,
LeftControl = true,
F4 = true,
F6 = true,
F7 = true,
F8 = true,
F9 = true,
Home = true,
End = true,
PageUp = true,
PageDown = true,
}
local function fixKey(k)
k = tostring(k or ""):gsub("%s", "")
if menuKeys[k] then
return k
end
return "Insert"
end
local function loadKey()
local k = "Insert"
if getgenv and getgenv().Infernum_MenuKey then
k = getgenv().Infernum_MenuKey
end
pcall(function()
if readfile then
local f = readfile("InfernumConfigs/menukey.txt")
if f and #f > 0 then
k = f
end
end
end)
return fixKey(k)
end
local menuKey = loadKey()
local keyEnum = Enum.KeyCode[menuKey] or Enum.KeyCode.Insert
if getgenv then
getgenv().Infernum_MenuKey = menuKey
end
local conns, cleanups = {}, {}
local function track(c)
if c then
conns[#conns + 1] = c
end
return c
end
local function onUnload(fn)
if type(fn) == "function" then
cleanups[#cleanups + 1] = fn
end
end
local function unload()
for _, fn in ipairs(cleanups) do
pcall(fn)
end
for _, c in ipairs(conns) do
pcall(function()
if c and c.Disconnect then
c:Disconnect()
end
end)
end
cleanups, conns = {}, {}
end
if getgenv and getgenv().Infernum_Unload then
pcall(getgenv().Infernum_Unload)
end
if getgenv and getgenv().InfernumUI then
pcall(function()
getgenv().InfernumUI:Unload()
end)
getgenv().InfernumUI = nil
end
if getgenv then
getgenv().Infernum_Unload = unload
end
onUnload(function()
pcall(function()
if mouse1release then
mouse1release()
end
end)
end)
local function fx(class, name)
local e = light:FindFirstChild(name)
if e then
return e
end
e = Instance.new(class)
e.Name = name
e.Parent = light
return e
end
-- UI
local rayfield
local ok, err = pcall(function()
rayfield = loadstring(game:HttpGet("https://sirius.menu/gen2"))()
end)
if not ok or not rayfield then
warn("[Yvetzal] Rayfield Gen2 failed to load:", err)
return
end
local subtitle = "RoBeats"
-- Lucide icons share atlas images. Rayfield needs the sheet ID and crop.
local iconAtlas = {
["camera"] = { 16898612819, 967, 563 },
["flame"] = { 16898613353, 967, 306 },
["heart"] = { 16898613509, 661, 771 },
["keyboard"] = { 16898613509, 453, 820 },
["music"] = { 16898613613, 967, 563 },
["palette"] = { 16898613613, 453, 918 },
["server"] = { 16898613777, 771, 0 },
["settings"] = { 16898613777, 771, 257 },
["sparkles"] = { 16898613777, 918, 49 },
["sun"] = { 16898613777, 967, 453 },
["toggle-right"] = { 16898613869, 820, 98 },
["wand-2"] = { 16898613869, 918, 453 },
}
local function resolveIcon(name)
if type(name) ~= "string" then
return name
end
local sprite = iconAtlas[name:gsub("^Lucide:", "")]
return sprite and ("rbxassetid://" .. sprite[1]) or name
end
local function cropIcon(image, name)
if not image or type(name) ~= "string" then
return
end
local sprite = iconAtlas[name:gsub("^Lucide:", "")]
if sprite then
image.ImageRectSize = Vector2.new(48, 48)
image.ImageRectOffset = Vector2.new(sprite[2], sprite[3])
end
end
local window = rayfield:CreateWindow({
name = "Yvetzal",
subtitle = subtitle,
icon = resolveIcon("flame"),
showName = "Yvetzal",
showIcon = resolveIcon("flame"),
sidebarLayout = true,
profile = "Wyrizon & The Infernum Team",
theme = themes[themeName] or THEME,
translator = function(text)
return L(text)
end,
locale = langCode[lang] or "en",
})
cropIcon(window.topbarIcon, "flame")
cropIcon(window.collapsedIcon, "flame")
-- Re-execution should replace the old window.
if getgenv then
getgenv().InfernumUI = window
end
local unloadWindow = window.Unload
window.Unload = function(self)
if self.unloaded then
return
end
unload()
unloadWindow(self)
if getgenv and getgenv().InfernumUI == self then
getgenv().InfernumUI = nil
getgenv().Infernum_Unload = nil
end
end
local function applyTheme(name)
themeName = themes[name] and name or "Default"
window:ChangeTheme(themes[themeName])
if getgenv then
getgenv().Infernum_Theme = themeName
end
end
-- Crop icons as controls are added.
local elementMethods = {
"CreateSection",
"CreateToggle",
"CreateSlider",
"CreateDropdown",
"CreateButton",
"CreateColorPicker",
"CreateText",
"CreateInput",
"CreateKeybind",
}
local function wrapTab(tab)
for _, method in ipairs(elementMethods) do
local create = tab[method]
tab[method] = function(self, props)
local icon = props.icon
props.icon = resolveIcon(icon)
local element = create(self, props)
cropIcon(element.iconLabel, icon)
return element
end
end
return tab
end
local createTab = window.CreateTab
window.CreateTab = function(self, props)
local icon = props.icon
props.icon = resolveIcon(icon)
local tab = createTab(self, props)
cropIcon(tab.topbarItemIcon, icon)
return wrapTab(tab)
end
local notify = window.Notify
window.Notify = function(self, props)
local icon = props.icon
props.icon = resolveIcon(icon)
local notification = notify(self, props)
if notification then
cropIcon(notification.iconLabel, icon)
end
return notification
end
local tabs = {}
local homeTab = window:CreateTab({ name = "Home", icon = "Lucide:flame" })
tabs.autoplay = window:CreateTab({ name = "Autoplay", icon = "Lucide:music" })
local shaderTab = window:CreateTab({ name = "Shaders", icon = "Lucide:sun" })
local miscTab = window:CreateTab({ name = "Misc", icon = "Lucide:settings" })
-- Rayfield owns the menu key listener.
window.settings.toggleKeybind = keyEnum
local function savePref(file, value)
if getgenv then
getgenv()["Infernum_" .. file:gsub("%.txt", "")] = value
end
pcall(function()
if writefile then
pcall(function()
if makefolder then
makefolder("InfernumConfigs")
end
end)
writefile("InfernumConfigs/" .. file, value)
end
end)
end
local function reexec()
task.spawn(function()
local src
pcall(function()
if readfile then
src = readfile(filePath)
end
end)
if (not src or #src == 0) and getgenv and getgenv().YvetzalRoBeats_Source then
src = getgenv().YvetzalRoBeats_Source
end
if src then
loadstring(src)()
end
end)
end
-- Home
do
homeTab:CreateSection({ name = "WELCOME", icon = "Lucide:flame" })
homeTab:CreateButton({
name = "Yvetzal",
description = subtitle .. " tools",
icon = "Lucide:flame",
callback = function()
window:Notify({
title = "Yvetzal",
content = "Wyrizon & The Infernum Team",
duration = 4,
icon = "Lucide:flame",
})
end,
})
homeTab:CreateText({ name = plr.DisplayName, text = "@" .. plr.Name .. " - " .. subtitle })
homeTab:CreateText({ name = "Credits", text = "Wyrizon & The Infernum Team" })
end
local creditsTab = window:CreateTab({ name = "Credits", icon = "Lucide:heart" })
creditsTab:CreateText({ name = "Yvetzal", text = "Yvetzal tools for " .. subtitle .. "." })
creditsTab:CreateText({ name = "Credits", text = "Wyrizon & The Infernum Team" })
creditsTab:CreateText({ name = "UI", text = "Sirius Rayfield Gen2" })
-- Shaders
do
local ready = false
task.delay(0.5, function()
ready = true
end)
local origBright = light.Brightness
local fogSaved = { light.FogEnd, light.FogStart }
shaderTab:CreateSection({ name = "COLOR", icon = "Lucide:palette" })
shaderTab:CreateSlider({
name = "Game Brightness",
range = { 0, 10 },
value = math.clamp(origBright, 0, 10),
increment = 0.25,
flag = "GameBrightness",
callback = function(v)
light.Brightness = v
end,
})
shaderTab:CreateSlider({
name = "Luminance",
range = { -1, 1 },
value = 0,
increment = 0.01,
flag = "ShaderLuminance",
callback = function(v)
if ready then
fx("ColorCorrectionEffect", "Infernum_CC").Brightness = v
end
end,
})
shaderTab:CreateSlider({
name = "Contrast",
range = { -1, 1 },
value = 0,
increment = 0.01,
flag = "ShaderContrast",
callback = function(v)
if ready then
fx("ColorCorrectionEffect", "Infernum_CC").Contrast = v
end
end,
})
shaderTab:CreateSlider({
name = "Saturation",
range = { -1, 1 },
value = 0,
increment = 0.01,
flag = "ShaderSaturation",
callback = function(v)
if ready then
fx("ColorCorrectionEffect", "Infernum_CC").Saturation = v
end
end,
})
shaderTab:CreateSlider({
name = "Tint R",
range = { 0, 255 },
value = 0,
flag = "ShaderTintR",
callback = function(v)
if ready then
local cc = fx("ColorCorrectionEffect", "Infernum_CC")
local c = cc.TintColor
cc.TintColor = Color3.fromRGB(v, c.G, c.B)
end
end,
})
shaderTab:CreateSlider({
name = "Tint G",
range = { 0, 255 },
value = 255,
flag = "ShaderTintG",
callback = function(v)
if ready then
local cc = fx("ColorCorrectionEffect", "Infernum_CC")
local c = cc.TintColor
cc.TintColor = Color3.fromRGB(c.R, v, c.B)
end
end,
})
shaderTab:CreateSlider({
name = "Tint B",
range = { 0, 255 },
value = 255,
flag = "ShaderTintB",
callback = function(v)
if ready then
local cc = fx("ColorCorrectionEffect", "Infernum_CC")
local c = cc.TintColor
cc.TintColor = Color3.fromRGB(c.R, c.G, v)
end
end,
})
shaderTab:CreateSection({ name = "BLOOM", icon = "Lucide:sparkles" })
shaderTab:CreateSlider({
name = "Bloom Intensity",
range = { 0, 1 },
value = 0,
increment = 0.01,
flag = "BloomIntensity",
callback = function(v)
if ready then
fx("BloomEffect", "Infernum_Bloom").Intensity = v
end
end,
})
shaderTab:CreateSlider({
name = "Bloom Size",
range = { 1, 56 },
value = 24,
flag = "BloomSize",
callback = function(v)
if ready then
fx("BloomEffect", "Infernum_Bloom").Size = v
end
end,
})
shaderTab:CreateSlider({
name = "Bloom Threshold",
range = { 0, 1 },
value = 0,
increment = 0.01,
flag = "BloomThreshold",
callback = function(v)
if ready then
fx("BloomEffect", "Infernum_Bloom").Threshold = v
end
end,
})
shaderTab:CreateSection({ name = "EFFECTS", icon = "Lucide:wand-2" })
shaderTab:CreateToggle({
name = "No Fog",
value = false,
flag = "NoFog",
callback = function(v)
if v then
light.FogEnd = 1e9
light.FogStart = 1e9
else
light.FogEnd = fogSaved[1]
light.FogStart = fogSaved[2]
end
end,
})
shaderTab:CreateToggle({
name = "Sun Rays",
value = false,
flag = "SunRays",
callback = function(v)
if ready then
fx("SunRaysEffect", "Infernum_SunRays").Intensity = v and 0.25 or 0
end
end,
})
shaderTab:CreateToggle({
name = "Depth of Field",
value = false,
flag = "DepthOfField",
callback = function(v)
if ready then
fx("DepthOfFieldEffect", "Infernum_DoF").FarIntensity = v and 0.5 or 0
end
end,
})
shaderTab:CreateToggle({
name = "Global Shadows",
value = false,
flag = "GlobalShadows",
callback = function(v)
if ready then
light.GlobalShadows = v
end
end,
})
shaderTab:CreateButton({
name = "Reset Shaders",
callback = function()
light.Brightness = origBright
light.FogEnd = fogSaved[1]
light.FogStart = fogSaved[2]
for _, n in ipairs({ "Infernum_CC", "Infernum_Bloom", "Infernum_SunRays", "Infernum_DoF" }) do
local e = light:FindFirstChild(n)
if e then
e:Destroy()
end
end
light.GlobalShadows = false
end,
})
onUnload(function()
light.Brightness = origBright
light.FogEnd = fogSaved[1]
light.FogStart = fogSaved[2]
for _, n in ipairs({ "Infernum_CC", "Infernum_Bloom", "Infernum_SunRays", "Infernum_DoF" }) do
local e = light:FindFirstChild(n)
if e then
e:Destroy()
end
end
end)
end
-- Misc
do
miscTab:CreateSection({ name = "APPEARANCE", icon = "Lucide:palette" })
miscTab:CreateDropdown({
name = "Theme",
options = { "Default", "Crimson", "Dark", "Darker" },
value = themeName,
flag = "Theme",
callback = function(v)
applyTheme(v)
savePref("theme.txt", v)
end,
})
miscTab:CreateDropdown({
name = "Language",
options = langList,
value = lang,
flag = "Lang",
callback = function(v)
lang = v
savePref("lang.txt", v)
window:SetLocale(langCode[v] or "en")
window:Popup({
title = "Yvetzal",
content = langMsg[v] or langMsg.English,
options = {
{ text = L("Re-execute"), style = "primary", callback = reexec },
{ text = "Later" },
},
})
end,
})
miscTab:CreateSection({ name = "MENU", icon = "Lucide:keyboard" })
local keyList = {}
for k in pairs(menuKeys) do
keyList[#keyList + 1] = k
end
table.sort(keyList)
local function setKey(nk)
nk = fixKey(nk)
if nk == menuKey then
return
end
menuKey = nk
keyEnum = Enum.KeyCode[nk] or Enum.KeyCode.Insert
window.settings.toggleKeybind = keyEnum
window:SaveSettings()
savePref("menukey.txt", nk)
end
miscTab:CreateDropdown({
name = "Menu Toggle Key",
options = keyList,
value = menuKey,
flag = "MenuKey",
callback = setKey,
})
miscTab:CreateSection({ name = "CAMERA", icon = "Lucide:camera" })
local camFov = 70
track(ws:GetPropertyChangedSignal("CurrentCamera"):Connect(function()
local cam = ws.CurrentCamera
if cam and cam.FieldOfView ~= camFov then
cam.FieldOfView = camFov
end
end))
miscTab:CreateSlider({
name = "FOV",
description = "camera fov, 70 = default",
range = { 70, 120 },
value = 70,
increment = 1,
flag = "CamFOV",
callback = function(v)
camFov = v
local cam = ws.CurrentCamera
if cam then
cam.FieldOfView = v
end
end,
})
onUnload(function()
local cam = ws.CurrentCamera
if cam then
cam.FieldOfView = 70
end
end)
miscTab:CreateSection({ name = "CHARACTER & SERVER", icon = "Lucide:server" })
miscTab:CreateButton({
name = "Reset Character",
callback = function()
local hum = plr.Character and plr.Character:FindFirstChildOfClass("Humanoid")
if hum then
hum.Health = 0
end
end,
})
miscTab:CreateButton({
name = "Rejoin Server",
callback = function()
if game.JobId ~= "" then
game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId, game.JobId, plr)
else
game:GetService("TeleportService"):Teleport(game.PlaceId, plr)
end
end,
})
local function hop(pick)
local req = (syn and syn.request) or http_request or request or (http and http.request)
if not req then
return
end
local okr, res = pcall(req, {
Url = "https://games.roblox.com/v1/games/" .. game.PlaceId .. "/servers/Public?sortOrder=Asc&limit=100",
Method = "GET",
})
if not okr or not res or not res.Body then
return
end
local okj, data = pcall(function()
return game:GetService("HttpService"):JSONDecode(res.Body)
end)
if not okj or type(data) ~= "table" or not data.data then
return
end
local best
for _, s in ipairs(data.data) do
if s.id ~= game.JobId and s.playing < s.maxPlayers then
if not best then
best = s
elseif pick == "low" and s.playing < best.playing then
best = s
elseif pick == "high" and s.playing > best.playing then
best = s
end
end
end
if best then
game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId, best.id, plr)
else
window:Notify({ title = "Yvetzal", content = L("No server found."), duration = 4 })
end
end
miscTab:CreateButton({
name = "Server Hop",
callback = function()
hop("any")
end,
})
miscTab:CreateButton({
name = "Low Server",
callback = function()
hop("low")
end,
})
miscTab:CreateButton({
name = "High Server (not full)",
callback = function()
hop("high")
end,
})
local function clip(txt)
if setclipboard then
pcall(setclipboard, txt)
window:Notify({ title = "Yvetzal", content = L("Copied to clipboard."), duration = 3 })
else
window:Notify({ title = "Yvetzal", content = L("No clipboard support."), duration = 4 })
end
end
miscTab:CreateButton({
name = "Copy JobId",
callback = function()
clip(game.JobId)
end,
})
miscTab:CreateButton({
name = "Copy HWID",
callback = function()
local h = "unsupported"
pcall(function()
h = (syn and syn.gethwid and syn.gethwid()) or (gethwid and gethwid()) or "unsupported"
end)
if h == "unsupported" then
window:Notify({ title = "Yvetzal", content = L("HWID not supported."), duration = 4 })
else
clip(h)
end
end,
})
miscTab:CreateButton({
name = "Copy GameId",
callback = function()
clip(tostring(game.GameId))
end,
})
miscTab:CreateButton({
name = "Copy User Id",
callback = function()
clip(tostring(plr.UserId))
end,
})
miscTab:CreateSection({ name = "TOGGLES", icon = "Lucide:toggle-right" })
local afkConn
miscTab:CreateToggle({
name = "Anti-AFK",
value = false,
flag = "AntiAFK",
callback = function(state)
if state then
local vu = game:GetService("VirtualUser")
afkConn = track(plr.Idled:Connect(function()
vu:CaptureController()
vu:ClickButton2(Vector2.new())
end))
elseif afkConn then
afkConn:Disconnect()
afkConn = nil
end
end,
})
miscTab:CreateToggle({
name = "Fullbright",
value = false,
flag = "Fullbright",
callback = function(state)
if state then
light.Brightness = 2
light.ClockTime = 14
light.FogEnd = 1e6
light.GlobalShadows = false
light.OutdoorAmbient = Color3.fromRGB(128, 128, 128)
else
light.Brightness = 1
light.ClockTime = 14
light.FogEnd = 100000
end
end,
})
miscTab:CreateToggle({
name = "Day Time",
value = false,
flag = "DayTime",
callback = function(state)
if state == true then
light.ClockTime = 14
else
light.ClockTime = 0
end
end,
})
miscTab:CreateToggle({
name = "FPS Boost",
value = false,
flag = "FPSBoost",
callback = function(state)
if not state then
return
end
light.GlobalShadows = false
light.FogEnd = 1e6
for _, e in ipairs(light:GetChildren()) do
if
e:IsA("BloomEffect")
or e:IsA("SunRaysEffect")
or e:IsA("DepthOfFieldEffect")
or e:IsA("BlurEffect")
then
e.Enabled = false
end
end
end,
})
local lagSaved = setmetatable({}, { __mode = "k" })
local lagConn
local function killTex(d)
if d:IsA("Decal") or d:IsA("Texture") then
if lagSaved[d] == nil then
lagSaved[d] = d.Texture
end
d.Texture = ""
elseif d:IsA("ParticleEmitter") or d:IsA("Beam") or d:IsA("Trail") then
if lagSaved[d] == nil then
lagSaved[d] = d.Enabled
end
d.Enabled = false
end
end
miscTab:CreateToggle({
name = "Anti-Lag (Remove Textures)",
value = false,
flag = "AntiLag",
callback = function(v)
if v then
for _, d in ipairs(ws:GetDescendants()) do
pcall(killTex, d)
end
if not lagConn then
lagConn = track(ws.DescendantAdded:Connect(function(d)
pcall(killTex, d)
end))
end
else
if lagConn then
lagConn:Disconnect()
lagConn = nil
end
for d, val in pairs(lagSaved) do
pcall(function()
if d:IsA("Decal") or d:IsA("Texture") then
d.Texture = val
else
d.Enabled = val
end
end)
end
lagSaved = setmetatable({}, { __mode = "k" })
end
end,
})
miscTab:CreateButton({
name = "Unload Script",
callback = function()
unload()
pcall(function()
window:Unload()
end)
if getgenv then
getgenv().Infernum_Unload = nil
getgenv().InfernumUI = nil
end
end,
})
miscTab:CreateText({ name = "Credits", text = "Wyrizon & The Infernum Team" })
end
-- RoBeats
do
local ap = tabs.autoplay
ap:CreateSection({ name = "Settings" })
local enabled = false
local acc = 100
ap:CreateToggle({
name = "Enable Autoplay",
value = false,
flag = "AutoplayEnabled",
callback = function(state)
enabled = state
window:Notify({
title = L(state and "Autoplay On" or "Autoplay Off"),
content = L(state and "Hitting notes automatically." or "Stopped."),
duration = 2,
})
end,
})
ap:CreateSlider({
name = "Accuracy (0 = Miss, 100 = Perfect)",
range = { 0, 100 },
value = 100,
flag = "AccuracyValue",
callback = function(v)
acc = v
end,
})
ap:CreateText({ name = "Credits", text = "Made by Wyrizon and the Infernum Team." })
local function findTrackFns(t)
local pressFn, relFn
for _, fn in next, t do
if type(fn) == "function" then
local okc, consts = pcall(getconstants, fn)
if okc and consts then
if not pressFn and table.find(consts, "press") then
pressFn = fn
elseif not relFn and table.find(consts, "release") then
relFn = fn
end
end
if pressFn and relFn then
break
end
end
end
return pressFn, relFn
end
local function findLocalTrack(session)
local oki, slotIdx = pcall(getupvalue, session.set_local_game_slot, 1)
if not oki or type(slotIdx) ~= "number" then
return
end
for _, sf in next, session do
if type(sf) == "function" then
local oku, ups = pcall(getupvalues, sf)
if oku and type(ups) == "table" then
local obj = ups[1]
if type(obj) == "table" and rawget(obj, "count") and obj:count() <= 4 then
local okr, res = pcall(function()
return obj:get(slotIdx)
end)
if okr and res then
return res
end
end
end
end
end
end
local dbgOk = type(getconstants) == "function"
and type(getloadedmodules) == "function"
and type(getupvalues) == "function"
local trackSys
if dbgOk then
for _ = 1, 10 do
for _, module in next, getloadedmodules() do
local okm, mv = pcall(require, module)
if okm and type(mv) == "table" and type(rawget(mv, "new")) == "function" then
local oku, ups = pcall(getupvalues, rawget(mv, "new"))
if oku and type(ups) == "table" and type(ups[1]) == "table" and rawget(ups[1], "twister") then
trackSys = mv
break
end
end
end
if trackSys then
break
end
task.wait(1)
end
end
if not trackSys then
window:Notify({
title = "Yvetzal",
content = L("Autoplay unavailable (no track system or debug fns). Try re-executing after the game loads."),
duration = 6,
})
else
local oldNew = trackSys.new
trackSys.new = function(...)
local fns = oldNew(...)
local args = { ... }
local oks, slot = pcall(function()
return args[2]._players._slots:get(args[3])
end)
if not (oks and slot and slot._name == plr.Name) then
return fns
end
for i, fn in next, fns do
local oku, ups = pcall(getupvalues, fn)
if oku and type(ups) == "table" and type(ups[1]) == "table" and rawget(ups[1], "profilebegin") then
local notes = ups[2]
local localTrk, pressFn, relFn, pressName, relName
local orig = fn
fns[i] = function(self, slot, session)
if not enabled then
return orig(self, slot, session)
end
if not localTrk then
localTrk = findLocalTrack(session)
if localTrk then
pressFn, relFn = findTrackFns(localTrk)
if pressFn and relFn then
local okp, p1 = pcall(getconstant, pressFn, 10)
local okr, p2 = pcall(getconstant, relFn, 6)
if okp and okr then
pressName, relName = p1, p2
end
end
end
end
if localTrk and pressFn and relFn and pressName and acc > 0 then
local target = -((100 - acc) * 1.5)
for nIdx = 1, notes:count() do
local note = notes:get(nIdx)
if note then
local tIdx = note:get_track_index(nIdx)
local testP = note[pressName]
local testR = note[relName]
if testP then
local pressed, _, pDelay = testP(note)
if pressed and pDelay and pDelay >= target then
pressFn(localTrk, session, tIdx)
pcall(function()
session:debug_any_press()
end)
if rawget(note, "get_time_to_end") then
task.delay(math.random(5, 18) / 100, function()
pcall(relFn, localTrk, session, tIdx)
end)
end
end
end
if testR then
local released, _, rDelay = testR(note)
if released and rDelay and rDelay >= target then
task.delay(math.random(2, 5) / 100, function()
pcall(relFn, localTrk, session, tIdx)
end)
end
end
end
end
end
return orig(self, slot, session)
end
end
end
return fns
end
onUnload(function()
enabled = false
if trackSys and oldNew then
pcall(function()
trackSys.new = oldNew
end)
end
end)
end
end
-- Teleport reload
local function longWrap(s)
local lvl, closer = 0, nil
repeat
lvl = lvl + 1
closer = "]" .. string.rep("=", lvl) .. "]"
until not s:find(closer, 1, true)
return "[" .. string.rep("=", lvl) .. "[" .. s .. closer
end
local function queueReload()
pcall(function()
if not queue_on_teleport then
return
end
local src
pcall(function()
if readfile then
src = readfile(filePath)
end
end)
if (not src or src == "") and getgenv and getgenv().YvetzalRoBeats_Source then
src = getgenv().YvetzalRoBeats_Source
end
if not src or src == "" then
return
end
queue_on_teleport(
"if getgenv then getgenv().YvetzalRoBeats_Source = "
.. longWrap(src)
.. " end\n"
.. "local function r()\n local ok, e = pcall(function()\n"
.. src
.. "\n end)\n if not ok then warn('[Yvetzal] reload failed', e) end\nend\n"
.. "if game:IsLoaded() then r() else game.Loaded:Wait() r() end"
)
end)
end
pcall(function()
if getgenv and not getgenv().YvetzalRoBeats_Source then
local src
pcall(function()
if readfile then
src = readfile(filePath)
end
end)
if src and #src > 0 then
getgenv().YvetzalRoBeats_Source = src
end
end
end)
local teleHooked = false
plr.OnTeleport:Connect(function()
if teleHooked then
return
end
teleHooked = true
queueReload()
end)
window:Notify({
title = "Yvetzal",
content = (loadedMsg[lang] or loadedMsg.English):format(subtitle, menuKey),
duration = 5,
icon = "Lucide:flame",
})
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