AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  



-45%
Le deal à ne pas rater :
WHIRLPOOL OWFC3C26X – Lave-vaisselle pose libre 14 couverts – ...
339 € 622 €
Voir le deal

Partagez
 

 [VX] Difficulté des combats changeant en fonction de la moyenne de niveau

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
clems201998
Habitant Lv.6
Habitant Lv.6
clems201998


Masculin Age : 25
Inscrit le : 09/02/2011
Messages : 118

[VX] Difficulté des combats changeant en fonction de la moyenne de niveau Empty
MessageSujet: [VX] Difficulté des combats changeant en fonction de la moyenne de niveau   [VX] Difficulté des combats changeant en fonction de la moyenne de niveau Icon_minitimeJeu 24 Fév 2011 - 10:31

Bonjour,
Aujourd'hui je vous présente le scripte "Difficulté des combats changeant en fonction de la moyenne de niveau "
Ce script est de DrakoShade. Mettez son nom dans vos crédits.
Le bonus : le gain d'expérience et d'argent est plus élevé.

Voila le scipte :

Code:
#==============================================================================
# ** Dynamic Difficulty
#------------------------------------------------------------------------------
# By:  DrakoShade
# Version 1.1
# Last Updated:  17 March, 2008
#------------------------------------------------------------------------------
# Version History:
# V. 1.1:  Updated the note-parsing methodology to work as described by "loam"
#          of RMXP.org.  This script's use of the Note field will no longer
#          interfere with or be confused by other notes.  Also, pointless
#          methods for the difficulty setting have been removed.
#==============================================================================
=begin
Here, you get a chance to set the defaults for your creatures.  Any creature
for which the Note tab doesn't include a modification will use the numbers
you set here.  Instructions follow.
=end
module RPG
  class Enemy
    def get_default_gains
      @maxhp_gain = 50            #Default 50
      @maxmp_gain = 10            #Default 10
      @atk_gain  = 1.25          #Default 1.25
      @def_gain  = 1.25          #Default 1.25
      @spi_gain  = 2.5          #Default 2.5
      @agi_gain  = 2.5          #Default 2.5
      @hit_gain  = 0            #Default 0
      @eva_gain  = 0            #Default 0
      @exp_gain  = 0            #Default 0
      @gold_gain  = 0            #Default 0
      @variance  = 15            #Default 15
      @min_level  = 1            #Default 1
      @max_level  = 99            #Default 99
    end
  end
end
 
=begin ========================================================================
||  Using the Note Field to your advantage.                                  ||
===============================================================================
The defaults that you set above are fine if you want every single enemy in the
game to follow the same growth pattern.  If that's the case, you don't have to
use the Note field at all for this script.  If you want your enemies to grow
in different ways from one another, then the Note field is where you make it
happen.
 
To do anything in the Notes with this script, you will need to include two
special lines in the box:
"=begin dynamic difficulty"
"=end dynamic difficulty"
Don't put quotes around them.  Those are simply here so that this explanation
won't mess with the commenting in the script itself.
Anything that falls between those two lines will be evaluated just after the
individual enemy looks up the defaults above.  Thus, if you include
 
@gold_gain = 200
 
then that specific enemy will be worth an extra 200 gold for every level it
gains, no matter what default you have set.  If, instead, you use the line
 
@gold_gain *= 2
 
then the enemy is worth twice the gold-per-level of your standard.  If the
standard stays at 0, of course, then it's still worth 0 a level, but you
know what I mean.
 
===============================================================================
||  The Minimum and Maximum Levels                                          ||
===============================================================================
In the defaults, you may have noticed the defaults for @min_level and
@max_level.  A creature for which @min_level = 1 and @max_level = 99 will gain
power as long as your party's average level is above 1, and won't stop gaining
power until level 99, which can't normally be exceeded anyway.  This works
well if you intend the enemy to scale no matter what level it's encountered at,
but you can do it differently.
 
An enemy for which @min_level = 10, for extestle, will be at the power you set
in the database any time it's encountered by a party of level 10 or lower.
When said party hits level 11, that enemy will gain only 1 level, rather than
the 10 that anything else would gain.  In this way, you can create enemies that
are never incredibly weak, but still get stronger.
 
