Registrarse

[Herramienta] [GBA] Red Alien Script Editor

cosarara97

Dejad de cambiar de nick
Miembro de honor
Red Alien (antes Advanced Script Compiler)

Red Alien, el editor de script para juegos de pokémon más potente que existe ;)


Características
  • Compatibilidad con XSE y PKSV
  • Soporte para #dyn(amic) y #define's (¡macros!)
  • Soporte para acentos
  • Etiquetas chulas para jumps/goto's (jump :asdf)
  • Hecho por mi (sí, me tenéis aquí, así que me podéis molestar para que lo modifique, eso es una ventaja, sabéis?)
  • Estructuras while y if/else
  • Soporte para scripts de Overworld, y IA de combate.
  • Fácilmente modificable (está escrito en python y la lista de comandos está en un archivo editable)
  • Es open source, licenciado bajo la GPLv3 (o posterior) - Si añadís algo útil decídmelo y lo añadiré al repositorio principal.
Y por lo que hace al editor, en concreto:
  • Coloreado de sintaxis
  • Autocompletado
  • Herramienta de entrada de texto
  • Integración con Advance Map y Blue Spider

Descargas

La última versión siempre en mi web

Página en github:
https://github.com/cosarara97/red-alien
Para ejecutar la versión GUI nueva directamente des del código fuente, ejecutad el archivo "asc_gui_qt.py". Vais a necesitar PyQt5 para python3, python3 y python-qscintilla (también para python3, claro).

Tutos e instrucciones
El manual oficial (en inglés)
Cómo usar las estructuras chulas
Integración con AM

compilar:
$ ./asc.py c <script.pks> <rom.gba>

compilación falsa (en lugar de escribir en el ROM imprime en pantalla):
$ ./asc.py b <script.pks> <rom.gba>

descompilar:
$ ./asc.py d <rom.gba> <offset, en hex>

Para más info, ver "./asc.py --help" y "./asc.py <comando> --help



Las dependencias para la versión antigua son (en linux buscad en el repositorio, en windows os pongo los links):
python - http://www.python.org/ftp/python/2.7.3/python-2.7.3.msi
gtk 3 - http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.24/gtk+-bundle_2.24.10-20120208_win32.zip
python-gobject - http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.24/pygtk-2.24.0.win32-py2.7.exe
libgtksourceview-3.0-0 - Index of /pub/gnome/sources/gtksourceview/3.5 (este hay que compilarlo)
(y me parece que ya está)
Si falta alguna, os saldrá un error en el terminal diciendo cual es.

Para abrir la versión antigua basta con ejecutar el archivo asc_gui.py.
 
Última edición por un moderador:

Katherine

Omnipresente
Miembro de honor
Es genial que hayas creado un nuevo editor de scripts. La lastima es que esta en alpha y no serviria de nada descargarselo (aun asi lo descargare xD). Espero que tambien sea muy usado y sea mas facil de usar para asi trabajar mas rapido y que sea mas comodo. Te deseo suerte sacando la proxima version de tu ASC (jaja ami tampoco me gusta el nombre).
Pues te deseo buena suerte!
 

Sonicarvalho

Tutorial Maker
5 estrellas, y sabes porque? Porque para ASM hackers como yo saben cambiar la tabla de comandos de forma a añadir o quitar argumentos (o mismo cambiarlos), es sencillo cambiarlos.

Ejemplo: He cambiado el sethealingplace en FireRed para suportar un mapa/warp especifico. Así al revés de un word como argumento necesitaría 3 words.Uno para el banco de mapa, otro para el map y otro para el warp.

Muchas gracias cosarara!
 

cosarara97

Dejad de cambiar de nick
Miembro de honor
Es genial que hayas creado un nuevo editor de scripts. La lastima es que esta en alpha y no serviria de nada descargarselo (aun asi lo descargare xD). Espero que tambien sea muy usado y sea mas facil de usar para asi trabajar mas rapido y que sea mas comodo. Te deseo suerte sacando la proxima version de tu ASC (jaja ami tampoco me gusta el nombre).
Pues te deseo buena suerte!
A ver, que funciona, eh? (Yo ya lo uso para el concurso de scripts) Solo que si no estás acostumbrado a usar la linea de comandos no sabrás usarlo.
Me alegro que os guste, cuando acabe el concurso y tenga tiempo voy a acabar la interfaz gráfica (y todo lo que hay en esa lista de arriba) y sacar una versión que pueda usar todo el mundo.

EDIT: He creado una página para el proyecto en gitorious, con su respectivo repositorio git (en el post principal)
 

TrevorTS

Miembro de honor
Miembro de honor
wow me gusta mas el lenguaje que utiliza tu editor :D, es mas legible para mi.
me dan ganas de pasarme a ubuntu.
 

cosarara97

Dejad de cambiar de nick
Miembro de honor
Respuesta: ASC - Mi editor de scripts

