¡Bienvenido a Universo Maker!
¿Es esta la primera vez que visitas el foro? Si es así te recomendamos que te registres para tener completo acceso a todas las áreas y secciones del foro, así también podrás participar activamente en la comunidad. Si ya tienes una cuenta, conectate cuanto antes.
Iniciar Sesión Registrarme

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo Mensaje [Página 1 de 1.]

#1KStatsRefill XP VX & ACE Empty KStatsRefill XP VX & ACE el Mar Nov 05, 2019 7:08 am

kyonides

kyonides
KStatsRefill XP VX & ACE


por Kyonides Arkanthes


Introducción

Ustedes ya conocen las técnicas que curan o dañan, en otro tema postee un script que hace una de esas dos cosas aleatoriamente. Este nuevo script lo cambia todo, ahora pueden ver cómo sus héroes o sus monstruos son parcialmente curados por técnicas específicas para cada héroe o monstruo que deseen configurar allí.

¿Necesitan una excusa para implementar esto en sus juegos? Opalo Sorprendido
Ópalo Excusa Pues salgan con algo como que son resistentes a esa magia...
La cosa es que sus juegos no se parezcan tanto a todos los que circulan por la red. Ópalo Carcajada

Script para XP
Código:
# * KStatsRefill XP
#   Scripter : Kyonides Arkanthes
#   2019-11-06

# Este script les permite configurar héroes o monstruos que puedan ganar algunos
# puntos de vida o mana al ser golpeados por ciertas técnicas.

module KStats
  REFILL_SKILL_IDS = {}# ¡Ni la volteen a ver!
  # Tipo : :life para Vida o :mana para... ¡Mana!
  # Lista de Héroes:  IDActor => { IDTecnica => [Tipo, algún %], etc. }, etc. }
  REFILL_SKILL_IDS[:actor] = {
    1 => { 1 => [:life, 5], 2 => [:mana, 10] }
  }
  # Lista Enemigos: IDEnemigo => { IDTecnica => [Tipo, algún %], etc. }, etc. }
  REFILL_SKILL_IDS[:enemy] = {
    1 => { 1 => [:life, 5], 2 => [:mana, 10] }
  }
end

class Game_Battler
  alias :kyon_stats_refill_gm_battler_se :skill_effect
  def skill_effect(user, skill)
    result = kyon_stats_refill_gm_battler_se(user, skill)
    refill_stats(skill.id) if result
    result
  end

  def refill_stats(skill_id)
    data = KStats::REFILL_SKILL_IDS[self.kind] || {}
    data = data[self.id] || {}
    stype, percent = data[skill_id]
    return unless stype
    if stype == :life
      self.hp += total = maxhp * percent / 100
    elsif stype == :mana
      self.sp += total = maxsp * percent / 100
    end
    @damage = @damage - total rescue -total
  end
end

class Game_Actor
  def kind() :actor end
end

class Game_Enemy
  def kind() :enemy end
end




Script para VX
Código:
# * KStatsRefill VX
#   Scripter : Kyonides Arkanthes
#   2019-11-06

# Este script les permite configurar héroes o monstruos que puedan ganar algunos
# puntos de vida o mana al ser golpeados por ciertas técnicas.

module KStats
  REFILL_SKILL_IDS = {}# ¡Ni la volteen a ver!
  # Tipo : :life para Vida o :mana para... ¡Mana!
  # Lista de Héroes:  IDActor => { IDTecnica => [Tipo, algún %], etc. }, etc. }
  REFILL_SKILL_IDS[:actor] = {
    1 => { 1 => [:life, 5], 2 => [:mana, 10] }
  }
  # Lista Enemigos: IDEnemigo => { IDTecnica => [Tipo, algún %], etc. }, etc. }
  REFILL_SKILL_IDS[:enemy] = {
    1 => { 1 => [:life, 5], 2 => [:mana, 10] }
  }
end

class Game_Battler
  alias :kyon_stats_refill_gm_battler_se :skill_effect
  def skill_effect(user, skill)
    result = kyon_stats_refill_gm_battler_se(user, skill)
    refill_stats(skill.id) if result
    result
  end

  def refill_stats(skill_id)
    data = KStats::REFILL_SKILL_IDS[self.kind] || {}
    data = data[self.id] || {}
    stype, percent = data[skill_id]
    if stype == :life
      self.hp += total = maxhp * percent / 100
      @hp_damage = @hp_damage - total rescue -total
    elsif stype == :mana
      self.mp += total = maxmp * percent / 100
      @mp_damage = @mp_damage - total rescue -total
    end
  end
end

class Game_Actor
  def kind() :actor end
end

class Game_Enemy
  def kind() :enemy end
end

Script para VX Ace
Código:
# * KStatsRefill ACE
#   Scripter : Kyonides Arkanthes
#   2019-11-06

# Este script les permite configurar héroes o monstruos que puedan ganar algunos
# puntos de vida o mana al ser golpeados por ciertas técnicas.

module KStats
  REFILL_SKILL_IDS = {}# ¡Ni la volteen a ver!
  # Tipo : :life para Vida o :mana para... ¡Mana!
  # Lista de Héroes:  IDActor => { IDTecnica => [Tipo, algún %], etc. }, etc. }
  REFILL_SKILL_IDS[:actor] = {
    1 => { 1 => [:life, 5], 2 => [:mana, 10] }
  }
  # Lista Enemigos: IDEnemigo => { IDTecnica => [Tipo, algún %], etc. }, etc. }
  REFILL_SKILL_IDS[:enemy] = {
    1 => { 1 => [:life, 5], 2 => [:mana, 10] }
  }
end

class Game_ActionResult
  alias :kyon_stats_refill_gm_ar_md :make_damage
  def make_damage(value, item)
    kyon_stats_refill_gm_ar_md(value, item)
    return unless item.is_a?(RPG::Skill)
    data = KStats::REFILL_SKILL_IDS[@battler.kind] || {}
    data = data[@battler.id] || {}
    stype, percent = data[item.id]
    if stype == :life
      @hp_damage -= @battler.mhp * percent / 100
    elsif stype == :mana
      @mp_damage -= @battler.mmp * percent / 100
    end
  end
end

class Game_Actor
  def kind() :actor end
end

class Game_Enemy
  def kind() :enemy end
end

Términos de Uso

Deben incluir mi seudónimo y el URL del sitio del que lo copiaron.
Es gratuito para demos y juegos no comerciales.



Última edición por kyonides el Miér Nov 06, 2019 10:02 am, editado 2 veces

#2KStatsRefill XP VX & ACE Empty Re: KStatsRefill XP VX & ACE el Miér Nov 06, 2019 9:50 am

kyonides

kyonides
Actualización

¡Bueno ahora cuentan con scripts para todas las versiones del RPG Maker (que usan Ruby y RGSS)!

Si encontraran bugs, no dejen de reportarlos... por medio de mensajes privados. Ópalo Sonrisa Grande

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.