RPG Maker Forums

I recently found Pk8's move during messages script, which is amazing because it allows the player to move during messages, while also activating events with the action button, which other scripts are unable to do.

There is a problem, however. There are still times on a map when I want to autorun an event or PREVENT the player from moving (a cutscene within a map for example). With this script, however, player movement is ENABLED no matter what when messages are running, even during auto run. Yanfly has a disable player from moving switch, but it isn't compatible with this script.

Forgive my lack of knowledge with coding, but I feel there is probably a simple way to add a line or two to this script to assign a switch to it in order to activate it or de-activate it. This way, you could turn it off right before a cutscene and prevent player movement.

ANY help at all would be greatly appreciated!

Below is the script:
----------------------------------------------------

Code:
=begin
 
 Move During Messages v1.1S
 by PK8
 Created: 5/22/2012
 Modified: 5/25/2012
 Coverted for VXAce by Roninator2 on 19 Jan 2019
 ------------------------------------------------------------------------------
 ¦ Author's Notes
   This script was originally made as an event system around the
   18th of October, 2005, purely out of accident. I was attempting to make a
   very quick Pacman-esque demo (I forgot why), and came across player
   characters moving around via move route while a message window was visible
   during a test play completely by accident.
 
   A few modifications to the event system and 7 years later, that system is
   now a script.
 ------------------------------------------------------------------------------
 ¦ Introduction
   Move During Messages allows players to... well, move during messages.
 ------------------------------------------------------------------------------
 ¦ Features
   o Players can move during messages.
   o Creators can set which maps enables/disables it.
   o Creators can set how far the player can move while a message is being
     displayed.
   o Set multiple maps at once using ranges. (New to v1.1S)
 ------------------------------------------------------------------------------
 ¦ Changelog
   o v1E    (10/18/2005): Event System initially released.
   o v2E    (11/14/2008): v2 released.
   o v1S    (05/22/2012): It's now a script.
   o v1.1S  (05/25/2012): Now users can set ranges, streamlining the process
                          of setting which maps (dis)allows moving during
                          messages.
 ------------------------------------------------------------------------------
 ¦ Methods Aliased
   Game_Player.update
 
=end
 
#==============================================================================
# ** Configuration
#==============================================================================
 
module PK8
  class Dialogue_Move
    #--------------------------------------------------------------------------
    # * General Settings
    #--------------------------------------------------------------------------
    Switch = true         # If TRUE, script is on. If FALSE, script is off.
 
    #--------------------------------------------------------------------------
    # * Map Settings
    # Integers, ranges, and nil values are allowed to be used in the array.
    #--------------------------------------------------------------------------
    Map_IDs = [1,2,3]
    Map_IDs_Flag = false # If TRUE, occurs in all maps but those specified.
                         # If FALSE, occurs in specified maps.
 
    #--------------------------------------------------------------------------
    # * Radius Settings
    #--------------------------------------------------------------------------
    Radius_Flag = true   # If TRUE, players get a limit on how far they can move
                         # while messages are visible. If FALSE, doesn't apply.
    Radius_X = 3         # Set how far players can move horizontally. (In tiles)
    Radius_Y = 3         # Set how far players can move vertically. (In tiles)
 
    #--------------------------------------------------------------------------
    # * Do Not Modify
    #--------------------------------------------------------------------------
    if Map_IDs.include?(nil)
      load_data("Data/Mapinfos.rxdata").keys.each { |item| Map_IDs.push(item) }
      Map_IDs.delete(nil)
    end
    Map_IDs.each { |item|
      if item.is_a?(Range)
        for i in item; Map_IDs.push(i); end
        Map_IDs.delete(item)
      elsif item.is_a?(Array)
        item.each { | i |
          if i.is_a?(Integer); Map_IDs.push[i]
          elsif i.is_a?(Range); for i2 in i; Map_IDs.push[i2]; end
          end
        }
        Map_IDs.delete(item)
      end
    }
    Map_IDs.compact
  end
end
 
#==============================================================================
# ** Game_Player
#------------------------------------------------------------------------------
#  This class handles the player. Its functions include event starting
#  determinants and map scrolling. Refer to "$game_player" for the one
#  instance of this class.
#==============================================================================
 
class Game_Player < Game_Character
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------
  alias_method(:pk8_dialoguemove_update, :update)
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    pk8_dialoguemove_update
    if PK8::Dialogue_Move::Switch == true
      if ((PK8::Dialogue_Move::Map_IDs.include?($game_map.map_id) and
      PK8::Dialogue_Move::Map_IDs_Flag == false) or
      (!PK8::Dialogue_Move::Map_IDs.include?($game_map.map_id) and
      PK8::Dialogue_Move::Map_IDs_Flag == true))
        @mdm_position = [@x, @y] if @mdm_position == nil
        if $game_message.busy? and !moving?
          case Input.dir4
          when 2
            if PK8::Dialogue_Move::Radius_Flag == true
              move_straight(2) if @y < @mdm_position[1] + PK8::Dialogue_Move::Radius_Y
            else
              move_straight(2)
            end
          when 4
            if PK8::Dialogue_Move::Radius_Flag == true
              move_straight(4) if @x > @mdm_position[0] - PK8::Dialogue_Move::Radius_X
            else
              move_straight(4)
            end
          when 6
            if PK8::Dialogue_Move::Radius_Flag == true
              move_straight(6) if @x < @mdm_position[0] + PK8::Dialogue_Move::Radius_X
            else
              move_straight(6)
            end
          when 8
            if PK8::Dialogue_Move::Radius_Flag == true
              move_straight(8) if @y > @mdm_position[1] - PK8::Dialogue_Move::Radius_Y
            else
              move_straight(8)
            end
          end
        elsif !$game_message.busy?
          @mdm_position = nil if @mdm_position != nil
        end
      end
    end
  end
end

Latest Threads

Latest Posts

Latest Profile Posts

Our latest feature is an interview with... me?!

People4_2 (Capelet off and on) added!

Just beat the last of us 2 last night and starting jedi: fallen order right now, both use unreal engine & when I say i knew 80% of jedi's buttons right away because they were the same buttons as TLOU2 its ridiculous, even the same narrow hallway crawl and barely-made-it jump they do. Unreal Engine is just big budget RPG Maker the way they make games nearly identical at its core lol.
Can someone recommend some fun story-heavy RPGs to me? Coming up with good gameplay is a nightmare! I was thinking of making some gameplay platforming-based, but that doesn't work well in RPG form*. I also was thinking of removing battles, but that would be too much like OneShot. I don't even know how to make good puzzles!
one bad plugin combo later and one of my followers is moonwalking off the screen on his own... I didn't even more yet on the new map lol.

Forum statistics

Threads
106,035
Messages
1,018,455
Members
137,821
Latest member
Capterson
Top