RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.

RMRK.net has nothing to do with Blockchains, Cryptocurrency or NFTs. We have been around since the early 2000s, but there is a new group using the RMRK name that deals with those things. We have nothing to do with them.
NFTs are a scam, and if somebody is trying to persuade you to buy or invest in crypto/blockchain/NFT content, please turn them down and save your money. See this video for more information.
[RPGVX]Question about Yanfly's Variable Controlled Encounters

0 Members and 1 Guest are viewing this topic.

**
Rep: +0/-0Level 65
RMRK Junior
Hi all,
(I hope you understand everything - my English isn't perfect.)

I use Yanfly's Variable Controlled Encounters and changed it a bit.
Here is the Code:
Code: [Select]
#===============================================================================
#
# Yanfly Engine RD - Variable Controlled Encounters
# Last Date Updated: 2009.04.20
# Level: Normal
#
# I got tired of terrible encounter rates when you would set the average rate
# to roughly "30" steps and every 4 steps, the game would enter a battle so I
# made this to augment the rate battles would appear and to give me more control
# over them. The control that's given are the number of times the steps are
# rolled before making an average, the minimum number of steps that are free of
# battle, the percentage rate of the encounters that is free of battle, and if
# used, an event variable to modify the encounter rate.
#
# In addition to that, I've recreated a system similar to the Pokemon Repel item
# which gets rid of encounters so long as the Repel item isn't spent. Note that
# this isn't anything too special, but it's something extra to stick into this
# script. Repel is bound to an event variable so that the player doesn't have to
# throw in extra coding to modify the Repel value. Just modify it through the
# event editor. Simple as that.
#
# Also, for the opposite of Repel, there is a lure variable. Although rather
# than initiating a battle every step, lure will cut down the encounter count
# by a certain amount, which can be controlled from within the game.
#
#===============================================================================
# Instructions
#===============================================================================
#
# By default, the variables are as follows:
#
# THE_STEPS_VARIABLE  = Variable 61 = Bonus steps added upon encounter. This
#                                     adds a control to the randomization.
# STEPS_REMAINING_VAR = Variable 62 = Steps remaining before battle. This can be
#                                     calculated with or without the repel
#                                     variable. Used for debugging purposes.
# REPEL_VARIABLE      = Variable 63 = Used like it is in Pokemon. How many steps
#                                     does the player get free of battles.
# LURE_VARIABLE       = Variable 64 = Used similar to the Repel variable. It
#                                     lowers the encounter countdown which uses
#                                     the following two variables to modify.
# LURE_DIV_VAR        = Variable 65 = Divides the encounter countdown by this
#                                     amount. Ignored if it's equal to zero.
# LURE_SUB_VAR        = Variable 66 = Subtracts the encounter countdown by
#                                     this amount. Make it negative to raise the
#                                     countdown timer if you want to do that
#                                     instead for whatever reason.
#
# Change the variables in the event editor to alter the encounter rates in your
# game. They will internally affect the game through external means.
#
#===============================================================================
# Updates:
# ----------------------------------------------------------------------------
# o 2009.04.20 - Bug fix.
# o 2009.04.11 - Started script.
#===============================================================================
#
# Compatibility
# - Alias: Scene_Map, update_encounter
# - Overwrites: Game_Player, make_encounter_count, update_encounter
#
#===============================================================================

module YE
  module EVENT
    module VARIABLE
     
      # These are modifiers for the default encounter countdown reduction.
      # Bush values are at the center of an autotile and not necessarily inside
      # something that looks like a bush. Well, now you can modify it.
      BUSH_REDUCTION = 3
      NORM_REDUCTION = 1
     
      # The number of times the encounter steps/3 are rolled.
      # Note: Setting this value to 0 will make your computer explode.
      STEPS_ROLLED = 2
     
      # This is the minimum amount of steps the player would have free of
      # encounters after a battle.
      MINIMUM_STEPS_FREE = 5
   
      # This is a percent of the map's encounter rate that the player would
      # get free after a battle. A value of 10 would be 10% of the rate. A
      # map with 30 steps an encounter rate would get an additional 3 steps
      # free of encounters.
      PERCENT_RATE_FREE = 10
   
      # If this is set to true, it will designate an event variable to modify
      # the encounter rate. The encounter rate would be added by however much
      # the variable equals. The variable can be set to a negative value to
      # raise the encounter rate if needed.
      USE_STEPS_VARIABLE  = true    # Needs to be set to true for next to work.
      THE_STEPS_VARIABLE  = 32      # Number of steps modified to encounter.
   
      # For debugging purposes, you can use this variable to keep track of how
      # many steps are remaining before a battle will ensue.
      STEPS_REMAINING_VAR = 33
      TOTAL_WITH_REPEL = false      # Set this to true to total it with Repel.
   
      # This is the Repel Variable. If this value is above zero, it will not
      # allow the encounter countdown to drop by even one step.
      REPEL_VARIABLE = 34
   
      # This is the Lure Variable and the variables that modify the encounter
      # rate. The DIV_VAR divides the encounter countdown by its value while
      # the SUB_VAR subtracts it by its value.
      LURE_VARIABLE = 35            # This is the variable representing the steps.
      LURE_DIV_VAR  = 36            # This is the variable dividing the countdown.
      LURE_SUB_VAR  = 37            # This is the variable subtracting the steps.
     
    end # module VARIABLE
  end # module EVENT
end # module YE

#===============================================================================
# Editting anything past this point may potentially result in causing computer
# damage, incontinence, explosion of user's head, coma, death, and/or halitosis.
# Therefore, edit at your own risk.
#===============================================================================

#===============================================================================
# Game Player
#===============================================================================

class Game_Player < Game_Character

  #--------------------------------------------------------------------------
  # make_encounter_count
  #--------------------------------------------------------------------------
  def make_encounter_count
    if $game_map.map_id != 0
      n = $game_map.encounter_step
      if YE::EVENT::VARIABLE::USE_STEPS_VARIABLE
        n += $game_variables[YE::EVENT::VARIABLE::THE_STEPS_VARIABLE]
      end
      m = 1
      for i in 0..YE::EVENT::VARIABLE::STEPS_ROLLED
        m += rand(n/2)
      end
      m /= YE::EVENT::VARIABLE::STEPS_ROLLED
      @encounter_count = 0
      @encounter_count += m + n
      @encounter_count -= n/4;
      @encounter_count = 1 if @encounter_count < 1
    end
  end
 
  #--------------------------------------------------------------------------
  # Update Encounter
  #--------------------------------------------------------------------------
  def update_encounter
    # Check for Repel
    if $game_variables[YE::EVENT::VARIABLE::REPEL_VARIABLE] > 0
      $game_variables[YE::EVENT::VARIABLE::REPEL_VARIABLE] -= 1
      $game_temp.common_event_id = 40 if $game_variables[YE::EVENT::VARIABLE::REPEL_VARIABLE] == 1
    end
    return if $game_variables[YE::EVENT::VARIABLE::REPEL_VARIABLE] > 0
   
    # The default stuff
    return if $TEST and Input.press?(Input::CTRL)
    return if in_vehicle?
    if $game_map.bush?(@x, @y)
      @encounter_count -= YE::EVENT::VARIABLE::BUSH_REDUCTION
    else
      @encounter_count -= YE::EVENT::VARIABLE::NORM_REDUCTION
    end
   
    # Check for Lure
    if $game_variables[YE::EVENT::VARIABLE::LURE_VARIABLE] > 0
      $game_variables[YE::EVENT::VARIABLE::LURE_VARIABLE] -= 1
      @encounter_count /= $game_variables[YE::EVENT::VARIABLE::LURE_DIV_VAR] if $game_variables[YE::EVENT::VARIABLE::LURE_DIV_VAR] != 0
      @encounter_count -= $game_variables[YE::EVENT::VARIABLE::LURE_SUB_VAR]
      $game_temp.common_event_id = 40 if $game_variables[YE::EVENT::VARIABLE::LURE_VARIABLE] == 1
    end
   
    # Update the Encounter Variable
    if @encounter_count != nil
      $game_variables[YE::EVENT::VARIABLE::STEPS_REMAINING_VAR] = @encounter_count
      $game_variables[YE::EVENT::VARIABLE::STEPS_REMAINING_VAR] += $game_variables[YE::EVENT::VARIABLE::REPEL_VARIABLE] if YE::EVENT::VARIABLE::TOTAL_WITH_REPEL
    end
  end
 
end

#===============================================================================
# Scene Map
#===============================================================================

class Scene_Map < Scene_Base
 
  #--------------------------------------------------------------------------
  # Update Encounter
  #--------------------------------------------------------------------------
  alias modifier_update_encounter update_encounter unless $@
  def update_encounter
    return if $game_variables[YE::EVENT::VARIABLE::REPEL_VARIABLE] > 0
    modifier_update_encounter
  end
 
end

#===============================================================================
#
# END OF FILE
#
#===============================================================================
I changed the formula for the Encounters and some little stuff.
My Question is about the Line:
Code: [Select]
$game_temp.common_event_id = 40 if $game_variables[YE::EVENT::VARIABLE::LURE_VARIABLE] == 1
And
Code: [Select]
$game_temp.common_event_id = 40 if $game_variables[YE::EVENT::VARIABLE::REPEL_VARIABLE] == 1

It's in the "Update Encounter" part.
The Original RPG-Project where this script was in had no Common Events. Is there any sense about this?
When yes can someone try to explain it to me?

Thank you.   :)
English isn't my first language, but I hope you understand what I mean.