Random Common Event Occurence

shaynec1981

Veteran
Veteran
Joined
Jun 10, 2014
Messages
88
Reaction score
21
First Language
English
Primarily Uses
Random Common Event Occurence v1.0
Drykul


Introduction
Basically this acts similar to random battle events only it calls a specified Common Event instead of a battle.

Features
- Process common events at random intervals depending on Region ID.
- Can adjust the % chance per event as well as minimum # of steps required before the event will proc.
- Disable/Enable any particular event by either setting to true/false, a $game_switch, or any other boolean.

Screenshots
No screenshots needed.

How to Use
Simply set up your events in the "Configuration Section", set up your common event in the database, and paint your terrain with the Region ID you specify.

Demo
No Demo Included (I will post one if requested but it's pretty easy to set up and use.)

Script

Code:
=begin  ---------------------------------------------  Random Common Event Occurance v1.0 by Drykul  ---------------------------------------------    Basically this acts similar to random battle events only it calls a specified  Common Event instead of a battle. Simply set up your events below in the  "Configuration Section", set up your common event in the database, and paint  your terrain with the Region ID you specify below.   *Special thanks to Adorna for writing the initial script and giving me the  inspiration for this!   --------------  Compatibility  --------------    The update method in Scene_Map is aliased. Other than that you shouldn't have  any issues with compatibility!   --------------------------------			    ToS  --------------------------------    Completely free to use for commercial and non-commercial with no restrictions.  Just a heads up to me that you're using it would be nice.    --------------  Contacting me  --------------    You can email me at drykul@cloud9studios.net, find me on the  /r/RPGMaker subreddit, I'm shaynec1981 at www.rpgmakerweb.com=end################################################################################class Random_Event_Occuranceattr_reader :reo_region_idattr_accessor :random_eventsattr_accessor :steps_counting  def reo_setup    @random_events =    {######################################################################################## DO NOT EDIT ABOVE THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING ################################# Configuration Section ################################	    # :event_name => [ region id,  #				  % chance of occurance,  #				  enabled/disabled,  #				  common event to run,  #				  minimum number of steps taken to process ],    :test1 => [ 1,			    50,			    true,			    4,			    10 ],        :test2 => [ 2,			    20,			    true,			    5,			    40 ],						    ######################################################################################### DO NOT EDIT BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING #######################################################################################    }  end  def initialize    @regionid = nil    @steps_counting = nil    @numbers_to_proc = []    @steps = 0    reo_setup  end   def encounter_chance(region_id)    for i in @random_events	  if i[1][0] == region_id && i[1][2] == true	    @steps += 1	    chance = rand(101)	    while @numbers_to_proc.size < i[1][1]		  new_num = rand(101)		  if !@numbers_to_proc.include?(new_num)		    @numbers_to_proc[@numbers_to_proc.size] = new_num		  end		   	    end	    if @numbers_to_proc.include?(chance) && @steps >= i[1][4]		  $game_temp.reserve_common_event(i[1][3])		  @steps = 0	    end	  end    end  end   def update    reo_setup    if @regionid != $game_map.region_id($game_player.x, $game_player.y)	  @regionid = $game_map.region_id($game_player.x, $game_player.y)	  @steps = 0    end    encounter_chance(@regionid)    @numbers_to_proc.clear  end end################# UPDATED SCENE_MAP ############################################class Scene_Map < Scene_Base   alias random_event_occurance_map_update update  def update    random_event_occurance_map_update    for i in $reo.random_events	  if $game_map.region_id($game_player.x, $game_player.y) == i[1][0]	    if $reo.steps_counting != $game_party.steps		  $reo.steps_counting = $game_party.steps		  $reo.update	    end	  end    end  endend################# UPDATED DATAMANAGER###########################################module DataManager  class << self        unless self.method_defined?(:reo_GameObj_Alias)	  alias_method(:reo_GameObj_Alias, :create_game_objects)    end    unless self.method_defined?(:reo_MakeSaveAlias)	  alias_method(:reo_MakeSaveAlias, :make_save_contents)    end    unless self.method_defined?(:reo_ExtractSaveAlias)	  alias_method(:reo_ExtractSaveAlias, :extract_save_contents)    end    def create_game_objects	  reo_GameObj_Alias	  $reo = Random_Event_Occurance.new    end        def make_save_contents	  contents = reo_MakeSaveAlias	  contents[:reo] = $reo	  contents    end        def extract_save_contents(contents)	  reo_ExtractSaveAlias(contents)	  $reo = contents[:reo]    end  endend

FAQ


Credit and Thanks
- Drykul
- Adorna

Author's Notes
I'm fairly new to scripting and this is the first one that I thought would be easy enough to clean up and share and to get some feedback! Hopefully it comes in handy for someone. :)
 
Last edited by a moderator:

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,098
Reaction score
13,704
First Language
English
Primarily Uses
RMMV
FAQ: the demo won't open, how to open it? Download winrar and try again.


There is no demo ;)
 

JosephSeraph

White Mage
Restaff
Joined
Mar 7, 2014
Messages
1,186
Reaction score
1,444
First Language
Portuguese
Wow! This looks like a fantastic scriot Thanks for making it!

Evented battle systems are coming!!! :D
 

shaynec1981

Veteran
Veteran
Joined
Jun 10, 2014
Messages
88
Reaction score
21
First Language
English
Primarily Uses
Wow! This looks like a fantastic scriot Thanks for making it!

Evented battle systems are coming!!! :D
Looking forward to seeing what you come up with! I'm just happy at least one other person finds this useful! Lol
 

LeeOccleshaw

Stone Dragon Workshop
Veteran
Joined
Jun 9, 2015
Messages
155
Reaction score
82
First Language
English
Primarily Uses
Cool script - I'm tempted to add rare encounters to my game this way. Dedicated areas on the map with a chance to spawn a dragon? 

Edit: I've used it so that the main character says things every once in a while whilst walking about!
 
Last edited by a moderator:

shaynec1981

Veteran
Veteran
Joined
Jun 10, 2014
Messages
88
Reaction score
21
First Language
English
Primarily Uses
Hah nice! I used it for when I had a player prancing about the woods you would randomly come across different areas or meet people. :)
 

Wavelength

MSD Strong
Global Mod
Joined
Jul 22, 2014
Messages
5,624
Reaction score
5,104
First Language
English
Primarily Uses
RMVXA
Very cool script idea!  I could see this being used for a bunch of different things.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Profile Posts

so hopefully tomorrow i get to go home from the hospital i've been here for 5 days already and it's driving me mad. I miss my family like crazy but at least I get to use my own toiletries and my own clothes. My mom is coming to visit soon i can't wait to see her cause i miss her the most. :kaojoy:
Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.
Do you Find Tilesetting or Looking for Tilesets/Plugins more fun? Personally I like making my tileset for my Game (Cretaceous Park TM) xD

Forum statistics

Threads
105,868
Messages
1,017,070
Members
137,577
Latest member
SadaSoda
Top