Últimos temas
» [Consejo] ¿Como crear un buen juego de terror?
por JapoZero Hoy a las 10:07 am

» Actualización; normas del foro y noticias futuras
por JapoZero Hoy a las 9:33 am

» Necesito ayuda con mi juego!!
por Wizzard804 Hoy a las 9:02 am

» Swoul: el filo de un alma [Demo - VX]
por Muzgar Hoy a las 1:51 am

» Registro para poder publicar proyectos
por Muzgar Hoy a las 1:13 am

» LA BRÚJULA DE ZAZA [VXACE]
por fran0090 Ayer a las 1:39 am

» grafico enemigos
por JapoZero Ayer a las 1:32 am

» Concursos anuales del foro 2020 [Resultados]
por xsebax Ayer a las 1:19 am

» Error en los plugins
por JapoZero Ayer a las 1:08 am

» Se busca Team para Proyecto Pokemon RPG Maker XP
por The Agle532 Mar Abr 07, 2020 9:26 pm

» [VX/Ace] Algunos Íconos
por ElNachGames Mar Abr 07, 2020 9:07 pm

» [MV]Butterfly Paradox
por Pocari Mar Abr 07, 2020 3:07 pm


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 : 131
Monedas : 348
Reputación : 5

Volver arriba Ir abajo

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

Mensaje por Inva 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.
Inva
Inva
PJ Recurrente
PJ Recurrente

Venezuela
RPG Maker : Ace
Mensajes : 61
Monedas : 925
Reputación : 34

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 : 131
Monedas : 348
Reputación : 5

Volver arriba Ir abajo

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

Mensaje por Inva 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 :)
Inva
Inva
PJ Recurrente
PJ Recurrente

Venezuela
RPG Maker : Ace
Mensajes : 61
Monedas : 925
Reputación : 34

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 : 131
Monedas : 348
Reputación : 5

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.