The PokéCommunity Forums  

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

Notices

Emulation & ROM Hacking The center for the community emulation scene. Come and discuss all things emulation and develop your own hacks!


Reply
Click here to go to the first staff post in this thread.  
Thread Tools
  #4901    
Old November 10th, 2010, 06:33 AM
Jm20's Avatar
Jm20
A.k.a. Zig :-)
 
Join Date: Sep 2009
Location: The Netherlands
Age: 21
Gender: Male
Okay, some of my script-tiles aren't working properly. I inserted a variable/flag value in the "Script Value" box, namely 1011. I gave two Overworld a PersonID of that value too, since the OW's and the script have to appear at the same time. Settings of the scripttile event:

That flag was set in the levelscript of the first map. It was unset in the following script:
Code:
'---------------
#org 0x72001C
setvar 0x7005 0x1
lock
faceplayer
applymovement 0x1 0x816BA66
waitmovement 0x0
msgbox 0x816B893 0x6 '"[blue_fr]blah1"
applymovement 0x1 0x816BA69
waitmovement 0x0
msgbox 0x816B95C 0x6 '"[black_fr]blah2"
applymovement 0xFF 0x816BA6E
waitmovement 0x0
applymovement 0x1 0x816BA72
waitmovement 0x0
applymovement 0xFF 0x816BA75
applymovement 0x1 0x816BA78
waitmovement 0x0
setvar 0x1016 0x1
hidesprite 0x1
clearflag 0x1011
release
end


'---------
' Strings
'---------
#org 0x16B893
= [blue_fr]blah1

#org 0x16B95C
= [black_fr]blah2


'-----------
' Movements
'-----------
#org 0x16BA66
#raw 0x62 'Exclamation Mark (!)
#raw 0xFE 'End of Movements

#org 0x16BA69
#raw 0x1 'Face Up
#raw 0x1C 'Delay5
#raw 0x4A 'Face Player
#raw 0xFE 'End of Movements

#org 0x16BA6E
#raw 0x20 'Step Right (Fast)
#raw 0x2 'Face Left
#raw 0xFE 'End of Movements

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

#org 0x16BA75
#raw 0x0 'Face Down
#raw 0xFE 'End of Movements

#org 0x16BA78
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0xFE 'End of Movements
After this you walk through a warp and you come in the map where the script tiles and OW's are. Now... The OW's do appear, but the scripttiles don't. That's strange, isn't it? I'm using Fire Red JPANs Hacked Engine etc... But why aren't the script tiles appearing? I personally think it is something with messing up flag and variables and that I shouldn't use some "numbers" as a variable, only as flag, or something similar... But I'm confused right now...
Reply With Quote
  #4902    
Old November 11th, 2010, 08:01 AM
ASuch
Beginning Trainer
 
Join Date: May 2010
Gender: Male
I started XSE and have run into a strange problem. When I try to compile it says "unknown keyword "tle" at line 37, but line 37 is empty, so I don't understand whats wrong...

Last edited by ASuch; November 11th, 2010 at 09:59 AM.
Reply With Quote
  #4903    
Old November 11th, 2010, 10:07 AM
Mortalis's Avatar
Mortalis
ѕĸyвorɴe.
Community Supporter Tier 5
 
Join Date: May 2010
Location: Canada
Age: 17
Gender: Male
Nature: Relaxed
This has really been bugging me, and it shouldn't be a problem. Alright, so I'm new to hacking roms, and I went to go try out a script to see if I could do it. I made the script like this;

Quote:
#dynamic 0x900000

#org @start
lock
faceplayer
msgbox @hello 0x6
release
end

