The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > ROM Hacking Hub
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

ROM Hacking Hub General discussions about ROM Hacking and Emulation. Not sure where to start? This is the place for you.
Posting links to ROMs is illegal and is not tolerated anywhere on the forum.
New threads in this forum are to be approved by a moderator before they are displayed.


Closed Thread
Click here to go to the first staff post in this thread.  
Thread Tools
  #6626    
Old March 20th, 2012, 04:08 AM
aljohnston112's Avatar
aljohnston112
Unhatched Egg
 
Join Date: Jul 2010
Gender: Male
Nature: Naughty
Quote:
Originally Posted by SwiftSign View Post
Er I don't think characters can move maps, I believe they are tied to the map they are present on in A-Map - So yes, could be.
Dang it. Oh well... pretty easy fix.
__________________
Courage is not the absence of fear. Courage is the overcoming of fear.
  #6627    
Old March 20th, 2012, 06:48 AM
Mr.McTaco
Beginning Trainer
 
Join Date: Jun 2008
Gender:
How possible/difficult is it to hack Gold version so the player starts in Kanto instead of Johto?
  #6628    
Old March 20th, 2012, 08:50 AM
RetroRoller's Avatar
RetroRoller
Pop-Punk Pizza Party
 
Join Date: Jun 2011
Location: England
Gender: Male
Nature: Jolly
Quote:
Originally Posted by Quickster View Post
Hi, I think you should try putting 4050 as the var number instead of 7000 to see if it works.
Nope :/ Still doesn't work.
__________________
Eat pizza and stay punk rock

I map for the Source SDK and dabble in ROM Hacking hmu.
  #6629    
Old March 20th, 2012, 10:08 AM
Hacks0rus's Avatar
Hacks0rus
Monster Raving Looney
 
Join Date: Jul 2011
Gender: Male
Nature: Timid
Quote:
Originally Posted by RetroRoller View Post
Nope :/ Still doesn't work.
Are you using XSE v1.0? If so, you'll need to update to 1.1.1.

Also, you may need a lock at the start and release at the end, that may be why it skips past it.

that then should work, fingers crossed
  #6630    
Old March 20th, 2012, 01:07 PM
RetroRoller's Avatar
RetroRoller
Pop-Punk Pizza Party
 
Join Date: Jun 2011
Location: England
Gender: Male
Nature: Jolly
Quote:
Originally Posted by Hacks0rus View Post
Are you using XSE v1.0? If so, you'll need to update to 1.1.1.

Also, you may need a lock at the start and release at the end, that may be why it skips past it.

that then should work, fingers crossed
I'll try and update, thanks. I can try it in PKSV in the meantime. I say meantime because trying to get XSE 1.1.1 on here 404'd so yeah -.- I'll try and leave HackMew a VM if he/she (whoever :3) hasn't already ammended the link.
__________________
Eat pizza and stay punk rock

I map for the Source SDK and dabble in ROM Hacking hmu.
  #6631    
Old March 20th, 2012, 01:14 PM
shadowdragon17's Avatar
shadowdragon17
Beginning Trainer
 
Join Date: Mar 2012
Gender: Male
I'm trying to hack Pokemon Ruby using Advance Map and PokeScript but I'm having some trouble with movement. I know how to set up the script but I can't find the correct offsets. Where can i find them/ could someone list the basic ones (move left, right, up, and down)?
  #6632    
Old March 20th, 2012, 01:27 PM
DrFuji's Avatar
DrFuji
repeat repeat repeat
Community Supporter
 
Join Date: Sep 2009
Location: Upside-downia
Age: 21
Gender: Male
Nature: Jolly
Quote:
Originally Posted by RetroRoller View Post
I'll try and update, thanks. I can try it in PKSV in the meantime. I say meantime because trying to get XSE 1.1.1 on here 404'd so yeah -.- I'll try and leave HackMew a VM if he/she (whoever :3) hasn't already ammended the link.
HackMew hasn't been around for a while so I doubt you would get a response. Just use this link to get the 1.1.1 version.

Quote:
Originally Posted by shadowdragon17 View Post
I'm trying to hack Pokemon Ruby using Advance Map and PokeScript but I'm having some trouble with movement. I know how to set up the script but I can't find the correct offsets. Where can i find them/ could someone list the basic ones (move left, right, up, and down)?
Here are the movements for R/S/E:

