Registrarse

[Scripting] Conociendo los comandos generales y conceptos básicos

fm~

Llámame FM.
[align=center]Antes de todo, vengo decirte que estes tutos son de mi antigua escuela de scripts, solo cambié algunas palabras y pocas cosas. Este no es un proyecto que será actualizado siempre, cuando quisieres o puederes, actualizaré con nuevos tutos, pero no exijan nadie de mí.[/align]

Bueno, este tuto es más teórico que práctico, voy a enseñar algunos concetos acerca de los scripts y los fundamentos que necesitas saber acerca de ellos.

1. En primer lugar, configurar el mapa de A-Map a trabajar con XSE.

A. Abrimos A-Map, vamos a "Opciones" y clic en "Choose Script Editor";
B. Buscamos a XSE y le damos dos clics, o "Abrir";
C. Les saltará una ventanita, clic "No";
D. iListo! A-Map ya estás configurado a trabajar con XSE.

iPero este no es el fin!

2. Resta actualizar a XSE. iA trabajo!

A. Abrimos XSE y haciemos clic en "Ayuda" ~ "Actualizar" ~ "Comprobar ahora";
B. Se nos abrirá una ventanita. Le damos a "Siguiente", hasta XSE conectarse a Internet y descargar la actualización;
C. Cuando termine, aparecerá una pantalla, solo damos clic a "Finalizar".

~ iPor fin, nuestro tuto!

Antes, necesitmos saber lo que es un script:

Baro dijo:
Cualquier videojuego actual, es como una película interactiva y por lo tanto tiene un guión. Pero al referirnos a la interactividad, el guión de cada evento cobra más importancia porque dependerá de las demás acciones, si ya se han ejecutado para, sobretodo, conseguir coherencia en la historia. Además muchas de esas acciones deberán ser ejecutadas una sola vez, por lo que la cosa se complica.
El principio del scripting: Todo script está en algún lugar, una dirección... Esta dirección és nomeada "offset". En una ROM, hay muchos offsets, sean vacíos u ocupados por cualquier script, sprite, etc. El offset también puede ser llamado de "pointer". Todo script comienza como:

Código:
#org 0x1E8022
En el ejemplo, 0x1E8022 és el offset donde lo script está. Antes, era necesario sustituir a un offset, o encontrar uno que sea vacío, para que el script sea hecho. Pero, después de la actualización de XSE, un comando muy sencillo se añadió: el comando "DYNAMIC". Con este comando, no es necessário especificar el offset, sólo tiene que escrebir #DYNAMIC, para que este busque un offset libre donde "escribir" nuestro script, siendo así, un offset dinámico. Cuando especificamos el offset, el és un offset preestablecido (no recomendado).

Pero, ¿como se escribe el comando #DYNAMIC?

El comando #DYNAMIC debe siempre estar en el comenzo del script, seguido de 0x[nº dependiendo de con qué Rom trabajemos]. Este nº es:

Código:
Rubí: 0x800000
Rojo Fuego: 0x6B0000
Esmeralda: 0xE3CF64
Ejemplo:

Código:
#DYNAMIC 0x800000
Despues de esto, hablaremos de los comando generales, que están presentes en cuase todos los scripts.

¿Cuáles son los comandos generales?

Son ellos: faceplayer, lock, lockall, release, releaseall, end

faceplayer: Cuando hablas con alguién, no se convierta para usted, ¿para que pueda hablar? Para esto sirve el comando faceplayer. Vean:

Código:
#DYNAMIC 0x800000 [Ya aprendemos este comando antes]

#org @inicio [Este es un offset dinamico]
faceplayer [Este comando hace que cuando hablas con un mini, él conviertase a tí, para que pueda hablar]
Simples, ¿no? Ahora, hablaremos sobre el comando lock.

lock: Gracias a este comando sencillo y muy importante, el mini no puede se mover, el es paralisado. Imagínese, cuando hablas con alguiém en el juego, fose posible moverse aúnque el otro estubiese hablando contigo... Muy confuso, ¿no? Para eso serve el comando lock. Vea como utilizarlo:

Código:
#DYNAMIC 0x800000 [Este comando ya aprendemos antes]

#org @inicio ["@inicio" es un offset dinamico]
faceplayer [Convierte el otro mini a tí, para que posan hablar]
lock [Paraliza el movimiento del prota, siendo imposible moverse cuando hablas con alguién]
También un comando muy sencillo.

lockall: Cuando utilizas el comando lock, tu mini no puede moverse, pero, los otros minis en el mapa, continuam libres. lockall sirve para paralizar el movimiento de TODOS los minis del mapa. Creo que ni necesita un ejemplo, pues es usado de la miesma fuerma que de lock.

release: Después del comando lock, ¿el mini estará paralizado hasta la eternidad? Creo que no es lo que quieres... Utiliza release para liberar el movimiento del mini prota. Ejemplo:

Código:
#DYNAMIC 0x800000 [¿Es necessario explicar nuevamente?]

#org @inicio ['']
faceplayer ["]
lock ["]
release [Aquí, tu movimiento es liberado]
releaseall: Sirve como release, pero, si has utilizado lockall, utilizas esto para liberar los movimientos del todo mapa. También no es necesario un ejemplo, ¿no?

end :OMG: Este es el comando más estupendamente difícil, vea con un ejemplo:

Código:
#DYNAMIC 0x800000

#org @inicio
faceplayer
lock
release
end [Simplemente, acaba el script]
Bueno, hemos llegado al fin de nuestro primer tuto. Pronto les traigo el seguiente.
Saludos! ^^,
 
Respuesta: GBA | Scripting | #1 - Conociendo los comandos generales y los concetos basicos

Hola, tengo un problema, poniendo el #dinamic del esmeralda me salta "no se ha encontrado suficiente espacio libre imposible compilar" cuando trato, efectivamente, de compilar. Tienes alguna solución?
 
Respuesta: GBA | Scripting | #1 - Conociendo los comandos generales y los concetos basicos

Hola, tengo un problema, poniendo el #dinamic del esmeralda me salta "no se ha encontrado suficiente espacio libre imposible compilar" cuando trato, efectivamente, de compilar. Tienes alguna solución?
Eso es seguramente porque la rom de esmeralda está bien llena. Es una base en la que tienes que expandir para hacer un hackrom.

Podrías expandir la rom y entonces ya debería estar tooo bien.
 
Respuesta: GBA | Scripting | #1 - Conociendo los comandos generales y los concetos basicos

Eso es seguramente porque la rom de esmeralda está bien llena. Es una base en la que tienes que expandir para hacer un hackrom.

Podrías expandir la rom y entonces ya debería estar tooo bien.
Gracias, pero como lo hago?
Igual creo que no es eso, porque probé con otro tutrial que tenia otro codigo de #dinamic (en este dice que es de rubi, pero cuando lo hice no me di cuenta) y compilaba perfectamente.
 

Sam 2

En busca de un maestro
Respuesta: GBA | Scripting | #1 - Conociendo los comandos generales y los concetos basicos

Escribe esto: 0x2F0F8F
De nada!! :D
 
Arriba