Toni
Usuario mítico
No me voy a enrollar, hoy traigo un script bastante guay.
Las menciones del sistema del foro hacen que algunas etiquetas se transformen en menciones. Descargad este bloc de notas.
http://www.mediafire.com/file/vl482vjk7bbl2c1/alquimia.txt/file
EXPLICACIÓN: El script empieza con una caja de yes/no, para saber si vas a usar la mesa. Si la vas a usar, va a un pointer donde hay un multichoice con la opción que querais hecer. Depende de esta ireis a un pointer o a otro.
Instrucciones: Te explica un poco que es la alquimia y cual es su finalidad.
Mezcla: son dos multichoice, que depende de que opción elijas, irá a un pointer donde sume un valor a una variable y compruebe si tienes diferentes objetos.
Al final, compara si la suma es correcta. Si lo es va a otro pointer donde te quitan los objetos y te dan el resultante.
TUTORIAL:
1: Coge una rom de fr y ábrela con una herramienta llamada complete multichoice box editor.

Número de multichoice
Opción para cargar la rom
Opción para guardar la rom
Dirección donde se encuentra la caja que estas modificando
Dirección donde se encuentra cada opción del multichoice
Opciones del multichoice, las podemos modificar
Número de caracteres que tiene cada opción de la caja multichoice
Número de opciones que tiene el multichoice
Opción para repuntear la dirección de la tabla de multichoice
Offset de la tabla de multichoice
Número de cajas multichoice que hay en esa rom
Para que nuestro script funcione, tenemos que dar al número de caja 01 y expandir el número de choice count a 6. Ahora le damos a save box y ya poemos escribir lo que queramos. Recuerda que al final siempre hay que darle a save box por si queremos guardar los cambios.

Hacemos lo mismo con el 02, pero en este caso con diferentes opciones.

