[Tutorial FR] Scrolling Multichoice

Like Tree29Gracias
  • 21 Post By Sage0ne
  • 1 Post By BLAx501!
  • 1 Post By InfernapEnLlamas
  • 1 Post By ИѦСӉѺіԱՏ
  • 1 Post By ♠Subzero♠
  • 2 Post By Versekr Dark
  • 1 Post By Helix Boo♪
  • 1 Post By Sage0ne
Respuesta
 
Herramientas Desplegado
  #1  
20/11/2016
Predeterminado [Tutorial FR] Scrolling Multichoice
HEY! Qué pedo cachorros?!
En esta ocasión os traigo un tutorial muy bonico para crear Infinitas Cajas de múltiple selección con desplazamiento vertical . Este sistema está creado por FBI, podeis ver el post oficial haciendo click aquí.


IMPORTANTE: apuntar bien las direcciones de donde insertais los siguientes bytes. Recordad insertarlos en cualquier dirección con suficiente espacio y que comience con 0, 4, 8 ó C

PRÓLOGO
Esta rutina, se basa en el 'special 0x158' pero, ¿Qué hace originalmente este special?

Este special, es usado en un NPC de Ciudad Celeste, el cual nos habla sobre las medallas, mostrandonos una multichoice box bastante extensa, igual con otro caso similar con el tio del polvo de bayas.



Las multichoice box, naturalmente no pueden mostrar más que 8 opciones (aprox) y una de éstas, debe ser obligatoriamente la de 'CERRAR' debido a como se debe configurar en el script..
No tocaré este tema ya que compete más la parte 'Scripting' e imagino que los que sigan este tutorial tendrán al menos un nivel Intermedio-Avanzado sobre ello, así que pasemos a lo que hace.

En esta rutina, FBI, quita los limitadores que tiene ese special, además de modificar el código para que se pueda almacenar en una variable, haciendolo verdaderamente sencillo.

Ahora bien, ¿Cómo se inserta?

PASO 1
Antes que nada vamos a armar nuestra tabla, esto podría resultar algo confuso, así que para que os enredeis os dejo un ejemplo gráfico:

-Imagen Facultativa-


#1: Puntero general de nuestra tabla
Este puntero es el más importante, y debeis guardarlo pues la rutina lo utiliza para guiarse y estructurar la tabla de las multichoice.
En este paso, debéis dejar 4 bytes por cada entrada en la tabla que quierais usar.

Yo en mi caso he dejado 60 bytes, para así tener espacio para 20 tablas:



IMPORTANTE: En caso de que quierais apartar espacio para más tablas, os recomiendo rellenar el resto con
'00 00 00 08', de esta manera no se buscará espacio en esa parte de la ROM cuando hackeeis normalmente y podreis reconocer inmediatamente que se trata de una tabla
#2. Nombres de las Opciones
Si sabes algo de scripting, dominarás esto en simples pasos, no tiene mucho misterio, simplemente son los nombres de las opciones escritas en hexadecimal



Para hacer esto, simplemente debeis copiar la offset que os tira XSE en el modo dinámico y permutarlo, en caso de que no sepais como permutar o tengais flojera de hacerlo, os podeis ahorrar toda esa pesada labor gracias al Permutador de nuestro colega @Naren Jr.



IMPORTANTE: Si eres de los que no tiene tiempo, o suele cerrar por error el XSE, Es muuy recomendable Guardar el 'log' que os da el mismo programa y guardarlo en formato .txt para más tarde ^^
#3: Opciones de X Tabla
Cada tabla tiene sus multichoice, es decir la cantidad de opciones que se mostrarán en la textbox, aquí debéis poner los punteros (offset invertido) de los nombres de las opciones de vuestro multichoice.

Yo en mi caso he hecho una enciclopedia de Bayas, así que lo he ordenado así:



PASO 2
Una vez que hayais configurado vuestras tablas, lo que teneis que hacer es insertar la siguiente rutina (Compilada para ahorrarles el trabajo):