Bueno, pues resulta que hoy en lugar de estudiar (que es lo que debería estar haciendo), he decidido programar un poco en este proyecto. Además de arreglar bastantes bugs, los while's if's y else's ya funcionan (bieeeeen!), así que ahora podéis hacer cosas como:
Código:
#dyn 0x800000

#org @main
while(0x3000) {
	msgbox @text
	callstd 6
	while(0x3001) {
		msgbox @text2
		callstd 2
	}
	msgbox @text
	callstd 3
}
end

#org @text
= lalalalalala

#org @text2
= lelelelelele

#org @text3
= lolololololo
o
Código:
#dyn 0x800000

#org @main
if(0x3000) {
	while(0x4000 < 3) {
		msgbox @text
		callstd 6
		addvar 0x4000 1
	}
} else {
	msgbox @text2
	callstd 6
}
end

#org @text
= lalalalalala

#org @text2
= lelelelelele
Cuando en la condición pongamos solo un número, estaremos comprobando si el valor de una flag es 1. Si ponemos 2 números y un operador estamos comparando el contenido de una variable con una constante.
Por otro lado, en la carpeta utils he añadido un archivo pks.vim, para tener resaltado de código básico en el editor de texto VIM.

Todos estos cambios ya están en el repositorio en gitorious ( https://gitorious.org/advanced-script-compiler ), y como siempre, puede que algún día esté de buen humor y compile versiones para wincaca =P.

Oh, y re-abro el tema, claro.
 
Respuesta: ASC - Mi editor de scripts

Me lo he descargado y al ir a ejecutarlo he descubierto que hay un error de síntaxis en la linea 83:

Código:
table = u"00= " u"""
según lo que sé debería ser:

Código:
table = """00=u
Al menos a mi ese cambió me sirvió ^^

Muy buena la herramienta, me gusta :3
 

cosarara97

Dejad de cambiar de nick
Miembro de honor
Respuesta: ASC - Mi editor de scripts

¿? Nah, no hay ningún error de sintaxis. 2 strings juntas se concatenan automáticamente, tanto en python 2.7 como python 3.3. ¿Qué versión estás usando? Por otro lado, eso que has hecho es muy pero que muy feo, lol. Bueno, no tanto, pero el significado del código cambia.
Esas u's que ves delante de cada string son residuos de cuando el código estaba en python2 - se pueden quitar - pero lo que tu has hecho es añadir una u dentro de la string... en la equivalencia de 00... haciendo que los espacios se descodifiquen a u en lugar de ' '... lol.

Un comentario, qué emocionante :)
Bueno, yo lo que venía a traer es un super ejecutablísimo para los usuarios de windows super vaguísimos que no quieren instalar las dependencias y asdf.
Así que, con la última versión del git, lo he empaquetado y congelado (leed: compilado) todo, de modo que sin más dilación libero la versión 1.1. No se si había liberado ya una 1.1, pero me da igual, ahora la última versión es la 1.1 y es esta, okay?
Here you are: ASC_v1.1.zip
Espero que funcione para todo el mundo. Si encontráis bugs, no os funciona, os tira algún error, os encontráis con que no lo sabéis usar, cualquier cosa: decídmelo. Por favor. Ya lo se, que todos estáis la mar de contentos con XSE, pero a mi me hace mucha ilusión que uséis mi programa, y seamos sinceros, esos bucles y if/else's son la ostia.

PD: La integración con Advance Map funciona, yay! Solo tenéis que responder "No" cuando os pregunte que si ";" o " ".
 

Dragonite

But where's your heart
Respuesta: ASC - Mi editor de scripts

¿? Nah, no hay ningún error de sintaxis. 2 strings juntas se concatenan automáticamente, tanto en python 2.7 como python 3.3. ¿Qué versión estás usando? Por otro lado, eso que has hecho es muy pero que muy feo, lol. Bueno, no tanto, pero el significado del código cambia.
Esas u's que ves delante de cada string son residuos de cuando el código estaba en python2 - se pueden quitar - pero lo que tu has hecho es añadir una u dentro de la string... en la equivalencia de 00... haciendo que los espacios se descodifiquen a u en lugar de ' '... lol.

Un comentario, qué emocionante :)
Bueno, yo lo que venía a traer es un super ejecutablísimo para los usuarios de windows super vaguísimos que no quieren instalar las dependencias y asdf.
Así que, con la última versión del git, lo he empaquetado y congelado (leed: compilado) todo, de modo que sin más dilación libero la versión 1.1. No se si había liberado ya una 1.1, pero me da igual, ahora la última versión es la 1.1 y es esta, okay?
Here you are: ASC_v1.1.zip
Espero que funcione para todo el mundo. Si encontráis bugs, no os funciona, os tira algún error, os encontráis con que no lo sabéis usar, cualquier cosa: decídmelo. Por favor. Ya lo se, que todos estáis la mar de contentos con XSE, pero a mi me hace mucha ilusión que uséis mi programa, y seamos sinceros, esos bucles y if/else's son la ostia.