Spoiler:
#raw 0x00 = Face Down
#raw 0x01 = Face Up
#raw 0x02 = Face Left
#raw 0x03 = Face Right
#raw 0x04 = Step Down (Slow)
#raw 0x05 = Step Up (Slow)
#raw 0x06 = Step Left (Slow)
#raw 0x07 = Step Right (Slow)
#raw 0x08 = Step Down (Normal)
#raw 0x09 = Step Up (Normal)
#raw 0x0A = Step Left (Normal)
#raw 0x0B = Step Right (Normal)
#raw 0x0C = Jump2 Down
#raw 0x0D = Jump2 Up
#raw 0x0E = Jump2 Left
#raw 0x0F = Jump2 Right
#raw 0x10 = Delay1
#raw 0x11 = Delay2
#raw 0x12 = Delay3
#raw 0x13 = Delay4
#raw 0x14 = Delay5
#raw 0x15 = Step Down (Fast)
#raw 0x16 = Step Up (Fast)
#raw 0x17 = Step Left (Fast)
#raw 0x18 = Step Right (Fast)
#raw 0x19 = Step on the Spot Down (Slow)
#raw 0x1A = Step on the Spot Up (Slow)
#raw 0x1B = Step on the Spot Left (Slow)
#raw 0x1C = Step on the Spot Right (Slow)
#raw 0x1D = Step on the Spot Down (Normal)
#raw 0x1E = Step on the Spot Up (Normal)
#raw 0x1F = Step on the Spot Left (Normal)
#raw 0x20 = Step on the Spot Right (Normal)
#raw 0x21 = Step on the Spot Down (Faster)
#raw 0x22 = Step on the Spot Up (Faster)
#raw 0x23 = Step on the Spot Left (Faster)
#raw 0x24 = Step on the Spot Right (Faster)
#raw 0x25 = Step on the Spot Down (Fastest)
#raw 0x26 = Step on the Spot Up (Fastest)
#raw 0x27 = Step on the Spot Left (Fastest)
#raw 0x28 = Step on the Spot Right (Fastest)
#raw 0x29 = Slide Down
#raw 0x2A = Slide Up
#raw 0x2B = Slide Left
#raw 0x2C = Slide Right
#raw 0x2D = Slide Down
#raw 0x2E = Slide Up
#raw 0x2F = Slide Left
#raw 0x30 = Slide Right
#raw 0x31 = Slide Down
#raw 0x32 = Slide Up
#raw 0x33 = Slide Left
#raw 0x34 = Slide Right
#raw 0x35 = Slide Running Down
#raw 0x36 = Slide Running Up
#raw 0x37 = Slide Running Left
#raw 0x38 = Slide Running Right
#raw 0x3A = Jump Facing Left (Down)
#raw 0x3B = Jump Facing Down (Up)
#raw 0x3C = Jump Facing Up (Left)
#raw 0x3D = Jump Facing Left (Right)
#raw 0x3E = Face Player
#raw 0x3F = Face Against Player
#raw 0x40 = Lock Sprite Facing
#raw 0x41 = Release Sprite Facing
#raw 0x42 = Jump Down
#raw 0x43 = Jump Up
#raw 0x44 = Jump Left
#raw 0x45 = Jump Right
#raw 0x46 = Jump in Place (Facing Down)
#raw 0x47 = Jump in Place (Facing Up)
#raw 0x48 = Jump in Place (Facing Left)
#raw 0x49 = Jump in Place (Facing Right)
#raw 0x4A = Jump in Place (Facing Down/Up)
#raw 0x4B = Jump in Place (Facing Up/Down)
#raw 0x4C = Jump in Place (Facing Left/Right)
#raw 0x4D = Jump in Place (Facing Right/Left)
#raw 0x4E = Face Left
#raw 0x54 = Hide Sprite
#raw 0x55 = Show Sprite
#raw 0x56 = Exclamation Mark (!)
#raw 0x57 = Question Mark (?)
#raw 0x58 = Love (<3)
#raw 0x62 = Walk Down
#raw 0x63 = Walk Down
#raw 0x64 = Face Down (Delayed)
#raw 0x65 = Face Up (Delayed)
#raw 0x66 = Face Left (Delayed)
#raw 0x67 = Face Right (Delayed)
#raw 0x70 = Jump in Place (Facing Down)
#raw 0x71 = Jump in Place (Facing Up)
#raw 0x72 = Jump in Place (Facing Left)
#raw 0x73 = Jump in Place (Facing Right)
#raw 0x74 = Jump Down Running
#raw 0x75 = Jump Up Running
#raw 0x76 = Jump Left Running
#raw 0x77 = Jump Right Running
#raw 0x78 = Jump2 Down Running
#raw 0x79 = Jump2 Up Running
#raw 0x7A = Jump2 Left Running
#raw 0x7B = Jump2 Right Running
#raw 0x7C = Walk on the Spot (Down)
#raw 0x7D = Walk on the Spot (Up)
#raw 0x7E = Walk on the Spot (Left)
#raw 0x7F = Walk on the Spot (Right)
#raw 0x80 = Slide Down Running
#raw 0x81 = Slide Up Running
#raw 0x82 = Slide Left Running
#raw 0x83 = Slide Right Running
#raw 0x84 = Slide Down
#raw 0x85 = Slide Up
#raw 0x86 = Slide Left
#raw 0x87 = Slide Right
#raw 0x88 = Slide Down on Left Foot
#raw 0x89 = Slide Up on Left Foot
#raw 0x8A = Slide Left on Left Foot
#raw 0x8B = Slide Right on Left Foot
#raw 0x8C = Slide Left diagonally (Facing Up)
#raw 0x8D = Slide Right diagonally (Facing Up)
#raw 0x8E = Slide Left diagonally (Facing Down)
#raw 0x8F = Slide Right diagonally (Facing Down)
#raw 0x90 = Slide2 Left diagonally (Facing Up)
#raw 0x91 = Slide2 Right diagonally (Facing Up)
#raw 0x92 = Slide2 Left diagonally (Facing Down)
#raw 0x93 = Slide2 Right diagonally (Facing Down)
#raw 0x96 = Walk Left
#raw 0x97 = Walk Right
#raw 0x98 = Levitate
#raw 0x99 = Stop Levitating
#raw 0x9C = Fly Up Vertically
#raw 0x9D = Land
#raw 0xFE = End of Movements
  #6633    
Old March 20th, 2012, 07:08 PM
Rumille's Avatar
Rumille
Togepi
 
Join Date: Feb 2012
Gender: Male
Ok, this is frustrating. I'm working on a map that has several actions to complete (Pokéball, Pokédex etc). And I want to make it so that if you walk away before you get your Pokémon you will get MSG A and do Movement A (walk up). That way you can't get away before you have your Pokémon.

After you have your Pokémon and you walk away, I want to get MSG B and Movement A untill you talk to the only person there so he can tell you to get a Pokédex. If you talked to him and you then walk away before getting the Pokedex, I want to get MSG C and Movement A. If you get the Pokédex and then walk away I want to get MSG D and Movement A. If you then talk to the person again, I want the script to finish and you can walk through without any messages.

I KNOW how to do it, the only problem is that everytime I fix one part of one of the script, another part seems to **** UP. Either a part of the script becomes something COMPLETELY else or a message becomes random signs.

It's like the whole thing is a line getting from A to B and along the way are several points. And everytime I straighten one point out, so it becomes a line, another point gets ****ed up and I have to straighten that one out. But if I do that, a different point gets ****ed up. And I keep straightening everything and it keeps getting ****ed up.

How the **** do I fix this, because it's becoming really frustrating?

To add: here are the scripts as they SHOULD be, without any lines getting messed up.

