View Single Post
Old June 3rd, 2013 (8:11 PM). Edited June 5th, 2013 by BlackWhiteRobin.
BlackWhiteRobin's Avatar
BlackWhiteRobin BlackWhiteRobin is offline
    Join Date: Sep 2012
    Age: 19
    Gender: Male
    Nature: Quirky
    Posts: 539
    Originally Posted by Zemekis View Post
    I've read that at least 5 times already, I just need somebody to tell me directly how to do it once and then i'll be able to do it myself in the future.
    Okay. So ummm.... Maybe you were just reading it and NOT understanding it.

    Well here.

    I'll explain.

    Script Tiles

    This is probably the most confusing thing for a beginner: how to use those green s-tiles in A-map.

    Essentially, these tiles will activate the script, which you put in the Script Offset box in the settings, when stepped on. However, it isn't that simple. Look at the picture below:


    You will notice that I circled the boxes for "Var Number" and "Var Value". These are pretty cool. What they allow you to do is prevent a script from running again. As we learned above, vars can be any value up to a little over 65,000. So, what do these have to do with a script running? Well, it is quite simple:

    The script will run, if and only if, the var in the box is equal to the value

    So, let's say you put the var 0x4050 in the space for a var and 0 in the space for the value. Can you guess what happens? If you said that the script will only run if the var 0x4050 is 0, then you are correct.

    Even if you want the script to run every time you step on it, you have to provide a valid var. If you leave the var space blank or at 0, then the script won't run. Just make sure that nothing else changes the var and you will be good.

    Now, if you only want your script to run the first time you step on it, or to not run again, just add this line to the end of your script:

    setvar 0x[valid var] 0x[another number other than the one in the value box]
    (Remember, all vars that haven't ever been used will be at 0 to begin with.)

    So, if we take the situation above where we had the var as 0x4050 and the value at 0 and we don't want the script to run again, simply add this to the end of your script:

    setvar 0x4050 0x1
    Make sense?

    Now, one last thing: the Unknown. As you can see in the image, the Unknown is set to 0003. This is not necessary. I almost never use it, but most people do use it simply for continuity. It is something that Game Freak, or their compiler for that matter, inserted that has no real purpose that has been identified. It is simply a constant whose use is just personal preference.

    Simpler Words:

    Create a Script Tile Event.
    Assign a script to it by putting the offset of your script in the "Script Offset".
    Fill out the "Unknown" Box with 0003.
    Fill out the "Var Number" Box with 4050.
    Test it.
    It works now doesn't it?

    Note: Nobody would've read that 5 times and yet not understand it. (Well, unless you don't know how to read English well, know English grammar well, don't know some spelling etc.)