Registrarse

[Scripting] Como hacer scripts en XSE

RogellParadox~

Usuario mítico
Sí, decidí hacer eso porque muchos aún no conocen todos los scripts, y creo que eso los ayudará mucho en la construcion
por hora, no está completo...(13%), pero al longo del año tiempo voy actualizando hasta llegar a todos los scripts:
algunos aquí:::
nop - hace absolutamente nada
nop1 - hace absolutamente nada
end - finaliza la ejecución de un script
return - vuelve al comando que le llamó
call - continua el script en un otro offset, puede ser retomado tambiem
goto - continua la ejecución en un otro punto
if - si la ultima conparacion retorna a un certo valor, se salta a otro script
if2 - version de llamada del comando if
jumpstd - salta para una funcion built-in
callstd - llama una funcion built-in
jumpstdif - salta para una funcion built-in, version condicional
callstdif - llama una funcion built-in, version condiciona
jumpram - salta para una alocacion de RAM estandárd, ejecutando el script en él almacenado
killscript - "asesina" el script y reinicia la RAM
setbyte - determina 0x2039288 + 6C pra el valor del byte especificado
loadpointer - carga un pointer en scripts RAM, entonces otros comandos pueden usarlos
setbyte2 - determina un banco de memoria para el valor del byte especificado
writebytetooffset - Determina el byte de un determinado offset para un determinado valor
lock - trava el movimiento del personaje
1-El inicio del script
Empezemos, entonces:
'-----------------------
#org 0xEjemploDeOffset
todo enpeza con eso :awesome:
En Ejemplo de Offset, le ponemos e offset que estamos usando... así que si usas, por ejemplo, el 200036, vas a poner:
'-----------------------
#org 0x200036
lock: como han visto, el lock trava el jugador. es usado cuando se pasa alguno script o cuando están hablando, y no se quer que tu puedas moverte el protagonista...

'-----------------------
#org 0x200036
lock
Ok... y como hago para que despues el personaje pueda moverse????
lo ponemos al
'-----------------------
#org 0x200036
lock
..........
release
y le finalizamos con un belo end:
'-----------------------
#org 0x200036
lock
..........
release
end
esa es la base principal de cada script, una vez de que tiene que tener al menos el inicio y fin.

Pasemos ahora para la Parte 2::

2-Scripts de conversación
Cuando un personajejito está hablando contigo, se puede ver eso:


vamos hacer uno?? empecemos:
'-----------------------
#org 0x200036
lock
msgbox 0x8162183 '"Aquí quedará mi texto."
release
end
como pueden veer, el comando msgbox tambien neesita de un offset, en
este caso, el 162183.
Nota importantísima: siempre, en un script que llama otro o otra funcion que tambien dependa de un script, se pone el "8" antes, perceban:


'-----------------------
#org 0x200036
lock
msgbox 0x8162183 '"Aquí quedará mi texto."
release
end
cuanto al texto, no te preocupes en ponerlo ahí... despues de compilar el script, lo editaremos más tarde.
ok, y ahora, que tal cerrar la msgbox??
no sabes como hacer?? ora, usaremos este script
'-----------------------
#org 0x200036
lock
msgbox 0x8162183 '"Aquí quedará mi texto."
callstd 0x6
release
end
el callstd es un script que llama a diversos tipos (0x1, 0x2) y, ni todos funcionan, los que funcionan hacen cosas distintas, que veremos más adelante...
si me recuerdo bien, el callstd 0x6 cierra la caja de texto. la 0x4 no la cierra (eso para que si viene otro texto).
____________________________________
lo que el script significa:
Estoy en el offset 200036
voy a travar el personaje
voy abrir una caja de mensaje deciendo el valor del offset 162183
voy llamar el std 6
voy retomar el movimiento del personaje
adiós!
____________________________________
Script listo y compilado dijo:
'-----------------------
#org 0x200036
lock
msgbox 0x8162183 '"Aquí quedará mi texto."
callstd 0x6
release
end

'---------
' Strings
'---------
#org 0x162183
= Aquí quedará mi texto.
Nota: En la parte en negrito, no se pone el "8" antes del offset.

2.2-Comandos extras, colores y etc.

Bueno, como han podido veer, es eso, el texto quedará en la seccion Strings. Pasaremos ahora para la parte de la paragrafacion. Veamos:

