The PokéCommunity Forums

The PokéCommunity Forums (https://www.pokecommunity.com/index.php)
-   Binary ROM Hacking (https://www.pokecommunity.com/forumdisplay.php?f=284)
-   -   Script Foreign Alchemy Script Help! (https://www.pokecommunity.com/showthread.php?t=390449)

Puffle754 March 22nd, 2017 3:12 PM

Foreign Alchemy Script Help!
 
Hello!

I'm hoping someone can help a script-noob out with an alchemy script I found: https://wahackforo.com/t-43130/script-sistema-alquimia-video-demostrativo

As you can see, it's in Spanish, and so is the instructions for how to use it.

Could someone help me figure out how to use/adjust the script, as well as fix the few errors that the forum did to the script? I would really appreciate it! :)

Puffle754 March 25th, 2017 1:17 PM

A bit of an update, I've done the best of my abilities to try and fix the script up, although I can't get it to compile with any script editor, so there must still be something wrong. Here's my attempt at fixing it up:

Spoiler:


#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 @salir
end

#org @mezcla
msgbox @texto4 0x6
multichoice 0x1 0x1 0x1 0x1
compare LASTRESULT 0x0
if 0x1 call
@Check0
ck0
compare LASTRESULT 0x1
if 0x1 call
@Check1
ck1
compare LASTRESULT 0x2
if 0x1 call
@Check2
ck2
compare LASTRESULT 0x3
if 0x1 call
@Check3
ck3
compare LASTRESULT 0x4
if 0x1 call
@Check4
ck4
compare LASTRESULT 0x5
if 0x1 call @si
end

#org
@Check0
ck0
checkitem 0xD 0x1
compare LASTRESULT 0x1
if 0x1 goto @mezcla2
msgbox @texto7 0x6
goto @mezcla

#org
@Check1
ck1
checkitem 0x56 0x1
compare LASTRESULT 0x1
if 0x1 goto @suma1
msgbox @texto7 0x6
goto @mezcla

#org
@Check2
ck2
checkitem 0x26 0x1
compare LASTRESULT 0x1
if 0x1 goto @suma2
msgbox @texto7 0x6
goto @mezcla

#org
@Check3
ck3
checkitem 0x67 0x1
compare LASTRESULT 0x1
if 0x1 goto @suma3
msgbox @texto7 0x6
goto @mezcla

#org
@Check4
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 @salir
release
end

#org @texto1
= It looks like an alchemy table. \p Should I use it?

#org @texto2
= Maybe later...

#org @texto3
= Alchemy can be used to mix several \p items together to creatue new items.

#org @texto4
= Choose the first material.

#org @texto5
= Choose the second material.

#org @texto7
= You do not have enough materials.


esperance March 25th, 2017 2:08 PM

Remove the lines that say ck0, ck1, etc. Those are not real commands but were originally @chk0, @chk1 and so on but were moved to the next line by bad formatting. Furthermore, a few #org commands in your version have their labels on the next line when they should be on the same line.

Puffle754 March 25th, 2017 4:17 PM

Thank you for pointing out the errors!

I've gotten the script to compile now, although it doesn't seem to want to work. Namely, I can talk to an event with this script, but all that will happen is the "click" sound. It doesn't freeze or anything, it just acts as if no event was there.

Here's the fixed up version of the script. I'm guessing there's still something I did wrong near the begining, since it won't even start.

EDIT: I figured out what I had wrong! For anyone curious, I've left the fixed version below.

Spoiler:


#dynamic 0xB00000

#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 @salir
end

#org @mezcla
msgbox @texto4 0x6
multichoice 0x1 0x1 0x1 0x1
compare LASTRESULT 0x0
if 0x1 call @Check0
compare LASTRESULT 0x1
if 0x1 call @Check1
compare LASTRESULT 0x2
if 0x1 call @Check2
compare LASTRESULT 0x3
if 0x1 call @Check3
compare LASTRESULT 0x4
if 0x1 call @Check4
compare LASTRESULT 0x5
if 0x1 call @si
end

#org @Check0
checkitem 0xD 0x1
compare LASTRESULT 0x1
if 0x1 goto @mezcla2
msgbox @texto7 0x6
goto @mezcla

#org @Check1
checkitem 0x56 0x1
compare LASTRESULT 0x1
if 0x1 goto @suma1
msgbox @texto7 0x6
goto @mezcla

#org @Check2
checkitem 0x26 0x1
compare LASTRESULT 0x1
if 0x1 goto @suma2
msgbox @texto7 0x6
goto @mezcla

#org @Check3
checkitem 0x67 0x1
compare LASTRESULT 0x1
if 0x1 goto @suma3
msgbox @texto7 0x6
goto @mezcla

#org @Check4
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 @salir
release
end

#org @texto1
= It looks like an alchemy table. \p Should I use it?

#org @texto2
= Maybe later...

#org @texto3
= Alchemy can be used to mix several \p items together to creatue new items.

#org @texto4
= Choose the first material.

#org @texto5
= Choose the second material.

#org @texto7
= You do not have enough materials.



All times are GMT -8. The time now is 9:14 AM.


Like our Facebook Page Follow us on Twitter © 2002 - 2018 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2016 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.

Acknowledgements
Use of PokéCommunity Assets
vB Optimise by DragonByte Technologies Ltd © 2023.