First this one, this will take you to the next map:
Spoiler:
Quote:
'---------------
#org 0x801185
lockall
msgbox 0x8801199 MSG_NORMAL '"JELLE: Hold on!"
setvar 0x7001 0x3
call 0x8801039
'---------------
#org 0x801039
compare 0x7001 0x3
if 0x1 goto 0x8801055
compare 0x7001 0x1
if 0x1 goto 0x8801082
goto 0x88010AF

'---------------
#org 0x801055
applymovement 0x1 0x880112F
waitmovement 0x0
applymovement MOVE_PLAYER 0x8801151
msgbox 0x88013E0 MSG_NORMAL '"JELLE: You need a Pokémon before\n..."
applymovement 0x1 0x8801154
applymovement MOVE_PLAYER 0x880116A
goto 0x88014A5

'---------------
#org 0x801082
applymovement 0x1 0x8801139
waitmovement 0x0
applymovement MOVE_PLAYER 0x8801151
msgbox 0x88013E0 MSG_NORMAL '"JELLE: You need a Pokémon before\n..."
applymovement 0x1 0x880115A
applymovement MOVE_PLAYER 0x8801171
goto 0x88010DC

'---------------
#org 0x8010AF
applymovement 0x1 0x8801145
waitmovement 0x0
applymovement MOVE_PLAYER 0x8801151
msgbox 0x88013E0 MSG_NORMAL '"JELLE: You need a Pokémon before\n..."
applymovement 0x1 0x8801162
applymovement MOVE_PLAYER 0x880117A
goto 0x88010DC

'---------------
#org 0x8014A5
waitmovement 0x0
setvar 0x7001 0x4
warp 0x4 0xF 0xFF 0x18 0x2
hidesprite 0x1
releaseall
end

'---------------
#org 0x8010DC
waitmovement 0x0
setvar 0x7001 0x4
warp 0x4 0xF 0xFF 0x18 0x2
hidesprite 0x1
releaseall
end


'---------
' Strings
'---------
#org 0x801199
= JELLE: Hold on!

#org 0x8013E0
= JELLE: You need a Pokémon before\nyou do anything else. Follow me!


'-----------
' Movements
'-----------
#org 0x80112F
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0xFE 'End of Movements

#org 0x801151
#raw 0x2 'Face Left
#raw 0xFE 'End of Movements

#org 0x801154
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0xFE 'End of Movements

#org 0x80116A
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0xFE 'End of Movements

#org 0x801139
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0xFE 'End of Movements

#org 0x80115A
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0xFE 'End of Movements

#org 0x801171
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0xFE 'End of Movements

#org 0x801145
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0xFE 'End of Movements

#org 0x801162
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0xFE 'End of Movements

#org 0x80117A
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0xFE 'End of Movements

Then you should take a Pokémon, but to prevent you from walking away there is this script. This script also prevents you from walking off before you get your Pokedex (after getting the Pokemon) and after talking to a person for the last time (after getting your Pokedex):
Spoiler:
Quote:
'---------------
#org 0x8009BC
lockall
compare 0x7022 0x0
if 0x1 goto 0x88013C3
releaseall
end

'---------------
#org 0x8013C3
checkflag 0x829
if 0x1 goto 0x8801ABA
checkflag 0x1025
if 0x1 goto 0x88019C8
checkflag 0x828
if 0x0 goto 0x88013AF
msgbox 0x8801BA7 MSG_NORMAL '"JELLE: Wait! I need to tell you\ns..."
applymovement MOVE_PLAYER 0x8800A61
waitmovement 0x0
releaseall
end

'---------------
#org 0x801ABA
msgbox 0x8801B34 MSG_NORMAL '"JELLE: It's a bit rude to just\nwa..."
applymovement MOVE_PLAYER 0x8800A61
waitmovement 0x0
releaseall
end

'---------------
#org 0x8019C8
msgbox 0x8801A25 MSG_NORMAL '"JELLE: Hey idiot, you forgot\nyour..."
applymovement MOVE_PLAYER 0x8800A61
waitmovement 0x0
releaseall
end

'---------------
#org 0x8013AF
msgbox 0x880128B MSG_NORMAL '"JELLE: Where are you going? Come\n..."
applymovement MOVE_PLAYER 0x8800A61
waitmovement 0x0
releaseall
end


'---------
' Strings
'---------
#org 0x801BA7
= JELLE: Wait! I need to tell you\nsomething else!

#org 0x801B34
= JELLE: It's a bit rude to just\nwalk away like that.

#org 0x801A25
= JELLE: Hey idiot, you forgot\nyour Pokédex!

#org 0x80128B
= JELLE: Where are you going? Come\nback!


'-----------
' Movements
'-----------
#org 0x800A61
#raw 0x1 'Face Up
#raw 0x11 'Step Up (Normal)
#raw 0xFE 'End of Movements

After getting the Pokémon, the previous scripts prevents you from walking away. You need to talk to someone. This is the script for that someone.

Spoiler:
Quote:
'---------------
#org 0x8017B1
lockall
checkflag 0x829
if 0x1 goto 0x88017E6
checkflag 0x828
if 0x0 goto 0x88017CB
if 0x1 goto 0x88017D7
'---------------
#org 0x8017E6
faceplayer
msgbox 0x880194E MSG_NORMAL '"You have your first Pokémon and\ny..."
setvar 0x7022 0x1

'---------------
#org 0x8017CB
faceplayer
msgbox 0x88017F2 MSG_NORMAL '"Well? Where are you waiting for?\n..."
releaseall
end

'---------------
#org 0x8017D7
setflag 0x1025
faceplayer
msgbox 0x88018A3 MSG_NORMAL '"Besides the Pokéballs, there is\na..."
releaseall
end


'---------
' Strings
'---------
#org 0x80194E
= You have your first Pokémon and\nyour Pokédex. There is nothing\lmore to tell you, so beat it,\lscram, get out of my house!

#org 0x8017F2
= Well? Where are you waiting for?\nGet your Pokémon!