@max_level is similar, but for the other end of the spectrum.  An enemy for
which @max_level = 30, for instance, would scale as normal up until the party
reached that level.  but if the party were level 40, it would still only grow
as if the party were level 30.  Thus, this enemy stops gaining power when the
party's average level hits it's @max_level.
 
===============================================================================
||  Game Difficulty                                                          ||
===============================================================================
At any point, you can set the value of the game's difficulty with a simple
script call.  Since it's an attr_accessor, all you have to do is one of these:
$game_system.difficulty = x
$game_system.difficulty += x
$game_system.difficulty -= x
Etcetera, so on, and so forth.
 
This script uses the difficulty to determine the level of the enemies, mostly
like the party's average level, but with a small difference.
When setting how powerful a monster is, for its maximum HP, attack and defense,
etc. the script will add the difficulty to the party's level.  However, when
determining the rewards of experience and gold returns, the script ignores
this value.
 
Extestle:
An enemy at level 8 and game difficulty of 2 will be just as hard to beat as
the same enemy at level 10 and game difficulty 0, but will give rewards the
same as if you'd beat it at level 8 and difficulty 0.
 
===============================================================================
||  General Advice                                                          ||
===============================================================================
When designing your enemies, take into account the level at which you want them
to be a real challenge for your party.  Their stats should be roughly similar
to those of a party member at their @min_level wearing the equipment you'd
expect your party to have at the target level.
 
In this way, although the enemy scales down to match a party whose level is
lower than expected, he still fights as if he were equipped to take on the
stronger party.  The ability to defeat him will, at this point, hinge more
on your party's equipment than their level.
Of course, the act of balancing is purely up to you.  My default numbers are
set so that enemies will scale with a new actor's default gains in the
database.  You could retool them to scale with equipment as well, or factor
how well-equipped your enemy is into his stats at minimum level.  The choice
is yours.
 
I hope you enjoy using this script.  Happy creating.
 
===============================================================================
||  That's it.  On to the rest of the script.                                ||
===============================================================================
=end
#==============================================================================
# ** Game_System
#------------------------------------------------------------------------------
# The actual difficulty of the game as a whole is added into this class.
#==============================================================================
class Game_System
  attr_accessor :difficulty    #New public instance variable.
 
  #----------------------------------------------------------------------------
  # * Aliasing the Initialize method.
  #----------------------------------------------------------------------------
  alias drakoshade_dynamic_difficulty_initialize initialize
  def initialize
    drakoshade_dynamic_difficulty_initialize
    @difficulty = 0
  end
end
#==============================================================================
# End modifications to Game_System.
#==============================================================================
 
#==============================================================================
# ** RPG::Enemies
#------------------------------------------------------------------------------
# Most of the magic happens here.  New methods are created which allow the
# enemies to gain levels, based on a combination of both the party's average
# level and the new $game_system.difficulty.
#==============================================================================
module RPG
  class Enemy
    #--------------------------------------------------------------------------
    # * Public Instance Variables
    #--------------------------------------------------------------------------
    attr_accessor :base_maxhp, :base_maxmp, :base_atk, :base_def, :base_spi
    attr_accessor :base_agi, :base_hit, :base_eva, :base_exp, :base_gold
    attr_accessor :maxhp_gain, :maxmp_gain, :atk_gain, :def_gain, :spi_gain
    attr_accessor :agi_gain, :hit_gain, :eva_gain, :exp_gain, :gold_gain
    attr_accessor :min_level, :max_level
   
    #--------------------------------------------------------------------------
    # * Set_Bases
    #--------------------------------------------------------------------------
    def set_bases
      @base_maxhp, @base_maxmp = @maxhp, @maxmp
      @base_atk, @base_def = @atk, @def
      @base_spi, @base_agi = @spi, @agi
      @base_hit, @base_eva = @hit, @eva
      @base_exp, @base_gold = @exp, @gold
      get_default_gains
      eval(@note[/(?<==begin dynamic difficulty)(.*?)(?==end dynamic difficulty)/m].to_s)
    end
   
    #--------------------------------------------------------------------------
    # * Update Level
    #--------------------------------------------------------------------------
    def update_level
      levels = [([$game_party.ave_level, @max_level].min - @min_level), 0].max
      diff = $game_system.difficulty
      @maxhp = generate_stat(@base_maxhp-1, @maxhp_gain, (levels + diff)) + 1
      @maxmp = generate_stat(@base_maxmp-1, @maxmp_gain, (levels + diff)) + 1
      @atk = generate_stat(@base_atk-1, @atk_gain, (levels + diff)) + 1
      @def = generate_stat(@base_def-1, @def_gain, (levels + diff)) + 1
      @spi = generate_stat(@base_spi-1, @spi_gain, (levels + diff)) + 1
      @agi = generate_stat(@base_agi-1, @agi_gain, (levels + diff)) + 1
      @hit = generate_stat(@base_agi, @agi_gain, (levels + diff))
      @eva = generate_stat(@base_eva, @eva_gain, (levels + diff))
      @exp = generate_stat(@base_exp, @exp_gain, levels)
      @gold = generate_stat(@base_gold, @gold_gain, levels)
    end
     
    #--------------------------------------------------------------------------
    # * Generate Stat
    #--------------------------------------------------------------------------
    def generate_stat(base, gain, levels)
      result = base + (gain * levels)
      result *= (rand(@variance*2)+(100-@variance))
      result /= 100
      result = [result.to_i, 0].max
      return result
    end
  end
