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

Script: Walk In Storage Boxes

308
Posts
4
Years
  • Walk-In Storage Boxes with Overworld Pokemon - by derFischae (Credits if used please)

    This script is for Pokémon Essentials v20 and v20.1 (for short PEv20).
    VERSION-NUMBER: v0.0.1

    Every storage box has an representation as a map, where you can walk in as the player and see your caught pokemon move as overworld pokemon and interact with them.


    FEATURES
    • You can create maps where your caught pokemon live and run around
    • Pokemon play their cry when touched

    INSTALLATION
    • Add Graphics: Either get the resources from Gen 8 Project https://reliccastle.com/resources/670/
      and install the "Graphics/Characters" folder in your game file system.
      Or you place your own sprites for your pokemon/fakemon with the right names in your "\Graphics\Characters\Follower" folder and your shiny sprites in your "\Graphics\Characters\Follower shiny" folder.
      The right name of sprites is:
      usual form - SPECIES.png where SPECIES is the species name in capslock (e.g. PIDGEY.png)
      alternate form - SPECIES_n.png where n is the number of the form (e.g. PIKACHU_3.png)
      female form - SPECIES_female.png or SPECIES_n_female (e.g. PIDGEY_female.png or PIKACHU_3_female.png)
    • Create Maps: build and design a map for each storage box and keep the corresponding map ids in mind . Also make sure that these maps are accessible for the player and connected to the ordinary maps, somehow.
    • Add Script: Go to https://github.com/VisibleOverworldWildEncounters/Walk-In-Storage-Boxes and install the folder in you plugins folder.
    • Change Settings: Open the settings.rb file in the folder and write down the map ids in the parameter STORAGE_MAPS and change the parameters in the settings section therein as you like. Details descriptions about the parameters can be found there as well.
    • Enjoy!
     
    15
    Posts
    6
    Years
    • Seen Nov 21, 2023
    I was in the middle of working on something similar, this is great!

    When it comes to them being tied to Storage, does that include the player party?
     
    211
    Posts
    7
    Years
    • Seen yesterday
    I got this error if start a new game
    nm.png
     
    308
    Posts
    4
    Years
  • About a map_id in setting,
    I still confuse how to insert ID map in the setting
    Can you give me a example?

    there is an example in the settings.rb file. This example adds pokemon from box with number 0 to the map with id 5. The spawn positions are on the diagonal tiles [x,y]=[0,0], [1,1], [2,2], etc. You find the map-id in the map properties in the map editor.
     
    211
    Posts
    7
    Years
    • Seen yesterday
    there is an example in the settings.rb file. This example adds pokemon from box with number 0 to the map with id 5. The spawn positions are on the diagonal tiles [x,y]=[0,0], [1,1], [2,2], etc. You find the map-id in the map properties in the map editor.

    I have try to follow like on example,
    Maybe you can correct if I'm wrong...
    In settings :
    Spoiler:

    And I'm getting error' like this
    Spoiler:


    Note : for 7 in maps_id, that's a my first Route on map..
     
    308
    Posts
    4
    Years
  • I have try to follow like on example,
    Maybe you can correct if I'm wrong...
    In settings :
    Spoiler:

    And I'm getting error' like this
    Spoiler:


    Note : for 7 in maps_id, that's a my first Route on map..

    Oh no, for every map, seperately, you have to copy and paste the whole register-block and change it to the new settings (i.e. map-id, storage-box etc.)
    Code:
    GameData::StorageMap.register({
      :id              => :Box1,
      :id_number       => 1,
      :name            => _INTL("Box 1"),
      :storage_box     => 0,
      :map_id          => 7,
      :spawn_positions => [[0,0],[1,1],[2,2],[3,3],[4,4],[5,5],[6,6],[7,7],[8,8],[9,9],[10,10],[11,11],[12,12],[13,13],[14,14],[15,15],[16,16],[17,17],[18,18],[19,19]],
    })
    
    GameData::StorageMap.register({
      :id              => :Box2,
      :id_number       => 2,
      :name            => _INTL("Box 2"),
      :storage_box     => 1,
      :map_id          => 12,
      :spawn_positions => [[0,0],[1,1],[2,2],[3,3],[4,4],[5,5],[6,6],[7,7],[8,8],[9,9],[10,10],[11,11],[12,12],[13,13],[14,14],[15,15],[16,16],[17,17],[18,18],[19,19]],
    })
    
    GameData::StorageMap.register({
      :id              => :Box3,
      :id_number       => 3,
      :name            => _INTL("Box 3"),
      :storage_box     => 2,
      :map_id          => 14,
      :spawn_positions => [[0,0],[1,1],[2,2],[3,3],[4,4],[5,5],[6,6],[7,7],[8,8],[9,9],[10,10],[11,11],[12,12],[13,13],[14,14],[15,15],[16,16],[17,17],[18,18],[19,19]],
    })
     
    5
    Posts
    7
    Years
    • Seen Jul 2, 2023
    how great for interactions! One question: can I send different boxes to the same map? or should it be a map for each box?
     
    2
    Posts
    9
    Years
    • Seen Jun 11, 2023
    Love this! Is perfect for the game I'm making! Thanks! <3

    Just one question: after playing the cry the Pokémon stops moving and stays in place until the map is refreshed. Is this the normal behavior or the Pokémon should resume walking after the interaction?
     
    163
    Posts
    7
    Years
    • Seen today
    Hi! While this script works in 21.1 it may have some compatibility issues. In my project every time I went out to a particular map (not those linked to this storage map) portions of the tilesets looked transparent and then "repaired" as they went off screen, on returning to the area the problem is resolved. In this regard, not knowing what was going on, I pulled all my plug ins and the only one generating the problem was this one. Is there any way to fix it? Are there plans to do an update? I will try to keep an eye on it anyway.
     
    26
    Posts
    9
    Years
    • Seen Nov 14, 2023
    is there a way to have an event run if a specific pokemon is present on the map from this script?
     
    308
    Posts
    4
    Years
  • is there a way to have an event run if a specific pokemon is present on the map from this script?

    Yes you can. For instance, you can create an event that searches for all gameEvents on the map. An gameEvent that is the representation of the a pokemon in your storage is of the type Game_BoxPokemonEvent and stores its pokemon under gameEvent.pokemon whose species for example is gameEvent.pokemon.species.
     
    Back
    Top