RMRK is retiring.
Server is paid up for the rest of 2026, but the forum may go after that. See here for more information. Please archive or save anything you would like to keep before 2027.
Main Menu
  • Welcome to The RPG Maker Resource Kit.

[VX]Check for Player in Area[SOLVED]

Started by IXFURU, September 03, 2012, 05:48:37 PM

0 Members and 1 Guest are viewing this topic.

IXFURU

I want to cause some things to happen if a player steps foot in an area.
This is the part of the script I've placed to check it, by calling the $game_player.in_area? method:

  def check_landmark_finding
    for area in $data_areas.values
      lmk = LANDMARKS.keys
      for i in lmk
        if $game_player.in_area?(i.id2name)
          unless $game_iwm.landmarks_found.include?(i)
            RPG::ME.new(LANDMARKS[i][5], 80, 100).play
            @found_window = Window_Found.new(LANDMARKS[i][1])
            @Graphics.wait = FOUND_DURATION
            @found_window.dispose
            $game_iwm.landmarks_found.push(i)
          end
        end
      end
    end
  end


This is the LANDMARK constant hash from which the 'lmk' local variable pulls its information:

  LANDMARKS = {
 
  1 => [77, "Smalltown", 117, 154, 90, "Gameover"],
  2 => [105, "LittleBay Lighthouse", 141, 154, 91, "Mystery", ],
  3 => [65, "CosbyCave", 165, 178, 92, "Item"],
 
  }


The 'landmarks_found' is a public variable in a custom global class.  When a location is found, the id (or key) from the constant hash is supposed to be 'pushed' into the array.  Therefor, I the 'unless' line is used to say, only do this once; if the landmark has already been found, don't do these things.

Anyway, I can't get the script to run properly.  I enter the area and nothing occurs. 

If you need more insight as to the specifics of the custom class or would like a full copy of the script as it stands right now, I'd be happy to oblige.  Thanks for any help you can give me.