• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Trading Card Game 2 protagonist in the poll by clicking here.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Script Help Thread (DO NOT REQUEST SCRIPTS)

Status
Not open for further replies.
I'm still in the beginning of scripting so I would just like to know whether or not the script I'm planning for the future is possible. I'm doing a revision of Fr/Lg by taking out the islands and adding the Johto region with an additional dark gym.

The player will have to acquire all badges from each gym's type before they are able to challenge the eilte 4. My problem is that the player has over leveled pokemon when they go to Johto. Of course I could change the gym's level, however I would have to change every other trainer in the region.

Instead I would like to include a script that refuses to let the player use any pokemon caught in the kanto region (vice versa for the other region's consistency). it would need to activate at elm's lab where you're forced to clear your entire party of pokemon and lock them in that region's pc. Is this doable? Or is it just advanced scripting?
 
I'm still in the beginning of scripting so I would just like to know whether or not the script I'm planning for the future is possible. I'm doing a revision of Fr/Lg by taking out the islands and adding the Johto region with an additional dark gym.

The player will have to acquire all badges from each gym's type before they are able to challenge the eilte 4. My problem is that the player has over leveled pokemon when they go to Johto. Of course I could change the gym's level, however I would have to change every other trainer in the region.

Instead I would like to include a script that refuses to let the player use any pokemon caught in the kanto region (vice versa for the other region's consistency). it would need to activate at elm's lab where you're forced to clear your entire party of pokemon and lock them in that region's pc. Is this doable? Or is it just advanced scripting?

I'm almost positive this would require some complicated ASM, especially to have a different PC system for each region.
 
Why does this script freeze the whole game?
It's a person script btw.
Spoiler:
 
I'm still in the beginning of scripting so I would just like to know whether or not the script I'm planning for the future is possible. I'm doing a revision of Fr/Lg by taking out the islands and adding the Johto region with an additional dark gym.

The player will have to acquire all badges from each gym's type before they are able to challenge the eilte 4. My problem is that the player has over leveled pokemon when they go to Johto. Of course I could change the gym's level, however I would have to change every other trainer in the region.

Instead I would like to include a script that refuses to let the player use any pokemon caught in the kanto region (vice versa for the other region's consistency). it would need to activate at elm's lab where you're forced to clear your entire party of pokemon and lock them in that region's pc. Is this doable? Or is it just advanced scripting?

It's definitely easier to just change trainer's Pokémon level, really.


Why does this script freeze the whole game?
It's a person script btw.
Spoiler:

Why didn't you specify all the details?
Anyway... pretty screwed up. That's not how to use the if command. Try this one:

Spoiler:
 
It's definitely easier to just change trainer's Pokémon level, really.

Yeah, I completely agree. However I thought about it and frankly for many reasons the idea just isn't attractive. For one I'm not entirely sure how far into Johto until the lvl cap hits... I'm already pushing it with higher leveled gym leaders, and optional areas for exp grind.

I think implementing the PC idea would "reset" the player's experience and force the player to choose from a new pool of pokemon. It might annoy the player at first but in the end I think it might contribute to a better playing experience.
 
How would you go about making a list of choose-able items, similar to Pokémon (Old) White, where there is a list for starter pokemon, and you can pick whichever.

Here is a screenshot:
Spoiler:
 
Is there a command in XSE to move the screen frame? I looked through tutorials and the commands list in XSE but I probably missed something.
 
Is there a command in XSE to move the screen frame? I looked through tutorials and the commands list in XSE but I probably missed something.

Do you mean to like pan the camera? If so, you need to use special 0x113.
 
Last edited:
Sure is.

special 0x113
applymovement 0x7F @move
waitmovement 0x0
special 0x114

You use regular movement commands to move the camera around, and those specials have to be there. Make sure you move the camera back to its starting position afterwards.
 
Sure is.

special 0x113
applymovement 0x7F @move
waitmovement 0x0
special 0x114

You use regular movement commands to move the camera around, and those specials have to be there. Make sure you move the camera back to its starting position afterwards.

Ah thank you :) *runs off to complete script*
 
How do you unlock the "pokemon" option in the pause menu?
I've given my player a pokemon, but I can't check them using the menu.
 
How do you unlock the "pokemon" option in the pause menu?
I've given my player a pokemon, but I can't check them using the menu.

If you are using a FR ROM base you have to use 'setflag 0x828' for the Pokémon menu.

Ruby Sapphire it's 0x800
Emerald is 0x860

You can find more about special flags here
 
Can anyone tell me why this script freezes the whole game?

Spoiler:
 
Can anyone tell me why this script freezes the whole game?

Spoiler:

Because it is really fractured, try this:

Spoiler:


Changes in bold / Crossed out.

You'll probably want lock+faceplayer at the beginning and release at before both ends too.
 
Last edited:
@Swiftsign - I tried that and your suggestions, it still freezes when I step on the script tile.
 
Have you set the tile values correctly?

Set the Unknown value to 0003 and the Var Number to 4050.

See if that works.
 
Why is does my script stop right before the red part?

Code:
#org $start
lockall
special 0x8F
checkattack 0x1D
compare 0x800D 0x06
if 0x01 goto $dontknow
storepokemon2 0x00 0x800D
setanimation 0x00 0x800D
message $message1
$message1 1 = It's some climable rocks.\pDo you want to use ROCK CLIMB\nto climb them?
boxset 5
compare 0x800D 0x00
if 0x01 goto $dontwant
doanimation 0x25
waitstate
[COLOR=Red]setvar 0x800C 0x0[/COLOR]
copybyte 0x020370D4 0x02036E58
compare 0x800C 0x1
if 0x01 goto $down
compare 0x800C 0x2
if 0x01 goto $up
compare 0x800C 0x3
if 0x01 goto $left
compare 0x800C 0x4
if 0x01 goto $right

#org $down
addvar 0x8005 0x1
special 0x7F
compare 0x8005 0x008D
if 0x01 goto $stepdown
compare 0x8005 0x008D
if 0x00 goto $endingstepdown
end

#org $up
subvar 0x8005 0x1
special 0x7F
compare 0x8005 0x008D
if 0x01 goto $stepup
compare 0x8005 0x008D
if 0x00 goto $endingstepup
end

#org $left
subvar 0x8004 0x1
special 0x7F
compare 0x8005 0x008D
if 0x01 goto $stepleft
compare 0x8005 0x008D
if 0x00 goto $endingstepleft
end

#org $right
addvar 0x8004 0x1
special 0x7F
compare 0x8005 0x008D
if 0x01 goto $stepright
compare 0x8005 0x008D
if 0x00 goto $endingstepright
end

#org $stepdown
applymovement $1down
goto $down

#org $stepup
applymovement $1up
goto $up

#org $stepleft
applymovement $1left
goto $left

#org $stepright
applymovement $1right
goto $right

#org $endingstepdown
applymovement $1down
$1down 1 ; #binary 0x10 0xFE
pausemove 0
releaseall
end

#org $endingstepup
applymovement $1up
$1up 1 ; #binary 0x11 0xFE
pausemove 0
releaseall
end

#org $endingstepleft
applymovement $1left
$1left 1 ; #binary 0x12 0xFE
pausemove 0
releaseall
end

#org $endingstepright
applymovement $1right
$1right 1 ; #binary 0x13 0xFE
pausemove 0
releaseall
end

#org $dontknow
message $message3
$message3 1 = A Pokémon could climb them.
boxset 6
releaseall
end

#org $dontwant
releaseall
end
In case you're asking, I know i'm using HEADBUTT as the attack for the ROCK CLIMB. And yes all my ROCK CLIMB tiles have behavior byte 8D.

PS: Oh, I forgot to tell you, I'm using JPAN's hacked engine and pokescript.
 
Status
Not open for further replies.
Back
Top