Ahora ya podemos probar el script.
Si queremos que los materiales no sean esos, simplemente los cambiamos con esta herramienta y cambiamos el valor en HEX
de los items.
Por cierto, también hay que hacer un último multichoice con las opciones de: mezcla, instrucciones y salir en el número de caja 1B. Ya sabéis como hacerlo
Link del programa: Romhacking.net - Utilities - Complete Multi-Choice Box Editor
Vídeo subido por Kode:https://youtu.be/UUvUFiWi964
Las menciones del sistema del foro hacen que algunas etiquetas se transformen en menciones. Descargad este bloc de notas.
http://www.mediafire.com/file/vl482vjk7bbl2c1/alquimia.txt/file
Código:
#dynamic 0x800000
#org @inicio
lock
msgbox @texto1 0x5
compare LASTRESULT 0x1
if 0x1 goto @si
msgbox @texto2 0x6
end
#org @si
setvar 0x40FF 0x0
multichoice 0x1 0x1 0x1B 0x1
compare LASTRESULT 0x0
if 0x1 goto @mezcla
compare LASTRESULT 0x1
if 0x1 goto @info
compare LASTRESULT 0x2
if 0x1 goto [MENTION=37310]Sal[/MENTION]ir
end
#org @mezcla
msgbox @texto4 0x6
multichoice 0x1 0x1 0x1 0x1
compare LASTRESULT 0x0
if 0x1 call [MENTION=31902]Che[/MENTION]ck0
compare LASTRESULT 0x1
if 0x1 call [MENTION=31902]Che[/MENTION]ck1
compare LASTRESULT 0x2
if 0x1 call [MENTION=31902]Che[/MENTION]ck2
compare LASTRESULT 0x3
if 0x1 call [MENTION=31902]Che[/MENTION]ck3
compare LASTRESULT 0x4
if 0x1 call [MENTION=31902]Che[/MENTION]ck4
compare LASTRESULT 0x5
if 0x1 call @si
end
#org [MENTION=31902]Che[/MENTION]ck0
checkitem 0xD 0x1
compare LASTRESULT 0x1
if 0x1 goto @mezcla2
msgbox @texto7 0x6
goto @mezcla
#org [MENTION=31902]Che[/MENTION]ck1
checkitem 0x56 0x1
compare LASTRESULT 0x1
if 0x1 goto @suma1
msgbox @texto7 0x6
goto @mezcla
#org [MENTION=31902]Che[/MENTION]ck2
checkitem 0x26 0x1
compare LASTRESULT 0x1
if 0x1 goto @suma2
msgbox @texto7 0x6
goto @mezcla
#org [MENTION=31902]Che[/MENTION]ck3
checkitem 0x67 0x1
compare LASTRESULT 0x1
if 0x1 goto @suma3
msgbox @texto7 0x6
goto @mezcla
#org [MENTION=31902]Che[/MENTION]ck4
checkitem 0x175 0x1
compare LASTRESULT 0x1
if 0x1 goto @suma4
msgbox @texto7 0x6
goto @mezcla
#org @suma1
addvar 0x40FF 0x2
compare 0x40FF 0x2
if 0x1 goto @mezcla2
end
#org @suma2
addvar 0x40FF 0x4
compare 0x40FF 0x4
if 0x1 goto @mezcla2
end
#org @suma3
addvar 0x40FF 0x6
compare 0x40FF 0x6
if 0x1 goto @mezcla2
end
#org @suma4
addvar 0x40FF 0x8
compare 0x40FF 0x8
if 0x1 goto @mezcla2
end
#org @mezcla2
msgbox @texto5 0x6
multichoice 0x1 0x1 0x2 0x1
compare LASTRESULT 0x0
if 0x1 call @2check0
compare LASTRESULT 0x1
if 0x1 call @2check1
compare LASTRESULT 0x2
if 0x1 call @2check2
compare LASTRESULT 0x3
if 0x1 call @2check3
compare LASTRESULT 0x4
if 0x1 call @2check4
compare LASTRESULT 0x5
if 0x1 call @si
end
#org @2check0
checkitem 0x10 0x1
compare LASTRESULT 0x1
if 0x1 goto @resultado
msgbox @texto7 0x6
goto @mezcla2
#org @2check1
checkitem 0x1D 0x1
compare LASTRESULT 0x1
if 0x1 goto @2suma1
msgbox @texto7 0x6
goto @mezcla2
#org @2check2
checkitem 0x30 0x1
compare LASTRESULT 0x1
if 0x1 goto @2suma2
msgbox @texto7 0x6
goto @mezcla2
#org @2check3
checkitem 0x21 0x1
compare LASTRESULT 0x1
if 0x1 goto @2suma3
msgbox @texto7 0x6
goto @mezcla2
#org @2check4
checkitem 0x33 0x1
compare LASTRESULT 0x1
if 0x1 goto @2suma4
msgbox @texto7 0x6
goto @mezcla2
#org @2suma1
addvar 0x40FF 0x7
goto @resultado
#org @2suma2
addvar 0x40FF 0xE
goto @resultado
#org @2suma3
addvar 0x40FF 0x15
goto @resultado
#org @2suma4
addvar 0x40FF 0x1C
goto @resultado
end
#org @resultado
compare 0x40FF 0x0
if 0x1 goto @item0
compare 0x40FF 0x7
if 0x1 goto @item1
compare 0x40FF 0xE
if 0x1 goto @item2
compare 0x40FF 0x15
if 0x1 goto @item3
compare 0x40FF 0x1C
if 0x1 goto @item4
compare 0x40FF 0x2
if 0x1 goto @item5
compare 0x40FF 0x9
if 0x1 goto @item6
compare 0x40FF 0x10
if 0x1 goto @item7
compare 0x40FF 0x17
if 0x1 goto @item8
compare 0x40FF 0x1E
if 0x1 goto @item9
compare 0x40FF 0x4
if 0x1 goto @item10
compare 0x40FF 0xB
if 0x1 goto @item11
compare 0x40FF 0x12
if 0x1 goto @item12
compare 0x40FF 0x19
if 0x1 goto @item13
compare 0x40FF 0x20
if 0x1 goto @item14
compare 0x40FF 0x6
if 0x1 goto @item15
compare 0x40FF 0xD
if 0x1 goto @item16
compare 0x40FF 0x14
if 0x1 goto @item17
compare 0x40FF 0x1B
if 0x1 goto @item18
compare 0x40FF 0x22
if 0x1 goto @item19
compare 0x40FF 0x8
if 0x1 goto @item20
compare 0x40FF 0xF
if 0x1 goto @item21
compare 0x40FF 0x16
if 0x1 goto @item22
compare 0x40FF 0x1D
if 0x1 goto @item23
compare 0x40FF 0x24
if 0x1 goto @item24
end
#org @item0
removeitem 0xD 0x1
removeitem 0x10 0x1
giveitem 0x12 0x1 MSG_FIND
release
end
#org @item1
removeitem 0xD 0x1
removeitem 0x1D 0x1
giveitem 0x1 0x1 MSG_FIND
end
#org @item2
removeitem 0xD 0x1
removeitem 0x30 0x1
giveitem 0x2 0x1 MSG_FIND
end
#org @item3
removeitem 0xD 0x1
removeitem 0x21 0x1
giveitem 0x3 0x1 MSG_FIND
end
#org @item4
removeitem 0xD 0x1
removeitem 0x33 0x1
giveitem 0x4 0x1 MSG_FIND
end
#org @item5
removeitem 0x56 0x1
removeitem 0x10 0x1
giveitem 0x5 0x1 MSG_FIND
end
#org @item6
removeitem 0x56 0x1
removeitem 0x1D 0x1
giveitem 0x6 0x1 MSG_FIND
end
#org @item7
removeitem 0x56 0x1
removeitem 0x30 0x1
giveitem 0x7 0x1 MSG_FIND
end
#org @item8
removeitem 0x56 0x1
removeitem 0x21 0x1
giveitem 0x8 0x1 MSG_FIND
end
#org @item9
removeitem 0x56 0x1
removeitem 0x33 0x1
giveitem 0x9 0x1 MSG_FIND
end
#org @item10
removeitem 0x26 0x1
removeitem 0x10 0x1
giveitem 0x11 0x1 MSG_FIND
end
#org @item11
removeitem 0x26 0x1
removeitem 0x1D 0x1
giveitem 0x13 0x1 MSG_FIND
end
#org @item12
removeitem 0x26 0x1
removeitem 0x30 0x1
giveitem 0x14 0x1 MSG_FIND
end
#org @item13
removeitem 0x26 0x1
removeitem 0x21 0x1
giveitem 0x15 0x1 MSG_FIND
end
#org @item14
removeitem 0x26 0x1
removeitem 0x33 0x1
giveitem 0x16 0x1 MSG_FIND
end
#org @item15
removeitem 0x67 0x1
removeitem 0x10 0x1
giveitem 0x17 0x1 MSG_FIND
end
#org @item16
removeitem 0x67 0x1
removeitem 0x1D 0x1
giveitem 0x18 0x1 MSG_FIND
end
#org @item17
removeitem 0x67 0x1
removeitem 0x30 0x1
giveitem 0x19 0x1 MSG_FIND
end
#org @item18
removeitem 0x67 0x1
removeitem 0x21 0x1
giveitem 0x20 0x1 MSG_FIND
end
#org @item19
removeitem 0x67 0x1
removeitem 0x33 0x1
giveitem 0x23 0x1 MSG_FIND
end
#org @item20
removeitem 0x175 0x1
removeitem 0x10 0x1
giveitem 0x22 0x1 MSG_FIND
end
#org @item21
removeitem 0x175 0x1
removeitem 0x1D 0x1
giveitem 0x24 0x1 MSG_FIND
end
#org @item22
removeitem 0x175 0x1
removeitem 0x30 0x1
giveitem 0x25 0x1 MSG_FIND
end
#org @item23
removeitem 0x175 0x1
removeitem 0x21 0x1
giveitem 0x27 0x1 MSG_FIND
end
#org @item24
removeitem 0x175 0x1
removeitem 0x33 0x1
giveitem 0x28 0x1 MSG_FIND
end
#org @info
msgbox @texto3 0x6
end
#org [MENTION=37310]Sal[/MENTION]ir
release
end
#org @texto1
= Parece una mesa de alquimia.\p¿Debería usarla?
#org @texto2
= Quizás vuelva alguna vez más.
#org @texto3
= -DEFINICIÓN DE ALQUIMIA-\pLa alquimia era una disciplina\narcaica en la que se buscaba\lconvertir unos elementos a otros.\lHoy en día, exlusivas personas\lelegidas por el Mesías conocen\lesta oscura sabiduria. Su\lpropósito, encontrar la piedra\lFilosofal; elixir de la\linmortalidad en la edad media.\lEllos también buscaban riqueza,\lya que intentaban transmutar el\lplomo en oro.\p-USO DE LA MESA DE ALQUIMIA-\pLa mesa de alquimia se usa de la\nsiguiente forma:\p1:Selecciona la opción de\nmezclar.\p2: Elije el primer material\na combinar.\p3: Elije el segundo material\ncombinar.\p4:Obtén el material resultante.
#org @texto4
= Elige el primer material\nmezclar.
#org @texto5
= Elije el segundo material\na mezclar.
#org @texto7
= No tienes ese material en tu\nposesión o no tienes\lsuficiente cantidad.
Instrucciones: Te explica un poco que es la alquimia y cual es su finalidad.
Mezcla: son dos multichoice, que depende de que opción elijas, irá a un pointer donde sume un valor a una variable y compruebe si tienes diferentes objetos.
Al final, compara si la suma es correcta. Si lo es va a otro pointer donde te quitan los objetos y te dan el resultante.
TUTORIAL:
1: Coge una rom de fr y ábrela con una herramienta llamada complete multichoice box editor.