14 4C 24 88 0A 21 6C 52 68 5E C0 00 0F 4A 00 F0 1A F8 11 4C 20 60 0E 4A 00 F0 15 F8 00 26 00 24 0A 22 A8 5E BB 00 9A 46 06 A9 89 46 86 42 08 DA 05 4A 0A 49 09 88 89 00 52 18 12 68 90 46 08 48 00 47 08 48 00 47 10 47 XX XX XX 08 B1 2B 00 08 7D BA 0C 08 BA 70 03 02 14 9A 03 02 B8 70 03 02 75 B9 0C 08 AF B9 0C 08
Dónde XX XX XX es el inicio de la Tabla Madre que vimos en el PASO 1.

PASO 3
Finalmente van a 0x0CB94C e insertais los siguientes bytes:

00 49 08 47 XX+1 XX XX 08
Dónde XX+1 XX XX es el puntero donde insertásteis la rutina anterior +1

También vais a 0x0CBB84 y sobreescribis los siguientes 4 bytes por 00 00 00 00

Listo!
Todo bien? Todo correcto? ¡Y yo que me alegro!

A USARLO!
Esta rutina usa los siguientes parámetros de variable para su uso:

setvar 0x8000 0xX 'numero de tabla de multichoice'
setvar 0x8001 0x# 'número de opciones que se mostrarán (en Hex)'
setvar 0x8004 0x0 ' 'standard'
De modo que en un Script se vería masomenos así:
(Script de muestra, NO USAR)

BAYOLOGÍA POR SEICH

Código:
#dynamic 0x990000

'---------------
#org @start
faceplayer
lockall
msgbox   @Linea1 MSG_YESNO '"Es un libro que habla sobre las\nb..."
compare LASTRESULT 0x1
if 0x0 goto @snippet1
msgbox   @Linea2 MSG_FACE '"¿Sobre qué artículo te interesa\ns..."
call @snippet2
'---------------
#org @Linea1
msgbox @Linea3 MSG_SIGN '"[player] devolvió el libro a\nsu s..."
closeonkeypress
releaseall
end

'---------------
#org @Linea2
setvar 0x8000 0x0
setvar 0x8001 0xC
setvar 0x8004 0x0
special 0x158
waitstate
copyvar 0x8004 0x800D
compare 0X800D 0x0
if 0x1 goto @snippet3
compare LASTRESULT 0x1
if 0x1 goto @snippet4
compare lastresult 0x2
if 0x1 goto @caki
compare lastresult 0x3
if 0x1 goto @meloc
compare lastresult 0x4
if 0x1 goto @perasi
compare lastresult 0x5
if 0x1 goto @safre
compare lastresult 0x6
if 0x1 goto @ziuela
compare lastresult 0x7
if 0x1 goto @zidra
compare lastresult 0x8
if 0x1 goto @zana
compare lastresult 0x9
if 0x1 goto @zreza
compare lastresult 0xA
if 0x1 goto @eni
compare lastresult 0xb
if 0x1 goto @nada
releaseall
end
...
.
..
.


Les debería quedar una cosa masomenos así:



_____ _____ _____ _____ _____ _____ _____

Y eso ha sido todo, espero que os haya servido.
No olvideis dejar algo de repu
¡Saludos y Buenas vibras!

#SeichCapriccola


Última edición por Sage0ne; 14/05/2017 a las 08:40
  #2  
20/11/2016
Predeterminado Respuesta: [Tutorial FR] Scrolling Multichoice
Está genial que se traigan este tipo de aportes en nuestro idioma xD. Buen trabajo, yo ya lo usé en su momento y es algo realmente interesante para cualquier hack
Gracias: ♠Subzero♠
  #3  
20/11/2016
Predeterminado Respuesta: [Tutorial FR] Scrolling Multichoice
Me gusta lo que veo, hace no mucho andaba buscando algo parecido y hoy por fin lo encuentro. Sigue así y no dejes de traernos estos pedazo de aportes!!
Gracias: ♠Subzero♠
La diferencia entre la genialidad y la estupidez es que la genialidad tiene un límite.
~Albert Einstein

  #4  
