Conversation Between Turtl3Skulll and Criminon
1 to 6 of 6
  1. Turtl3Skulll
    May 21st, 2015 4:01 PM
    Turtl3Skulll
    Oh wow I feel like an idiot I could have used an external program to see stats.
    The pokeball code works, that's why I'm so confused on why it didn't with the IVs, but maybe its the checkers that aren't working, but the point is it does call the pokemon menu and works with which ever pokemon I use.
    And thanks for your help/knowledge its always good to see that I have a lot of places to improve in.
  2. Criminon
    May 21st, 2015 2:39 PM
    Criminon
    Hey there, I haven't done any IV checks because I have the IV stats show on the pokemon status screen ASM in my game, so I don't really need it. I haven't had a chance to look into it yet. And I haven't touched the pokeball code yet, but it doesn't look like you're bringing up the pokemon select menu with your code. Once you bring up the pokemon select menu (you can see that in my code or you can just google it) then you will need the compare 0x8000 0x0 etc. The way I have it set up, is it brings up the pokemon select menu, then it stores which slot you chose in 8000. Then it copies that variable over to 8004 and thats the variable it uses to give a select pokemon in a select slot a ball. It looks like you're just not selecting the pokemon. You're just having the player select the ball only.
  3. Turtl3Skulll
    May 21st, 2015 1:06 PM
    Turtl3Skulll
    Also, you got be really interested in the IV specials now... so sorry for all the questions, but how is your checker script setup?? Mine will replace the selected pokemon with the last checked pokemon, did this happen to you by any chance??
  4. Turtl3Skulll
    May 21st, 2015 11:41 AM
    Turtl3Skulll
    So I just realized what you did here.... :P
    Spoiler:
    special2 0x800B 0xBA
    compare 0x8000 0x0 ///this is the variable its stored at when you select your pokemon. this judges which one its based off of and then acts accordingly
    if 0x1 goto @one
    compare 0x8000 0x1
    if 0x1 goto @two
    compare 0x8000 0x2
    if 0x1 goto @three
    compare 0x8000 0x3
    if 0x1 goto @four
    compare 0x8000 0x4
    if 0x1 goto @five
    compare 0x8000 0x5
    if 0x1 goto @six
    '---------------


    Although you said it worked, I did it differently with this piece of code:
    Spoiler:
    #org @start
    msgbox @welcome 0x5
    compare LASTRESULT 0x0
    if 0x1 goto @cancel
    special 0x9F
    waitstate
    compare 0x8004 0x6
    if 0x4 goto @cancel

    this was originally a much longer code, but I just took this part out to show you, this was to change the pokeball they are stored in, but when I tried it with IVs is when it selected all the pokemon over the one I selected.

    Here is the entire code for you to test out if it actually works or if it just worked for me, you seem to have more knowledge on how setvar works than I do, so I'll let you see this and maybe see why this one works, thanks for your input its definitively helped me out remembering how this works haha.

    Spoiler:
    #dynamic 0x800000

    #org @start
    msgbox @welcome 0x5
    compare LASTRESULT 0x0
    if 0x1 goto @cancel
    special 0x9F
    waitstate
    compare 0x8004 0x6
    if 0x4 goto @cancel
    showmoney 0x13 0x00 0x00
    setvar 0x8006 0x0
    loadpointer 0x0 @0
    special 0x25
    setvar 0x8006 0x1
    loadpointer 0x0 @1
    special 0x25
    setvar 0x8006 0x2
    loadpointer 0x0 @2
    special 0x25
    setvar 0x8006 0x3
    loadpointer 0x0 @3
    special 0x25
    setvar 0x8006 0x4
    loadpointer 0x0 @4
    special 0x25
    setvar 0x8006 0x5
    loadpointer 0x0 @5
    special 0x25
    setvar 0x8006 0x6
    loadpointer 0x0 @6
    special 0x25
    multichoice 0x0 0x0 0x25 0x0
    copyvar 0x8000 0x800D
    compare 0x8000 0x0
    if 0x1 goto @great_ball
    compare 0x8000 0x1
    if 0x1 goto @ultra_ball
    compare 0x8000 0x2
    if 0x1 goto @luxury_ball
    compare 0x8000 0x3
    if 0x1 goto @premier_ball
    compare 0x8000 0x4
    if 0x1 goto @timer_ball
    compare 0x8000 0x5
    if 0x1 goto @dive_ball
    compare 0x8000 0x6
    if 0x1 goto @cancel_money
    goto @cancel_money

    #org @great_ball
    msgbox @confirm 0x5
    compare LASTRESULT 0x0
    if 0x1 goto @cancel_money
    checkmoney 0x1F4 0x00
    compare 0x800D 0x0
    if 0x1 goto @need_money
    paymoney 0x1f4 0x00
    updatemoney 0x13 0x00 0x00
    special 0x6d
    setvar 0x8005 0x3
    special 0x14
    special 0x6
    msgbox @payed 0x6
    goto @hide_money
    release
    end

    #org @ultra_ball
    msgbox @confirm 0x5
    compare LASTRESULT 0x0
    if 0x1 goto @cancel_money
    checkmoney 0x3E8 0x00
    compare 0x800D 0x0
    if 0x1 goto @need_money
    paymoney 0x3E8 0x00
    updatemoney 0x13 0x00 0x00
    special 0x6
    setvar 0x8005 0x2
    special 0x14
    special 0x6
    msgbox @payed 0x6
    goto @hide_money
    release
    end

    #org @luxury_ball
    msgbox @confirm 0x5
    compare LASTRESULT 0x0
    if 0x1 goto @cancel_money
    checkmoney 0x1F40 0x00
    compare 0x800D 0x0
    if 0x1 goto @need_money
    paymoney 0x1F40 0x00
    updatemoney 0x13 0x00 0x00
    special 0x6
    setvar 0x8005 0xB
    special 0x14
    special 0x6
    msgbox @payed 0x6
    goto @hide_money
    release
    end

    #org @premier_ball
    msgbox @confirm 0x5
    compare LASTRESULT 0x0
    if 0x1 goto @cancel_money
    checkmoney 0x708 0x00
    compare 0x800D 0x0
    if 0x1 goto @need_money
    paymoney 0x708 0x00
    updatemoney 0x13 0x00 0x00
    special 0x6
    setvar 0x8005 0xC
    special 0x14
    special 0x6
    msgbox @payed 0x6
    goto @hide_money
    release
    end

    #org @timer_ball
    msgbox @confirm 0x5
    compare LASTRESULT 0x0
    if 0x1 goto @cancel_money
    checkmoney 0x44C 0x00
    compare 0x800D 0x0
    if 0x1 goto @need_money
    paymoney 0x44C 0x00
    updatemoney 0x13 0x00 0x00
    special 0x6
    setvar 0x8005 0xA
    special 0x14
    special 0x6
    msgbox @payed 0x6
    goto @hide_money
    release
    end

    #org @dive_ball
    msgbox @confirm 0x5
    compare LASTRESULT 0x0
    if 0x1 goto @cancel_money
    checkmoney 0x384 0x00
    compare 0x800D 0x0
    if 0x1 goto @need_money
    paymoney 0x384 0x00
    updatemoney 0x13 0x00 0x00
    special 0x6
    setvar 0x8005 0x7
    special 0x14
    special 0x6
    msgbox @payed 0x6
    goto @hide_money
    release
    end

    #org @hide_money
    hidemoney 0x10 0x00
    release
    end

    #org @need_money
    msgbox @no_money 0x6
    goto @hide_money
    release
    end

    #org @cancel_money
    msgbox @exit 0x6
    goto @hide_money
    release
    end

    #org @cancel
    msgbox @exit 0x6
    release
    end


    '-------
    'Strings
    '-------
    #org @welcome
    = Welcome to the Pokeball Mart. \nWould you like to change your \lPokemons storage unit?

    #org @exit
    = Come back any time.

    #org @no_money
    = Sorry, but you don't have enough \nmoney.

    #org @confirm
    = Are you sure?

    #org @payed
    = There you go. \pCome back soon.

    '--------
    'Pointers
    '--------
    #org @0
    = Great Ball \hB7500

    #org @1
    = Ultra Ball \hB71000

    #org @2
    = Luxury Ball \hB78000

    #org @3
    = Premier Ball \hB71800

    #org @4
    = Timer Ball \hB71100

    #org @5
    = Dive Ball \hB7900

    #org @6
    = Exit
  5. Criminon
    May 20th, 2015 5:35 PM
    Criminon
    setvar 0x8004 0x0= first party member
    0x1 = second
    0x2 third

    etc etc etc. that variable is just to let the game know which party slot you're modding. Works the same with other select pokemon codes like naming etc.
  6. Turtl3Skulll
    May 20th, 2015 2:55 PM
    Turtl3Skulll
    Hey, I didn't want to fill the thread by asking you questions :P
    You said that "setvar 0x8004 0x1" was the fix, did you mean taking it out, or using it, since you had that in your original script.
    If you didn't mind, I'd like to see the code, even if its just the main part that grabs the pokemon correctly.