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.


Advertise here

Closed Thread
Click here to go to the first staff post in this thread.  
Thread Tools
  #5151    
Old January 22nd, 2011, 04:40 PM
destinedjagold's Avatar
destinedjagold
Oh Hai Thar~ 'ω'
Community Supporter
 
Join Date: May 2007
Location: Philippines
Gender: Male
Nature: Careful

Advertise here
Quote:
Originally Posted by adamb241 View Post
Well I have a few questions about this script. Hopefully someone here can help me.

Spoiler:
#dynamic 0x800000

#org @start
lockall
checkflag 0x205
if 0x1 goto @done
special 0x113
applymovement 0x7F @move
applymovement 0xA @move2
applymovement 0xB @move3
waitmovement 0x0
applymovement 0xA @move4
applymovement 0xB @move5
waitmovement 0x0
msgbox @1 0x6
applymovement 0xFF @move6
applymovement 0xA @move7
applymovement 0xB @move8
waitmovement 0x0
msgbox @2 0x6
trainerbattle 0x1 0x006 0x0 @before @after @later
end

#org @later
msgbox @3 0x6
msgbox @4 0x6
applymovement 0xB @move10
waitmovement 0x0
applymovement 0xFF @move11
waitmovement 0x0
trainerbattle 0x1 0x005 0x0 @before1 @after1 @later1
end

#org @later1
msgbox @5 0x6
msgbox @6 0x6
applymovement 0xA @move12
applymovement 0xB @move13
applymovement 0xFF @move14
waitmovement 0x0
special 0x114
setflag 0x205
releaseall
end

#org @done
release
end

#org @1
= [red_fr]Thug 2: Well this is the end of\nthe forest. Where the hell is\leveryone?! I knew this whole trip\lwas a waste of time.\lThug 1: Now look who's\lcomplaining! You're right though,\lthis was a compleate waste of our\ltime.

#org @2
= [blue_fr][player]: Hey! You two! I want to\nspeak to you!.

#org @before
= [red_fr]Thug 1: Well, well, well. Look\nwhat the cat dragged in.\l[blue_fr][player]: Where is my\lfather! I demand an anwser now!\l[red_fr]Thug 1: Do you really think\lwe're going to tell YOU that?\lThug 2: What should we do with\lhim?\lThug 1: Punish him ofcourse!


#org @after
= You got lucky this time.

#org @3
= [red_fr]Thug 1: Wow! This child is\nactually pretty good.

#org @4
= [blue_fr][player]: Now tell me where my\nfather is!!!

#org @before1
= [red_fr]Thug 2: Not so fast there young\none, you have to get through me\lfirst.

#org @after1
= I guess I'll tell you where he is.

#org @5
= [blue_fr][player]: Alright, I've beaten\nyou both! Tell me where he is!

#org @6
= [red_fr]Thug 2: Ha! You actually\nbelived we were going to tell you\lwhere we hid him! You're dumber\lthan you look!. Lets get out of\lhere!

#org @move
#raw 0x11 0x11 0x11 0xFE

#org @move2
#raw 0x11 0x11 0x11 0x11 0xFE

#org @move3
#raw 0x11 0x11 0x11 0x11 0xFE

#org @move4
#raw 0x10 0x12 0x12 0x10 0x12 0x18 0x0 0x18 0x2 0x18 0x1 0x18 0x13 0x11 0x13 0x13 0x11 0x3 0xFE

#org @move5
#raw 0x0 0x3 0x2 0x1 0x0 0x2 0xFE

#org @move6
#raw 0x11 0x11 0x11 0x11 0xFE

#org @move7
#raw 0x18 0x18 0x0 0x62 0xFE

#org @move8
#raw 0x18 0x18 0x0 0x62 0xFE

#org @move10
#raw 0x10 0x2 0xFE

#org @move11
#raw 0x3 0xFE

#org @move12
#raw 0x11 0x13 0x13 0x11 0x11 0x11 0x60 0x1E 0x1E 0xFE

#org @move13
#raw 0x11 0x11 0x13 0x11 0x11 0x11 0x60 0x1E 0x1E 0xFE

#org @move14
#raw 0x18 0x62 0x0 0xFE


1. After the 2nd trainer battle, the two guys are suppose to walk away but halfway through their movements they stop and the script ends (player can move around). I've tried a lot of different fixes but I can't seem to solve this problem.



2. I want to make the guy pause in the script. ex. Walks (stops) looks left (pauses) looks right (pauses). How would I go about making that happen? I've tried experimenting with the "delay" commands but to no avail.
3. Finally, if the player gets defeated by blither trainer, if he goes back to the script start again, it goes up to the part right before the battle and releases the player. How can I fix this?