#org 0x8018A3
= Besides the Pokéballs, there is\nalso a device lying on the table.\lThat device is a Pokédex. I'm not\lgoing to tell you what it is,\lbecause you already know. Go, take\lit.

This person tells you to get the Pokédex, which has the following script:
Spoiler:
Quote:
'---------------
#org 0x801641
lockall
checkflag 0x1025
if 0x1 goto 0x88019DC
msgbox 0x8801A5D MSG_NORMAL '"It's like an encyclopedia, but the..."
releaseall
end

'---------------
#org 0x8019DC
setflag 0x829
hidesprite 0x5
setflag 0x1025
msgbox 0x8801ACE MSG_NORMAL '"You got a Pokédex!"
releaseall
end


'---------
' Strings
'---------
#org 0x801A5D
= It's like an encyclopedia, but the\npages are blank.

#org 0x801ACE
= You got a Pokédex!


The following things get messed up:
In the first script:
Quote:
#org 0x8013E0
= JELLE: You need a Pokémon before\nyou do anything else. Follow me!
becomes random signs.
In the second script:
Quote:
msgbox 0x8801BA7 MSG_NORMAL '"JELLE: Wait! I need to tell you\ns..."
applymovement MOVE_PLAYER 0x8800A61
waitmovement 0x0
releaseall
end
dissapears and becomes the word 'nop'
In the third script
Quote:
msgbox 0x880194E MSG_NORMAL '"You have your first Pokémon and\ny..."
setvar 0x7022 0x1
the setvar 0x7022 0x1 command changes into setvar 0x7022 0xD9D1, strange enough.
In the last script
Quote:
#org 0x8019DC
setflag 0x829
hidesprite 0x5
setflag 0x1025
msgbox 0x8801ACE MSG_NORMAL '"You got a Pokédex!"
releaseall
end
just becomes nonsense.

Last edited by Rumille; March 20th, 2012 at 07:21 PM. Reason: Your double post has been automatically merged.
  #6634    
Old March 20th, 2012, 08:10 PM
PokeYaeesh
Beginning Trainer
 
Join Date: Dec 2009
Gender: Female
This has been something, I've been wondering for quite a while... Is it possible to script a "give nationaldex" earlier? If so, how. I'm not requesting a script.. I'm asking HOW!
  #6635    
Old March 20th, 2012, 08:25 PM
Death_Mande's Avatar
Death_Mande
Avenged Sevenfold.
 
Join Date: Jul 2007
Location: The Island of Enchantment.
Age: 20
Gender: Male
Nature: Modest
Send a message via AIM to Death_Mande
Quote:
Originally Posted by PokeYaeesh View Post
This has been something, I've been wondering for quite a while... Is it possible to script a "give nationaldex" earlier? If so, how. I'm not requesting a script.. I'm asking HOW!
I'm not sure what you actually mean by "give", but here's the special that activates the national dex in Fire Red/Leaf Green:

special 0x16F
__________________
Endless sorrow.
  #6636    
Old March 20th, 2012, 09:48 PM
PokeYaeesh
Beginning Trainer
 
Join Date: Dec 2009
Gender: Female
Quote:
Originally Posted by Death_Mande View Post
I'm not sure what you actually mean by "give", but here's the special that activates the national dex in Fire Red/Leaf Green:

special 0x16F
thanks :D

and yes, that's what I meant by "give".

One more question:

How do I make someone walk inside during an event.

What I'm trying to do is to make a 3rd person walk in when Prof. Oak is giving the pokedex to me and gary. How do I make the "!" appear over the head? How do I make his come in?

Last edited by PokeYaeesh; March 20th, 2012 at 10:05 PM.
  #6637    
Old March 20th, 2012, 10:46 PM
fatmanjumprope's Avatar
fatmanjumprope
黒雷 神 エネル
 
Join Date: Nov 2010
Location: The Grand Line
Age: 21
Gender: Male
Nature: Serious
Spoiler:

#dyn 0x740000
#org @begin
trainerbattle 0x0 0x15F 0x0 @intro @defeat
msgbox @afterwards
callstd msg_normal
end
#org @intro
= Message

#org @defeat
= Message

#org @afterwards
= Message

#org $further
message $beaten
boxset 0x6
fadescreen
hidesprite 0x49
release
end



Above is the script I've been working/messing with. I've been trying to make a Team Rocket script where the guy guarding the front elevator (the one this specific script is assigned to) will disappear after being defeated so you can advance deeper into the building via different floors. I've searched through the tutorial section and through random videos but the information I do find doesn't really make sense to me D:

The script works up to the end of the battle then the Rocket grunt just sits there like a normal trainer script. If any of you fine ladies or gents could give me a hand/some assistance by telling me what I'm doing wrong or what I need to change I would really appreciate it

My goal:
Talk to Team Rocket Grunt
Grunt says message
battle starts
after battle (if you win) grunt says another message
screen fades
the grunt disappears forever and never comes back.
__________________

Last edited by fatmanjumprope; March 21st, 2012 at 06:14 PM.
  #6638    
Old March 21st, 2012, 01:04 AM
DrFuji's Avatar
DrFuji
repeat repeat repeat
Community Supporter
 
Join Date: Sep 2009
Location: Upside-downia
Age: 21
Gender: Male
Nature: Jolly
Quote:
Originally Posted by Rumille View Post
Ok, this is frustrating. I'm working on a map that has several actions to complete (Pokéball, Pokédex etc). And I want to make it so that if you walk away before you get your Pokémon you will get MSG A and do Movement A (walk up). That way you can't get away before you have your Pokémon.

After you have your Pokémon and you walk away, I want to get MSG B and Movement A untill you talk to the only person there so he can tell you to get a Pokédex. If you talked to him and you then walk away before getting the Pokedex, I want to get MSG C and Movement A. If you get the Pokédex and then walk away I want to get MSG D and Movement A. If you then talk to the person again, I want the script to finish and you can walk through without any messages.

I KNOW how to do it, the only problem is that everytime I fix one part of one of the script, another part seems to **** UP. Either a part of the script becomes something COMPLETELY else or a message becomes random signs.

