• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Scripting Guide for Beginner Hackers

Status
Not open for further replies.

akash

Pikachu is the best.
21
Posts
16
Years
  • Well ok thanks thethethethe. Man scripting is becoming a bit easy but still can't understand big scripts.
     

    akash

    Pikachu is the best.
    21
    Posts
    16
    Years
  • Hey can anyone tell me whats wrong with this script. It is an item script. Well here it is, the script-

    #org 0x850000
    copyvarifnotzero 0x8000 0xD
    copyvarifnotzero 0x8001 0x1
    callstd 0x6 ' PLAYER found one XXXXXX!
    end

    Thanks in advance.
     

    /Circa

    a face in the clouds.
    881
    Posts
    16
    Years
  • You should stick too asking these in the scrapbox, but i'll do it anyway...

    Code:
    #org $begin
    lock
    faceplayer
    giveitem 0xD 0x1
    message $getitem
    boxset 0x6
    #raw 0x53
    release
    end
    
    #org $getitem
    = You found a XXXXXXX!

    That is a basic item script..
     
    1,104
    Posts
    16
    Years
  • You should stick too asking these in the scrapbox, but i'll do it anyway...

    Code:
    #org $begin
    lock
    faceplayer
    giveitem 0xD 0x1
    message $getitem
    boxset 0x6
    #raw 0x53
    release
    end
    
    #org $getitem
    = You found a XXXXXXX!

    That is a basic item script..

    In Scripted there is no Give Item command. That's why akash's script is written like that. What's written in akash's script is what's done in by giveitem. This is a scriptED tutorial so a some things are going to be different to what you might know, pokescript-wise.

    Hey can anyone tell me whats wrong with this script. It is an item script. Well here it is, the script-

    #org 0x850000
    copyvarifnotzero 0x8000 0xD
    copyvarifnotzero 0x8001 0x1
    callstd 0x6 ' PLAYER found one XXXXXX!
    end

    Thanks in advance.
    Like Crashlink said, you should just have posted this in the script thread in the scrap box, especially since, this has been covered in the tutorial yet.

    But It should be like this.....
    Code:
    copyvarifnotzero 0x8000 0xD
    copyvarifnotzero 0x8001 0x1
    callstd [B]0x0[/B]
     
    230
    Posts
    16
    Years
    • Seen Jan 3, 2010
    Oh, long time, no see, guys.

    I would like to ask you to only post task-related scripts here, or I will ask a moderator to lock up this thread and there will be no guide. Blazikendude, you're right, I didn't put a lock and faceplayer, along with release command in the end, you will now recieve ocassional PMs with guide status. Akash, I have no clue what's wrong with ScriptED, why it isn't working. It happened to me till I didn't turn off the Windows feature mentioned in the troubleshooting. I cannot help you then.

    Please, all of you, stay tuned on updates ;)
     

    akash

    Pikachu is the best.
    21
    Posts
    16
    Years
  • Hi

    Well thanks thethethethe. And martin its ok cuz I downloaded PKSV. Well thanks anyways. HAPPY NEW YEAR.
     
    230
    Posts
    16
    Years
    • Seen Jan 3, 2010
    Happy new year, people! And look forward to the new part! Checkgender and start of tutorial 2!
     
    1,104
    Posts
    16
    Years
  • checkgender 0x*

    Asterisk represents either 0 or 1 where 0 is male, 1 is female.

    Just a little response to this statement. Checkgender only needs one byte to work, A0, If you were to add an extra byte to the end of it, it would just act as a nop and just be wasted space, wouldn't it? It wouldn't really do anything. The compare is supposed to be what checks if it's boy or girl. Like you said 0x0=male, 0x1=female.

    But I guess, I'd better ask, does it work this way too, becasue that's whats important?
     
    230
    Posts
    16
    Years
    • Seen Jan 3, 2010
    Ah, I see. I know what you mean now. It seems that I just misplaced that. *corrects*

    Thanks :)

    And yes, it worked last time I used it that way. But anyway, I have wrong statemet there, and that's what I don't want.

    EDIT/REPOST: The guide was accidentally deleted, a little problem occured. Now... The guide is restored - big thanks to Hiroshi Sotomura for his kindness and mainly for restoration of the guide.

    Checkgender Guide

    You might sometimes need to check if player chose male or female gender in the start. It can be handy when you want to call someone "dude" or "chick" - you know, it would be silly i a boy named e.g. Travis was called "chick" :D No, we cannot let that this way. There is a command that checks gender.

    checkgender

    You need to use compare command again.


    compare LASTRESULT 0x*


    Asterisk represents either 0 or 1 where 0 is male, 1 is female.

    So, look at the example. If you wnat to put this into a script, don't forget to replace 0xoffset with valid offset e.g. 0xB00000

    #org 0xoffset
    lock
    faceplayer

    checkgender
    compare LASTRESULT
    0x1 - if player is female, then
    if 0x1 goto 0xoffset2 - go to offset
    ... - if player is male, script continues normally.
    release
    end


    #org 0xoffset2
    ...
    release
    end


    As you should know basic message commands, I didn't put them into the example. If you want, you can try to make a script and then post it here to be checked.
     
    Last edited:

    TB Pro

    Old-timer
    2,708
    Posts
    19
    Years
  • Okay,
    Here goes!
    I'm a little rusty sooo...
    Spoiler:
     

    /Circa

    a face in the clouds.
    881
    Posts
    16
    Years
  • I think your beginning to understand this...
    I've also realised my old PokeScript scripts didn't work because they were made as ScriptEd scripts xD

    I think it should look like this:

    Code:
    #org 0x800000
    lock
    faceplayer
    checkgender
    compare LASTRESULT 0x1
    goto 0x800200
    boxset 0x06
    message 0x800100
    boxset 0x06
    release
    end
    
    #org 0x800100
    = Hey dude!\n Whats up?
    
    #org 0x800200
    = Hey girl!\n Hows it going?

    I didn't really know where to put the boxsets, so I experimented a little.
     
    230
    Posts
    16
    Years
    • Seen Jan 3, 2010
    You corrected it, but your correction needs a correction, too ;) Don't worry, it won't hurt that much.

    #org 0x800000
    lock
    faceplayer
    checkgender
    compare LASTRESULT 0x1
    if 0x1 goto 0x800200
    message 0x800100
    callstd 0x6
    release
    end

    #org 0x800100
    = Hey dude!\n What's up?

    #org 0x800200
    msgbox 0x800300
    callstd 0x6
    release
    end

    #org 0x800300
    = Hey girl!\n How's it going?

    It is better now. Mainly because you cannot put the goto command pointing directly to a message.
    And I replaced boxsets with callstd. It will sure work with both ways, but I like callstd more :D

    And I know now why there was amistake with the goto command, I forgot to put in the "if" routine. It's fixed in the guide, now.

    And Blazikendude, FORGET EVERYTHING YOU LEARNED WITH POKéSCRIPT TUTORIALS. ScriptED's language is pretty much different so don't mix up the two. It may work in Pokéscript but it WON'T WORK IN SCRIPTED.
     

    /Circa

    a face in the clouds.
    881
    Posts
    16
    Years
  • Thanks for fixing that, I was thinking about if the goto needed an "if", and it bothered me quite a bit xD.
    I can tell that ScriptEd is alot different from PokeScript xD.
     
    230
    Posts
    16
    Years
    • Seen Jan 3, 2010
    And therefore I don't recommend using the two at the same time. You should choose if you want to stay with one or another, and that should be definitive. Personally, I have nothing against Irish Witch, but I don't like the mess Pokéscript caused amongst ScriptEd usera and therefore I strongly recommend to use ScriptEd instead. Everyone who isn't sure how to write out commands in ScriptEd can freely look in this guide and the content will expand with enough feedback.
     

    /Circa

    a face in the clouds.
    881
    Posts
    16
    Years
  • Well, a #raw command is sought of like a hex command, instead of using the proper command in the program, you use a hex code if you don't know the actual command or if it wont work. In all programs there are no movements called ; left, right, up or down. They are #raw's. Atleast that's what I learnt O.o
     

    TB Pro

    Old-timer
    2,708
    Posts
    19
    Years
  • Oh!
    Thank you Carshink!
    You are the only person who atually awnsers my n00bish scripting questions!
    Thank you so much!
    Now are you saying that #RAW commands are movement commands?
    Anyways,
    I thank you so much!
     
    1,104
    Posts
    16
    Years
  • Alright, can I use #raw and specials in ScriptEd?
    That would help me replace commands I don't know.

    Of course. "special" is a command common between both scriptED and pokescript. And #raw can be used in both.
    But Martin² might correct me here... but in pokescript, you can use #raw's like this...
    Code:
    #raw 0x53 0x0F 0x80
    But it needs to be used like this in ScriptED...
    Code:
    #raw 0x53
    #raw 0x0F
    #raw 0x80

    Oh!
    Now are you saying that #RAW commands are movement commands?
    Anyways,
    I thank you so much!

    #raw commands are anything. Movements are #raw's. All commands are #raw's. Let me put it this way. Here's a normal script.
    Code:
    #org 0x800000
    #raw 0x6A
    #raw 0x5A
    #raw 0x0F
    #raw 0x00
    #raw 0x0D
    #raw 0x00
    #raw 0x80
    #raw 0x08
    #raw 0x09
    #raw 0x06
    #raw 0x6C
    #raw 0x02
    This script in #raw's will do the exact same thing as this script below. (I left out pointers)
    Code:
    #org 0x800000
    lock
    faceplayer
    message 0x80000D
    boxset 6
    release
    end
    Scripting in hex is the same as Scripting in #raw's.
     
    Status
    Not open for further replies.
    Back
    Top