Thanks for any help.
1. What exactly does 0x60 do? Maybe that's causing your problem.
(I'm a Ruby hacker, so I have no idea what 0x60 does)...

2. Increase the number of your delays in your movement command to make a nice pause. Example...
Code:
#org @move
#raw 0xleft 0xdelay 0xdelay 0xdelay 0xdelay 0xright etc...
3. Use a checktrainerflag command. If it was my script, I would probably do this...
Code:
...

#org @later
msgbox @3 0x6
msgbox @4 0x6
checktrainerflag 0x005
if 0x1 call @cleartrainer
applymovement 0xB @move10
waitmovement 0x0
applymovement 0xFF @move11
waitmovement 0x0
trainerbattle 0x1 0x005 0x0 @before1 @after1 @later1
end

#org @cleartrainer
cleartrainerflag 0x005
return

...
__________________
  #5152    
Old January 22nd, 2011, 05:04 PM
adamb241's Avatar
adamb241
Pokémon Raging Fury
 
Join Date: Jan 2008
Location: New York
Age: 21
Nature: Brave
Quote:
Originally Posted by destinedjagold View Post


1. What exactly does 0x60 do? Maybe that's causing your problem.
(I'm a Ruby hacker, so I have no idea what 0x60 does)...

2. Increase the number of your delays in your movement command to make a nice pause. Example...
Code:
#org @move
#raw 0xleft 0xdelay 0xdelay 0xdelay 0xdelay 0xright etc...
3. Use a checktrainerflag command. If it was my script, I would probably do this...
Code:
...

#org @later
msgbox @3 0x6
msgbox @4 0x6
checktrainerflag 0x005
if 0x1 call @cleartrainer
applymovement 0xB @move10
waitmovement 0x0
applymovement 0xFF @move11
waitmovement 0x0
trainerbattle 0x1 0x005 0x0 @before1 @after1 @later1
end

#org @cleartrainer
cleartrainerflag 0x005
return

...

Thanks for the quick response, the command 0x60 is a "hidesprite" raw command. I don't think that's the issue becuase I've used it numerous times before. I've never heard of the "cleartrainerflag" command before? What exactly does it do?
__________________

\-Pokémon Raging Fury-/
+A new project from Dark Steel Productions+
  #5153    
Old January 22nd, 2011, 05:55 PM
Nerketur's Avatar
Nerketur
PokéScripter
 
Join Date: Nov 2010
Gender: Male
Nature: Quirky
Quote:
Originally Posted by adamb241 View Post
Thanks for the quick response, the command 0x60 is a "hidesprite" raw command. I don't think that's the issue because I've used it numerous times before. I've never heard of the "cleartrainerflag" command before? What exactly does it do?
"cleartrainerflag" allows you to battle the trainer again. As for your issue, it could be the special 114. As far as I know, you're supposed to use it after each movement, once the camera is back where it was. That or you may be separating it improperly. And why do you have two message boxes one after the other? You can combine them into one. =)
__________________
Want my help in PokéScripting? PM me =)
I use XSE v1.1.1 (HackMew = awesome) and Advance Map 1.92.
Thanks to Diego and HackMew for their tutorials, helping me learn how to script!

Hacks I support 100% (MUST SEE!):


Very well made hacks:

My work:
Figuring out scripting in PMD
Entire script map of LeafGreen
PMDSE (Pokémon Mystery Dungeon Script Editor)
  #5154    
Old January 22nd, 2011, 06:14 PM
destinedjagold's Avatar
destinedjagold
Oh Hai Thar~ 'ω'
Community Supporter
 
Join Date: May 2007
Location: Philippines
Gender: Male
Nature: Careful
Quote:
Originally Posted by adamb241 View Post
Thanks for the quick response, the command 0x60 is a "hidesprite" raw command. I don't think that's the issue becuase I've used it numerous times before.
Maybe this is causing your problem...?
Code:
#org @move14
#raw 0x18 0x62 0x0 0xFE
If not, then I don't no what's causing the problem...
__________________
  #5155    
Old January 22nd, 2011, 07:31 PM
metapod23's Avatar
metapod23
Hardened Trainer
 
Join Date: Mar 2009
Gender: Male
Nature: Timid
Quote:
Originally Posted by Geogebra View Post
Hi! I wondered if it was any possible script/command to either trade pokémons, or sort of "get rid of them". What I want is to remove a certain pokémon (from the player) for a period and then give it back again, the player will also recieve a temporarily pokémon. What I first thought of was to use the givepokemon command, and by some sort of way removing an other pokemon from the party(however I didn't find such a command). But then I thought of that it may would have been possible to use a command to trade with the computer.

So what I am asking is: is there any commands as the two described above("takepokemon" or "trade with CPU"- sort of)?

And I am using XSE in a fire red hack
There is no takepokemon command. You can add an asm command, such as this designed by HackMew:

http://www.pokecommunity.com/showthread.php?t=206138

But you can't return the Pokemon once it's gone.

Or you can use the built-in Daycare system, using this tutorial:

http://www.pokecommunity.com/showthread.php?t=210016

But then you can't really use the Daycare in-game, or at least have access to it while Pokemon are used to store it as a non-daycare. But that will at least allow you to return the Pokemon once it's taken away, and to choose the specific Pokemon the player gives away.
__________________
  #5156    
Old January 22nd, 2011, 07:39 PM
djvbb12
Beginning Trainer
 
Join Date: Jan 2011
Gender: Male
Quote:
Originally Posted by Nerketur;6411382[B
][/B]


Well, in the original, you used "call" without using "return" when you "call" an address, it's like you're saying "Go here, temporarily, until I tell you to return" When you use "goto", you're saying "Go here permanently." It's as if the goto wasn't even there, the code just continues from the specified address. Code change in RED.

Note: I apologize for making that error in my "Something like" code. But I still think explaining the difference is important. =) ::goes back and corrects::
Okay obviously The script wasn't written to be compiled immediately into the game because I did that and it still goes black when I hit yes. I'm still quite confused. I apologize for my stupidity.
  #5157    
Old January 23rd, 2011, 09:46 AM
adamb241's Avatar
adamb241
Pokémon Raging Fury
 
Join Date: Jan 2008
Location: New York
Age: 21
Nature: Brave
Quote:
Originally Posted by adamb241 View Post
Thanks for the quick response, the command 0x60 is a "hidesprite" raw command. I don't think that's the issue becuase I've used it numerous times before. I've never heard of the "cleartrainerflag" command before? What exactly does it do?
Quote:
Originally Posted by destinedjagold View Post


Maybe this is causing your problem...?
Code:
#org @move14
#raw 0x18 0x62 0x0 0xFE
If not, then I don't no what's causing the problem...
That is the look up command if I remember properly. I don't think that is the issue.


Quote:
Originally Posted by Nerketur View Post


"cleartrainerflag" allows you to battle the trainer again. As for your issue, it could be the special 114. As far as I know, you're supposed to use it after each movement, once the camera is back where it was. That or you may be separating it improperly. And why do you have two message boxes one after the other? You can combine them into one. =)
I have two message boxes becuase it helps me stay organized, I like to separate the player speaking and everyone else, I don't know why. As the for the special 0x114, I moved the camera in the beginning of the script (it moved up) but I never moved it back because the player moves up with the camera. I don't think thats the error becuase the error occurs during movements @move12 and @move13. The script just stops halfway through their movement and releases the player. So it basically skips the end of the script.

Final question, for this script, if the player loses to ether of the trainers I want the player to have to battle them both again, so if I was going to the the "checktrainerflag" command, where would I put it and would I link it to the 0x006 trainer instead of the 0x005 trainer?

Thanks for all of your help guys, I know I'm probably becoming a bother by now but thanks for standing by with me.
__________________

\-Pokémon Raging Fury-/
+A new project from Dark Steel Productions+
  #5158    
Old January 23rd, 2011, 02:55 PM
destinedjagold's Avatar
destinedjagold
Oh Hai Thar~ 'ω'
Community Supporter
 
Join Date: May 2007
Location: Philippines
Gender: Male
Nature: Careful
Quote:
Originally Posted by adamb241 View Post
Final question, for this script, if the player loses to ether of the trainers I want the player to have to battle them both again, so if I was going to the the "checktrainerflag" command, where would I put it and would I link it to the 0x006 trainer instead of the 0x005 trainer?

Thanks for all of your help guys, I know I'm probably becoming a bother by now but thanks for standing by with me.
I posted this before, haven't I?
Here's the post I made...

Quote:
Originally Posted by destinedjagold View Post

3. Use a checktrainerflag command. If it was my script, I would probably do this...
Code:
...

#org @later
msgbox @3 0x6
msgbox @4 0x6
checktrainerflag 0x005
if 0x1 call @cleartrainer
applymovement 0xB @move10
waitmovement 0x0
applymovement 0xFF @move11
waitmovement 0x0
trainerbattle 0x1 0x005 0x0 @before1 @after1 @later1
end

#org @cleartrainer
cleartrainerflag 0x005
return

...
Also... I think I know the problem now...
In your script, instead of this...
Code:
#org @later1
msgbox @5 0x6
msgbox @6 0x6
applymovement 0xA @move12
applymovement 0xB @move13
applymovement 0xFF @move14
waitmovement 0x0
special 0x114
setflag 0x205
releaseall
end
Try making it look like this...
Code:
#org @later1
msgbox @5 0x6
msgbox @6 0x6
applymovement 0xFF @move14
applymovement 0xA @move12
applymovement 0xB @move13
waitmovement 0x0
special 0x114
setflag 0x205
releaseall
end
__________________
  #5159    
Old January 24th, 2011, 01:29 PM
fizzmaister's Avatar
fizzmaister
Beginning Trainer
 
Join Date: Jan 2008
Quote:
Originally Posted by Nerketur View Post
Spoiler:
Ok, yours is the most interesting. I don't know of any real error, except for two things. One..., you check for the fossil differently than the game does. And two, your check for fossils may leave unexpected results.

With a proper check, if any of the results return false, then it should return 0. Otherwise, it returns 1. Namely, an AND gate. But, because of how it's coded, using LASTRESULT can lead to unexpected results if you use compare statements. Thus, my corrections are as follows:

Code:
//------------
#org @CheckHelix
checkflag 0x2ED
if 0x1 goto @CheckDome
goto @No

//--------------
#org @CheckDome
checkflag 0x2EC
if 0x1 goto @Yes
goto @No

//-------------
#org @Yes
setvar LASTRESULT 0x1
return

//-------------
#org @No
setvar LASTRESULT 0x0
return

//-------------
#org @DomeI
checkitem 0x165 0x1
if 0x1 goto @Yes
goto @No

//-------------
#org @HelixI
checkitem 0x166 0x1
if 0x1 goto @Yes
goto @No
This is assuming that the checking for the particular item is correct. There are three reasons off the top of my head that could make it not work. Either the item is no longer in your inventory after you make two of them (Removed by the game), or the command itself is incorrect (Shouldn't be. I checked it.), or, lastly, you have more than 1 Dome or Helix fossil. I'm not sure if checkitem will return true with more than one. Either that, or the command is buggy in your game. Nonetheless, if all else fails, then rather than checking for the item, check for a flag set when you get the item, as is done in the Nintendo scripts.

Note: Yes, I realize some of the "goto @No"'s are unnecessary. But I don't trust LASTRESULT as a variable unless it's just after a compare or other item it affects. You might fix the problem by using a variable other than LASTRESULT. Maybe 0x8000, for example.
Thank you for your help. Unfortunately, that didn't fix it, in fact, it broke the Helix Fossil. My next idea is to try to use a series of yes/no boxes. I hoped I would be able to leave most of the code intact, but it seems that I can't do that.
  #5160    
Old January 24th, 2011, 04:14 PM
adamb241's Avatar
adamb241
Pokémon Raging Fury
 
Join Date: Jan 2008
Location: New York
Age: 21
Nature: Brave
Quote:
Originally Posted by destinedjagold View Post


I posted this before, haven't I?
Here's the post I made...



Also... I think I know the problem now...
In your script, instead of this...
Code:
#org @later1
msgbox @5 0x6
msgbox @6 0x6
applymovement 0xA @move12
applymovement 0xB @move13
applymovement 0xFF @move14
waitmovement 0x0
special 0x114
setflag 0x205
releaseall
end
Try making it look like this...
Code:
#org @later1
msgbox @5 0x6
msgbox @6 0x6
applymovement 0xFF @move14
applymovement 0xA @move12
applymovement 0xB @move13
waitmovement 0x0
special 0x114
setflag 0x205
releaseall
end
Yep, that was it. I also got it to work by placing a "pause 0x0" command in between the movements.

I have another quick question, I've looked around and can't seem to find an answer.


Spoiler:
msgbox @6 0x6
special 0x136
msgbox @7 0x6
applymovement 0xFF @move7
applymovement 0x04 @move7
applymovement 0x05 @move7
applymovement 0x06 @move7
applymovement 0x03 @move7
applymovement 0x07 @move7
fadescreen 0x1
applymovement 0x04 @move8
applymovement 0x05 @move8
applymovement 0x06 @move8
applymovement 0x07 @move8
waitmovement 0x0
fadescreen 0x0


With this I make an earthquake occur but it doesn't end. Is there a way to time the quake' so I can end it after the "fadescreen 0x0" command?
__________________

\-Pokémon Raging Fury-/
+A new project from Dark Steel Productions+
  #5161    
Old January 24th, 2011, 04:28 PM
Perri Lightfoot's Avatar
Perri Lightfoot
Proud to hack Ruby Version!
Community Supporter Tier 5
 
Join Date: Mar 2008
Location: Nevada
Age: 28
Gender: Female
Nature: Modest
I'm having an issue with this script - mainly, the PLAYERFACING commands within it. The script is supposed to make you take a step backwards depending on the direction you're facing if you choose "no," but what the script actually does is that it always makes you step to the right, no matter what. I tried the "setvar PLAYERFACING 0x0000/copybyte 0x020370D4 0x02036E58" technique recommended earlier in this thread; but all that did is make it so the player never moved at all - it didn't solve the problem. I've written scripts with PLAYERFACING commands that worked just fine; it puzzles me why this one wants to give me trouble Any help is greatly appreciated!

Spoiler:
#dynamic 0x800000
#org @start
lock
msgbox 0x8803304 MSG_YESNO '"Pikpik Grove: A shadowed clearing ..."
compare LASTRESULT 0x1
if 0x1 goto @yes
compare LASTRESULT 0x0
if 0x1 goto @no
end

'---------------
#org @yes
closeonkeypress
warpmuted 0x0 0xA 0x3 0xFF02 0xFFFF

'---------------
#org @no
closeonkeypress
compare PLAYERFACING 0x1
if 0x1 goto @down
compare PLAYERFACING 0x4
if 0x1 goto @right
compare PLAYERFACING 0x3
if 0x1 goto @left
end

'---------------
#org @down
applymovement MOVE_PLAYER 0x82180AA
waitmovement 0x0
end

'---------------
#org @right
applymovement MOVE_PLAYER 0x814DFE1
waitmovement 0x0
end

'---------------
#org @left
applymovement MOVE_PLAYER 0x814CA13
waitmovement 0x0
end


'---------
' Strings
'---------
#org 0x803304
= Pikpik Grove: A shadowed clearing in\nthe vast Pikpik Forest.\pHere, small People struggle against the\nforces of the Outside[.]\pWould you like to enter this map?


'-----------
' Movements
'-----------
#org 0x2180AA
#raw 0x9 'Step Up (Normal)
#raw 0xFE 'End of Movements

#org 0x14DFE1
#raw 0xA 'Step Left (Normal)
#raw 0xFE 'End of Movements

#org 0x14CA13
#raw 0xB 'Step Right (Normal)
#raw 0xFE 'End of Movements
__________________
Signature under construction. Watch this space~

Last edited by Perri Lightfoot; January 24th, 2011 at 04:38 PM.
  #5162    
Old January 24th, 2011, 05:45 PM
Alignment's Avatar
Alignment
Revered with the stars
 
Join Date: Mar 2010
Gender: Male
Nature: Lonely
Quote:
Originally Posted by Pink Parka Girl View Post
I'm having an issue with this script - mainly, the PLAYERFACING commands within it. The script is supposed to make you take a step backwards depending on the direction you're facing if you choose "no," but what the script actually does is that it always makes you step to the right, no matter what. I tried the "setvar PLAYERFACING 0x0000/copybyte 0x020370D4 0x02036E58" technique recommended earlier in this thread; but all that did is make it so the player never moved at all - it didn't solve the problem. I've written scripts with PLAYERFACING commands that worked just fine; it puzzles me why this one wants to give me trouble Any help is greatly appreciated!

Spoiler:
#dynamic 0x800000
#org @start
lock
msgbox 0x8803304 MSG_YESNO '"Pikpik Grove: A shadowed clearing ..."
compare LASTRESULT 0x1
if 0x1 goto @yes
compare LASTRESULT 0x0
if 0x1 goto @no
end

'---------------
#org @yes
closeonkeypress
warpmuted 0x0 0xA 0x3 0xFF02 0xFFFF

'---------------
#org @no
closeonkeypress
compare PLAYERFACING 0x1
if 0x1 goto @down
compare PLAYERFACING 0x4
if 0x1 goto @right
compare PLAYERFACING 0x3
if 0x1 goto @left
end

'---------------
#org @down
applymovement MOVE_PLAYER 0x82180AA
waitmovement 0x0
end

'---------------
#org @right
applymovement MOVE_PLAYER 0x814DFE1
waitmovement 0x0
end

'---------------
#org @left
applymovement MOVE_PLAYER 0x814CA13
waitmovement 0x0
end


'---------
' Strings
'---------
#org 0x803304
= Pikpik Grove: A shadowed clearing in\nthe vast Pikpik Forest.\pHere, small People struggle against the\nforces of the Outside[.]\pWould you like to enter this map?


'-----------
' Movements
'-----------
#org 0x2180AA
#raw 0x9 'Step Up (Normal)
#raw 0xFE 'End of Movements

#org 0x14DFE1
#raw 0xA 'Step Left (Normal)
#raw 0xFE 'End of Movements

#org 0x14CA13
#raw 0xB 'Step Right (Normal)
#raw 0xFE 'End of Movements
I can't spot anything wrong with that script, but I re-wrote the same script on PKSV with small variations, and it works as you described it to work. Here it is if you're interested:
Spoiler:

#dyn 0x740000
#org @start
lock
msgbox @question
callstd MSG_YESNO
compare LASTRESULT YES
if == goto @yes
jump @no

#org @yes
waitbutton
closemsg
warpmuted 0x0 0xA 0x3
release
end

#org @no
waitbutton
closemsg
compare PLAYERFACING DOWN
if == goto @down
compare PLAYERFACING RIGHT
if == goto @right
compare PLAYERFACING LEFT
if == goto @left
end

#org @down
applymovement PLAYER @move_to_avoid1 ' assuming that you'll be moving up if player is facing down
pauseevent 0x0
release
end

#org @right
applymovement PLAYER @move_to_avoid2 ' assuming that you'll be moving left if player is facing right
pauseevent 0x0
release
end

#org @left
applymovement PLAYER @move_to_avoid3 ' assuming that you'll be moving right if player is facing left
pauseevent 0x0
release
end

#org @question
= Pikpik Grove: A shadowed clearing in\nthe vast Pikpik Forest.\pHere, small People struggle against the\nforces of the Outside[.]\pWould you like to enter this map?

#org @move_to_avoid1
m walk_up end

#org @move_to_avoid2
m walk_left end

#org @move_to_avoid3
m walk_right end


You really don't have to check if the lastresult is == no in the begining because if it's not equal to yes, than you can assume that it's gonna be no. I don't know the command for "closeonkeypress" in PKSV, so I used the waitbutton as well as the closemsg command, which is the same result (as far as I can tell). Anyways, as I said, I tested it out and it works, so I don't know what's up with your ROM
  #5163    
Old January 25th, 2011, 02:09 AM
DrFuji's Avatar
DrFuji
Helfen, Wehren, Heilen
 
Join Date: Sep 2009
Location: Upside-downia
Age: 21
Gender: Male
Nature: Jolly
Quote:
Originally Posted by masterquestmq View Post
this is real embarrassing

i was able to compile my prof script (give pokemon,item etc), and it work perfectly

now im having trouble with a basic talk script
#Dynamic 0x800000

#org @start
Lock
FacePlayer
msgbox @talk
BoxSet 0x6
release
end

#org @talk
= This small house is actually a\ngenerator it supplies electricity\lto the whole town.

everytime i compile it an error pops out saying too less parameters on line 6 (msgbox line) the correct number is 2.

makes no sense could it be my XSE thats causing the problem?
You're not putting it in the correct format for XSE. The command msgbox is comprised of the command 'msgbox', a pointer to the text and an indication of which boxset to use. You only had one parameter (the pointer) so that is why XSE was asking for the boxset on the same line.

Changes in red.

Code:
#dynamic 0x800000
 
#org @start
lock
faceplayer
msgbox @talk 0x6
release
end
 
#org @talk
= This small house is actually a\ngenerator it supplies electricity\lto the whole town.
__________________
  #5164    
Old January 26th, 2011, 02:20 AM
fizzmaister's Avatar
fizzmaister
Beginning Trainer
 
Join Date: Jan 2008
Quote:
Originally Posted by fizzmaister View Post
Thank you for your help. Unfortunately, that didn't fix it, in fact, it broke the Helix Fossil. My next idea is to try to use a series of yes/no boxes. I hoped I would be able to leave most of the code intact, but it seems that I can't do that.
I was hoping that I wouldn't have to hack it apart like this, but I finally got it to work by doing this. Hooray for checkitem, boo for pokemon script language.

Code:
//---------------
#org @Start
lock
faceplayer
setvar LASTRESULT 0x0    //clear last result
checkflag 0x2EE        //check if Aerodactyl has been revived
if 0x1 call @CheckHelix
compare LASTRESULT 0x1
if 0x1 goto 0x816E873    //if a story fossil and Aerodactyl were revived, end script
compare 0x406A 0x2
if 0x1 goto 0x816E712
compare 0x406A 0x1
if 0x1 goto 0x816E708

checkitem 0x165 0x1
compare LASTRESULT 0x1
if 0x1 goto 0x816E644
checkitem 0x166 0x1
compare LASTRESULT 0x1
if 0x1 goto 0x816E682
checkitem 0x162 0x1
compare LASTRESULT 0x1
if 0x1 goto 0x816E6C0
msgbox 0x819A25E MSG_KEEPOPEN //"Hiya!\pI am important doctor.\nYes..."
goto 0x816E516
  #5165    
Old January 26th, 2011, 05:17 AM
Zero Karma Loss
Beginning Trainer
 
Join Date: Oct 2009
Gender: Male
I've been trying to modify the opening script after the player exits the moving truck, using XSE. I'm using a correctly found offset from FSF, accurate script info according to the other NPC's I've been looking at and comparing to, and I've even gone so far as to flat out delete both the player's mom and the truck events themselves with no alteration.

The door still opens, mom still trots out and spews the usual welcoming text. Is it just hardcoded into the game or am I fishing around the wrong script data?

Spoiler:
'---------------
#org 0x6D9A60
lock
faceplayer
applymovement 0x4 0x81A0841
waitmovement 0x0
setdooropened 0x8009 0x800A
doorchange
applymovement 0x4 0x814DCE0
waitmovement 0x0
msgbox 0x816A8FD MSG_FACE '"Wally: [player]! Is this really......"
spriteinvisible 0x4 0x0 0x9
setdoorclosed 0x8009 0x800A
doorchange
release
end


'---------
' Strings
'---------
#org 0x16A8FD
= Wally: [player]! Is this really...\nwhere you used to live?\pWow. It's uh...\na little rundown, isn't it?\pI mean, I know you've been gone over a year,\n but... maybe a wild POKéMON\n could live there, but surely\pnot a human! Be careful.


'-----------
' Movements
'-----------
#org 0x1A0841
#raw 0x26 'Step on the Spot Up (Fastest)
#raw 0xFE 'End of Movements

#org 0x14DCE0
#raw 0x9 'Step Up (Normal)
#raw 0xFE 'End of Movements


That's one format of the script I've tried. The other is here:
Spoiler:
'---------------
#org 0x6D9A60
lock
faceplayer
msgbox 0x816A8FD MSG_FACE '"Wally: [player]! Is this really......"
release
end


'---------
' Strings
'---------
#org 0x16A8FD
= Wally: [player]! Is this really...\nwhere you used to live?\pWow. It's uh...\na little rundown, isn't it?\pI mean, I know you've been gone over a year,\n but... maybe a wild POKéMON\n could live there, but surely\pnot a human! Be careful.


Is it the 0x16A8FD that's just screwing this whole thing up? Been at this for over an hour, still new to the entire process, any help very welcome.
  #5166    
Old January 26th, 2011, 06:45 AM
metapod23's Avatar
metapod23
Hardened Trainer
 
Join Date: Mar 2009
Gender: Male
Nature: Timid
Quote:
Originally Posted by Zero Karma Loss View Post
I've been trying to modify the opening script after the player exits the moving truck, using XSE. I'm using a correctly found offset from FSF, accurate script info according to the other NPC's I've been looking at and comparing to, and I've even gone so far as to flat out delete both the player's mom and the truck events themselves with no alteration.

The door still opens, mom still trots out and spews the usual welcoming text. Is it just hardcoded into the game or am I fishing around the wrong script data?

Spoiler:
'---------------
#org 0x6D9A60
lock
faceplayer
applymovement 0x4 0x81A0841
waitmovement 0x0
setdooropened 0x8009 0x800A
doorchange
applymovement 0x4 0x814DCE0
waitmovement 0x0
msgbox 0x816A8FD MSG_FACE '"Wally: [player]! Is this really......"
spriteinvisible 0x4 0x0 0x9
setdoorclosed 0x8009 0x800A
doorchange
release
end


'---------
' Strings
'---------
#org 0x16A8FD
= Wally: [player]! Is this really...\nwhere you used to live?\pWow. It's uh...\na little rundown, isn't it?\pI mean, I know you've been gone over a year,\n but... maybe a wild POKéMON\n could live there, but surely\pnot a human! Be careful.


'-----------
' Movements
'-----------
#org 0x1A0841
#raw 0x26 'Step on the Spot Up (Fastest)
#raw 0xFE 'End of Movements

#org 0x14DCE0
#raw 0x9 'Step Up (Normal)
#raw 0xFE 'End of Movements


That's one format of the script I've tried. The other is here:
Spoiler:
'---------------
#org 0x6D9A60
lock
faceplayer
msgbox 0x816A8FD MSG_FACE '"Wally: [player]! Is this really......"
release
end


'---------
' Strings
'---------
#org 0x16A8FD
= Wally: [player]! Is this really...\nwhere you used to live?\pWow. It's uh...\na little rundown, isn't it?\pI mean, I know you've been gone over a year,\n but... maybe a wild POKéMON\n could live there, but surely\pnot a human! Be careful.


Is it the 0x16A8FD that's just screwing this whole thing up? Been at this for over an hour, still new to the entire process, any help very welcome.
You shouldn't use 0x16A8FD as an offset for a new script. Start at around 0x800000 and use #dynamic 0x800000 and something like #org @start - XSE will find free space for you at or after 0x800000 - you don't have to find it yourself.

As for your problem, I believe that would most likely be a script in the header. I'm not sure if you looked there? You have to go to the Header section in A-Map and look under Map Script. I think it's probably an 02 Script Type (or 04 - I forget which one). Anyway, that's probably the script you have to replace. I'm not looking at it myself right now, but I think that would be the case.

If you need help with generating your script and making it work, look here:

http://www.pokecommunity.com/showthread.php?t=191500
__________________
  #5167    
Old January 26th, 2011, 01:31 PM
SPG's Avatar
SPG
Pyroblock
 
Join Date: Dec 2010
Age: 17
Gender: Male
Send a message via Skype™ to SPG
can some one tell me what is wrong with this script?
Spoiler:

'---------------
#org 0x80079C
lock
checkflag 0x28
if 0x1 goto 0x88007D2
setflag 0x828
givepokemon 0xFD 0x5 0x8B 0x0 0x0 0x0
hidesprite 0x9
setflag 0x28
bufferpokemon 0x0 0xFD
preparemsg 0x8800897 '"You got a [buffer1]!"
fanfare 0x101
waitmsg
waitfanfare
waitkeypress
goto 0x88007D4
'---------------
#org 0x8007D2
release
end
'---------------
#org 0x8007D4
compare PLAYERFACING 0x2
if 0x1 goto 0x8800801
compare PLAYERFACING 0x1
if 0x1 goto 0x8800851
compare PLAYERFACING 0x3
if 0x1 goto 0x880086D
compare PLAYERFACING 0x4
if 0x1 goto 0x8800882
end
'---------------
#org 0x800801
clearflag 0x238
showsprite 0x2
applymovement MOVE_PLAYER 0x8800BBE
applymovement 0x2 0x8800BC1
waitmovement 0x0
goto 0x880081D
'---------------
#org 0x800851
clearflag 0x238
showsprite 0x2
applymovement MOVE_PLAYER 0x8800BBE
applymovement 0x2 0x874095A
waitmovement 0x0
goto 0x880081D
'---------------
#org 0x80086D
clearflag 0x238
showsprite 0x2
applymovement 0x2 0x874094C
waitmovement 0x0
goto 0x880081D
'---------------
#org 0x800882
clearflag 0x238
showsprite 0x2
applymovement 0x2 0x8740953
waitmovement 0x0
goto 0x880081D
'---------------
#org 0x80081D
msgbox 0x88008A5 MSG_NORMAL '"[rival]: Hello [player],\nfunny se..."
trainerbattle 0x3 0x1 0x1 0x8740975
msgbox 0x8800ADA MSG_NORMAL '"[rival]: This can't be!\nMy first ..."
fadescreen 0x1
setflag 0x238
hidesprite 0x2
applymovement MOVE_PLAYER 0x874062F
waitmovement 0x0
fadescreen 0x1
warp 0x4 0x0 0x4 0x8 0x382A
end

'---------
' Strings
'---------
#org 0x800897
= You got a [buffer1]!
#org 0x8008A5
= [rival]: Hello [player],\nfunny seeing you here.\lDid your stupid mother send you?\p[player]: Why are you calling\nher stupid?\lShe's your mother too,\lyou know that.\p[rival]: Perhaps,\nbut she is still naive[.]\p[player]: Why do you say that?\nShe taught us everything we know,\land it was hard for her to take\lcare of us since dad left her on\lthis cursed island!\p[rival]: True, true,\nbut she told me\lsomething she shouldn't have.\lPlus she sent you, which is really\lstupid!\lYou'll never ruin my plans!\lI will rule this world and\lbring it into darkness!\lI'll start my reign of darkness\lwith bringing you down!
#org 0x740975
= You crushed me[.]
#org 0x800ADA
= [rival]: This can't be!\nMy first battle to rule this\lpointless world and I've lost?\lFine, I'll take this pitiful\ldefeat, but you haven't heard the\llast of me!\lI'll build my army of henchmen and\lbring you down!\lYou can never stop me!

'-----------
' Movements
'-----------
#org 0x800BBE
#raw 0x4 'Face Down (Faster)
#raw 0x65 'Double Exclamation Mark (!!)
#raw 0xFE 'End of Movements
#org 0x800BC1
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0xFE 'End of Movements
#org 0x74095A
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0xFE 'End of Movements
#org 0x74094C
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x3 'Face Right
#raw 0xFE 'End of Movements
#org 0x740953
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x2 'Face Left
#raw 0xFE 'End of Movements
#org 0x74062F
#raw 0x9 'Step Up (Very Slow)
#raw 0x9 'Step Up (Very Slow)
#raw 0x9 'Step Up (Very Slow)
#raw 0xFE 'End of Movements
__________________
want to help with forbidden version? or want more details about it? pm me or contact me at [email protected]
  #5168    
Old January 26th, 2011, 10:39 PM
pete6777
Beginning Trainer
 
Join Date: Dec 2010
Gender: Male
hi there im having trouble doing a script like when you first meet processor oak i wanna do something like that can you please help
  #5169    
Old January 26th, 2011, 11:06 PM
Johto_legend's Avatar
Johto_legend
Smoochum
 
Join Date: Jan 2010
Gender: Male
Quote:
Originally Posted by pete6777 View Post
hi there im having trouble doing a script like when you first meet processor oak i wanna do something like that can you please help
If you mean the event when he stops you and takes you to his lab, this is a movement script. you have to add a script event in Advance map on the spot where the player will be stopped. then you would use applymovement so that you would follow someone. below is a basic example

Spoiler:
dynamic 0x??????
#org @start
lock
msgbox @wait 0x6
applymovement 0x??(oak) @walk
waitmovement 0x0
applymovement 0xFF @faceoak
msgbox @pokemon 0x6
applymovement 0x?? @move
applymovement 0xFF @move
waitmovement 0x0
release
end

#org @wait
=Wait!You need a Pokemon!

#org @walk
#raw 0x??
#raw 0x??
#raw 0x??
#raw 0x??
#raw 0x??
#raw 0xFE

#org @faceoak
#raw 0x0(face down)
#raw 0xFE

#org @pokemon
=You need a pokemon to fight other pokemon! I'll give you a pokemon!

#org @ move
#raw 0x??
#raw 0x??
#raw 0x??
#raw 0x??
#raw 0x??
#raw 0x??
#raw 0xFE


basically i locked the player when he steps on a tile, then you see a msgbox that has oak saying to wait. then we see oak moving to the player. the player turns to face oak. then another msgbox from oak. then by making them both follow @move script, it creates a follow-me script, in which is looks like the player is following other OW.
__________________

Hacking Innovation - Recruiting! Experienced Fakemon Spriters Needed!!!
  #5170    
Old January 27th, 2011, 01:14 AM
Blaziquaza's Avatar
Blaziquaza
...
 
Join Date: Jun 2009
Location: Whyalla, Australia
Gender: Male
Nature: Jolly
How exactly would you script a Vs. Seeker battle?
__________________
Everything you say to me pushes one step closer to the edge



And I'm about to break
I need a little room to breathe...

Steam IGN: Hybrid Theory
  #5171    
Old January 27th, 2011, 05:48 PM
eishiba
Beginning Trainer
 
Join Date: Aug 2010
Gender: Male
'-----------------------
#org 0x1634B8
lockall
textcolor 0x2
msgbox 0x817A2F8 '"Be gone[.]\nIntruders[.]"
callstd 0x4
special 0x187
compare LASTRESULT 0x2
if 0x1 goto 0x81A7AE0
wildbattle 0x69 0x1E 0x0 0x0
waitstate
special 0x188
compare LASTRESULT 0x0
if 0x1 goto 0x81634F5
applymovement MOVE_PLAYER 0x8163512
waitmovement 0x0
releaseall
end

'-----------------------
#org 0x1A7AE0
release
end

'-----------------------
#org 0x1634F5
msgbox2 0x817A30C '"The ghost was the restless spirit\n..."
waitmsgbox
checksound
cry 0x69 0x0
waitkeypress
waitcry
msgbox 0x817A342 '"The mother's spirit was calmed.\pIt..."
callstd 0x4
setvar 0x4059 0x1
releaseall
end


'-----------
' Movements
'-----------
#org 0x163512
#raw 11 'Step Up (Normal)
#raw FE 'End of Movements


'---------
' Strings
'---------
#org 0x17A2F8
= Be gone[.]\nIntruders[.]

#org 0x17A30C
= The ghost was the restless spirit\nof CUBONE's mother!

#org 0x17A342
= The mother's spirit was calmed.\pIt departed to the afterlife[.]


I guess I'm not as good at scripting as I thought. This is the pokemon battle with marowak at pokemon tower in fire red. How can I change the Marowak to something else?
  #5172    
Old January 27th, 2011, 07:07 PM
spidermight340
Advanced Trainer
 
Join Date: Aug 2009
Age: 23
Gender: Male
Nature: Relaxed
hi does anyone know the script so you can go passed a person event after you beat a certain trainer ?
__________________
Check out My Custom Pokemon Maps at : spidermight.webs.com/
  #5173    
Old January 28th, 2011, 01:41 AM
Geogebra
Beginning Trainer
 
Join Date: Nov 2010
Gender: Male
Quote:
Originally Posted by metapod23 View Post
There is no takepokemon command. You can add an asm command, such as this designed by HackMew:

But you can't return the Pokemon once it's gone.

Or you can use the built-in Daycare system, using this tutorial:

But then you can't really use the Daycare in-game, or at least have access to it while Pokemon are used to store it as a non-daycare. But that will at least allow you to return the Pokemon once it's taken away, and to choose the specific Pokemon the player gives away.
Thanks for the answer! The last one with the daycare solution sounded like a perfect solution for me(I didn't understand a thing of the asm-thingy ). However, first I tried to edit the script, adding some stuff, everuthing except the part with the "notthesame" worked. It didn't matter if I chose another pokemon than Pikachu, for instance when I choosed tangela it would remove tangela and say "goodbye pikachu", and not "this is not pikachu".. I can't explain why this is happening cause the script seems to be "right", have any idea?

Oh, and sorry for late reply, have been kind of busy lately, but thanks anyways
  #5174    
Old January 28th, 2011, 05:30 AM
destinedjagold's Avatar
destinedjagold
Oh Hai Thar~ 'ω'
Community Supporter
 
Join Date: May 2007
Location: Philippines
Gender: Male
Nature: Careful
Quote:
Originally Posted by spidermight340 View Post
hi does anyone know the script so you can go passed a person event after you beat a certain trainer ?
use the command checktrainerflag...
an example script...
Code:
#dynamic 0x800000

#org @start
checktrainerflag 0x1F
if 0x1 goto @done
message @1 6
release
end

#org @done
message @2 6
release
end

#org @1
= You did not battle the\ntrainer yet!

#org @2
= You defeated him already.\nSo don't bug him anymore.
Quote:
Originally Posted by eishiba View Post
'-----------------------
Code:
#org 0x1634B8
lockall
textcolor 0x2
msgbox 0x817A2F8 '"Be gone[.]\nIntruders[.]"
callstd 0x4
special 0x187
compare LASTRESULT 0x2
if 0x1 goto 0x81A7AE0
wildbattle 0x69 0x1E 0x0 0x0
waitstate
special 0x188
compare LASTRESULT 0x0
if 0x1 goto 0x81634F5
applymovement MOVE_PLAYER 0x8163512
waitmovement 0x0
releaseall
end

'-----------------------
#org 0x1A7AE0
release
end

'-----------------------
#org 0x1634F5
msgbox2 0x817A30C '"The ghost was the restless spirit\n..."
waitmsgbox
checksound
cry 0x69 0x0
waitkeypress
waitcry
msgbox 0x817A342 '"The mother's spirit was calmed.\pIt..."
callstd 0x4
setvar 0x4059 0x1
releaseall
end


'-----------
' Movements
'-----------
#org 0x163512
#raw 11 'Step Up (Normal)
#raw FE 'End of Movements


'---------
' Strings
'---------
#org 0x17A2F8
= Be gone[.]\nIntruders[.]

#org 0x17A30C
= The ghost was the restless spirit\nof CUBONE's mother!

#org 0x17A342
= The mother's spirit was calmed.\pIt departed to the afterlife[.]

I guess I'm not as good at scripting as I thought. This is the pokemon battle with marowak at pokemon tower in fire red. How can I change the Marowak to something else?
please wrap your script with SPOILER or CODE tags next time.
anyway, change the hex value of the PKMN (in red) to the PKMN you want. Remember that hex values and decimal numbers are not the same.
Example, PIKACHU's decimal value is 25, but its hex value is 0x19...
__________________
  #5175    
Old January 28th, 2011, 09:06 AM
eishiba
Beginning Trainer
 
Join Date: Aug 2010
Gender: Male
Quote:
Originally Posted by destinedjagold View Post


use the command checktrainerflag...
an example script...
Code:
#dynamic 0x800000

#org @start
checktrainerflag 0x1F
if 0x1 goto @done
message @1 6
release
end

#org @done
message @2 6
release
end

#org @1
= You did not battle the\ntrainer yet!

#org @2
= You defeated him already.\nSo don't bug him anymore.
please wrap your script with SPOILER or CODE tags next time.
anyway, change the hex value of the PKMN (in red) to the PKMN you want. Remember that hex values and decimal numbers are not the same.
Example, PIKACHU's decimal value is 25, but its hex value is 0x19...

How come you can't edit the script through Advanced Map using XSE?
I also did the normal stuff. Saved the file as rbc in word pad. Compiled script, then found my file and found 4 offsets and picked the first one, then assigned and burned. Then copied the offset and pasted into the the offset on advanced map and it doesn't work.
Closed Thread
Quick Reply

Sponsored Links


Advertise here
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 10:44 AM.


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.