Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Afiliados
Estadísticas
Tenemos 4133 miembros registrados.
El último usuario registrado es Neysersitoh.

Nuestros miembros han publicado un total de 84768 mensajes en 12064 argumentos.

Romper limites de la curva de experiencia.

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker VX ACE Romper limites de la curva de experiencia.

Mensaje por Ohan el 2016-06-17, 15:53

Tengo un proyecto en el que intento darles a los personajes estadisticas simples, como en juegs como Paper Pario o en menor medida como Fire Emblem, que tienen estadistcas mas bien faciles de calcular mentalmente para el jugador. Y como en esos jeugos, quiero que los personajes suban de nivel en ubna cantidad fija de experiencia. O sea, que sea cual sea enl nivel en que esten, siempre suban de nivel con 100 puntos, pero la curva de experiencia no da esa opcion.

Tengo entendido que al alterar los scripts "naturales" de rpg maker (mi version es vx ace) se puede conseguir ¿Alguien me ayuda con eso?

Y si ademas es posible hacer que la estadistica minima sea 0 en lugar de 1 (Por ejemplo, personajes con 0 defensa) tambien se lo agradecere. Gracias por leer.
avatar
Ohan
Iniciado
Iniciado

0/3

Créditos 27

Gracias : 4

Volver arriba Ir abajo

RPG Maker VX ACE Re: Romper limites de la curva de experiencia.

Mensaje por newold el 2016-06-18, 17:22

Código:
#==============================================================================
class Game_Actor
  #--------------------------------------------------------------------------
  def level_up
    @level += 1
    self.exp -= 100
    self.class.learnings.each do |learning|
      learn_skill(learning.skill_id) if learning.level == @level
    end
  end
  #--------------------------------------------------------------------------
  def change_exp(exp, show)
    @exp[@class_id] = [exp, 0].max
    last_level = @level
    last_skills = skills
    level_up while self.exp >= 100
    level_down while self.exp < current_level_exp
    display_level_up(skills - last_skills) if show && @level > last_level
    refresh
  end
  #--------------------------------------------------------------------------
end
#==============================================================================

Con ese script (no lo he probado pero debería funcionar) el personaje subirá de nivel cada vez que tenga 100 puntos de exp (infinitos niveles). El problema que cuando tenga más de 99 niveles (que son los que te deja añadir el editor del maker) el juego crasheará. Puedes limitar a 99 niveles cambiando esta línea:

Código:
level_up while self.exp >= 100

por

Código:
level_up while self.exp >= 100 && !max_level?



Para lo otro, como el editor no te deja poner 0 en los parámetros, puedes usar este trucaje con este script:

Código:
#==============================================================================
class Game_BattlerBase
  def mhp;  param(0)-1;   end    # Maximum Hit Point
  def mmp;  param(1)-1;   end    # Maximum Magic Point
  def atk;  param(2)-1;   end    # ATtacK power
  def def;  param(3)-1;   end    # DEFense power
  def mat;  param(4)-1;   end    # Magic ATtack power
  def mdf;  param(5)-1;   end    # Magic DeFense power
  def agi;  param(6)-1;   end    # AGIlity
  def luk;  param(7)-1;   end    # LUcK
  def hit;  xparam(0)-1;  end    # HIT rate
  def eva;  xparam(1)-1;  end    # EVAsion rate
  def cri;  xparam(2)-1;  end    # CRItical rate
  def cev;  xparam(3)-1;  end    # Critical EVasion rate
  def mev;  xparam(4)-1;  end    # Magic EVasion rate
  def mrf;  xparam(5)-1;  end    # Magic ReFlection rate
  def cnt;  xparam(6)-1;  end    # CouNTer attack rate
  def hrg;  xparam(7)-1;  end    # HHp ReGeneration rate
  def mrg;  xparam(8)-1;  end    # Mp ReGeneration rate
  def trg;  xparam(9)-1;  end    # Tp ReGeneration rate
  def tgr;  sparam(0)-1;  end    # TarGet Rate
  def grd;  sparam(1)-1;  end    # GuaRD effect rate
  def rec;  sparam(2)-1;  end    # RECovery effect rate
  def pha;  sparam(3)-1;  end    # PHArmacology
  def mcr;  sparam(4)-1;  end    # Mp Cost Rate
  def tcr;  sparam(5)-1;  end    # Tp Charge Rate
  def pdr;  sparam(6)-1;  end    # Physical Damage Rate
  def mdr;  sparam(7)-1;  end    # Magical Damage Rate
  def fdr;  sparam(8)-1;  end    # Floor Damage Rate
end
#==============================================================================

que lo que hace es restar 1 a todos los parámetros, así si defines uno como 1 en realidad será 0.

Coloca los dos scripts encima del main (no los he probado ninguno pero deberían funcionar, el segundo funciona en las luchas default)
avatar
newold
Principiante
Principiante

0/3

Créditos 1096

Gracias : 71

Volver arriba Ir abajo

RPG Maker VX ACE Re: Romper limites de la curva de experiencia.

Mensaje por Ohan el 2016-06-18, 23:08

Gracias por el esfuerzo, en serio, pero lo he probado y no sirve. Quiza deberias probarlos tu antes de publicarlos. Igual te di un "Gracias" por intentarlo.
avatar
Ohan
Iniciado
Iniciado