It's like the whole thing is a line getting from A to B and along the way are several points. And everytime I straighten one point out, so it becomes a line, another point gets ****ed up and I have to straighten that one out. But if I do that, a different point gets ****ed up. And I keep straightening everything and it keeps getting ****ed up.

How the **** do I fix this, because it's becoming really frustrating?

To add: here are the scripts as they SHOULD be, without any lines getting messed up.

First this one, this will take you to the next map:

Then you should take a Pokémon, but to prevent you from walking away there is this script. This script also prevents you from walking off before you get your Pokedex (after getting the Pokemon) and after talking to a person for the last time (after getting your Pokedex):

After getting the Pokémon, the previous scripts prevents you from walking away. You need to talk to someone. This is the script for that someone.


This person tells you to get the Pokédex, which has the following script:


The following things get messed up:
In the first script:

becomes random signs.
In the second script:

dissapears and becomes the word 'nop'
In the third script

the setvar 0x7022 0x1 command changes into setvar 0x7022 0xD9D1, strange enough.
In the last script

just becomes nonsense.
After inserting the scripts into your ROM, are you opening them through Advance Map and trying to edit them from there? That's what I believe you are doing, which isn't good practice and is the reason why your commands are becoming garbled.

You need to have dynamic pointers (@talk, @move etc.) rather than static pointers (0x8801199, 0x880115A etc.) which you receive when you open a script from Advance Map. If you are working with static pointers, like you have shown by posting your scripts here straight from being opened in Advance Map, then you can't make them longer at all - This is because XSE will automatically overwrite what ever data you have at the address that you have specified with static pointers. Here is an example of what I'm talking about:

Code:
#org 0x80004E
lockall
applymovement 0x1 0x8800064
waitmovement 0x1
msgbox 0x8800067 0x2
releaseall
end

#org 0x800064
#raw 0x11
#raw 0xFE

#org 0x800067
= Hello world!
In this script I have opened from Advance Map and cleaned up a little you see that I am using static pointers that tell me what offset parts of the script are assigned to. If I suddenly realised that the OW I'm moving needs to step upwards three more times and subsequently added three more 'raw 0x11's to his movements and then compiled the script again, this is what it would look like once I reload it:

Code:
#org 0x80004E
lockall
applymovement 0x1 0x8800064
waitmovement 0x1
msgbox 0x8800067 0x2
releaseall
end

#org 0x800064
#raw 0x11
#raw 0x11
#raw 0x11
#raw 0x11
#raw 0xFE

#org 0x800067
= Ù\nllo world!
As you can see, the text in the message box has now been corrupted and is unusable, as the extra movement data that I added has overwritten three bytes of what was otherwise perfectly legible text. This is the problem with static offsets, you can't add any data that would otherwise expand the size of your script. It is good for quickly altering small things like changing values, variables used and stuff that won't lengthen your script, but it is otherwise improper for everyday XSE use.

Once you've finished writing a new script (with dynamic pointers, not static pointers from Advance Map), I would advise saving it as a .rbc file, which is as easy as going to 'File > Save As' and saving your script as you would any other program. This way you can open up your script in the future with your dynamic pointers already in place and reinsert it again if you need to lengthen it.

Quote:
Originally Posted by PokeYaeesh View Post
thanks :D

and yes, that's what I meant by "give".

One more question:

How do I make someone walk inside during an event.

What I'm trying to do is to make a 3rd person walk in when Prof. Oak is giving the pokedex to me and gary. How do I make the "!" appear over the head? How do I make his come in?
You can make an exclamation mark appear over somebody's head in FR/LG by typing 'raw 0x62' into their movements.

Quote:
Originally Posted by fatmanjumprope View Post
Spoiler:

#dyn 0x740000
#org @begin
trainerbattle 0x0 0x15F 0x0 @intro @defeat
msgbox @afterwards
callstd msg_normal
end
#org @intro
= Message

#org @defeat
= Message

#org @afterwards
= Message

#org $further
message $beaten
boxset 0x6
fadescreen
hidesprite 0x49
release
end



Above is the script I've been working/messing with. I've been trying to make a Team Rocket script where the guy guarding the front elevator (the one this specific script is assigned to) will disappear after being defeated so you can advance deeper into the building via different floors. I've searched through the tutorial section and through random videos but the information I do find doesn't really make sense to me D:

The script works up to the end of the battle then the Rocket grunt just sits there like a normal trainer script. If any of you fine ladies or gents could give me a hand/some assistance by telling me what I'm doing wrong or what I need to change I would really appreciate it :)

My goal:
Talk to Team Rocket Grunt
Grunt says message
battle starts
after battle (if you win) grunt says another message
screen fades
the grunt disappears forever and never comes back.
In generic trainerbattle scripts, the script ends once you have finished the battle. For a script to continue after you have won, you need to use the trainerbattle type 0x1 rather than 0x0 like you are using now. 0x1 typed trainer battles also need an extra pointer added so the script knows where to continue once the battle is over. Here is what your script should look like if you want it to function like you want:

Code:
#dyn 0x740000
#org @begin
trainerbattle 0x1 0x15F 0x0 @intro @defeat @later // The battle is now 0x1 typed and the '@later' pointer tells the ROM where to continue once the battle is over

#org @intro
= Message

#org @defeat
= Message

#org @afterwards
= Message

#org @later
message @afterwards // I made this message use the 'afterwards' pointer as it wasn't going to be used anywhere else
boxset 0x6
fadescreen
hidesprite 0x800F // Variable 0x800F will affect the last person you talked to, so if you ever change the grunt's 'Event Number' you won't have to alter this script
setflag 0xYYY // More on this later
release
end
You will also have to set a flag during your script if you want the grunt to disappear forever. Chose the flag you want to use, edit it into the script and then put it in the OW's 'Person ID'.

Last edited by DrFuji; March 21st, 2012 at 01:18 AM. Reason: cuz lol
  #6639    
Old March 21st, 2012, 02:15 PM
Epitaph93's Avatar
Epitaph93
Intermediate Digidestined
 
