Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

World Map w/indicator request.

Hi. I was wondering if someone could make me a script that displays an image (world map) and then shows you where on the world map you are. It would take the name of the RMXP map ur on, and then based on that name, have an indicator flash over a certain part of the world map and have a box on the bottom that displays the name of the RMXP map. Is this possible??
 
that script doesn't seem to work for me.
When i hit enter in front of the event with "Script:World_Map.new", what happens is that the map does not change, but the first event in the game replays itself. i can't figure out why this is happening. I've matched up every possible thing in my game to the demo, but it still doesn't work....
 
Under def transfer_player, replace the code in Scene_Map with this:
Code:
  #--------------------------------------------------------------------------
  # * Player Place Move
  #--------------------------------------------------------------------------
  def transfer_player
    # Clear player place move call flag
    $game_temp.player_transferring = false
    # If move destination is different than current map
    if $game_map.map_id != $game_temp.player_new_map_id
      # Set up a new map
      $game_map.setup($game_temp.player_new_map_id)
    end
    # Set up player position
    $game_player.moveto($game_temp.player_new_x, $game_temp.player_new_y)
    # Set player direction
    case $game_temp.player_new_direction
    when 2  # down
      $game_player.turn_down
    when 4  # left
      $game_player.turn_left
    when 6  # right
      $game_player.turn_right
    when 8  # up
      $game_player.turn_up
    end
    # Straighten player position
    $game_player.straighten
    # Update map (run parallel process event)
    $game_map.update
    @spriteset = Spriteset_Map.new
    # If processing transition
    if $game_temp.transition_processing
      # Clear transition processing flag
      $game_temp.transition_processing = false
      # Execute transition
      Graphics.transition(20)
    end
    # Run automatic change for BGM and BGS set on the map
    $game_map.autoplay
    # Frame reset
    Graphics.frame_reset
    # Update input information
    Input.update
  end
end
 
Mmm... what about simple events?
Let's say: You set 2 variables - Map X and Map Y.
That would be the position of the indicator on the screen.
Then, just 2 pictures: Map and indicator.
U make an event that shows the picture of the map, and then shows the indicator on it, for 1-2 seconds or till player presses enter.
And for every place (every map/zone) you go, u set an event on autostart wich determines the Map X and Map Y variable so u'll display the indicator on the right place. Isn't it simple?
Tell me if i misunderstood the request, it actually seems too simple to be made with a script...

P.S.: Little hint, never tell a scripter "That doesn't work". It doesn't mean anything. Tell him WHAT doesn't work, why, where, how and every detail you can imagine.
 
I was thinking about using events for it, but i would still need a way to make a window that shows the name of the map.

About the "it still doesn't work", i meant that i was getting the same problem as in my previous post.
 
Uh sorry my fault i didn't look carefully all posts... Mmmm You would also need a window that shows the name of the map, well i think that can be done with a very simple script or call script, but i'm not expert on that.
Anyways for the map and indicator now you know the way.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top