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 84769 mensajes en 12064 argumentos.

[XP] Paralysis State Ratio

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP [XP] Paralysis State Ratio

Mensaje por Wecoc el 2016-08-07, 05:17

La parálisis por defecto no permite añadir una probabilidad de que el personaje sí pueda hacer la acción, es decir, es una parálisis absoluta.
Por eso creé una alternativa bastante simple (no modifica la original) en la que puedes definir la ratio de efectividad de ese estado. También puedes añadirle un texto que saldrá en la help window, puse de ejemplo "¡$1 no puede moverse!" ($1 se mostrará como el nombre del actor/enemigo). Si le pones texto vacío ("") no se mostrará nada.

En caso de que un actor o enemigo tenga dos estados o más de parálisis a la vez, se tendrá en cuenta la que tenga un RATING (lo que sale en la base de datos como "Radio") más elevado.

Código:
#==============================================================================
# ** Paralysis State Ratio
#------------------------------------------------------------------------------
# Parálisis con probabilidad de ataque
# Autor: Wecoc (no requiere créditos)
#------------------------------------------------------------------------------
# Atención! hay que desactivar la restricción 'Parálisis' del estado en la
# Base de Datos, puesto que esa sigue funcionando como siempre y no permitiría
# el funcionamiento de la nueva parálisis
#==============================================================================

module ZTLA_States
            
  PARALYSIS_TEXT = "¡$1 no puede moverse!"
  
  # Estado => [Porcentaje de efecto, mensaje]
  Paralysis = {8 => [75, PARALYSIS_TEXT]}
  
end

#==============================================================================
# * Scene_Battle
#==============================================================================

class Scene_Battle
  alias make_action_paralysis make_basic_action_result unless $@
  def make_basic_action_result
    paralysis_rating = 0
    paralysis_ratio = 0
    paralysis_text = ""
    for i in @active_battler.states
      if ZTLA_States::Paralysis.keys.include?(i)
        if $data_states[i].rating > paralysis_rating
          paralysis_rating = $data_states[i].rating
          paralysis_ratio = ZTLA_States::Paralysis[i][0]
          paralysis_text = ZTLA_States::Paralysis[i][1]
        end
      end
    end
    text = paralysis_text.gsub("$1", @active_battler.name)
    if paralysis_ratio == 0 or rand(100) >= paralysis_ratio
      make_action_paralysis
      return
    end
    if paralysis_text != ""
      @help_window.set_text(text, 1)
    end
  end
end
avatar
Wecoc
Administrador
Administrador



Créditos 9217

Gracias : 493

Volver arriba Ir abajo

RPG Maker XP Re: [XP] Paralysis State Ratio

Mensaje por Wecoc el 2017-04-06, 18:42

Éste script que puse en el primer post solo afecta al ataque, no al usar habilidades o objetos.
Si queréis que también se aplique en esos casos usad el siguiente código, que es una ampliación del primero:

Código:
#==============================================================================
# ** Paralysis State Ratio (Versión para Ataque, Habilidades y Objetos)
#------------------------------------------------------------------------------
# Parálisis con probabilidad de acción
# Autor: Wecoc (no requiere créditos)
#------------------------------------------------------------------------------
# Atención! hay que desactivar la restricción 'Parálisis' del estado en la
# Base de Datos, puesto que esa sigue funcionando como siempre y no permitiría
# el funcionamiento de la nueva parálisis
#==============================================================================

module ZTLA_States
           
  PARALYSIS_TEXT = "¡$1 no puede moverse!"
 
  # Estado => [Porcentaje de efecto, mensaje]
  Paralysis = {8 => [75, PARALYSIS_TEXT]}
 
end

#==============================================================================
# * Scene_Battle
#==============================================================================

class Scene_Battle
  alias make_basic_action_paralysis make_basic_action_result unless $@
  def make_basic_action_result
    paralysis_rating = 0
    paralysis_ratio = 0
    paralysis_text = ""
    for i in @active_battler.states
      if ZTLA_States::Paralysis.keys.include?(i)
        if $data_states[i].rating > paralysis_rating
          paralysis_rating = $data_states[i].rating
          paralysis_ratio = ZTLA_States::Paralysis[i][0]
          paralysis_text = ZTLA_States::Paralysis[i][1]
        end
      end
    end
    text = paralysis_text.gsub("$1", @active_battler.name)
    if paralysis_ratio == 0 or rand(100) >= paralysis_ratio
      make_basic_action_paralysis
      return
    end
    if paralysis_text != ""
      @help_window.set_text(text, 1)
    end
  end
 
  alias make_skill_action_paralysis make_skill_action_result unless $@
  def make_skill_action_result
    paralysis_rating = 0
    paralysis_ratio = 0
    paralysis_text = ""
    for i in @active_battler.states
      if ZTLA_States::Paralysis.keys.include?(i)
        if $data_states[i].rating > paralysis_rating
          paralysis_rating = $data_states[i].rating
          paralysis_ratio = ZTLA_States::Paralysis[i][0]
          paralysis_text = ZTLA_States::Paralysis[i][1]
        end
      end
    end
    text = paralysis_text.gsub("$1", @active_battler.name)
    if paralysis_ratio == 0 or rand(100) >= paralysis_ratio
      make_skill_action_paralysis
      return
    end
    if paralysis_text != ""
      @help_window.set_text(text, 1)
    end
  end
 
  alias make_item_action_paralysis make_item_action_result unless $@
  def make_item_action_result
    paralysis_rating = 0
    paralysis_ratio = 0
    paralysis_text = ""
    for i in @active_battler.states
      if ZTLA_States::Paralysis.keys.include?(i)
        if $data_states[i].rating > paralysis_rating
          paralysis_rating = $data_states[i].rating
          paralysis_ratio = ZTLA_States::Paralysis[i][0]
          paralysis_text = ZTLA_States::Paralysis[i][1]
        end
      end
    end
    text = paralysis_text.gsub("$1", @active_battler.name)
    if paralysis_ratio == 0 or rand(100) >= paralysis_ratio
      make_item_action_paralysis
      return
    end
    if paralysis_text != ""
      @help_window.set_text(text, 1)
    end
  end
end
avatar
Wecoc
Administrador
Administrador



Créditos 9217

Gracias : 493

Volver arriba Ir abajo

RPG Maker XP Re: [XP] Paralysis State Ratio

Mensaje por AsFzKakarotto el 2017-04-06, 20:44

Que haríamos sin ti wecoc.... te pasaste bro
avatar
AsFzKakarotto
Novato
Novato

0/3

Créditos 97

Gracias : 19

Volver arriba Ir abajo

RPG Maker XP Re: [XP] Paralysis State Ratio

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.