Registrarse
  • ¡Votaciones abiertas del Concurso de Sprites SP 2026!
    Mirá los sprites de los participantes y elegí tus favoritos.
    Ver sprites y votar →

[Aporte] Nuzlocke overlay: App para automatizar Overlays de Pokémon en OBS leyendo tu .SAV | [Contribution] Nuzlocke overlay: App to automate Pokémon

PokeJgamer

Usuario de plata
¡Hola a todos! Como creador de contenido, estaba harto de tener que pausar mis directos para actualizar a mano mi overlay en OBS cada vez que capturaba o perdía un Pokémon en un Nuzlocke.Por eso, he programado en Python esta aplicación de escritorio llamada "Team Tracker". Lo que hace es leer tu archivo de guardado (.SAV) en tiempo real y generar un overlay automático y sincronizado en tu OBS.

  • Ideal para Nuzlockes y Runs.
  • Os dejo el enlace al vídeo donde explico paso a paso cómo se instala y configura:

¡Espero que os sirva a los que hacéis directos! Cualquier feedback para futuras versiones es súper bienvenido. -> Contacto por Comentarios del Vídeo o Discord.

Github Repo: https://github.com/pokejgameryt-ship-it/nuzlocke-overlay

-----------------------------------------------------------------


Hi everyone! As a content creator, I was tired of having to pause my streams to manually update my OBS overlay every time I caught or lost a Pokémon during a Nuzlocke. That’s why I programmed a desktop app in Python called "Team Tracker." It reads your save file (.SAV) in real-time and generates an automatic, synchronized overlay for OBS.

Perfect for Nuzlockes and challenge runs.

Here is the link to the video where I explain step-by-step how to install and set it up:

I hope this helps those of you who stream! Any feedback for future versions is greatly appreciated. -> Contact me via video comments or Discord.

GitHub Repo: https://github.com/pokejgameryt-ship-it/nuzlocke-overlay
 

Adjuntos

M_Alighieri

Dirigente Total del Imperio Kaktiácero
Miembro del equipo
Redactor/a
Miembro de honor
Has realizado un aporte muy actual, además con traducción al inglés, me parece algo fantástico y muy útil para todas aquellas personas aficionadas a los Nuzlocke.

¡Gracias por el aporte!
 

PokeJgamer

Usuario de plata
Nuzlocke Overlay NUEVA VERSION v1.0.2
Tipo de instalacion
  • Windows (Instalador NSIS): NuzlockeOverlay-Setup-1.0.2.exe — Instalador grafico con asistente. Instala en C:\Program Files\Nuzlocke Overlay\. Incluye desinstalador.
  • Windows (Updater): Updater-Windows.bat — Script de actualizacion automatica. Descarga el exe + Recursos desde Google Drive.
  • macOS (Updater): Updater-macOS.sh — Script bash para macOS. Descarga app + Recursos.
  • Linux (Updater): Updater-Linux.sh — Script bash para Linux. Descarga app + Recursos.
Nuevas funciones
Seccion "Recursos / Sprites" en Configuracion

  • Boton "Descargar Sprites" — Descarga automatica desde Google Drive (~2GB, 10,018 archivos). Usa manifiesto JSON pre-generado con IDs de archivos. Descarga 5 archivos en paralelo con reintentos automaticos.
  • Boton "Abrir carpeta de Recursos" — Abre la carpeta AppData/Roaming/nuzlocke-overlay/Recursos/ en el explorador para pegar estilos manualmente.
  • Descarga automatica al iniciar — Al iniciar por primera vez sin Sprites, pregunta si quieres descargar.
Buscador de fuentes del sistema

  • Picker de fuentes con busqueda en tiempo real, preview visual y tags de categoria (serif, sans-serif, display, handwriting).
  • Detecta ~539 fuentes del sistema via registro de Windows (HKLM + HKCU).
  • Fix: PowerShell via execFileSync + script temporal (resuelve problemas de quoting en builds empaquetados).
