Últimos temas
» LA BRÚJULA DE ZAZA [VXACE]
por Pocari Dom Nov 17, 2019 7:50 pm

» [RMVXA] Resurrected
por DorFenn Vie Nov 15, 2019 12:05 pm

» ¿Cómo puedo mandar un PDF junto a un juego?
por Muzgar Miér Nov 13, 2019 3:48 pm

» Duda, ayuda
por Muzgar Miér Nov 13, 2019 3:38 pm

» Sistema de parallax, tiempo, climatologia e iluminacion
por ckunx Miér Nov 13, 2019 2:37 pm

» [MV/VX/Ace] Engine "Objetivo actual" y "Hablar con el grupo"
por ckunx Miér Nov 13, 2019 2:28 pm

» error de script (HUD)
por Klayer Lun Nov 11, 2019 10:47 pm

» LMD - Lunas de Magia Divina
por Zaabos Lun Nov 11, 2019 8:56 pm

» Heartland | IGMC 2018
por DopellSerch Lun Nov 11, 2019 3:55 pm

» Hasta luego
por InvariableZ Dom Nov 10, 2019 2:41 pm

» [Publicidad] Around Me, otra vez.
por Muzgar Dom Nov 10, 2019 12:45 pm

» KBoomEffect XP
por kyonides Sáb Nov 09, 2019 1:55 am


KStatsRefill XP VX & ACE

Ir abajo

KStatsRefill XP VX & ACE Empty KStatsRefill XP VX & ACE

Mensaje por kyonides el Mar Nov 05, 2019 7:09 am

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?

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, je, je.

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 3 veces

kyonides
PJ Secundario
PJ Secundario

Masculino
Costa Rica
RPG Maker : Xp
Mensajes : 123
Monedas : 321
Reputación : 3

Volver arriba Ir abajo

KStatsRefill XP VX & ACE Empty Re: KStatsRefill XP VX & ACE

Mensaje por InvariableZ el Mar Nov 05, 2019 3:26 pm

Esto, de hecho, es un elemento de gameplay bastante interesante y poco utilizado, o al menos que yo haya visto. ¿Crees que un port a RGSS3 sería posible? Me gustaría poder utilizarlo, y quizá quién sabe quién más.

Un saludo y gracias por aportar tantos scripts.
InvariableZ
InvariableZ
PJ de Quest
PJ de Quest

Venezuela
RPG Maker : Ace
Mensajes : 43
Monedas : 798
Reputación : 29

Volver arriba Ir abajo

KStatsRefill XP VX & ACE Empty Re: KStatsRefill XP VX & ACE

Mensaje por kyonides el Miér Nov 06, 2019 10:04 am

Bueno le hice unas correcciones a las versiones para XP y VX. Luego posteé una versión que debería de servir en VX Ace.

kyonides
PJ Secundario
PJ Secundario

Masculino
Costa Rica
RPG Maker : Xp
Mensajes : 123
Monedas : 321
Reputación : 3

Volver arriba Ir abajo

KStatsRefill XP VX & ACE Empty Re: KStatsRefill XP VX & ACE

Mensaje por InvariableZ el Jue Nov 07, 2019 1:00 pm

Confirmo su funcionamiento en VX Ace, inclusive con el YEA Battle Engine, y otros scripts más.

Solo tengo una duda. Al hacerlo funcionar me di cuenta de una cosa (o no sé si me fijé mal): el % de vida/maná que recupera es un % de su MHP, ¿verdad? Si es así, ¿no crees que sería más funcional que recupere un % del daño que debió haber sido infligido?

Saludos :)
InvariableZ
InvariableZ
PJ de Quest
PJ de Quest

Venezuela
RPG Maker : Ace
Mensajes : 43
Monedas : 798
Reputación : 29

Volver arriba Ir abajo

KStatsRefill XP VX & ACE Empty Re: KStatsRefill XP VX & ACE

Mensaje por kyonides el Vie Nov 08, 2019 5:00 am

En la buena teoría, así como está el script debe permitir que una técnica le haga daño y aún así recuperar algo de sus stats. De momento funciona con el máximo del stat, pero tal vez pueda hacer una variante para que también lo pueda hacer con el daño, pero... no sé...

kyonides
PJ Secundario
PJ Secundario

Masculino
Costa Rica
RPG Maker : Xp
Mensajes : 123
Monedas : 321
Reputación : 3

Volver arriba Ir abajo

KStatsRefill XP VX & ACE Empty Re: KStatsRefill XP VX & ACE

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba


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