Número de multichoice
Opción para cargar la rom
Opción para guardar la rom
Dirección donde se encuentra la caja que estas modificando
Dirección donde se encuentra cada opción del multichoice
Opciones del multichoice, las podemos modificar
Número de caracteres que tiene cada opción de la caja multichoice
Número de opciones que tiene el multichoice
Opción para repuntear la dirección de la tabla de multichoice
Offset de la tabla de multichoice
Número de cajas multichoice que hay en esa rom
Para que nuestro script funcione, tenemos que dar al número de caja 01 y expandir el número de choice count a 6. Ahora le damos a save box y ya poemos escribir lo que queramos. Recuerda que al final siempre hay que darle a save box por si queremos guardar los cambios.

Hacemos lo mismo con el 02, pero en este caso con diferentes opciones.

Ahora ya podemos probar el script.
Si queremos que los materiales no sean esos, simplemente los cambiamos con esta herramienta y cambiamos el valor en HEX
de los items.
Por cierto, también hay que hacer un último multichoice con las opciones de: mezcla, instrucciones y salir en el número de caja 1B. Ya sabéis como hacerlo
Link del programa: Romhacking.net - Utilities - Complete Multi-Choice Box Editor
Vídeo subido por Kode:https://youtu.be/UUvUFiWi964
Última edición: