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 3768 miembros registrados.
El último usuario registrado es lMac.

Nuestros miembros han publicado un total de 85831 mensajes en 12224 argumentos.

[RMXP] Script de congelar

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP [RMXP] Script de congelar

Mensaje por silvanash el 2017-01-10, 16:46

Basado en la idea de Wecocio en el tema de aportar ideas.

Código:
module SLV_Config
  
  # ID of the [Frozen] state
  # Frozen state must have [Paralysis] restriction
  FROZEN_STATE = 17

end

class Game_Party
  
  def frozen?
    for actor in @actors
      return true if actor.state?(SLV_Config::FROZEN_STATE)
    end
  end
  
end

class Game_Battler
  
  alias slv_frozen_attack_effect attack_effect unless $@
  
  def attack_effect(attacker)
    effective = slv_frozen_attack_effect(attacker)
    if effective and state?(SLV_Config::FROZEN_STATE) && self.damage.to_i > 0
      self.damage += self.hp
      self.hp -= self.hp
    end
  end
    
  alias slv_frozen_skill_effect skill_effect unless $@
  
  def skill_effect(user, skill)
    n = state?(SLV_Config::FROZEN_STATE)
    effective = slv_frozen_skill_effect(user, skill)
    if effective && self.damage.to_i > 0 and skill.atk_f > 0 and n
      self.damage += self.hp
      self.hp -= self.hp
    end
  end
  
end

class Scene_Battle
    
  def update_phase2
    # If C button was pressed
    if Input.trigger?(Input::C)
      # Branch by party command window cursor position
      case @party_command_window.index
      when 0  # fight
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Start actor command phase
        start_phase3
      when 1  # escape
        # If it's not possible to escape
        if $game_temp.battle_can_escape == false or $game_party.frozen?
          # Play buzzer SE
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Escape processing
        update_phase2_escape
      end
      return
    end
  end
  
end

Pegar sobre Main y listos. Hay que definir la ID del estado de [Congelado] en el module del principio, y en la base de datos, ese estado debe tener la restricción [Paralizado]. Las habilidades deben de estar configuradas para añadir ese estado. Un ataque normal con un arma o una habilidad con [Ataque F] mayor que 0 matará al objetivo si está congelado. No se puede huír de la batalla si hay algún miembro congelado en la party aliada. Un enemigo congelado no puede huír.

No pido créditos por el script.
avatar
silvanash
Aventurero
Aventurero

0/3

Créditos 1627

Gracias : 229

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.