• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Which Pokémon Masters protagonist do you like most? Let us know by casting a vote in our Masters favorite protagonist poll here!
  • Red, Hilda, Paxton, or Kellyn - which Pokémon protagonist is your favorite? Let us know by voting in our poll!
  • 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.

Move Pkm to Box silent

  • 27
    Posts
    12
    Years
    Hello everyone, im working with the Pkm Essentials since some months and im right now at a point where i cant find any answer.
    I searched Google and more about that... no answer found...
    First 1 would be: Is there a way to add every Pokemon from Party to PC silently?
    Like:

    • $Trainer.party.delete_at(5)
    • $Trainer.party.delete_at(4)
    • $Trainer.party.delete_at(3)
    • $Trainer.party.delete_at(2)
    • $Trainer.party.delete_at(1)
    • $Trainer.party.delete_at(0)
    But i dont want to get them deleted i just want to move them to Box.
     
    Hey, thanks for answer.

    Well exactly i want to talk to NPC and he let me port to another Map but including removing my pokemon so i have to restart there. BUT... Not deleted them. I just want to store them inside Box.
     
    Okay, I figured that was what you wanted it for since I had the same thing in a past game.
    I'm not sure if there is a less messy way to do this, but here's how I did it back then.

    First things first, create a switch called "Force Storage"... Since you'll need to know what this switch represents.

    In the script section, search "was transferred to box" within PokemonUtilities.

    You should see:
    Code:
        if storedbox!=oldcurbox
          if creator
            Kernel.pbMessage(_INTL("Box \"{1}\" on {2}'s PC was full.\1",curboxname,creator))
          else
            Kernel.pbMessage(_INTL("Box \"{1}\" on someone's PC was full.\1",curboxname))
          end
          Kernel.pbMessage(_INTL("{1} was transferred to box \"{2}.\"",pokemon.name,boxname))
        else
          if creator
            Kernel.pbMessage(_INTL("{1} was transferred to {2}'s PC.\1",pokemon.name,creator))
          else
            Kernel.pbMessage(_INTL("{1} was transferred to someone's PC.\1",pokemon.name))
          end
          Kernel.pbMessage(_INTL("It was stored in box \"{1}.\"",boxname))
        end
    Change it to this.
    Code:
        if storedbox!=oldcurbox
          if creator && $game_switches[[COLOR="Red"]x[/COLOR]]==false
            Kernel.pbMessage(_INTL("Box \"{1}\" on {2}'s PC was full.\1",curboxname,creator))
          elsif $game_switches[[COLOR="red"]x[/COLOR]]==true
            #
          else
            Kernel.pbMessage(_INTL("Box \"{1}\" on someone's PC was full.\1",curboxname))
          end
          Kernel.pbMessage(_INTL("{1} was transferred to box \"{2}.\"",pokemon.name,boxname))
        else
          if creator && $game_switches[[COLOR="red"]x[/COLOR]]==false
            Kernel.pbMessage(_INTL("{1} was transferred to {2}'s PC.\1",pokemon.name,creator))
          elsif $game_switches[[COLOR="Red"]x[/COLOR]]==true
            #
          else
            Kernel.pbMessage(_INTL("{1} was transferred to someone's PC.\1",pokemon.name))
          end
          Kernel.pbMessage(_INTL("It was stored in box \"{1}.\"",boxname))
        end
    Where X is the number of your newly created switch.

    Then to send Pokémon to PC forcefully...
    use in the event.
    Script.
    pokemon=$Trainer.party[0]
    pbStorePokemon(pokemon)


    Now, the 0 here means position 1... Make a check in the event to check how many Pokémon in your team and then use conditional branches: $Trainer.party.length==X
    Where X is a number from 1-6.
    And in each one put that script the amount of times = to the amount of Pokémon in the team...
    Turn the switch On when you enter the event, and Off at the end.

    EDIT:
    This only clones a Pokémon, do not use this, this is here for reference only, to a past error.
     
    Last edited:
    Awesome. Big thanks =) I gonna add it tonight and check if its working. I tried since weeks and never got success because i didnt changed the exist code just checked if i can use the aviable codes.

    Edit:

    Ok checked and what it does it cloning my pokemon O.o it doesnt even store it inside PC...


     
    Last edited:
    Would you believe I had 2 events sat next to each other and I gave you the wrong one haha.
    remove everything you have done here... So we need to start a fresh... All you need to do in the event is:

    pokemon=$Trainer.party[0]
    $PokemonStorage.pbStoreCaught(pokemon)
    $Trainer.party.delete_at(0)


    My mistake... Obviously change the number accordingly... Double check, moves, stats, ability etc. However that should work.
    I realized I added comments in the event, saying "this clones the Pokémon, use eventid[3], to force storage... But it's good to know what this does.."
     
    Last edited:
    Would you believe I had 2 events sat next to each other and I gave you the wrong one haha.
    remove everything you have done here... So we need to start a fresh... All you need to do in the event is:

    pokemon=$Trainer.party[0]
    $PokemonStorage.pbStoreCaught(pokemon)
    $Trainer.party.delete_at(0)


    My mistake... Obviously change the number accordingly... Double check, moves, stats, ability etc. However that should work.
    I realized I added comments in the event, saying "this clones the Pokémon, use eventid[3], to force storage... But it's good to know what this does.."

    Hehe no problem... well seems like im doing something wrong...

    i left the script include the version you gave...

    and then added

    pokemon=$Trainer.party[0]
    $PokemonStorage.pbStoreCaught(pokemon)
    $Trainer.party.delete_at(0)


    Right now after using it i get this:

    Spoiler:
     
    Use the ExtendText.exe located in the folder, move the (pokemon) back up to the original line, or leave it if it moves up... It needs to be on one line, like:
    $PokemonStorage.pbStoreCaught(pokemon)
    That piece of code can be used for other things such as catching a Pokémon and the message will not display, other than that, it's useless.

    EDIT:
    Let me explain what this error means.
    wrong number of arguments(0 for 1)
    Means, you're missing a "thing", it could be a Pokémons name, it could be a Pokémons level, it could be a pancake... Whatever it is... You're missing it... Not only are you missing it, you're missing 1 of it, since it's telling you you have 0 out of 1.
    Within the apostrophes is where it's missing from, in your case pbStoreCaught.
    The code you have, has no "things", if you look:
    Code:
    [COLOR="Blue"]pokemon=$Trainer.party[0][/COLOR]
    [COLOR="blue"]$PokemonStorage.pbStoreCaught[/COLOR]
    [COLOR="blue"](pokemon)[/COLOR]<--- Here's your thing.
    [COLOR="blue"]$Trainer.party.delete_at(0)[/COLOR]
    Where:
    Code:
    [COLOR="Blue"]pokemon=$Trainer.party[0][/COLOR]
    [COLOR="blue"]$PokemonStorage.pbStoreCaught(pokemon)[/COLOR]<--- Your thing needs to be here.
    [COLOR="blue"]$Trainer.party.delete_at(0)[/COLOR]
    Just thought I'd let you know in case this error pops up again, you may be able to find the answer yourself ;)
     
    Last edited:
    Perfect Thank you. I realized that now yeah it was simple @ the wrong place but i couldnt make it fit... now your tip with the extendedText tool... now its working ;) Thank you. Many thanks!
     
    Back
    Top