• Benvenuto in Making Videogames!
  • Dai sfogo alla tua fantasia!
  • Crea il tuo Videogioco!
Benvenuto ospite! Login Registrati




Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
[SCRIPT] Rigenerazione HP e MP
#1
DESCRIZIONE:
Grazie a questo script, se sceglierete "Difesa" in battaglia, rigenerete parte dei vostri HP e MP

AUTORE/I:
Synthesize per lo script;
Eikichi per la traduzione.

ISTRUZIONI:
Da mettere sopra Main.
Le altre istruzioni sono all'inizio dello script.

SCRIPT:
[SPOILER]
Codice:
#===============================================================================
# Rigenerazione HP/MP - PRG Maker Vx
#===============================================================================
# Scritto da Synthesize
# Versione 1.2.0
# 19 Gennaio 2008
# Tradotto da Eikichi
#===============================================================================
#            *Questo script non è compatibile con Rpg Maker XP*
#===============================================================================
module SynRegen
  # Format = { Actor_ID => Percentuale di ristoro, Actor_ID2 => Percentuale di ristoro}
  HP_regen = {1 => 5, 2 =>7} # %
  # Si può definire quanti HP ogni singolo personaggio può recuperare usando il comando
  # Difesa. Basta aggiungere un nuovo pg separandolo con una , dagli altri
  #-----------------------------------------------------------------------------
  # Questo valore determina la percentuale di default del recupero
  HP_regen.default = 5 # %
  #-----------------------------------------------------------------------------
  # Imposta su true per abilitare la rigenerazione degli HP. false per disabilitarla
  Use_hp_regen = true
  #----------------------------------------------------------------------------
  # Format = {Actor_ID => Percentuale di ristoro MP
  SP_regen = {1 => 5, 2 => 7} # %
  # Si può definire quanti MP ogni singolo personaggio può recuperare usando il comando
  # Difesa. Basta aggiungere un nuovo pg separandolo con una , dagli altri
  #-----------------------------------------------------------------------------
  # Questo valore determina la percentuale di default del recupero
  SP_regen.default = 5 # %
  #-----------------------------------------------------------------------------
  # Imposta su true per abilitare la rigenerazione degli MP. false per disabilitarla
  Use_mp_regen = true
  #-----------------------------------------------------------------------------
  # Vuoi che venga mostrato quanti HP/MP vengono rigenerati?
  Draw_text = true
  #-----------------------------------------------------------------------------
  # Il Livello di difesa se il pg è in "super difesa"
  Super_guard_rate = 4
  #-----------------------------------------------------------------------------
  # Il Livello di difesa se il pg è in "difesa normale"
  Normal_guard_rate = 2
end
#-------------------------------------------------------------------------------
# Scene_Battle
#-------------------------------------------------------------------------------
class Scene_Battle
  # Alias execute_action_guard
  alias syn_regen_execute_guard execute_action_guard
  #-----------------------------------------------------------------------------
  # Execute Action_Guard
  #-----------------------------------------------------------------------------
  def execute_action_guard
    # Calcola la quantità di HP/MP recuperati
    hp_restore = ((@active_battler.maxhp * SynRegen::HP_regen[@active_battler.id]) / 100) if SynRegen::Use_hp_regen == true
    sp_restore = ((@active_battler.maxmp * SynRegen::SP_regen[@active_battler.id]) / 100) if SynRegen::Use_mp_regen == true
    # Calcola la differenza tra HP MAX e HP e tra MP MAX e MP
    temp_value_hp = (@active_battler.maxhp - @active_battler.hp)
    temp_value_mp = (@active_battler.maxmp - @active_battler.mp)
    # Aggiunge HP e MP
    @active_battler.hp += hp_restore if SynRegen::Use_hp_regen == true
    @active_battler.mp += sp_restore if SynRegen::Use_mp_regen == true
    # Mostra gli HP/MP recuperati
    if temp_value_hp != 0 and temp_value_mp != 0
      @message_window.add_instant_text("#{@active_battler.name} HP increased by #{hp_restore} and MP increased by #{sp_restore}")
    elsif temp_value_hp != 0 and temp_value_mp == 0
      @message_window.add_instant_text("#{@active_battler.name} HP increased by #{hp_restore}")
    elsif temp_value_hp == 0 and temp_value_mp != 0
      @message_window.add_instant_text("#{@active_battler.name} MP increased by #{sp_restore}")
    end
    # Chiama il codice originale
    syn_regen_execute_guard
  end
end
#-------------------------------------------------------------------------------
# Game_Battler
#  Reimposta il sistema di difesa in Game_Battler
#-------------------------------------------------------------------------------
class Game_Battler
  #-----------------------------------------------------------------------------
  # Apply_Guard_Damage
  #-----------------------------------------------------------------------------
  def apply_guard(damage)
    if damage > 0 and guarding?
      # Divide il totale dei danni effettivi in base alla percentuale di difesa
      damage /= super_guard ? SynRegen::Super_guard_rate : SynRegen::Normal_guard_rate    
    end
    return damage
  end
end
#===============================================================================
#===============================================================================
#===============================================================================
# Scritto da Synthesize
# 19 Gennaio 2008
# Tradotto da Eikichi
# 10 Marzo 2008
#===============================================================================
   (i due tag code non li ho potuti mettere tra parentesi quadre, altrimenti il post sballava, ovviamente voi dovrete metterle)
[/SPOILER]


BUG E CONFLITTI NOTI:
Nessuno.
 
Rispondi
  


Vai al forum:


Browsing: 1 Ospite(i)