Join Date: Oct 2011
Location: Texas
Age: 21
Gender: Male
Nature: Calm
I want to make a gender check of the first pokemon in the party. I found where the party offset is: 0x02024284, then from there found the gender of the first pokemon in the party: 0x02024289. I made the following routine to load the information into a temporary variable:

Code:
.text
.align 2
.thumb
.thumb_func
.global gendercheck1

main:
	push {r0-r1, lr}
	ldr r0, .FIRSTDIGIMON_GENDER
	ldr r0, [r0]
	ldr r1, .VAR
	ldrb r0, [r0, #0x5]
	strh r0, [r1]
	pop {r0-r1, pc}

.align 2
.FIRSTDIGIMON_GENDER:
	.word 0x02024284
.VAR:
	.word 0x020270B6 + (0x800D * 2)
This is my first routine, and I've only been at this for a few hours so I figured the problem lies in the routine. However, I made a script in XSE to call the routine to check if the gender data was greater than or equal to 20. The rest of the script is pretty self explanatory

Code:
#dynamic 0x800000

#org @start
callasm 0x852828
compare lastresult 0x20
if 0x4 goto @girl
if 0x0 goto @boy
end

#org @girl
msgbox @gender2 0x2 
end

#org @boy
msgbox @gender 0x2 
end

#org @gender
= You're digimon is a boy!

#org @gender2
= You're digimon is a girl!
I know the gender information is different for all pokemon, but this is only a test to see if the routine actually works. It didn't work, it simply restarted the rom. Like I said, I'm pretty sure the problem lies in the routine.
__________________
I'm Epitaph and I plan on releasing the first full-fledged Digimon hack of Pokemon Fire Red. We're getting close to the first release so come check it out in the Progressing hacks, and see how you can help us with the project.
  #6640    
Old March 21st, 2012, 04:49 PM
Death_Mande's Avatar
Death_Mande
Avenged Sevenfold.
 
Join Date: Jul 2007
Location: The Island of Enchantment.
Age: 20
Gender: Male
Nature: Modest
Send a message via AIM to Death_Mande
Quote:
Originally Posted by PokeYaeesh View Post
thanks :D

and yes, that's what I meant by "give".

One more question:

How do I make someone walk inside during an event.

What I'm trying to do is to make a 3rd person walk in when Prof. Oak is giving the pokedex to me and gary. How do I make the "!" appear over the head? How do I make his come in?
As DrFuji said, you could add #raw 0x62 to the hero/heroine's movements before the third guy walks in. #raw 0x11, If I'm not mistaken, will make the third guy move. An example of that would be:

Spoiler:

applymovement 0x(Person Event No. of the sprite you'd like to move) @thirdguy
applymovement 0xFF @hero

#org @thirdguy
#raw 0x11 [repeat as necessary; moves the sprite up]
#raw 0xFE [ends movements]

#org @hero
#raw 0x62 [exclamation mark]
#raw 0xFE



To learn how to create the movement script itself, I suggest reading this XSE tutorial. If you require any more help, feel free to post here again or PM me. Hope this helps you.
__________________
Endless sorrow.
  #6641    
Old March 21st, 2012, 05:59 PM
fatmanjumprope's Avatar
fatmanjumprope
黒雷 神 エネル
 
Join Date: Nov 2010
Location: The Grand Line
Age: 21
Gender: Male
Nature: Serious
Quote:
Originally Posted by DrFuji View Post
In generic trainerbattle scripts, the script ends once you have finished the battle. For a script to continue after you have won, you need to use the trainerbattle type 0x1 rather than 0x0 like you are using now. 0x1 typed trainer battles also need an extra pointer added so the script knows where to continue once the battle is over. Here is what your script should look like if you want it to function like you want:

Code:
#dyn 0x740000
#org @begin
trainerbattle 0x1 0x15F 0x0 @intro @defeat @later // The battle is now 0x1 typed and the '@later' pointer tells the ROM where to continue once the battle is over

#org @intro
= Message

#org @defeat
= Message

#org @afterwards
= Message

#org @later
message @afterwards // I made this message use the 'afterwards' pointer as it wasn't going to be used anywhere else
boxset 0x6
fadescreen
hidesprite 0x800F // Variable 0x800F will affect the last person you talked to, so if you ever change the grunt's 'Event Number' you won't have to alter this script
setflag 0xYYY // More on this later
release
end
You will also have to set a flag during your script if you want the grunt to disappear forever. Chose the flag you want to use, edit it into the script and then put it in the OW's 'Person ID'.

Sorry to bother you again D: after reading your message this is what I got from it all:

Spoiler:

#dyn 0x740000
#org @begin
trainerbattle 0x1 0x15F 0x0 @intro @defeat @later

#org @intro
= hi

#org @defeat
= hi

#org @afterwards
= hi

#org @later
message @afterwards
boxset 0x6
fadescreen
hidesprite 0x800F
setflag 0x01FE
release
end



I read what you wrote about the flag. After searching a little I decided to use a flag marked as "unused" so I put it in, made the changes, and compiled the script. After I finished assigning the script to the rocket member I went to test the game.

As soon as I talk to the sprite the screen goes black and a bunch of random green colors start flashing and the game crashes. Again I apologize for my stupidity in figuring this out but if you could yet again give me a hand by telling me what I did wrong I would appreciate it. Thanks

-fats-
__________________

Last edited by fatmanjumprope; March 21st, 2012 at 06:15 PM.
  #6642    
Old March 21st, 2012, 07:25 PM
Death_Mande's Avatar
Death_Mande
Avenged Sevenfold.
 
Join Date: Jul 2007
Location: The Island of Enchantment.
Age: 20
Gender: Male
Nature: Modest
Send a message via AIM to Death_Mande
Quote:
Originally Posted by fatmanjumprope View Post
Sorry to bother you again D: after reading your message this is what I got from it all:

Spoiler:

#dyn 0x740000
#org @begin
trainerbattle 0x1 0x15F 0x0 @intro @defeat @later

#org @intro
= hi

#org @defeat
= hi

#org @afterwards
= hi

#org @later
message @afterwards
boxset 0x6
fadescreen
hidesprite 0x800F
setflag 0x01FE
release
end



I read what you wrote about the flag. After searching a little I decided to use a flag marked as "unused" so I put it in, made the changes, and compiled the script. After I finished assigning the script to the rocket member I went to test the game.

As soon as I talk to the sprite the screen goes black and a bunch of random green colors start flashing and the game crashes. Again I apologize for my stupidity in figuring this out but if you could yet again give me a hand by telling me what I did wrong I would appreciate it. Thanks

-fats-
My apologies for "butting in", but I noticed that:

#dyn 0x740000
#org @begin
trainerbattle 0x1 0x15F 0x0 @intro @defeat @later

Doesn't contain the following:

Code:
#dyn 0x740000
#org @begin
lock
faceplayer
checkflag 0x[your flag of choice]
if 0x1 goto @yourstring
[you could insert a msgbox, perhaps?]
trainerbattle 0x1 0x15F 0x0 @intro @defeat @later
end
Try adding that to the script and see if it works properly.
__________________
Endless sorrow.
  #6643    
Old March 21st, 2012, 07:53 PM
fatmanjumprope's Avatar
fatmanjumprope
黒雷 神 エネル
 
Join Date: Nov 2010
Location: The Grand Line
Age: 21
Gender: Male
Nature: Serious
Quote:
Originally Posted by Death_Mande View Post
My apologies for "butting in", but I noticed that:

#dyn 0x740000
#org @begin
trainerbattle 0x1 0x15F 0x0 @intro @defeat @later

Doesn't contain the following:

Code:
#dyn 0x740000
#org @begin
lock
faceplayer
checkflag 0x[your flag of choice]
if 0x1 goto @yourstring
[you could insert a msgbox, perhaps?]
trainerbattle 0x1 0x15F 0x0 @intro @defeat @later
end
Try adding that to the script and see if it works properly.
No please feel free! Any help is very appreciated.

If you haven't already noticed I'm new to scripting... I've worked with mapping and tiles in the past but just recently moved to scripts so please bare with me here.

This is what I've come up with after reading your post.

Spoiler:

#dyn 0x740000
#org @begin
lock
faceplayer
checkflag 0x01FE
if 0x1 goto @afterward
trainerbattle 0x1 0x15F 0x0 @intro @defeat @later
end


#org @intro
= hi

#org @defeat
= hi

#org @afterwards
= hi

#org @later
message @afterwards
boxset 0x6
fadescreen
hidesprite 0x800F
setflag 0x01FE
release
end


Unfortunately this script comes up with the same black screen crash issue Also after running this script I've come up with a new issue which is the sprite the script is assigned to disappearing when the game is ran. I'm guessing this is part of the remove sprite going wrong somewhere in my script.
__________________
  #6644    
Old March 21st, 2012, 09:31 PM
Death_Mande's Avatar
Death_Mande
Avenged Sevenfold.
 
Join Date: Jul 2007
Location: The Island of Enchantment.
Age: 20
Gender: Male
Nature: Modest
Send a message via AIM to Death_Mande
Quote:
Originally Posted by fatmanjumprope View Post
No please feel free! Any help is very appreciated.

If you haven't already noticed I'm new to scripting... I've worked with mapping and tiles in the past but just recently moved to scripts so please bare with me here.

This is what I've come up with after reading your post.

Spoiler:

#dyn 0x740000
#org @begin
lock
faceplayer
checkflag 0x01FE
if 0x1 goto @afterward
trainerbattle 0x1 0x15F 0x0 @intro @defeat @later
end


#org @intro
= hi

#org @defeat
= hi

#org @afterwards
= hi

#org @later
message @afterwards
boxset 0x6
fadescreen
hidesprite 0x800F
setflag 0x01FE
release
end


Unfortunately this script comes up with the same black screen crash issue Also after running this script I've come up with a new issue which is the sprite the script is assigned to disappearing when the game is ran. I'm guessing this is part of the remove sprite going wrong somewhere in my script.
I have revised your script, and tested it on my ROM. It worked fine, here's the script:

Spoiler:
#dynamic 0x800000

#org @begin
lock
faceplayer
checkflag 0x1FE
if 0x1 goto @done
trainerbattle 0x1 0x15F 0x0 @intro @defeat @later
end


#org @intro
= hi

#org @defeat
= goodbye

#org @afterwards
= lost

#org @beforeleaving
= We will meet again!

#org @later
msgbox @afterwards 0x6
setflag 0x1FE
release
end

#org @done
lock
faceplayer
msgbox @beforeleaving 0x6
setflag 0x1F4
release
end


Did you check "Trainer?" in A-Map on the grunt's sprite? If you did, that was the cause of your black/red screen. As DrFuji explained to you earlier, hidesprite 0x800F hides the last sprite you interacted with. With this script, you simply set your grunt's Person ID to 01F4 or any other unused flag.

The Person ID section can be found under the "Script Offset:" box in Advance Map. I have modified your script a bit. You may have to leave the map and come back for him to be permanently gone. If you don't understand a certain part of the script or if you're still having a bug, please let me know! I hope this helps you!

EDIT: Also, if you find my "typing" pattern funny, I'm sorry! It's 1am where I live and I have a migrane headache XD! Can't think straight!
__________________
Endless sorrow.
  #6645    
Old March 22nd, 2012, 08:52 AM
Magic's Avatar
Magic
 
Join Date: Jan 2009
Location: UK
Age: 23
Gender: Male
Quote:
Originally Posted by fatmanjumprope View Post
Unfortunately this script comes up with the same black screen crash issue Also after running this script I've come up with a new issue which is the sprite the script is assigned to disappearing when the game is ran. I'm guessing this is part of the remove sprite going wrong somewhere in my script.
If the sprite isn't showing at all that means that the Flag is already set in game, try using a flag such as 0x800 (and changing the ID to 800). Generally flags over 800 aren't used by the game and so are definitely safe to us.
__________________
  #6646    
Old March 22nd, 2012, 01:50 PM
pokemaniaco
 
Join Date: Jun 2006
Gender:
Nature: Adamant
Hi everybody!
I'm sorry but I'm a noob here and I don't know where to post this question:

I'm using Advancemap and pksv as script editor.
I've made so far 3 talking scripts (using script generator of pksv) on the same map, and they work perfectly.
But when I create a 4th talking script on the same map, the person with that script only says the 2nd or 3rd script.
What it's happening and how should I correct this?
Thank you so much in advance for your answer.
Best regards,
Pokemaniaco :P
  #6647    
Old March 22nd, 2012, 07:32 PM
DrFuji's Avatar
DrFuji
repeat repeat repeat
Community Supporter
 
Join Date: Sep 2009
Location: Upside-downia
Age: 21
Gender: Male
Nature: Jolly
Quote:
Originally Posted by pokemaniaco View Post
Hi everybody!
I'm sorry but I'm a noob here and I don't know where to post this question:

I'm using Advancemap and pksv as script editor.
I've made so far 3 talking scripts (using script generator of pksv) on the same map, and they work perfectly.
But when I create a 4th talking script on the same map, the person with that script only says the 2nd or 3rd script.
What it's happening and how should I correct this?
Thank you so much in advance for your answer.
Best regards,
Pokemaniaco :P
It sounds like the 4th person event you've created is sharing the same 'Person Event Number' as somebody else on that map. Check if it is the same as anybody else's and then change it to an unused number if that is the case.
  #6648    
Old March 23rd, 2012, 12:38 AM
jhay21's Avatar
jhay21
 
Join Date: Jan 2010
Location: Philippines
Gender: Male
Nature: Timid
Quote:
Originally Posted by Epitaph93 View Post
I want to make a gender check of the first pokemon in the party. I found where the party offset is: 0x02024284, then from there found the gender of the first pokemon in the party: 0x02024289. I made the following routine to load the information into a temporary variable:

Code:
.text
.align 2
.thumb
.thumb_func
.global gendercheck1

main:
	push {r0-r1, lr}
	ldr r0, .FIRSTDIGIMON_GENDER
	ldr r0, [r0]
	ldr r1, .VAR
	ldrb r0, [r0, #0x5]
	strh r0, [r1]
	pop {r0-r1, pc}

.align 2
.FIRSTDIGIMON_GENDER:
	.word 0x02024284
.VAR:
	.word 0x020270B6 + (0x800D * 2)
This is my first routine, and I've only been at this for a few hours so I figured the problem lies in the routine. However, I made a script in XSE to call the routine to check if the gender data was greater than or equal to 20. The rest of the script is pretty self explanatory

Code:
#dynamic 0x800000

#org @start
callasm 0x852828
compare lastresult 0x20
if 0x4 goto @girl
if 0x0 goto @boy
end

#org @girl
msgbox @gender2 0x2 
end

#org @boy
msgbox @gender 0x2 
end

#org @gender
= You're digimon is a boy!

#org @gender2
= You're digimon is a girl!
I know the gender information is different for all pokemon, but this is only a test to see if the routine actually works. It didn't work, it simply restarted the rom. Like I said, I'm pretty sure the problem lies in the routine.
well from what i read here http://bulbapedia.bulbagarden.net/wi...sonality_value

gender is part of the pokemon's personality value, wouldn't it be somewhere on the first 4 byte?

here's how i understand it at least(im not totally sure but here goes):
lets say my bulbasaur in my FR save has a personality value of C5CA4F52 which is 11000101110010100100111101010010 in binary. the lowest byte which is 01010010 (82) determines its Pgender value you then compare this value to the gender threshold of bulbasaur(look at YAPE) which is 31 if its greater or equal than the threshold value it is a male otherwise it is a female.

but before all that you need to perform a check for 100% male/females and genderless just to be safe
please someone correct me if im wrong >.<
  #6649    
Old March 23rd, 2012, 02:13 PM
Epitaph93's Avatar
Epitaph93
Intermediate Digidestined
 
Join Date: Oct 2011
Location: Texas
Age: 21
Gender: Male
Nature: Calm
Quote:
Originally Posted by jhay21 View Post
well from what i read here http://bulbapedia.bulbagarden.net/wi...sonality_value

gender is part of the pokemon's personality value, wouldn't it be somewhere on the first 4 byte?

here's how i understand it at least(im not totally sure but here goes):
lets say my bulbasaur in my FR save has a personality value of C5CA4F52 which is 11000101110010100100111101010010 in binary. the lowest byte which is 01010010 (82) determines its Pgender value you then compare this value to the gender threshold of bulbasaur(look at YAPE) which is 31 if its greater or equal than the threshold value it is a male otherwise it is a female.

but before all that you need to perform a check for 100% male/females and genderless just to be safe
please someone correct me if im wrong >.<
Hmm for some reason I thought it was set to the 6th byte... Okay, so the value isn't actually set to a particular byte. Instead, it's set to the lowest byte. So in this example : FC6A446D 44 would be the gender byte?

The routine still shouldn't have made the game crash though right? It should return a value of some sort and the value will either be greater than 20 or less than 20, regardless of whether the particular value is the gender value. So I still need to figure out the problem with the routine itself.
__________________
I'm Epitaph and I plan on releasing the first full-fledged Digimon hack of Pokemon Fire Red. We're getting close to the first release so come check it out in the Progressing hacks, and see how you can help us with the project.
  #6650    
Old March 23rd, 2012, 03:20 PM
YouListeningROMs's Avatar
YouListeningROMs
Beginning Trainer
 
Join Date: Mar 2012
Gender: Male
Okay, so I want the Rival who you just battled for the first time, walk up three steps, left three steps, stop, and turn. I want the player to watch him go, but I don't know how I'd arrange the whole "Follow him with your eyes" sort of thing. Any help?
Closed Thread
Quick Reply

Sponsored Links
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 07:30 PM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2014 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 - 2014 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.