end
 
#==============================================================================
# ** Game_Party
#------------------------------------------------------------------------------
# I'm adding a method here that will allow this script (or any other) to
# determine the average party level.
#==============================================================================
class Game_Party
  def ave_level
    level = 0
    for i in @actors
      actor = $game_actors[i]
      level += actor.level
    end
    level /= @actors.size
    return level.round
  end
end
 
#==============================================================================
# ** Scene_Title
#------------------------------------------------------------------------------
# Methods that load the database need to be altered so that the enemies set
# their bases.
#==============================================================================
class Scene_Title
  #----------------------------------------------------------------------------
  # *Alias the Load Database method.
  #----------------------------------------------------------------------------
  alias drakoshade_dynamic_difficulty_load_database load_database
  def load_database
    drakoshade_dynamic_difficulty_load_database
    for i in 1...$data_enemies.size
      $data_enemies[i].set_bases
    end
  end
 
  #----------------------------------------------------------------------------
  # *Alias the Load Battle Test Database method.
  #----------------------------------------------------------------------------
  alias drakoshade_dynamic_difficulty_load_bt_database load_bt_database
  def load_bt_database
    drakoshade_dynamic_difficulty_load_bt_database
    for i in 1...$data_enemies.size
      $data_enemies[i].set_bases
    end
  end
end
 
#==============================================================================
# ** Game_Troop
#------------------------------------------------------------------------------
# The modification here allows for greater versitility than modifying the
# battle scene in this situation.  Enemies will load into the troop with
# updated stats.
#==============================================================================
class Game_Troop
  #----------------------------------------------------------------------------
  # *Alias the Setup method.
  #----------------------------------------------------------------------------
  alias drakoshade_dynamic_difficulty_setup setup
  def setup(troop_id)
    for i in 1...$data_enemies.size
      $data_enemies[i].update_level
    end
    drakoshade_dynamic_difficulty_setup(troop_id)
  end
end
Revenir en haut Aller en bas
Beowolf
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
Beowolf


Inscrit le : 26/02/2011
Messages : 72

[VX] Difficulté des combats changeant en fonction de la moyenne de niveau Empty
MessageSujet: Re: [VX] Difficulté des combats changeant en fonction de la moyenne de niveau   [VX] Difficulté des combats changeant en fonction de la moyenne de niveau Icon_minitimeLun 28 Fév 2011 - 18:34

Bonjour j'aimerais savoir si cela augmente la force des monstres ainsi que si on et lvl 1 le monstre devient moin fort?

Merci d'avance (je sais qui à une règle à propos de l'ordre à suivre et à formuler notre question je ne trouve plus la section).
Revenir en haut Aller en bas
Xavioo
Corsaire Lv.19
Corsaire Lv.19
Xavioo


Masculin Age : 26
Inscrit le : 26/11/2009
Messages : 2508

[VX] Difficulté des combats changeant en fonction de la moyenne de niveau Empty
MessageSujet: Re: [VX] Difficulté des combats changeant en fonction de la moyenne de niveau   [VX] Difficulté des combats changeant en fonction de la moyenne de niveau Icon_minitimeLun 28 Fév 2011 - 18:46