#org @hello
= Hello. This is a test.
Once I do that [I'm using XSE], I hit compile and it compiles just fine. I click close, and then save the rom. When I go play it, I approach the person and click 'A', but it just makes a noise and doesn't play the script. I'm very confused.
Reply With Quote
  #4904    
Old November 11th, 2010, 10:31 AM
Spherical Ice's Avatar
Spherical Ice
Community Supporter Tier 2
 
Join Date: Nov 2007
Quote:
Originally Posted by SooperTrooper View Post
This has really been bugging me, and it shouldn't be a problem. Alright, so I'm new to hacking roms, and I went to go try out a script to see if I could do it. I made the script like this;

Code:
#dynamic 0x900000

#org @start
lock
faceplayer
msgbox @hello 0x6
release
end

#org @hello
= Hello. This is a test.
Once I do that [I'm using XSE], I hit compile and it compiles just fine. I click close, and then save the rom. When I go play it, I approach the person and click 'A', but it just makes a noise and doesn't play the script. I'm very confused.
Okay, firstly, I'd use 0x800000 for my offset. Not that what you have is unsafe or anything, it's just that you're skipping quite a bit of free space there. Also, it'd probably be better to get rid of lock, faceplayer and release, and simply replace msgbox @hello 0x6 to msgbox @hello 0x2 for a plain NPC script.

Anyway, onto your problem. Are you sure you've pasted the offset you receive from XSE when you hit compile next to the @start box and pasted it into the Script Offset box when you select the person event, and saved afterwards?
Reply With Quote
  #4905    
Old November 11th, 2010, 02:12 PM
destinedjagold's Avatar
destinedjagold
Oh Hai Thar~ 'ω'
 
Join Date: May 2007
Location: Philippines
Gender: Male
Nature: Careful
Quote:
Originally Posted by ASuch View Post
I started XSE and have run into a strange problem. When I try to compile it says "unknown keyword "tle" at line 37, but line 37 is empty, so I don't understand whats wrong...
Posting your script may help us understand the error better...
__________________
3DS FC: 0061-1111-6462
SV: 1364 | Rock Safari: Dwebble, Corsola and Barbaracle
Reply With Quote
  #4906    
Old November 11th, 2010, 03:11 PM
ASuch
Beginning Trainer
 
Join Date: May 2010
Gender: Male
Alright then here's my script:
Spoiler:
#dynamic 0x18D300

#org @start
lock
faceplayer
checkflag 0x1210
if 0x01 goto $after
textcolor 0x00
msgbox @pie 0x5
if 0x1 goto @okay
if 0x0 goto @dont
release
end

#org @pie
= Do you want to know the operation?

#org @dont
textcolor 0x00
msgbox @idk 0x5
if 0x1 goto @sure
if 0x0 goto @out
release
end

#org @idk
=You already know? Then do you want\nto know how to leave from the\lnorth or east?

#org @sure
= Well you can't leave from the\neast, but you can leave from the\lnorth if I give you an item to\lshow to the guard.

#org @out
= Good you know everything. Now get\nback to work soldier!

#org @okay
= Our Operation is to invade\nViridian City, but there's this\llittle punk that's stopping us.\lHer name is May and she defended\lagainst Magma and Aqua in Hoenn\land she's ready to defend Kanto.\pBeat her and I will allow you to\nleave this god forsaken place.

#org @after
msgbox @shoes1 0x6
= Good job soldier!\p For your\nservice, I'll give you\n an item\lto show to\l the guard. They're\lspecially made from our crafter,\lColonel Raysie!
fanfare 0x13E
textcolor 0x01
msgbox @shoes 0x4
waitfanfare
setflag 0x82F
textcolor 0x00
msgbox @sweet 0x2
end

#org @shoes
= \v\h01 recieved the running shoes!

#org @sweet
= Now get your pokemon ready for\nPumpkin City!


How it looks may not be exactly right due to me just copying the script from XSE, but hopefully this is good enough.
Reply With Quote
  #4907    
Old November 11th, 2010, 03:52 PM
destinedjagold's Avatar
destinedjagold
Oh Hai Thar~ 'ω'
 
Join Date: May 2007
Location: Philippines
Gender: Male
Nature: Careful
Quote:
Originally Posted by ASuch View Post
Alright then here's my script:
Spoiler:
#dynamic 0x18D300

#org @start
lock
faceplayer
checkflag 0x1210
if 0x01 goto $after
textcolor 0x00
msgbox @pie 0x5
if 0x1 goto @okay
if 0x0 goto @dont
release
end

#org @pie
= Do you want to know the operation?

#org @dont
textcolor 0x00
msgbox @idk 0x5
if 0x1 goto @sure
if 0x0 goto @out
release
end

#org @idk
=You already know? Then do you want\nto know how to leave from the\lnorth or east?

#org @sure
= Well you can't leave from the\neast, but you can leave from the\lnorth if I give you an item to\lshow to the guard.

#org @out
= Good you know everything. Now get\nback to work soldier!

#org @okay
= Our Operation is to invade\nViridian City, but there's this\llittle punk that's stopping us.\lHer name is May and she defended\lagainst Magma and Aqua in Hoenn\land she's ready to defend Kanto.\pBeat her and I will allow you to\nleave this god forsaken place.

#org @after
msgbox @shoes1 0x6
= Good job soldier!\p For your\nservice, I'll give you\n an item\lto show to\l the guard. They're\lspecially made from our crafter,\lColonel Raysie!
fanfare 0x13E
textcolor 0x01
msgbox @shoes 0x4
waitfanfare
setflag 0x82F
textcolor 0x00
msgbox @sweet 0x2
end

#org @shoes
= \v\h01 recieved the running shoes!

#org @sweet
= Now get your pokemon ready for\nPumpkin City!


How it looks may not be exactly right due to me just copying the script from XSE, but hopefully this is good enough.
Try this script...
Code:
#dynamic 0x18D300

#org @start
lock
faceplayer
checkflag 0x1210
if 0x01 goto @after
textcolor 0x00
msgbox @pie 0x5
if 0x1 goto @okay
if 0x0 goto @dont
release
end

#org @pie
= Do you want to know the operation?

#org @dont
textcolor 0x00
msgbox @idk 0x5
if 0x1 goto @sure
if 0x0 goto @out
release
end

#org @idk
= You already know? Then do you want\nto know how to leave from the\lnorth or east?

#org @sure
message @well 0x6
release
end

#org @well
= Well you can't leave from the\neast, but you can leave from the\lnorth if I give you an item to\lshow to the guard.

#org @out
message @good 0x6
release
end

#org @good
= Good you know everything. Now get\nback to work soldier!

#org @okay
message @op 0x6
release
end

#org @op
= Our Operation is to invade\nViridian City, but there's this\llittle punk that's stopping us.\lHer name is May and she defended\lagainst Magma and Aqua in Hoenn\land she's ready to defend Kanto.\pBeat her and I will allow you to\nleave this god forsaken place.

#org @after
msgbox @shoes1 0x6
fanfare 0x13E
textcolor 0x01
msgbox @shoes 0x4
waitfanfare
setflag 0x82F
textcolor 0x00
msgbox @sweet 0x2
end

#org @shoes1 
= Good job soldier!\pFor your service, I'll give you\n an item\lto show to the guard. They're\lspecially made from our crafter,\lColonel Raysie!

#org @shoes
= \v\h01 recieved the running shoes!

#org @sweet
= Now get your pokemon ready for\nPumpkin City!
__________________
3DS FC: 0061-1111-6462
SV: 1364 | Rock Safari: Dwebble, Corsola and Barbaracle

Last edited by destinedjagold; November 11th, 2010 at 04:01 PM. Reason: lots of things to fix on this script...
Reply With Quote
  #4908    
Old November 11th, 2010, 05:01 PM
Tannecho51's Avatar
Tannecho51
Pokemon Lion's Eye
 
Join Date: Oct 2010
Location: Illinois
Gender: Male
Nature: Hardy
Colcolstyles, thanks for your help. The Y/N questions are now working! But there are still 3 problems:

-Instead of going to the "name" special, it simply freezes.
-The first showpokepic has very weird colors.
-The applymovements don't work.

Here's the script:
Spoiler:
#dynamic 0x800000

#org @start
lock
checkflag 0x1201
if 0x1 goto @done
checkflag 0x1202
if 0x1 goto @done
checkflag 0x1203
if 0x1 goto @done
goto @begin

#org @begin
applymovement 0x6 @move1
waitmovement 0x6
msgbox @intro 0x6
goto @treecko

#org @move1
#raw 0x30
#raw 0x30
#raw 0x18
#raw 0x08
#raw 0xFE

#org @move2
#raw 0x09
#raw 0x2F
#raw 0x2F
#raw 0x17
#raw 0xFE

#org @intro
=text omitted

#org @treecko
showpokepic 0x115 0xA 0x3
msgbox @treeckom 0x5
compare LASTRESULT 0x1
hidepokepic
if 0x1 goto @treeckoget
goto @torchic

#org @treeckoget
givepokemon 0x115 0x5 0x0 0x0 0x0 0x0
setflag 0x1201
goto @name
release
end

#org @treeckom
= text omitted

#org @torchic
showpokepic 0x118 0xA 0x3
msgbox @torchicm 0x5
compare LASTRESULT 0x1
hidepokepic
if 0x1 goto @torchicget
goto @mudkip

#org @torchicget
givepokemon 0x118 0x5 0x0 0x0 0x0 0x0
setflag 0x1203
goto @name

#org @torchicm
=text omitted
#org @mudkip
showpokepic 0x11B 0xA 0x3
msgbox @mudkipm 0x6
givepokemon 0x11B 0x5 0x0 0x0 0x0 0x0
hidepokepic
setflag 0x1203
goto @name

#org @mudkipm
= text omitted

#org @name
setflag 0x800
msgbox @1 0x5
compare LASTRESULT 0x1
if 0x1 call @naming
msgbox @2 0x6
applymovement 0x6 @move2
waitmovement 0x6
release
end

#org @naming
special 0x166
waitstate
return

#org @1
= text omitted

#org @2
= text omitted
#org @done
release
end


It shows up just how you would expect it to be when I open it up in Advance Map, so I won't post that.
Thanks in advance.
Reply With Quote
  #4909    
Old November 11th, 2010, 05:45 PM
Mortalis's Avatar
Mortalis
ѕĸyвorɴe.
Community Supporter Tier 5
 
Join Date: May 2010
Location: Canada
Age: 17
Gender: Male
Nature: Relaxed
Quote:
Originally Posted by Spherical Ice View Post
Okay, firstly, I'd use 0x800000 for my offset. Not that what you have is unsafe or anything, it's just that you're skipping quite a bit of free space there. Also, it'd probably be better to get rid of lock, faceplayer and release, and simply replace msgbox @hello 0x6 to msgbox @hello 0x2 for a plain NPC script.

Anyway, onto your problem. Are you sure you've pasted the offset you receive from XSE when you hit compile next to the @start box and pasted it into the Script Offset box when you select the person event, and saved afterwards?
Alright, will do. Thanks.
Oh, that's probably what I'm doing wrong. Thanks, I'll go try that now. Didn't know I had to copy + past anything.
Reply With Quote
  #4910    
Old November 11th, 2010, 06:24 PM
ASuch
Beginning Trainer
 
Join Date: May 2010
Gender: Male
For some reason if you click yes, then it gives you the message you would get for no. No matter what I click whether its Yes or No, it always gives me the message for no. The script I'm using is this one from destinedjagold.
Quote:
Originally Posted by destinedjagold View Post


Try this script...
Code:
#dynamic 0x18D300

#org @start
lock
faceplayer
checkflag 0x1210
if 0x01 goto @after
textcolor 0x00
msgbox @pie 0x5
if 0x1 goto @okay
if 0x0 goto @dont
release
end

#org @pie
= Do you want to know the operation?

#org @dont
textcolor 0x00
msgbox @idk 0x5
if 0x1 goto @sure
if 0x0 goto @out
release
end

#org @idk
= You already know? Then do you want\nto know how to leave from the\lnorth or east?

#org @sure
message @well 0x6
release
end

#org @well
= Well you can't leave from the\neast, but you can leave from the\lnorth if I give you an item to\lshow to the guard.

#org @out
message @good 0x6
release
end

#org @good
= Good you know everything. Now get\nback to work soldier!

#org @okay
message @op 0x6
release
end

#org @op
= Our Operation is to invade\nViridian City, but there's this\llittle punk that's stopping us.\lHer name is May and she defended\lagainst Magma and Aqua in Hoenn\land she's ready to defend Kanto.\pBeat her and I will allow you to\nleave this god forsaken place.

#org @after
msgbox @shoes1 0x6
fanfare 0x13E
textcolor 0x01
msgbox @shoes 0x4
waitfanfare
setflag 0x82F
textcolor 0x00
msgbox @sweet 0x2
end

#org @shoes1 
= Good job soldier!\pFor your service, I'll give you\n an item\lto show to the guard. They're\lspecially made from our crafter,\lColonel Raysie!

#org @shoes
= \v\h01 recieved the running shoes!

#org @sweet
= Now get your pokemon ready for\nPumpkin City!
Reply With Quote
  #4911    
Old November 11th, 2010, 09:34 PM
Teh Blazer's Avatar
Teh Blazer
Divider of Zero
 
Join Date: Feb 2009
Location: 'MERICA
Age: 18
Gender: Male
Nature: Relaxed
Quick question here: How does one use the [buffer] command? What is it used for and how do you personally use it?
__________________
Coming soon...
Reply With Quote
  #4912    
Old November 11th, 2010, 11:26 PM
colcolstyles's Avatar
colcolstyles
Yours truly
 
Join Date: May 2008
Location: The Bay Area
Gender: Male
Nature: Lonely
Quote:
Originally Posted by ASuch View Post
For some reason if you click yes, then it gives you the message you would get for no. No matter what I click whether its Yes or No, it always gives me the message for no. The script I'm using is this one from destinedjagold.
Try this (changes in blue):
Code:
#dynamic 0x18D300

#org @start
lock
faceplayer
checkflag 0x1210
if 0x01 goto @after
textcolor 0x00
msgbox @pie 0x5
compare LASTRESULT B_TRUE
if 0x1 goto @okay
compare LASTRESULT B_FALSE
if 0x1 goto @dont
release
end

#org @pie
= Do you want to know the operation?

#org @dont
textcolor 0x00
msgbox @idk 0x5
compare LASTRESULT B_TRUE
if 0x1 goto @sure
compare LASTRESULT B_FALSE
if 0x1 goto @out
release
end

#org @idk
= You already know? Then do you want\nto know how to leave from the\lnorth or east?

#org @sure
message @well 0x6
release
end

#org @well
= Well you can't leave from the\neast, but you can leave from the\lnorth if I give you an item to\lshow to the guard.

#org @out
message @good 0x6
release
end

#org @good
= Good you know everything. Now get\nback to work soldier!

#org @okay
message @op 0x6
release
end

#org @op
= Our Operation is to invade\nViridian City, but there's this\llittle punk that's stopping us.\lHer name is May and she defended\lagainst Magma and Aqua in Hoenn\land she's ready to defend Kanto.\pBeat her and I will allow you to\nleave this god forsaken place.

#org @after
msgbox @shoes1 0x6
fanfare 0x13E
textcolor 0x01
msgbox @shoes 0x4
waitfanfare
setflag 0x82F
textcolor 0x00
msgbox @sweet 0x2
end

#org @shoes1 
= Good job soldier!\pFor your service, I'll give you\n an item\lto show to the guard. They're\lspecially made from our crafter,\lColonel Raysie!

#org @shoes
= \v\h01 recieved the running shoes!

#org @sweet
= Now get your pokemon ready for\nPumpkin City!
Quote:
Originally Posted by Teh Blazer View Post
Quick question here: How does one use the [buffer] command? What is it used for and how do you personally use it?
Depends on what, exactly, you're buffering. You can buffer the names of pokémon, attacks, even your own custom strings. There are a number of commands associated with the buffers (such as bufferpokemon, bufferitem, bufferstring, etc.). The one that you use depends on the contents of the buffer. The commands exist to improve the efficiency of your scripts. For example, instead of the following code:

Code:
...
// 0x5000 contains the ID number of the player's starter
compare 0x5000 PKMN_BULBASAUR
if 0x1 goto @bulbasaur
compare 0x5000 PKMN_CHARMANDER
if 0x1 goto @charmander
compare 0x5000 PKMN_SQUIRTLE
if 0x1 goto @squirtle

...

#org @bulbasaur
msgbox @bulbatext 0x4

...

#org @charmander
msgbox @chartext 0x4

...

#org @squirtle
msgbox @squirtext 0x4

...

#org @bulbatext
= Your BULBASAUR is so cute!

#org @chartext
= Your CHARMANDER is so cute!

#org @squirtext
= Your SQUIRTLE is so cute!
...
... you could use something like this:

Code:
...
// 0x5000 contains the ID number of the player's starter
bufferpokemon 0x0 0x5000    // Stores the number in 0x5000 into buffer1
msgbox @text 0x4
...

#org @text
= Your [buffer1] is so cute!
...
Isn't that just so much easier? :)
__________________

Brother of Vrai
Reply With Quote
  #4913    
Old November 12th, 2010, 11:28 AM
Orinjmate's Avatar
Orinjmate
The Orinj of the Mate
 
Join Date: Jun 2010
Location: England
Gender: Male
Nature: Calm
I'm not sure if it's because I used Chaos Rush's Emerald Clean-Up Patch but none of my scripts work... I've tried compiling them onto different offsets.
Here is one of the scripts:-
Spoiler:
'-----------------------
#org 0x6D1560
lock
msgbox 0x86D1820 '"[rival]: [player]!\nPath 5 is this ..."
callstd 0x4
applymovement MOVE_PLAYER 0x86D1962
waitmovement 0x0
release
end


'-----------
' Movements
'-----------
#org 0x6D1962
#raw B 'Step Right (Normal)
#raw FE 'End of Movements


'---------
' Strings
'---------
#org 0x6D1820
= [rival]: [player]!\nPath 5 is this way!
__________________
Currently working on a new hack named Hollow.
Pokemon Sky SD Creator
Reply With Quote
  #4914    
Old November 12th, 2010, 12:15 PM
Flame's Avatar
Flame
 
Join Date: Jul 2008
Location: Poland
Nature: Relaxed
I have a simple question...
What is command to change Trainer/Event Battle BGM, and where to put it in a script?
Reply With Quote
  #4915    
Old November 13th, 2010, 12:50 PM
Mortalis's Avatar
Mortalis
ѕĸyвorɴe.
Community Supporter Tier 5
 
Join Date: May 2010
Location: Canada
Age: 17
Gender: Male
Nature: Relaxed
Alright, I'm still having problems with a basic script;

The script I'm writing;

Quote:
#dynamic 0x800000

#org @start
msgbox @hellothere 0x2
release
end

#org @hellothere
= Hello. This doesn't\nwork.
So, I write that script in XSE after setting up the sprite & such in Advanced Map. After I click compile, I copy the @start offset and paste it to the sprite's offset on Advanced Map. I then save on Advanced Map and go to test it out on the rom.

My problem is that when I approach the character in game, I click 'A' and all it does is make that 'bing' noise. Help?
Reply With Quote
  #4916    
Old November 13th, 2010, 05:05 PM
colcolstyles's Avatar
colcolstyles
Yours truly
 
Join Date: May 2008
Location: The Bay Area
Gender: Male
Nature: Lonely
Quote:
Originally Posted by SooperTrooper View Post
Alright, I'm still having problems with a basic script;

The script I'm writing;

So, I write that script in XSE after setting up the sprite & such in Advanced Map. After I click compile, I copy the @start offset and paste it to the sprite's offset on Advanced Map. I then save on Advanced Map and go to test it out on the rom.

My problem is that when I approach the character in game, I click 'A' and all it does is make that 'bing' noise. Help?
The script looks fine (though the 'release' command is redundant) so the problem probably lies elsewhere. However, your whole process seems solid to me. Are you sure that you're testing the same ROM that you have open in AdvanceMap and XSE (and that you have the same ROM open in both)?
__________________

Brother of Vrai
Reply With Quote
  #4917    
Old November 13th, 2010, 07:04 PM
Mortalis's Avatar
Mortalis
ѕĸyвorɴe.
Community Supporter Tier 5
 
Join Date: May 2010
Location: Canada
Age: 17
Gender: Male
Nature: Relaxed
Quote:
Originally Posted by colcolstyles View Post
The script looks fine (though the 'release' command is redundant) so the problem probably lies elsewhere. However, your whole process seems solid to me. Are you sure that you're testing the same ROM that you have open in AdvanceMap and XSE (and that you have the same ROM open in both)?
I did play on the same rom, but I found the problem. It's weird, because what I used should have worked. I just inserted a 'callstd 0x2' instead of 'msgbox @hello 0x2'. It's weird, because using msgbox with 0x2 should have worked but ... guess not.

Thanks though.
Reply With Quote
  #4918    
Old November 14th, 2010, 07:33 PM
leogrecchi
 
Join Date: Oct 2010
Gender: Male
Okay, I've got some problem with setting rematches in Emerald
Every rematch uses this style of coomand
Code:
trainerbattle 0x2 0xB7 0x0 0x829B449 0x829B480 0x81F2A33
special2 LASTRESULT 0x3C
compare LASTRESULT 0x1
if 0x1 goto 0x81F2A52
[...]
#org 0x1F2A52
trainerbattle 0x5 0xB7 0x0 0x829B547 0x829B59D
okay, 0x2 is the kind of battle (doesn't matter here, 0x2 is for a common trainer that allows 3 pointers instead of the usual 2 from 0x0), 0xB7 is the battle ID, 0x0 as filler (every battle has it[?]) then the 3 pointers are the @before, @after and @later
then we've got the special2, which I don't know how it works, which points somewhere else.
The adress it goes to has a 0x5 (rematch), but calls the same battle as the first one. However, it calls one of the later battles (in this example, 0xB8, 0xB9, 0xBA or 0xBB).

Can someone give me a hand this time? As you may see, there are 4 battles here, which goes in order (there is some check, somewhere, that calls the first rematch avaliable, or repeat the last one if all of them were already used.) What I want to do is change these battles, for adding rematch trainers, and removing rematches from some (like, one common trainer with a single rematch, and gym leaders with more than the usual four).
in short: what does special2 0x3c do, and how to change it?
Reply With Quote
  #4919    
Old November 18th, 2010, 02:52 PM
ASuch
Beginning Trainer
 
Join Date: May 2010
Gender: Male
I have a question about a script...In my town I want to have a script box that makes you go to a Rocket and then you say Yes or No to whether you want to proceed. Simple enough. What I'm wondering about though is that the camera will shift to the protest, which I'm fine with, but then I want to have different people talking such as "Woo!" "Yeah" after each other with May continuously preaching. Its not like I want them all on the same screen at once, but I want to know how the script will work, like if I have to make different offsets for each person, etc.
Reply With Quote
  #4920    
Old November 18th, 2010, 03:10 PM
Draknir's Avatar
Draknir
The God of Fire
 
Join Date: Jan 2009
Location: Johto
Age: 20
Nature: Quiet
I am having trouble with making a script that gives a Jirachi Egg in Emerald.

This is the script as I have put it in:
Spoiler:
#dyn 0x740000
#org @start
lock
faceplayer
msgbox @text ' Excuse me.\nI found...
callstd MSG_YESNO
compare LASTRESULT YES
if == jump @code2 ' Equal To
compare LASTRESULT 0x0
if == jump @code3 ' Equal To
release
end

#org @code2
lock
checkflag 0x200
if 0x1 jump @end
giveegg Jirachi
countpokemon
compare LASTRESULT 6
if == jump @noroom
message @get-msg
fanfare 0x101
showmsg
waitfanfare
waitbutton
message @code4
release
end

#org @noroom
msgbox @noroom-msg
callstd MSG_NOCLOSE
release
end

#org @code3
lock
faceplayer
msgbox @text2 ' Sigh.\pI suppose that...
callstd MSG_NOCLOSE
release
end

#org @code4
lock
faceplayer
msgbox @text3 ' Please, take ...
callstd MSG_NORMAL
release
end

#org @end
lock
faceplayer
msgbox @text4 ' How is the egg doing?
callstd MSG_NORMAL
release
end

#org @text4
= How is the egg doing?

#org @text
= Excuse me.\nI found this egg while walking this morning.\nI'm not a trainer, but you seem to be.\lWould you take it?

#org @noroom-msg
= Oh? You have no room to take it.

#org @get-msg
= You recieved the egg!

#org @text2
= Sigh.\lI suppose that you have other things\lto do than to help an old man.\nI'll still be here if you decide you want\lthe egg.

#org @text3
= Please, take\l very good care of it.


But this is what the script shows when I reopen it using Advance Map
Spoiler:
#org @start
'-----------------------------------
lock
faceplayer
msgbox @text1 ' Excuse me.\nI found ...
callstd MSG_YESNO ' Yes/No message
compare LASTRESULT YES
if == jump @code2 ' Equal To
compare LASTRESULT 0x0
if == jump @code3 ' Equal To
release
end

#org @code2
'-----------------------------------
lock
checkflag 0x200
if true jump @code4 ' Flag is set
giveegg 0x199
countpokemon
compare LASTRESULT 0x6
if == jump @code5 ' Equal To
message @text2 ' You recieved the egg...
fanfare 0x101
showmsg
waitfanfare
waitbutton
message @text3 ' \h6A\h5A\h0F \h91\h0...
release
end

#org @code4
'-----------------------------------
lock
faceplayer
msgbox @text4 ' How is the egg doing...
callstd MSG_LOCK ' Built-in lock command
release
end

#org @code3
'-----------------------------------
lock
faceplayer
msgbox @text5 ' Sigh.\lI suppose tha...
callstd MSG_NOCLOSE ' Non-closing message
release
' Release commands close any open messages
end

#org @code5
'-----------------------------------
msgbox @text6 ' Oh? You have no room...
callstd MSG_NOCLOSE ' Non-closing message
release
' Release commands close any open messages
end


#org @text1
= Excuse me.\nI found this egg while walking this morning.\nI'm not a trainer, but you seem to be.\lWould you take it?

#org @text2
= You recieved the egg!

#org @text3
= \h6A\h5A\h0F \h91\h0D\h9C\h08\h09\h06\h6C\h02\h6A\h5A\h0F \h25y\h8A\h08\h09\h06\h6C\h02 \h01 \h403 \h8A\h12

#org @text4
= How is the egg doing?

#org @text5
= Sigh.\lI suppose that you have other things\lto do than to help an old man.\nI'll still be here if you decide you want\lthe egg.

#org @text6
= Oh? You have no room to take it.


So exactly where am I screwing up?
Reply With Quote
  #4921    
Old November 18th, 2010, 03:14 PM
ASuch
Beginning Trainer
 
Join Date: May 2010
Gender: Male
Have you tried the script in the game?
Reply With Quote
  #4922    
Old November 18th, 2010, 03:20 PM
DrFuji's Avatar
DrFuji
repeat repeat repeat
 
Join Date: Sep 2009
Location: Upside-downia
Age: 21
Gender: Male
Nature: Jolly
Quote:
Originally Posted by ASuch View Post
I have a question about a script...In my town I want to have a script box that makes you go to a Rocket and then you say Yes or No to whether you want to proceed. Simple enough. What I'm wondering about though is that the camera will shift to the protest, which I'm fine with, but then I want to have different people talking such as "Woo!" "Yeah" after each other with May continuously preaching. Its not like I want them all on the same screen at once, but I want to know how the script will work, like if I have to make different offsets for each person, etc.
Since it is just a single continuous script you don't need to have offsets for the protesting people (If you're not going to be speaking to them afterwards like any other regular person). If I'm imagining it as you describe it, you will have everything on the one script and you won't be able to use or interact with any others.

You can't have two people talking at the same time from different text boxes, so if you want someone preaching and the crowd applauding or whatever, you will have to interweave the speech and the audience in the script, which isn't very hard - Think about recieving your Pokemon from Professor Oak and how your rival and the professor are talking to each other in the same script, and are unable to speak at the same time as the other.
__________________

Don't forget.
Always, somewhere,
someone is fighting for you.
--As long as you remember her,
you are not alone.
Reply With Quote
  #4923    
Old November 18th, 2010, 03:20 PM
Draknir's Avatar
Draknir
The God of Fire
 
Join Date: Jan 2009
Location: Johto
Age: 20
Nature: Quiet
Yes I have, and it only shows bits and pieces of it. The Jirachi Egg is added to the party, but then the event is repeatable.
Reply With Quote
  #4924    
Old November 18th, 2010, 03:38 PM
DrFuji's Avatar
DrFuji
repeat repeat repeat
 
Join Date: Sep 2009
Location: Upside-downia
Age: 21
Gender: Male
Nature: Jolly
Quote:
Originally Posted by >Entei< View Post
I am having trouble with making a script that gives a Jirachi Egg in Emerald.

This is the script as I have put it in:
Spoiler:
#dyn 0x740000
#org @start
lock
faceplayer
msgbox @text ' Excuse me.\nI found...
callstd MSG_YESNO
compare LASTRESULT YES
if == jump @code2 ' Equal To
compare LASTRESULT 0x0
if == jump @code3 ' Equal To
release
end

#org @code2
lock
checkflag 0x200
if 0x1 jump @end
giveegg Jirachi
countpokemon
compare LASTRESULT 6
if == jump @noroom
message @get-msg
fanfare 0x101
showmsg
waitfanfare
waitbutton
message @code4
release
end

#org @noroom
msgbox @noroom-msg
callstd MSG_NOCLOSE
release
end

#org @code3
lock
faceplayer
msgbox @text2 ' Sigh.\pI suppose that...
callstd MSG_NOCLOSE
release
end

#org @code4
lock
faceplayer
msgbox @text3 ' Please, take ...
callstd MSG_NORMAL
release
end

#org @end
lock
faceplayer
msgbox @text4 ' How is the egg doing?
callstd MSG_NORMAL
release
end

#org @text4
= How is the egg doing?

#org @text
= Excuse me.\nI found this egg while walking this morning.\nI'm not a trainer, but you seem to be.\lWould you take it?

#org @noroom-msg
= Oh? You have no room to take it.

#org @get-msg
= You recieved the egg!

#org @text2
= Sigh.\lI suppose that you have other things\lto do than to help an old man.\nI'll still be here if you decide you want\lthe egg.

#org @text3
= Please, take\l very good care of it.


But this is what the script shows when I reopen it using Advance Map
Spoiler:
#org @start
'-----------------------------------
lock
faceplayer
msgbox @text1 ' Excuse me.\nI found ...
callstd MSG_YESNO ' Yes/No message
compare LASTRESULT YES
if == jump @code2 ' Equal To
compare LASTRESULT 0x0
if == jump @code3 ' Equal To
release
end

#org @code2
'-----------------------------------
lock
checkflag 0x200
if true jump @code4 ' Flag is set
giveegg 0x199
countpokemon
compare LASTRESULT 0x6
if == jump @code5 ' Equal To
message @text2 ' You recieved the egg...
fanfare 0x101
showmsg
waitfanfare
waitbutton
message @text3 ' \h6A\h5A\h0F \h91\h0...
release
end

#org @code4
'-----------------------------------
lock
faceplayer
msgbox @text4 ' How is the egg doing...
callstd MSG_LOCK ' Built-in lock command
release
end

#org @code3
'-----------------------------------
lock
faceplayer
msgbox @text5 ' Sigh.\lI suppose tha...
callstd MSG_NOCLOSE ' Non-closing message
release
' Release commands close any open messages
end

#org @code5
'-----------------------------------
msgbox @text6 ' Oh? You have no room...
callstd MSG_NOCLOSE ' Non-closing message
release
' Release commands close any open messages
end


#org @text1
= Excuse me.\nI found this egg while walking this morning.\nI'm not a trainer, but you seem to be.\lWould you take it?

#org @text2
= You recieved the egg!

#org @text3
= \h6A\h5A\h0F \h91\h0D\h9C\h08\h09\h06\h6C\h02\h6A\h5A\h0F \h25y\h8A\h08\h09\h06\h6C\h02 \h01 \h403 \h8A\h12

#org @text4
= How is the egg doing?

#org @text5
= Sigh.\lI suppose that you have other things\lto do than to help an old man.\nI'll still be here if you decide you want\lthe egg.

#org @text6
= Oh? You have no room to take it.


So exactly where am I screwing up?
While I work with XSE, the random line '\h6A\h5A\h0F \h91\h0D\h9C\h08\h09\h06\h6C\h02\h6A\h5A\h0F \h25y\h8A\h08\h09\h06\h6C\h02 \h01 \h403 \h8A\h12' is most likely there because your script was incorrectly inserted/ edited and is now conflicting with the data of the ROM or another script.

Quote:
Originally Posted by >Entei< View Post
Yes I have, and it only shows bits and pieces of it. The Jirachi Egg is added to the party, but then the event is repeatable.
You've got the command 'checkflag 0x200' in the @code2 part of your script, but I can't see where you have set that flag in the script. Even if you did have the flag set, it would display the 'Excuse me.\nI found this egg' text before you reached the checkflag command, which would be really strange.

Anyway, the script should look more like this:

Code:
#dyn 0x740000
#org @start
lock
faceplayer
checkflag 0x200
if 0x1 jump @end
msgbox @text ' Excuse me.\nI found...
callstd MSG_YESNO
...
 
#org @code2
lock
setflag 0x200
giveegg Jirachi
countpokemon
__________________

Don't forget.
Always, somewhere,
someone is fighting for you.
--As long as you remember her,
you are not alone.
Reply With Quote
  #4925    
Old November 19th, 2010, 05:32 PM
Teh Blazer's Avatar
Teh Blazer
Divider of Zero
 
Join Date: Feb 2009
Location: 'MERICA
Age: 18
Gender: Male
Nature: Relaxed
Is there a buffer for your rival's pokemon?
__________________
Coming soon...
Reply With Quote
Reply
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 09:10 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.