• 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.

[Other] Form and forme routines HELP!!!

pokefreak890

The One that will make everything great
853
Posts
9
Years
    • Seen May 18, 2023
    hello you may know me as the dude who released his second beta of the 1460 rombase and know for this beta i plan on doing the TM/HM stuff and formes and even mega evolutions along with it so as of right now im working on the form,forme routine as im trying to do i dont understand how to make it work

    Spoiler:


    so i have a few questions in regard to this

    1.would i need 8 routines for the 3 deoyxs form and the 5 rotom forms.
    2.what does it mean when it says "set var 0x8004 to the desired pokemon's slot and 0x8005 to the new index number, then callasm this routine+1". because i tried putting 410 in the var8004 and at var8005 is 1019 which would be my new index(I think)
    3.how would i callasm this routine.
    4.how would i make the form stuff work in game is there a script i have to give to an overworld such as a rock or rotoms machines? and if so how would that script look like im using MRDS base so i dont know where the callasm is located

    i need alot of help with it and sorry if it all looks i spit some words on a thread but im clueless on how to go about this
     
    Last edited:
    88
    Posts
    13
    Years
    • Seen Jun 18, 2020
    Hi,

    I think this routine need to be called from a script.

    1. No, you just need to compile this routine in your ROM once.

    2. Var 0x8004 must be equal to the Pokemon's slot in your party you want to change (from 0 to 5).

    Var 0x8005 must be equal to the index of the desired Pokemon (if you want to transform your mon in Bulbasaur, you need to write "setvar 0x8005 0x1").

    3. After "setvar 0x8004 0xX" and "setvar 0x8005 0xY", you have to call this routine using "callasm 0x8[Offset of the routine + 1]".

    4. Now, I think you know the answer to this question !

    ;)
     

    pokefreak890

    The One that will make everything great
    853
    Posts
    9
    Years
    • Seen May 18, 2023
    Okay so say I'm doing deoyxs right I put my speed form deoyxs on index 1019 and I want deoyxs to be the one changing form so and I want it to be in the last slot how would the code look like

    The numbers I want to use are

    0x410 deoyxs index that is in PGE
    0x5 for the 6th slot
    0x1019 deoyxs speed form index

    Where exactly do I put the numbers and how would it look like the code I mean
     
    88
    Posts
    13
    Years
    • Seen Jun 18, 2020
    Hum, you need to use a special to check if the Pokemon you want to change is a normal Deoxys. Use special2 0x147, which stores in 0x8005 the Pokemon's index in the slot given in 0x8004, then check if the value of 0x8005 is 410. Be careful, your numbers need to be in hex !

    So, your script will look like :

    Code:
    setvar 0x8004 0x5 'Check the last Pokemon in your party
    special2 0x8005 0x147
    compare 0x8005 0x19A
    if 0x1 goto @transform
    [...]
    end
    
    #org @transform
    setvar 0x8004 0x5
    setvar 0x8005 0x3FB
    callasm 0x[Routine offset + 1]
    [...]
    end
     

    pokefreak890

    The One that will make everything great
    853
    Posts
    9
    Years
    • Seen May 18, 2023
    okay so now im getting this error where it says no org or seek directives were found
    i put a #org and then after that i get another error saying there was no dynamic offset so i put that and it still wont compile? what do i do i dont understand why this is happening
     
    88
    Posts
    13
    Years
    • Seen Jun 18, 2020
    Use static script instead...

    Code:
    #org 0x[OffsetStart]
    setvar 0x8004 0x5 'Check the last Pokemon in your party
    special2 0x8005 0x147
    compare 0x8005 0x19A
    if 0x1 goto 0x8[Transform offset]
    [...]
    end
    
    #org 0x[Transform offset]
    setvar 0x8004 0x5
    setvar 0x8005 0x3FB
    callasm 0x[Routine offset + 1]
    [...]
    end
     

    pokefreak890

    The One that will make everything great
    853
    Posts
    9
    Years
    • Seen May 18, 2023
    okay so i finally got the script to work and i made sure deoyxs was last but when i tested it nothing happened can u please help me with this
     
    Back
    Top