Ese es un escenario de la hack de Sergio, Pokemon Naranja.
Como pueden veer, hay dos lineas en la textbox. Esto es lo maximo permitido.
Entonces, que hacer para que salga con delimitacion??
Facil, vamos a por él:
'-----------------------
#org 0x200036
lock
msgbox 0x8162183 '"Aquí quedará mi texto, aunque sea..."
callstd 0x6
release
end

'---------
' Strings
'---------
#org 0x162183
= Aquí quedará mi texto, aunque sea largo!\nEste es el límite, creo yo...\pAhora ya estoy en otra línea...Grande,no?\nBien, nos vamos, hasta luego.
Como viran, usamos dos comandos para hacer eso: \p y \n
A seguir las características de cada uno:
\p:Salta dos líneas. Como el límite es dos, no verás mas las dos líneas de arriba.
\n:Salta de la línea de arriba para la de bajo.


Ejemplo del imagene de arriba dijo:
'---------
' Strings
'---------
#org 0x162183
= Você é um treinador POKéMON, não é?\nPor favor, tem que me ajudar.
 

zaux

Usuario mítico
RE: Como hacer scripts XSE + Todos los scripts [13%]

Muy bien explicado pero, falta muuucho para el 100% xDDD!
Espero que actualices más...

Nos Vemos!
Y Perry?
 
RE: Como hacer scripts XSE + Todos los scripts [13%]

buenisimo el aporte, aunque no creo que sean todos
peri si no son todos son casitodos
muy bueno y bien explicado
 

Deryko

Nick naranja para Dery #FreeDeryko
RE: Como hacer scripts XSE + Todos los scripts [13%]

Mejor que expliques el XSE 1.1.1 (Creo que es asi) Ya que no hay que poner callstd y eso seguro que liará a muchos novatos que tengan la nueva versión. Tampoco usas el \l no se por que..
Por lo demás , hombre no está mal , pero puedes mejorar la persentación.

¡Saludos!
 

Amsen

Baneado
RE: Como hacer scripts XSE + Todos los scripts [13%]

Yo no se mucho de scripts así que esto me ayudara mucho gracias


Saludos Riexzus digo Amsen xD
 
RE: Como hacer scripts XSE + Todos los scripts [13%]

Muy buen tuto, como dicen falta mucho para el 100% pero tú puedes hacerlo.

