![]() |
Quote:
OR, you can take the easy route, insert Jambo's ASM from the Research be Development section to allow Pre-Battle Mugshots. You can do this for any battle and even customize the palette. |
Quote:
|
Guys, lately, none of my scripts will compile right, as when I compile then on XSE, they don't show up when I check them. here is my most recent script:
[spoiler] #dynamic 0x1C5BA8 #org 0x1C5BA8 #org @1C5BA8 lock faceplayer msgbox @1 0x4 pokemart @items msgbox @2 0x6 release end #org @items #raw word 0x13 #raw word 0x22 #raw word 0x21 #raw word 0x20 #raw word 0x19 #raw word 0x63 [\spoiler] |
Quote:
Next, you have duplicated your static org (#org 0x1C5BA8 and #org @1C5BA8). You do not need #org 0x1C5BA8. Also, #org @1C5BA8 cannot be labelled with an offset (@1C5BA8). You need to replace @1C5BA8 with a human word such as @start. Pokemart normally follows this form (you do not need a type, such as 0x6, in msgintro): preparemsg @msgintro waitmsg pokemart @values msgbox @msgbye 0x4 Finally, you need to define your messages in a similar way uou have defined @items, so for example: #org @1 = Hey, I sell potions and Pokeballs.\pWhat would you like? I've marked the corrections in red. Spoiler:
|
Quote:
EDIT: The message works fine, but then it freezes. The music still plays but the man doesn't show the items list. |
FSF is not giving you a 800000+ because there is random free space of different size in many parts of the ROM but the safest and largest free space start at 0x720000 iirc, in FireRed that is. You can specify to FSF the offset where it should start searching from. But you don't need FSF when using XSE.
For a market script I advice you to use an original mart script as a base. There are specials u need to call in the script, especially if TMs are in that mart. |
Rom : Fire Red
I want to dont let the player leave the house without talking to mom or pc(flag 0x1001 and flag 0x1000) or if you didnt pick up 1,2 or 3 items (flag 0x1002,0x1003,0x1004) but when i use it the game freezes... (sorry for bad english). Spoiler:
|
Quote:
Number two, I'd like to point you to this thread (http://www.pokecommunity.com/showthread.php?t=302347) and go to the "script tile" part and if you haven't, read it. it usually solves a lot of problems with script tiles not working right. |
i changed to
Spoiler:
but still not working... nevermind, im new. if anyone could help me with this script i would really appreciate |
Quote:
Code:
Code:
Code:
Code:
I'd suggest having a look here: pokecommunity.com/showthread.php?t=279345, he covers all the basic stuff you need to know :) |
@pointeroo, the only flags save to use in FireRed are flags between 0x200 and 0x2FF, inclusive. There are a few others safe to use but you should read the thread Tah Blazer linked you!
The flags you are using in your script are not safe to use at all. So, do something like this: Code:
|
I've edited this script. Now when I put "0xFFFF" I'm referring to the flag, I think. Here's the script:
Quote:
|
Quote:
A few things are missing, such as the message string for "msgbox @1 0x5" and "msgbox @no 0x6" so the game won't even have a message to point to. I also noticed you checked for the same variable when checking if the player was lying or not. You have to make the variables different to correlate to the different pokemon because then the game wouldn't know if you were lying or not. If all three starters were assigned the value 0x1, then there would be no way to tell the difference between them. The messageboxes for the enjoy_[starter] all are missing the 0x(something) at the end of them. And you forgot to set the flag that you checked for in the beginning so the player could loop the script as much times as they wanted for infinite Mega stones. Lastly, at the end of all of your "#org @[starter]_yes", you forgot to put the "release" and "end" commands to tell the game the script was finished. All in all, these are just small things you could pick up if you tried to compile it in XSE since it'll tell you what you're missing. Don't be afraid to compile and test it out in-game, that's the only way to make sure your script works. |
Quote:
1) What exactly is the variable check? Is it "compare 0xFFFF 0x1" (basically any 4-digit number)? If so, then do I change the 0xFFFF or the 0x1? I've also noticed that there is a "compare 0x800D 0x1" command. I'm still confused on variables, but could you tell me which is the variable? 2) Here's the opening: Quote:
3)When you mentioned the "0x(something)" after the "enjoy_[starter]," do I just place a random UNUSED number or a certain variable? |
My script doesn't work. It won't even read the first question. Can somebody help me out?
Quote:
|
Quote:
2) You're gonna want to place the setflag at the end of the script. If you did it right where you placed the setflag currently, you could still loop for infinite mega stones as the setflag command is only triggered once you say no to the initial question. You're gonna want to place a setflag at the end of the scripts where you give the mega stone to the player, one each for the bulbasaur, charmander, and squirtle. 3) Nono, I meant that the line: "msgbox @enjoy_bulba" was missing an 0x6 after it, like a normal textbox thing. You're also missing one for the same ones in the charmander and squirtle lines. 4) This is regarding your new post. Just to make sure, the "checkflag 0xFFFF" isn't actually 0xFFFF but a real flag, right? Could you post your current script pre-inserted? |
Quote:
Quote:
|
The amount of safe variables one can use is extremely limited. Either use one variable that contains either 1, 2 or 3 depending on the chosen starter, or use 3 different flags instead of 3 different values. You are wasting 3 variables in 1 tiny script.
|
Quote:
|
Quote:
In other words: Flags- Set a flag during the script when you got the pokemon and then check for that flag later on in this script instead of comparing variables. These all have to be different flags from eachother as flags only have an "on" and "off" value to them. Variables- Set a number to a variable during the script when you got the pokemon and then check for that number later on in the script. This is slightly harder as the concept is more abstract, but you're basically assigning value to a certain area (the area is the first part of the "setvar" command and the number you're giving it is the second part of the "setvar" command) And you still haven't moved the setflag (not "set flag" like you have in your script, it has to be one word) to after the player is given the item, as you want the game to set the flag after they received the item so they can't get more. And on the note of setflag, you're gonna need to use a real flag and not FFFF. The thread I linked you to in the last page had a section about the flags and variables that are safe to use so you can pick one form there. |
Quote:
Quote:
|
Quote:
|
Quote:
setvar 0x4011 0x1 You're changing the first number on there, but not the second. What we're talking about is changing the 0x1 to, say, 0x2 or 0x3 or even 0x0 as they're all different values but for the same variable. Changing the value of the variable allows us to use a variable like a flag, except there's more than just whether it is set or not. Flags are limited to only being on or off, but you can make a variable any number you want it to be so it's far more flexible. |
Quote:
|
Quote:
|
| All times are GMT -8. The time now is 2:55 AM. |
![]()
© 2002 - 2018 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2016 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.
Acknowledgements
Use of PokéCommunity Assets
vB Optimise by DragonByte Technologies Ltd © 2023.