0/3

Créditos 27

Gracias : 4

Volver arriba Ir abajo

RPG Maker VX ACE Re: Romper limites de la curva de experiencia.

Mensaje por orochii el 2016-06-19, 03:51

Podrías decir qué no funciona, si muestra un mensaje de error, o algo.
avatar
orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6388

Gracias : 332

Volver arriba Ir abajo

RPG Maker VX ACE Re: Romper limites de la curva de experiencia.

Mensaje por newold el 2016-06-19, 11:07

Los he probado y al primero para que funcionase tuve que hacerle un par de arreglos, y al segundo añadirte una línea

Scripts funcionando:

Código:
#==============================================================================
class Game_Actor
  #--------------------------------------------------------------------------
  def level_up
    @level += 1
    @exp[@class_id] -= 100
    self.class.learnings.each do |learning|
      learn_skill(learning.skill_id) if learning.level == @level
    end
  end
  #--------------------------------------------------------------------------
  def change_exp(exp, show)
    @exp[@class_id] = [exp, 0].max
    last_level = @level
    last_skills = skills
    level_up while self.exp >= 100 && !max_level?
    display_level_up(skills - last_skills) if show && @level > last_level
    refresh
  end
  #--------------------------------------------------------------------------
end
#==============================================================================


#==============================================================================
class Window_Status < Window_Selectable
  #--------------------------------------------------------------------------
  def draw_exp_info(x, y)
    s1 = @actor.max_level? ? "-------" : @actor.exp
    s2 = @actor.max_level? ? "-------" : 100
    s_next = sprintf(Vocab::ExpNext, Vocab::level)
    change_color(system_color)
    draw_text(x, y + line_height * 0, 180, line_height, Vocab::ExpTotal)
    draw_text(x, y + line_height * 2, 180, line_height, s_next)
    change_color(normal_color)
    draw_text(x, y + line_height * 1, 180, line_height, s1, 2)
    draw_text(x, y + line_height * 3, 180, line_height, s2, 2)
  end
  #--------------------------------------------------------------------------
end
#==============================================================================

#==============================================================================
class Game_BattlerBase
  def mhp;  param(0)-1;   end    # Maximum Hit Point
  def mmp;  param(1)-1;   end    # Maximum Magic Point
  def atk;  param(2)-1;   end    # ATtacK power
  def def;  param(3)-1;   end    # DEFense power
  def mat;  param(4)-1;   end    # Magic ATtack power
  def mdf;  param(5)-1;   end    # Magic DeFense power
  def agi;  param(6)-1;   end    # AGIlity
  def luk;  param(7)-1;   end    # LUcK
  def hit;  xparam(0)-1;  end    # HIT rate
  def eva;  xparam(1)-1;  end    # EVAsion rate
  def cri;  xparam(2)-1;  end    # CRItical rate
  def cev;  xparam(3)-1;  end    # Critical EVasion rate
  def mev;  xparam(4)-1;  end    # Magic EVasion rate
  def mrf;  xparam(5)-1;  end    # Magic ReFlection rate
  def cnt;  xparam(6)-1;  end    # CouNTer attack rate
  def hrg;  xparam(7)-1;  end    # HHp ReGeneration rate
  def mrg;  xparam(8)-1;  end    # Mp ReGeneration rate
  def trg;  xparam(9)-1;  end    # Tp ReGeneration rate
  def tgr;  sparam(0)-1;  end    # TarGet Rate
  def grd;  sparam(1)-1;  end    # GuaRD effect rate
  def rec;  sparam(2)-1;  end    # RECovery effect rate
  def pha;  sparam(3)-1;  end    # PHArmacology
  def mcr;  sparam(4)-1;  end    # Mp Cost Rate
  def tcr;  sparam(5)-1;  end    # Tp Charge Rate
  def pdr;  sparam(6)-1;  end    # Physical Damage Rate
  def mdr;  sparam(7)-1;  end    # Magical Damage Rate
  def fdr;  sparam(8)-1;  end    # Floor Damage Rate
  def param(param_id)
    value = param_base(param_id) + param_plus(param_id)
    value *= param_rate(param_id) * param_buff_rate(param_id)
    [[value, param_max(param_id)].min, param_min(param_id)].max.to_i - 1
  end
end
#==============================================================================


Prueba ahora, recuerda son solo para scripts defaults

(Nota: Ahora a todos los parámetros se les resta 1, si ves que no funciona correctamente me lo dices e intento ver el error (quizás falte añadir una línea pero al probarlo parece que funcionaba así))
avatar
newold
Principiante
Principiante

0/3

Créditos 1096

Gracias : 71

Volver arriba Ir abajo

RPG Maker VX ACE Re: Romper limites de la curva de experiencia.

Mensaje por Ohan el 2016-06-19, 23:58

Me siento muy avergonzado. Tu ayuda si que fue util, es solo que mi yo no entendi donde iba y asumi que me diste un scipt nuevo (Lo puse junto a Main). Tu truco con los scripts es muy bueno, gracias por colaborar y me disculpo por la confusion.
avatar
Ohan
Iniciado
Iniciado

0/3

Créditos 27

Gracias : 4

Volver arriba Ir abajo

RPG Maker VX ACE Re: Romper limites de la curva de experiencia.

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


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