¡Suerte! (te dejo un +1 y un gracias, esto es... awesome!
 

Mariofan

Usuario mítico
RE: Como hacer scripts XSE + Todos los scripts [13%]

Muy buen tuto, podria estar mejor presentado pero bueno, aqui lo que importa es que se entienda.
Espero que completes el 100% Ya que a los novatos les servira.

Suerte con el tuto :D
 
RE: Como hacer scripts XSE + Todos los scripts [13%]

Muy buen tuto Espero que completes el 100 pues recien empiezo con scripts y pos esto me ayuda
 

RogellParadox~

Usuario mítico
RE: Como hacer scripts XSE + Todos los scripts [13%]

ok, despues de muy tiempo, volvi!! :awesome:
retomando , os dejo un nuevo tuto:
APPLYMOVEMENT


sin duda, te apetece el fato de moverte, mover la cámara o mover alguien en los scripts, no? bueno, supongo
Applymovement dijo:
applymovement 0x0 0x8000000
bueno, que podemos decir?? el apllymovement es el script, así que
el 0x0 sería el valor en hexa del muñeco a que te refieres a mover.
Ejemplo, si tnego una persona en el mapa, y los datos dice que el numero de esa persona es 12, que ahcer??
bueno, podemos usar la calc del windows o del proprio XSE, veamos:

entonces, como vimos, el valor hexadecimal que corresponde a 12 em decimal es C

Adelante!!
applymovement 0xC 0x8000000
listo!! ya indicamos cual muñeco debe moverse
pero ahora me preguntas... y donde pongo los comandos??

bien, buscamos a un offset y ponemos, por ejemplo:
applymovement 0xC 0x8000000
jamás te olvides de poner el "8" antes del offset!!

bueno, hecho eso, compilamos nuestro script y cerramos el XSE!!

al abrir despues, verás que hay algo nuevo!!

'---------------
#org 0xADF900
lock
faceplayer
applymovement 0xC 0x8000000
release
end
'-----------
' Movements
'-----------
#org 0x000000
y que es eso???
bueno, este es el offset, lo pondras los comandos aqui!!. así:

'-----------
' Movements
'-----------
#org 0x000000
#raw 0x56 'Exclamation Mark (!)
#raw 0x9 'Step Up (Normal)
#raw 0x9 'Step Up (Normal)
#raw 0xB 'Step Right (Normal)
#raw 0xB 'Step Right (Normal)
#raw 0xB 'Step Right (Normal)
#raw 0x1 'Face Up
#raw 0xFE 'End of Movements
esos son comandos, respectivamente, para:
Hacer el sinal de exclamacion
Dar un paso normal arriba
Dar un paso normal arriba
Dar un paso normal a la derecha
Dar un paso normal a la derecha
Dar un paso normal a la derecha
Poner la face arriba
Finalizar el movimiento
El #raw 0xFE 'End of Movements, lo TIENES que poner en el final del offset, para que no hagan confusion en los bytes, ya que muchas veces ocurre una catastrofe.
bueno, y que mas da??
oh, si no quieres que el jugador hable mientras anda/corre/o algo así, debes poner eso, luego abajo:

'---------------
#org 0xADF900
lock
faceplayer
applymovement 0xC 0x8000000
waitmovement 0x0
release
end
y tu me preguntas: que hará esoo?? bueno, ese script activa un comando para que el script seguinte sea ejecutado despues del script de movimiento, no mientras(como ya es por definido si lo pones.

Ahora, el script final:
'---------------
#org 0xADF900
lock
faceplayer
applymovement 0xC 0x8000000
waitmovement 0x0
release
end


'-----------
' Movements
'-----------
#org 0x000000
#raw 0x56 'Exclamation Mark (!)
#raw 0x9 'Step Up (Normal)
#raw 0x9 'Step Up (Normal)
#raw 0xB 'Step Right (Normal)
#raw 0xB 'Step Right (Normal)
#raw 0xB 'Step Right (Normal)
#raw 0x1 'Face Up
#raw 0xFE 'End of Movements

es eso, chicos y chicas! espero que les haya gustado.
cuando complete, os dejaré la lista COMPLETA de los movimientos, para que disfruteis
saludos a todos!!
 

Gershel

¡Con dos cojones!
RE: Como hacer scripts XSE + Todos los scripts [19%]

¡Está todo genial!
El tuto me parece perfecto, está todo muy bien explicado y me servirán los comandos segurisimo. El único defecto que le veo es que los comandos están explicados con un lenguaje demasiado tecnificado. Ejemplo: jumpstdif - salta para una funcion built-in, version condicional...
La actualización está muy bien, me gustan los tutoriales que van complementados con imagenes :)
Muchas gracias!! +1 Gracias
 
RE: Como hacer scripts XSE + Todos los scripts [19%]

hola buen tuto pero en ejemplo del offet o como sea se tiene que poner un espacio libre o ya ocupado no entiendo eso y en el el aplimoment o como sea como le ago que se mueva un mini pokemon etc estoy haciendo un hack llamado pokemon darck ness
pero me falta eso me encanta pokemon paz y amor espero que me respondas
 

RogellParadox~

Usuario mítico
RE: Como hacer scripts XSE + Todos los scripts [19%]

jesus.aos dijo:
hola buen tuto pero en ejemplo del offet o como sea se tiene que poner un espacio libre o ya ocupado no entiendo eso y en el el aplimoment o como sea como le ago que se mueva un mini pokemon etc estoy haciendo un hack llamado pokemon darck ness
pero me falta eso me encanta pokemon paz y amor espero que me respondas
si, es un offset libre, si usas FSF(Free Space Finder) encontrarás offsets libres
a veces se 'congestiona' un offset con otro, ejemplo:

20 bytes - 30 bytes - 40 bytes

si pongo un dato de 30 bytes en el 20, habrá colision con el de 30

cuanto al de apllymovement, cada movimiento para un paso/o accion, luego postaré la lista de movimiento completos
 
RE: Como hacer scripts XSE + Todos los scripts [19%]

RE: Como hacer scripts XSE + Todos los scripts [19%]
hola quiero preguntar un par de cosilla q no m quedaron muy claras:
1)
Cita:
Nota importantísima: siempre, en un script que llama otro o otra funcion que tambien dependa de un script, se pone el "8" antes,
esto no lo entendi muy bien, ¿cuando se pone el 8?¿para q sirve?
luego:2)
cuando pones org 0x200036 o cuando pones msgbox 0x8162183, ¿el offset lo sacas de FSF? o el del mensaje te lo inventas y podias haber puesto otra cosa...?
 

RogellParadox~

