Go Back   The PokéCommunity Forums > Creative Discussions > Game Development > Pokémon Essentials
Reload this Page [Question] Is there a script that pauses all events/autotiles/animations

Notices
For all updates, view the main page.

Pokémon Essentials All questions and discussion about Pokémon Essentials, the Pokémon game kit for RPG Maker XP, go in here. Also contains links to the latest downloads and the Essentials Wiki.



Reply
 
Thread Tools
  #1    
Old January 1st, 2014 (02:14 PM). Edited January 1st, 2014 by Rayd12smitty.
Rayd12smitty's Avatar
Rayd12smitty
Shadow Maker
 
Join Date: Dec 2011
Gender: Male
Is there a script I can call the will pause/lock all events/movement in general on the screen? If not, can someone point me in the right direction to make one?

Thanks

Edit

I figured it out if anyone else wants/needs this.

In Scene_Map I did this
Code:
def updateMaps
    for map in $MapFactory.maps
      map.update if $game_switches[106]==false
    end
    $MapFactory.updateMaps(self)
  end
I added the if statement.
__________________
Reply With Quote
  #2    
Old January 1st, 2014 (02:39 PM).
venom12's Avatar
venom12
Pokemon Crystal Rain Relased
 
Join Date: Sep 2006
Age: 24
Gender: Male
Nature: Adamant
Send a message via Windows Live Messenger to venom12
I using this script and it works fine fo me.
Spoiler:
Code:
#==============================================================================
# ** Pausing with F12
#------------------------------------------------------------------------------
# Zeriab
# Version 1.1
# 2009-05-25 (Year-Month-Day)
#------------------------------------------------------------------------------
# * Version History :
#
#   Version 1.0 -------------------------------------------------- (2009-05-22)
#   - First release
#
#   Version 1.1 -------------------------------------------------- (2009-05-25)
#   - The pause image now appears immediately when F12 is pressed.
#   - Transitions are cut short rather than restarted when F12 is pressed.
#------------------------------------------------------------------------------
# * Description :
#
#   This script changes the functionality of pressing F12 during the game
#   from resetting the game to (un)pausing the game. A picture is displayed 
#   while the game is paused. (Having a picture is optional)
#------------------------------------------------------------------------------
# * License :
#
#   Copyright (C) 2009  Zeriab
#
#   This program is free software: you can redistribute it and/or modify
#   it under the terms of the GNU Lesser Public License as published by
#   the Free Software Foundation, either version 3 of the License, or
#   (at your option) any later version.
#
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU Lesser Public License for more details.
#
#   For the full license see <http://www.gnu.org/licenses/> 
#   The GNU General Public License: http://www.gnu.org/licenses/gpl.txt
#   The GNU Lesser General Public License: http://www.gnu.org/licenses/lgpl.txt
#------------------------------------------------------------------------------
# * Compatibility :
#
#   Is most likely not compatible with other F12 prevention scripts.
#------------------------------------------------------------------------------
# * Instructions :
#
#   Place this script anywhere above main.
#   The image file 'pause' present in Graphics/Pictures is used.
#   Note: No picture is shown if there is no 'pause' in Graphics/Pictures.
#==============================================================================

#=============================================================================
# ** Reset class (because it won't be defined until F12 is pressed otherwise)
#=============================================================================
class Reset < Exception
  
end
#=============================================================================
# ** Module Graphics
#=============================================================================
module Graphics
  class << self
	#-------------------------------------------------------------------------
	# * Aliases Graphics.update and Graphics.transition
	#-------------------------------------------------------------------------
	unless self.method_defined?(:zeriab_f12_pause_update)
	  alias_method(:zeriab_f12_pause_update, :update)
	  alias_method(:zeriab_f12_pause_transition, :transition)
	end
	#-------------------------------------------------------------------------
	# Change the update method so F12 toggles pause
	#-------------------------------------------------------------------------
	def update(*args)
	  # Try to update normally
	  begin
		zeriab_f12_pause_update(*args)
		return
	  rescue Reset
		# Do nothing
	  end
	  # F12 has been pressed
	  done = false
	  # Store frame count
	  frame_count = Graphics.frame_count
	  # Show pause image
	  @sprite = Sprite.new
	  @sprite.z = 9999
	  begin
		@sprite.bitmap = RPG::Cache.picture('pause')
	  rescue
		@sprite.bitmap = Bitmap.new(32,32)
	  end
	  # Keep trying to do the update
	  while !done
		begin
		  zeriab_f12_pause_update(*args)
		  done = true
		rescue Reset
		  # Do Nothing
		end
	  end
	  # F12 has been released, update until it is pressed again
	  while done
		begin
		  zeriab_f12_pause_update(*args)
		rescue Reset
		  done = false
		end
	  end
	  # F12 has been pressed, keep trying to update
	  while !done
		begin
		  zeriab_f12_pause_update(*args)
		  done = true
		rescue Reset
		  # Do nothing
		end
	  end
	  # F12 has been released, dispose pause image
	  @sprite.dispose
	  # Set proper frame count
	  Graphics.frame_count = frame_count
	end
	#-------------------------------------------------------------------------
	# Changes the transition so it is cut short if F12 is pressed
	#-------------------------------------------------------------------------
	def transition(*args)
	  done = false
	  # Keep trying to do the transition
	  while !done
		begin
		  zeriab_f12_pause_transition(*args)
		  done = true
		rescue Reset
		  # Set transition length to 0 frames.
		  args[0] = 0
		end
	  end
	end
  end
end
Reply With Quote
  #3    
Old January 1st, 2014 (03:16 PM).
Rayd12smitty's Avatar
Rayd12smitty
Shadow Maker
 
Join Date: Dec 2011
Gender: Male
Sorry I guess I wasn't too clear :/ my bad. I only want to pause events/animations in the OVERWORLD. Everything else needs to still function...
__________________
Reply With Quote
  #4    
Old January 1st, 2014 (06:34 PM).
Stochastic's Avatar
Stochastic
 
Join Date: Dec 2013
Gender: Male
I guess you could stop updating all the events, if that's what you're aiming for. This can be done by changing the condition in line 421 in Game_Map_ (or just Ctrl-Shift-F search for "event.update").

Old: "if in_range?(event) or event.trigger == 3 or event.trigger == 4"
New: "if !$game_switches[69] && (in_range?(event) or event.trigger == 3 or event.trigger == 4)"

Now if you want to freeze all events just set the switch with id 69 on. You can change this number, but make sure nothing else in the game uses this switch. Also, this will only stop the events from walking, but you'll still be able to talk with them. Hope this helps!
__________________


Reply With Quote
  #5    
Old January 1st, 2014 (08:04 PM).
Rayd12smitty's Avatar
Rayd12smitty
Shadow Maker
 
Join Date: Dec 2011
Gender: Male
Quote originally posted by Stochastic:
I guess you could stop updating all the events, if that's what you're aiming for. This can be done by changing the condition in line 421 in Game_Map_ (or just Ctrl-Shift-F search for "event.update").

Old: "if in_range?(event) or event.trigger == 3 or event.trigger == 4"
New: "if !$game_switches[69] && (in_range?(event) or event.trigger == 3 or event.trigger == 4)"

Now if you want to freeze all events just set the switch with id 69 on. You can change this number, but make sure nothing else in the game uses this switch. Also, this will only stop the events from walking, but you'll still be able to talk with them. Hope this helps!
Thanks so much! This is a great start. Now I don't suppose you would know how to do the same with fogs and auto tiles?
__________________
Reply With Quote
Reply
Quick Reply

Sponsored Links
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are UTC -8. The time now is 08:54 PM.