Sistema de actualizaciones

  • Comprobacion automatica de nuevas versiones al iniciar (desde GitHub Releases).
  • Popup de notificacion con opcion "Omitir esta version" (no vuelve a aparecer).
  • Boton "Buscar actualizaciones" en Configuracion.
  • Popup de changelog al instalar nueva version con notas de la release formateadas por secciones.
Popup de changelog

  • Resumen rapido con secciones "Nuevas funciones" y "Correcciones" traducidas al idioma del usuario.
  • Formato limpio con bullet points y headers en color rojo.
Ctrl+A y Shift+Click

  • Ctrl+A selecciona todos los slots (sprites + nicknames) a la vez.
  • Shift+Click selecciona un rango de slots del mismo tipo (como el explorador de archivos).
  • Ctrl+Click permite seleccionar slots individuales de cualquier tipo.
Correcciones
NSIS Installer

  • Botones del instalador no funcionaban — init() crasheaba sin try/catch. Cada await envuelto individualmente en try/catch.
  • setupListeners() ahora se llama PRIMERO en init() antes de cualquier operacion asincrona.
Estilos no aparecian en el selector

  • El scanner tenia un umbral de 150 archivos por carpeta para detectar estilos, pero los sprites de Google Drive tienen ~50 archivos por estilo. Umbral reducido a 1.
  • Despues de descargar Sprites, el selector de estilos no se actualizaba. Ahora se envia un evento styles-refreshed al renderer para repoblar el selector.
  • Cache de estilos se invalida correctamente al refrescar.
Electron

  • Barra de menu nativa eliminada (mainWindow.setMenu(null)) — la app se ve limpio en OBS.
  • CSP corregido: anadido 'unsafe-eval' a script-src para builds empaquetados.
Logger

  • Logger.setLogDir() ahora escribe en AppData/Roaming/nuzlocke-overlay/logs/ en vez de __dirname (que fallaba con EPERM en Program Files).
  • resolveBaseDir() devuelve app.getPath('userData') cuando app.isPackaged y no hay PORTABLE_EXECUTABLE_DIR.
Sprites

  • scanSprites() ahora devuelve [] si la carpeta no existe (ENOENT fix).
  • SPRITES_ROOT resolucion multi-ubicacion: userData -> beside exe -> fallback userData.
  • Placeholder en OBS: usa pokemon.spriteUrl en vez de pokemon.speciesId.
Google Drive Download

  • Reescrito completamente. La API v3 de Google Drive requiere API key que no tenemos.
  • Solucion: scraper (scripts/scrape-gdrive.js) que genera public/recursos-manifest.json con 10,018 IDs de archivos.
  • App descarga manifiesto desde GitHub raw URL, luego archivos via https://drive.google.com/uc?export=download&id=FILE_ID&confirm=t.
  • 5 workers en paralelo, redirect chain recursivo (301-308), reintentos automaticos (max 3).
  • fetchManifest() con logging de errores detallado (muestra los primeros 50 chars de la respuesta).
i18n

  • Fix: string corrupto en espanol noPreview (comillas rotas).
  • Anadidas keys para todas las secciones nuevas en 6 idiomas (ES, EN, FR, DE, JA, RU).
Archivos incluidos
ArchivoTipoTamano aprox.Descripcion
NuzlockeOverlay-Setup-1.0.2.exeInstalador Windows~100MBInstalador NSIS con asistente grafico
Updater-Windows.batScript~5KBDescarga exe + Recursos en Windows
Updater-macOS.shScript~5KBDescarga app + Recursos en macOS
Updater-Linux.shScript~5KBDescarga app + Recursos en Linux
Requisitos
  • Windows 10/11 (64-bit)
  • Electron 28 / Node.js runtime incluido
  • .NET 8.0 Runtime (para PKHeX, se instala automaticamente)
Enlaces
 
Arriba