Usuario mítico
RE: Como hacer scripts XSE + Todos los scripts [19%]

pppablooo dijo:
RE: Como hacer scripts XSE + Todos los scripts [19%]
hola quiero preguntar un par de cosilla q no m quedaron muy claras:
1)
Cita:
Nota importantísima: siempre, en un script que llama otro o otra funcion que tambien dependa de un script, se pone el "8" antes,
esto no lo entendi muy bien, ¿cuando se pone el 8?¿para q sirve?
luego:2)
cuando pones org 0x200036 o cuando pones msgbox 0x8162183, ¿el offset lo sacas de FSF? o el del mensaje te lo inventas y podias haber puesto otra cosa...?
hola pppablooo (es Lol escribir eso)
bien, puedes sacar en el FSF, seguro que estos offsets están vacios, una vez que ya había buscadolos y usados(o sea ahora no estan, pero en una rom virgen, sí)
tambien puedees buscar otros offsets por ello, no te preocupes.
saludos

EDIT: aprovecho para dejar aqui algunos movements:

Applymovement dijo:
#raw 0x0 'Face Down
#raw 0x1 'Face Up
#raw 0x2 'Face Left
#raw 0x3 'Face Right
#raw 0x4 'Step Down (Slow)
#raw 0x5 'Step Up (Slow)
#raw 0x6 'Step Left (Slow)
#raw 0x7 'Step Right (Slow)
#raw 0x8 'Step Down (Normal)
#raw 0x9 'Step Up (Normal)
#raw 0xA 'Step Left (Normal)
#raw 0xB 'Step Right (Normal)
#raw 0xC 'Jump2 Down
#raw 0xD 'Jump2 Up
#raw 0xE 'Jump2 Left
#raw 0xF 'Jump2 Right
#raw 0x10 'Delay1
#raw 0x11 'Delay2
#raw 0x12 'Delay3
#raw 0x13 'Delay4
#raw 0x14 'Delay5
#raw 0x15 'Slide Down
#raw 0x16 'Slide Up
#raw 0x17 'Slide Left
#raw 0x18 'Slide Right
#raw 0x19 'Step on the Spot Down (Slow)
#raw 0x1A 'Step on the Spot Up (Slow)
#raw 0x1B 'Step on the Spot Left (Slow)
#raw 0x1C 'Step on the Spot Right (Slow)
#raw 0x1D 'Step on the Spot Down (Normal)
#raw 0x1E 'Step on the Spot Up (Normal)
#raw 0x1F 'Step on the Spot Left (Normal)
#raw 0x20 'Step on the Spot Right (Normal)
#raw 0x21 'Step on the Spot Down (Faster)
#raw 0x22 'Step on the Spot Up (Faster)
 
RE: Como hacer scripts XSE + Todos los scripts [19%]

ok gracias, pero me puedes explicar esto?
Nota importantísima: siempre, en un script que llama otro o otra funcion que tambien dependa de un script, se pone el "8" antes
no entendi cuando tengo q poner el 8 y para q sirve :S
 

Cheve

MoonLover~
Miembro de honor
RE: Como hacer scripts XSE + Todos los scripts [19%]

Disculpa [??????] pero cuando veo una pregunta aun sin contestar me da escalofrios no contestarla... espero que no te importe....

Bueno... independientemente de lo que haya dicho [??????] yo creo que no es necesario poner el "8" puesto que al compilar un script XSE los pondrá automaticamente en donde deben ir....

Espero aver ayudado y que ?????? no se enoje...

Buena Suerte y Salu2
 

pokeariel

Usuario Habitual
RE: Como hacer scripts XSE + Todos los scripts [19%]

PokeAriel dice:

Esto me sera util.
Gracias [??????].
 

H.B.P

Emperador Kaktiácero
Miembro de honor
RE: Como hacer scripts XSE + Todos los scripts [19%]

Un manual muy completito, y con bastantes imágenes, mas me gustaría aclarar un pequeño detalle, cito textualmente tu script:

'---------------
#org 0xADF900
lock
faceplayer
applymovement 0xC 0x8000000
waitmovement 0x0
release
end

El waitmovement se coloca de la siguiente manera: waitmovement 0x(nº de mini). Dicho vulgarmente, "el cero no se coloca por inercia, hay que colocar el número de mini el cual realiza su movimiento, acción que se quiere esperar hasta su plenitud".

Bueno, eso es todo (por ahora xD).
 
Arriba