PD: La integración con Advance Map funciona, yay! Solo tenéis que responder "No" cuando os pregunte que si ";" o " ".
Excelente, y es cierto, si bien el else y el bucle while se puede hacer en XSE (No poniendo While o Else pero bueh, se puede) es comodísimo así.

Estaba esperando la versión para Wincaca. Tengo ansias de probarlo.

¡Saludos!
 
Respuesta: ASC - Mi editor de scripts

¿? Nah, no hay ningún error de sintaxis. 2 strings juntas se concatenan automáticamente, tanto en python 2.7 como python 3.3. ¿Qué versión estás usando? Por otro lado, eso que has hecho es muy pero que muy feo, lol. Bueno, no tanto, pero el significado del código cambia.
Esas u's que ves delante de cada string son residuos de cuando el código estaba en python2 - se pueden quitar - pero lo que tu has hecho es añadir una u dentro de la string... en la equivalencia de 00... haciendo que los espacios se descodifiquen a u en lugar de ' '... lol
LOL... que raro, yo tengo el python3 que es el que dices en la página principal que hace falta, y al ejecutar el script me tira error debido a la sintaxis de la linea esa...
Cambié la línea a lo que puse yo y empezó a funcionar perfectamente
 

cosarara97

Dejad de cambiar de nick
Miembro de honor
Respuesta: ASC - Mi editor de scripts

LOL... que raro, yo tengo el python3 que es el que dices en la página principal que hace falta, y al ejecutar el script me tira error debido a la sintaxis de la linea esa...
Cambié la línea a lo que puse yo y empezó a funcionar perfectamente
Perfectamente no, te cargaste la codificación/decodificación de los caracteres espacio (" ") y/o u ;) Si quieres arreglarlo, borra las u's que veas delante de las strings. ¿Cual es la versión exacta que usas?
_________________________________________________

Bueno, señores, anuncio que he creado una especie de loader para cargar la versión nativa de ASC desde AM corriendo en wine (en linux y supongo que también Mac OSX). Instrucciones aquí: http://whackahack.com/foro/t-integrando-asc-en-am-windows-y-linux
 

cosarara97

Dejad de cambiar de nick
Miembro de honor
Respuesta: ASC - Mi editor de scripts

Pus he hecho un par de cambios menores, y para celebrar que también he sacado una versión de Blue Spider, pues también saco versión de ASC. Aquí tenéis:
ASCv1.2.zip
 

PabloGTD

WiiU developer
Respuesta: ASC - Mi editor de scripts

Tío, esto ya se parece a un leguaje serio. Que diferencia. Pones la instrucción switch y lo bordas XD.
 
Respuesta: ASC - Mi editor de scripts

Ahora le he cogido el pille al XSE, no quiero dejar de usarlo.
Pero el editor ese tiene pintaza y es una gran alternativa por no decir que es un rival para XSE.
 
  • Me gusta
Reacciones : fm~

fm~

Llámame FM.
Respuesta: ASC - Mi editor de scripts

Cosa, ¿qué tiene de diferente esta herramienta, en comparación a XSE?
 

cosarara97

Dejad de cambiar de nick
Miembro de honor
Respuesta: ASC - Mi editor de scripts

Cosa, ¿qué tiene de diferente esta herramienta, en comparación a XSE?
Las diferencias más importantes son:
  • Es multiplataforma
  • Soporta etiquetas como las del ejemplo 1
  • Soporta estructuras como las del ejemplo 2
  • Es mío, y no está escrito en VB6

Ejemplo 1:
Código:
#dyn 0x800000

#org @main
:patata
msgbox @text
callstd 6
jump :patata
end

#org @text
= lalalalalala

Ejemplo 2:
Código:
#dyn 0x800000

#org @main
if(0x3000) {
	while(0x4000 < 3) {
		msgbox @text
		callstd 6
		addvar 0x4000 1
	}
} else {
	msgbox @text2
	callstd 6
}
end

#org @text
= lalalalalala

#org @text2
= lelelelelele
 

cosarara97

Dejad de cambiar de nick
Miembro de honor
Respuesta: ASC - Mi editor de scripts

Tralarala, doble post, doble post... otra vez xD
Bueno, pues igual que con Blue Spider, he creado un paquetito para Mac OSX (tu .deb ya llegará, Jaizu. Puede.)
Aaand, here it is:
asc_mac.tar.gz
Pues eso, si queréis más, tenéis que contarme qué tal funciona este.
 

Gold

Porrero a tiempo parcial
Miembro insignia
Respuesta: Red Alien (antes ASC) - Mi editor de scripts

Genial, me probare este compilador tuyo, y mas ahora que es para windows (asi me evito la molestia de instalar linux)
 

cosarara97

Dejad de cambiar de nick
Miembro de honor
Respuesta: Red Alien (antes ASC) - Mi editor de scripts

Había un pequeño bug en la versión de windows (gracias buzzo por avisar), así que lo he arreglado y he sacado un paquete nuevo.
De ahora en adelante voy a ir actualizando los links en esta página:
Red Alien
 
Arriba