API de consola
API de consola
Cuando el juego esta en ejecucion, GP-Next expone un objeto global:
window.gpNextPuedes llamarlo directamente desde la consola de desarrollador.
Consejos
Si no estas seguro de que comandos hay disponibles, empieza con:
gpNext.help()Antes de usarla
- el juego ya termino de cargar
- GP-Next se inicializo correctamente
- tienes abierta la consola de desarrollador
Si quieres exportar JSON originales de Features, Props o idiomas antes de escribir un parche, empieza por Datos originales.
Panel
gpNext.toggle()
Muestra u oculta el panel de GP-Next.
No tiene parametros.
Ejemplo
gpNext.toggle()gpNext.show()
Muestra el panel.
gpNext.hide()
Oculta el panel.
gpNext.help()
Imprime la ayuda de comandos en la consola.
Parches y estado
gpNext.init()
Vuelve a ejecutar el proceso de carga de parches.
Valor de retorno
Normalmente devuelve el resultado actual de carga de parches.
gpNext.reload()
Vuelve a leer los archivos de parche desde disco y los aplica otra vez.
Es uno de los comandos mas usados.
Ejemplo
await gpNext.reload()gpNext.status()
Muestra el estado actual del patcher.
Campos principales del retorno
loaded: lista de tipos cargadosskipped: tipos omitidoserrors: lista de errorespacks: datapacks detectados actualmentedisabledPacks: datapacks desactivadossingleFile: informacion de parches de un solo archivoeditsPack: informacion del pack de ediciones manualeseditsCount: numero de ediciones manualesextraLanguages: idiomas extra registrados actualmenteplantRegistry: informacion de depuracion del registro dinamico de plantas
Ejemplo
const status = gpNext.status()
console.log(status.packs)
console.log(status.errors)Edicion de datos
gpNext.setObjectsData(type, alias, key, value)
Edita un solo campo dentro de una entrada de tipo Objects.
Parametros
type: nombre del tipo de objeto, por ejemploPlantPropsalias: alias principal de la entrada objetivo, por ejemplopeashooterkey: nombre del campo a editarvalue: nuevo valor
Ejemplo
gpNext.setObjectsData('PlantProps', 'peashooter', 'SunCost', 50)gpNext.setObjectsData(type, alias, patchObject)
Fusiona un objeto dentro del objdata de la entrada objetivo.
Parametros
type: nombre del tipo de objetoalias: alias principal de la entrada objetivopatchObject: objeto que se fusionara en la entrada
Ejemplo
gpNext.setObjectsData('PlantProps', 'peashooter', {
SunCost: 50,
Cooldown: 2
})Aviso
Esto es una edicion en tiempo de ejecucion. Sirve para depurar y verificar rapido, pero no crea automaticamente un datapack formal.
Exportar y restaurar
gpNext.exportJson(type, useOriginal = false, autoDownload = true)
Exporta un tipo JSON.
Parametros
type: nombre del tipo, por ejemploPlantFeaturesuseOriginal:trueexporta datos originales,falseexporta datos actuales en ejecucionautoDownload:trueabre un cuadro de guardado,falseimprime el resultado en consola
Ejemplo
await gpNext.exportJson('PlantProps')
await gpNext.exportJson('PlantProps', true)
await gpNext.exportJson('PlantProps', false, false)gpNext.exportLang(useOriginal = false, autoDownload = true)
Exporta la tabla de idioma actual MultiLanguage.lyrics.
Casos utiles
- comprobar si un paquete de idioma surtio efecto
- comparar el resultado actual de idiomas extendidos
- exportar la tabla original para compararla
Ejemplo
await gpNext.exportLang()
await gpNext.exportLang(true)gpNext.restoreOriginal(type)
Restaura un tipo a sus datos originales.
Ejemplo
gpNext.restoreOriginal('PlantFeatures')gpNext.restoreAll()
Restaura todos los tipos respaldados.
gpNext.listOrigins()
Lista todos los tipos que actualmente tienen copia original.
gpNext.hasOrigin(type)
Comprueba si un tipo tiene copia original.
Juego
gpNext.setFrameRate(fps)
Ajusta la tasa de frames del juego.
Parametros
fps: numero como30o60
Ejemplo
gpNext.setFrameRate(60)gpNext.setGameSpeed(multiplier)
Cambia directamente la escala interna del tiempo.
Parametros
multiplier: valor de velocidad como1o1.5
Ejemplo
gpNext.setGameSpeed(1)
gpNext.setGameSpeed(1.5)Aviso
Este comando existe, pero usa la ruta de bajo nivel _timeScale y no es tan seguro como las opciones nativas 1x / 1.5x de la pagina Trainer. En la mayoria de casos es mejor cambiar la velocidad desde la interfaz.
Cheats
gpNext.cheats.setSun(value)
Fija directamente la cantidad actual de sol.
Ejemplo
gpNext.cheats.setSun(9999)gpNext.cheats.addSun(value = 1000)
Anade sol.
Ejemplo
gpNext.cheats.addSun()
gpNext.cheats.addSun(500)gpNext.cheats.winLevel()
Activa una victoria instantanea para el nivel actual.
Aviso
En algunas escenas de prueba o sandbox, es mejor tratarlo como un atajo temporal y no como parte de un flujo estable.
Depuracion
gpNext.debug.getPlantRegistry()
Muestra informacion de depuracion del registro dinamico de plantas.
Util para
- anadir plantas nuevas
- clonar plantas
- resolver problemas de mapeo de identidad de plantas
Ejemplo
const info = gpNext.debug.getPlantRegistry()
console.log(info)Otros
gpNext.version
Version actual de GP-Next.
Ejemplo
gpNext.versiongpNext.debug
Este es un espacio de nombres de depuracion, no solo un interruptor booleano.
El metodo mas usado ahora mismo es:
gpNext.debug.getPlantRegistry()Ejemplos
Recargar parches y revisar estado
await gpNext.reload()
console.log(gpNext.status())Verificar rapidamente valores de plantas
gpNext.setObjectsData('PlantProps', 'peashooter', {
SunCost: 50,
Cooldown: 2
})Exportar datos actuales a la consola
await gpNext.exportJson('PlantProps', false, false)Exportar la tabla original de idioma
await gpNext.exportLang(true)