21/11/2016
Predeterminado Respuesta: [Tutorial FR] Scrolling Multichoice
buuufff con esto se puede hacer un monton de cosas interesantes solo es tener imaginacion (muchos no la tienen xD ) en fin mis 10, realmente estupendo sigue asi
Gracias: ♠Subzero♠
"En los tiempos de las copias infinitas,
el Caballero metálico, creará el ejercito de dominación
y en oscuridad al mundo envolverá"

Diario de los T-Zaos 2X:645U


POKEMON X2020


  #5  
07/01/2017
Predeterminado Respuesta: [Tutorial FR] Scrolling Multichoice
Nice!
Hey pero que pocos comentarios tiene esto. Buen tuto!
Lo leí por arriba y al principio marea un poquito por como esta escrito pero entender se entiende bastante bien. Estaba acostumbrado a usar mas el método de jpan pero veo que a este se le puede dar mucha utilidad para scripts personalizados de tiendas y cosas así.
En fin...
Saludos!
Gracias: Sage0ne
  #6  
08/01/2017
Predeterminado Re: [Tutorial FR] Scrolling Multichoice
Esto si es un buen tutorial que sirve demasiado para múltiples opciones d juego, muchas gracias seguramente lo usare.
  #7  
02/04/2017
Predeterminado Respuesta: [Tutorial FR] Scrolling Multichoice
Gran tutorial SAGE, ando siguiéndolo para una pequeña cosilla que quiero preparar y está bastante bien explicado, aunque he tenido que alternarlo con el tutorial original para poder seguir el hilo al 100%. Eso sí, deberías explicar que los cuatro bytes 00 que se colocan a partir de 0x0CBB84 sirven para no tener que colocar la opción de cancelar en la última posición (en tu caso, la opción "NADA").

Up y +Gracias.
Gracias: Sage0ne
Existe un tipo de recurso que conlleva horas y numerosos ratos de preparar, ayuda a mucha gente y más de una vez hay que rebanarse la sesera para dejarlo elegante. Me estoy refiriendo a los Tutoriales y a la Resolución de Dudas. Recuerda que de no ser por esas personas, no hubieras llegado a semejante nivel, así que no lo olvides.

Los tutoriales y la resolución de dudas también son recursos.
Si te fueron útiles, menciona a sus colaboradores.
  #8  
Hace 4 Semanas
Predeterminado Respuesta: [Tutorial FR] Scrolling Multichoice
Me volvi loco, no entendi. Creo que sigo siendo muy noob_7u7 jajaja, no se si me puedes ayudar, necesito cuadro como el del Sr. ARENQUE de pokemon rubi - con warp a las ciudades pero sin los moviemientos. Gracias

Este mensaje ha sido advertido por la siguiente razón: Sin especificar

Última edición por Cheve_X; Hace 4 Semanas a las 15:23
  #9  
Hace 4 Semanas
Predeterminado Respuesta: [Tutorial FR] Scrolling Multichoice
Dicho por Junior23c Ver mensaje
Me volvi loco, no entendi. Creo que sigo siendo muy noob_7u7 jajaja, no se si me puedes ayudar, necesito cuadro como el del Sr. ARENQUE de pokemon rubi - con warp a las ciudades pero sin los moviemientos. Gracias
hacer un warp es super sencillo, el tutorial esta bien explicado, si te pierdes es porque quizás no lo has ni intentado, te recomiendo informarte un poco sobre como usar un editor Hexadecimal, descargarte HxD (editor hexadeciaml por excelencia) y probarlo tu mismo.
Gracias: ♠Subzero♠
  #10  
Hace 5 días
Predeterminado Respuesta: [Tutorial FR] Scrolling Multichoice
Gran aporte! Sin duda estará en mi proyecto,se ve fácil...
Buen trabajo, gracias por traerlo a WaH
espero seguir viendo este tipo de cosas
Saludos!
Respuesta

Etiquetas
mutlichoice , sage , scrolling , tutorial fr , whack a hack

Herramientas
Desplegado

Permisos para publicar mensajes
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los BB code están Activado
Los Emoticones están Activado
El código [IMG] está Activado
El Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Desactivado



Extra
Estilo clásico
La franja horaria es GMT +1. Ahora son las 21:54.