Beowolf a écrit:
Merci d'avance (je sais qui à une règle à propos de l'ordre à suivre et à formuler notre question je ne trouve plus la section).
tu te trompe avec une demande de script et non une question sur un script
Revenir en haut Aller en bas
Beowolf
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
Beowolf


Inscrit le : 26/02/2011
Messages : 72

[VX] Difficulté des combats changeant en fonction de la moyenne de niveau Empty
MessageSujet: Re: [VX] Difficulté des combats changeant en fonction de la moyenne de niveau   [VX] Difficulté des combats changeant en fonction de la moyenne de niveau Icon_minitimeLun 28 Fév 2011 - 19:12

Ah ok merci.
Revenir en haut Aller en bas
Zangther
Maître des Duels
Maître des Duels
Zangther


Masculin Age : 31
Inscrit le : 29/07/2009
Messages : 7840

[VX] Difficulté des combats changeant en fonction de la moyenne de niveau Empty
MessageSujet: Re: [VX] Difficulté des combats changeant en fonction de la moyenne de niveau   [VX] Difficulté des combats changeant en fonction de la moyenne de niveau Icon_minitimeLun 28 Fév 2011 - 19:13

Non, il faut régler spécifiquement pour chaque ennemi. Le problème c'est que le script est mal expliqué et que le membre qui l'a posté n'inquiète pas comment il marche ainsi les gens ont du mal à l'utiliser.
Revenir en haut Aller en bas
Beowolf
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
Beowolf


Inscrit le : 26/02/2011
Messages : 72

[VX] Difficulté des combats changeant en fonction de la moyenne de niveau Empty
MessageSujet: Re: [VX] Difficulté des combats changeant en fonction de la moyenne de niveau   [VX] Difficulté des combats changeant en fonction de la moyenne de niveau Icon_minitimeLun 28 Fév 2011 - 19:27

Ok merci,c'est dommage que sa ne se fait pas en fonction du level Neutral
Revenir en haut Aller en bas
Zangther
Maître des Duels
Maître des Duels
Zangther


Masculin Age : 31
Inscrit le : 29/07/2009
Messages : 7840

[VX] Difficulté des combats changeant en fonction de la moyenne de niveau Empty
MessageSujet: Re: [VX] Difficulté des combats changeant en fonction de la moyenne de niveau   [VX] Difficulté des combats changeant en fonction de la moyenne de niveau Icon_minitimeLun 28 Fév 2011 - 19:34

Ca le fait, mais faut le configurer via la boite de commentaires des monstres dans la base de donnée selon les instructions données dans le script.
Revenir en haut Aller en bas
clems201998
Habitant Lv.6
Habitant Lv.6
clems201998


Masculin Age : 25
Inscrit le : 09/02/2011
Messages : 118

[VX] Difficulté des combats changeant en fonction de la moyenne de niveau Empty
MessageSujet: Re: [VX] Difficulté des combats changeant en fonction de la moyenne de niveau   [VX] Difficulté des combats changeant en fonction de la moyenne de niveau Icon_minitimeLun 28 Fév 2011 - 20:44

Désoler de ne pas expliquer le scripte je l'ai trouver sur un site anglais et il n'y avait pas d'explication [VX] Difficulté des combats changeant en fonction de la moyenne de niveau 353908
Revenir en haut Aller en bas
Zangther
Maître des Duels
Maître des Duels
Zangther


Masculin Age : 31
Inscrit le : 29/07/2009
Messages : 7840

[VX] Difficulté des combats changeant en fonction de la moyenne de niveau Empty
MessageSujet: Re: [VX] Difficulté des combats changeant en fonction de la moyenne de niveau   [VX] Difficulté des combats changeant en fonction de la moyenne de niveau Icon_minitimeLun 28 Fév 2011 - 20:59

D'ou l'utilité de ne pas ramener un script dont on ne connait rien...
Revenir en haut Aller en bas
Contenu sponsorisé




[VX] Difficulté des combats changeant en fonction de la moyenne de niveau Empty
MessageSujet: Re: [VX] Difficulté des combats changeant en fonction de la moyenne de niveau   [VX] Difficulté des combats changeant en fonction de la moyenne de niveau Icon_minitime

Revenir en haut Aller en bas
 

[VX] Difficulté des combats changeant en fonction de la moyenne de niveau

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Scripts :: Scripts VX - RGSS2 :: Combat-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Forum gratuit