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 Multichoice box (more than 7 options)(JPAN) (https://www.pokecommunity.com/showthread.php?t=415239)

Shogun November 14th, 2018 8:23 AM

Multichoice box (more than 7 options)(JPAN)
 
Here is my script to have more than 7 options (JPAN). I'm using it in my game cloud white 2 to replace fly.
However, it doesn't work very well. For example I can't go the the second page. If someone as already created a working script for more than 7 options. Is it possible to explain why mien doesn't work
Spoiler:
#dynamic 0x
#org @start
lock
faceplayer
msgbox @COUCOU 0x6
msgbox @question 0x5
compare LASTRESULT 0x1
if 0x1 call @YESS
msgbox @goodbye 0x6
release
end

#org @YESS
setvar 0x8006 0x0
loadpointer 0x0 @1
special 0x25
setvar 0x8006 0x1
loadpointer 0x0 @2
special 0x25
setvar 0x8006 0x2
loadpointer 0x0 @3
special 0x25
setvar 0x8006 0x3
loadpointer 0x0 @4
special 0x25
setvar 0x8006 0x4
loadpointer 0x0 @5
special 0x25
setvar 0x8006 0x5
loadpointer 0x0 @6
special 0x25
setvar 0x8006 0x6
loadpointer 0x0 @7
special 0x25
multichoice 0x0 0x0 0x25 0x0
compare 0x800D 0x1
if 0x1 goto @CANALAVE
if 0x2 goto @FLOAROMA
if 0x3 goto @JUBILIFE
if 0x4 goto @OREBURGH
if 0x5 goto @SANDGEM
if 0x6 goto @PAGE2
if 0x7 goto @BYE
end

#org @1
= Canalave City

#org @2
= Floaroma Town

#org @3
= Jubilife City

#org @4
= Oreburgh City

#org @5
= Sandgem Town

#org @6
= Next

#org @7
= End


#org @CANALAVE
checkflag 0x225F
if 0x1 goto @cannotpossible
msgbox @GO 0x6
warp 0x2A 0x1A 0xFF 0x60 0x17
release
end

#org @FLOAROMA
checkflag 0x2260
if 0x1 goto @cannotpossible
msgbox @GO 0x6
warp 0x2A 0x0A 0xFF 0x0F 0x1D
release
end

#org @JUBILIFE
checkflag 0x2261
if 0x1 goto @cannotpossible
msgbox @GO 0x6
warp 0x28 0x06 0xFF 0x1A 0x13
release
end

#org @OREBURGH
checkflag 0x2262
if 0x1 goto @cannotpossible
msgbox @GO 0x6
warp 0x28 0x0C 0xFF 0x30 0x0F
release
end

#org @SANDGEM
checkflag 0x2263
if 0x1 goto @cannotpossible
msgbox @GO 0x6
warp 0x28 0x01 0xFF 0x12 0x0A
release
end

#org @PAGE2
setvar 0x8006 0x0
loadpointer 0x0 @11
special 0x25
setvar 0x8006 0x1
loadpointer 0x0 @21
special 0x25
setvar 0x8006 0x2
loadpointer 0x0 @31
special 0x25
setvar 0x8006 0x3
loadpointer 0x0 @41
special 0x25
setvar 0x8006 0x4
loadpointer 0x0 @51
special 0x25
setvar 0x8006 0x5
loadpointer 0x0 @61
special 0x25
setvar 0x8006 0x6
loadpointer 0x0 @71
special 0x25
multichoice 0x0 0x0 0x25 0x0
compare 0x800D 0x1
if 0x1 goto @DIANCIE
if 0x2 goto @HEARTHOME
if 0x3 goto @PASTORIA
if 0x4 goto @SANDILE
if 0x5 goto @PAGE3
if 0x6 goto @PAGE1
if 0x7 goto @BYE
end

#org @11
= Diancie City

#org @21
= Hearthome Town

#org @31
= Pastoria City

#org @41
= Sandile Town

#org @51
= Next

#org @61
= Back

#org @71
= End


#org @DIANCIE
checkflag 0x2264
if 0x1 goto @cannotpossible
msgbox @GO 0x6
warp 0x29 0x14 0xFF 0x22 0x16
release
end

#org @HEARTHOME
checkflag 0x2265
if 0x1 goto @cannotpossible
msgbox @GO 0x6
warp 0x28 0x0D 0xFF 0x0F 0x18
release
end

#org @PASTORIA
checkflag 0x2266
if 0x1 goto @cannotpossible
msgbox @GO 0x6
warp 0x2A 0x10 0xFF 0x10 0x11
release
end

#org @SANDILE
checkflag 0x2267
if 0x1 goto @cannotpossible
msgbox @GO 0x6
warp 0x29 0x13 0xFF 0x11 0x0F
release
end

#org @PAGE3
setvar 0x8006 0x0
loadpointer 0x0 @12
special 0x25
setvar 0x8006 0x1
loadpointer 0x0 @22
special 0x25
setvar 0x8006 0x2
loadpointer 0x0 @32
special 0x25
setvar 0x8006 0x3
loadpointer 0x0 @42
special 0x25
setvar 0x8006 0x4
loadpointer 0x0 @52
special 0x25
setvar 0x8006 0x5
loadpointer 0x0 @62
special 0x25
setvar 0x8006 0x6
loadpointer 0x0 @72
special 0x25
multichoice 0x0 0x0 0x25 0x0
compare 0x800D 0x1
if 0x1 goto @CELESTIC
if 0x2 goto @GOGOA
if 0x3 goto @SNOWPOINT
if 0x4 goto @VEILSTONE
if 0x5 goto @PAGE4
if 0x6 goto @PAGE2
if 0x7 goto @BYE
end

#org @12
= Celestic Town

#org @22
= Gogoa Town

#org @32
= Snowpoint City

#org @42
= Veilstone City

#org @52
= Next

#org @62
= Back

#org @72
= End


#org @CELESTIC
checkflag 0x2268
if 0x1 goto @cannotpossible
msgbox @GO 0x6
warp 0x2A 0x0E 0xFF 0x0D 0x08
release
end

#org @GOGOA
checkflag 0x2269
if 0x1 goto @cannotpossible
msgbox @GO 0x6
warp 0x29 0x08 0xFF 0x17 0x13
release
end

#org @SNOWPOINT
checkflag 0x226A
if 0x1 goto @cannotpossible
msgbox @GO 0x6
warp 0x2A 0x18 0xFF 0x04 0x2F
release
end

#org @VEILSTONE
checkflag 0x226B
if 0x1 goto @cannotpossible
msgbox @GO 0x6
warp 0x28 0x0F 0xFF 0x2A 0x28
release
end

#org @PAGE4
setvar 0x8006 0x0
loadpointer 0x0 @13
special 0x25
setvar 0x8006 0x1
loadpointer 0x0 @23
special 0x25
setvar 0x8006 0x2
loadpointer 0x0 @33
special 0x25
setvar 0x8006 0x3
loadpointer 0x0 @43
special 0x25
setvar 0x8006 0x4
loadpointer 0x0 @53
special 0x25
setvar 0x8006 0x5
loadpointer 0x0 @63
special 0x25
setvar 0x8006 0x6
loadpointer 0x0 @73
special 0x25
multichoice 0x0 0x0 0x25 0x0
compare 0x800D 0x1
if 0x1 goto @ETERNA
if 0x2 goto @SOLACEON
if 0x3 goto @SUNYSHORE
if 0x4 goto @TIRTOUGA
if 0x5 goto @PAGE5
if 0x6 goto @PAGE3
if 0x7 goto @BYE
end

#org @13
= Eterna City

#org @23
= Solaceon Town

#org @33
= Sunyshore City

#org @43
= Tirtouga Village

#org @53
= Next

#org @63
= Back

#org @73
= End


#org @ETERNA
checkflag 0x226C
if 0x1 goto @cannotpossible
msgbox @GO 0x6
warp 0x2A 0x61 0xFF 0x0F 0x18
release
end

#org @SOLACEON
checkflag 0x226D
if 0x1 goto @cannotpossible
msgbox @GO 0x6
warp 0x2A 0x17 0xFF 0x18 0x11
release
end

#org @SUNYSHORE
checkflag 0x226E
if 0x1 goto @cannotpossible
msgbox @GO 0x6
warp 0x28 0x25 0xFF 0x23 0x2B
release
end

#org @TIRTOUGA
checkflag 0x226F
if 0x1 goto @cannotpossible
msgbox @GO 0x6
warp 0x29 0x1A 0xFF 0x21 0x1E
release
end

#org @PAGE5
setvar 0x8006 0x0
loadpointer 0x0 @14
special 0x25
setvar 0x8006 0x1
loadpointer 0x0 @24
special 0x25
setvar 0x8006 0x2
loadpointer 0x0 @34
special 0x25
setvar 0x8006 0x3
loadpointer 0x0 @44
special 0x25
setvar 0x8006 0x4
loadpointer 0x0 @54
special 0x25
setvar 0x8006 0x5
loadpointer 0x0 @64
special 0x25
multichoice 0x0 0x0 0x24 0x0
compare 0x800D 0x1
if 0x1 goto @FIGHT
if 0x2 goto @LEAGUE
if 0x3 goto @RESORT
if 0x4 goto @SURVIVAL
if 0x5 goto @PAGE4
if 0x6 goto @BYE
end

#org @14
= Fight Area

#org @24
= Pokémon League

#org @34
= Resort Area

#org @44
= Survival Area

#org @54
= Back

#org @64
= End


#org @FIGHT
checkflag 0x2274
if 0x1 goto @cannotpossible
msgbox @GO 0x6
warp 0x28 0x11 0xFF 0x26 0x10
release
end

#org @LEAGUE
checkflag 0x2275
if 0x1 goto @cannotpossible
msgbox @GO 0x6
warp 0x2A 0x0F 0xFF 0x10 0x12
release
end

#org @RESORT
checkflag 0x2276
if 0x1 goto @cannotpossible
msgbox @GO 0x6
warp 0x28 0x10 0xFF 0x12 0x1E
release
end

#org @SURVIVAL
checkflag 0x2277
if 0x1 goto @cannotpossible
msgbox @GO 0x6
warp 0x2A 0x28 0xFF 0x14 0x13
release
end

#org @BYE
msgbox @goodbye 0x6
release
end

#org @cannotpossible
msgbox @cant 0x6
release
end
#org @COUCOU
= Hi! With [green_fr]Air Dragonite[blue_fr],\nyou can travel all around the\lworld!

#org @question
= You wanna travel with me? Ok,\nselect your destination.

#org @GO
= Let's go!

#org @goodbye
= Maybe next time!

#org @cant
= I'm sorry, but that destination\nisn't available yet.

Koople November 14th, 2018 10:50 AM

Quote:

Originally Posted by Shogun (Post 9948565)
-stuff-

I believe you need to do a
Code:

compare LASTRESULT 0xX
if 0x1 goto @snip_x


for every single option.

An alternative would be to use this scrolling multichoice option

Shogun November 14th, 2018 10:58 AM

Quote:

Originally Posted by Koople (Post 9948620)
I believe you need to do a
Code:

compare LASTRESULT 0xX
if 0x1 goto @snip_x


for every single option.

An alternative would be to use this scrolling multichoice option

I'll try your solution. I know the scrolling option but I'll use it in last option.

Shogun November 14th, 2018 11:36 AM

Quote:

Originally Posted by Koople (Post 9948620)
I believe you need to do a
Code:

compare LASTRESULT 0xX
if 0x1 goto @snip_x


for every single option.

An alternative would be to use this scrolling multichoice option

#org @YESS
setvar 0x8006 0x0
loadpointer 0x0 @1
special 0x25
setvar 0x8006 0x1
loadpointer 0x0 @2
special 0x25
setvar 0x8006 0x2
loadpointer 0x0 @3
special 0x25
setvar 0x8006 0x3
loadpointer 0x0 @4
special 0x25
setvar 0x8006 0x4
loadpointer 0x0 @5
special 0x25
setvar 0x8006 0x5
loadpointer 0x0 @6
special 0x25
setvar 0x8006 0x6
loadpointer 0x0 @7
special 0x25
multichoice 0x0 0x0 0x25 0x0
compare 0x800D 0x0
if 0x0 goto @CANALAVE
compare 0x800D 0x1
if 0x1 goto @FLOAROMA
compare 0x800D 0x2
if 0x2 goto @JUBILIFE
compare 0x800D 0x3
if 0x3 goto @OREBURGH
compare 0x800D 0x4
if 0x4 goto @SANDGEM
compare 0x800D 0x5
if 0x5 goto @PAGE2
compare 0x800D 0x6
if 0x6 goto @BYE
end

but not working...

Koople November 14th, 2018 2:04 PM

Quote:

Originally Posted by Shogun (Post 9948638)
#org @YESS

The if 0xX is not related to the value you are trying to compare to. It is an inequality, using these values
Code:

Lower Than (0x0)
Equals (0x1)
Greater Than (0x2)
Lower than or Equal to (0x3)
Greater than or Equal to (0x4)
Not exactly equal to (0x5)


So you want to do:
Code:

compare 0x800d 0x0
if 0x1 goto @first
compare 0x800d 0x1
if 0x1 goto @second
etc...



Shogun November 15th, 2018 12:02 PM

Quote:

Originally Posted by Koople (Post 9948681)
The if 0xX is not related to the value you are trying to compare to. It is an inequality, using these values
Code:

Lower Than (0x0)
Equals (0x1)
Greater Than (0x2)
Lower than or Equal to (0x3)
Greater than or Equal to (0x4)
Not exactly equal to (0x5)


So you want to do:
Code:

compare 0x800d 0x0
if 0x1 goto @first
compare 0x800d 0x1
if 0x1 goto @second
etc...



Thanks a lot ! It works perfectly now.


All times are GMT -8. The time now is 9:13 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.