¡Bienvenido a Universo Maker!
¿Es esta la primera vez que visitas el foro? Si es así te recomendamos que te registres para tener completo acceso a todas las áreas y secciones del foro, así también podrás participar activamente en la comunidad. Si ya tienes una cuenta, conectate cuanto antes.
Iniciar Sesión Registrarme

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo Mensaje [Página 1 de 1.]

#1 Habilidades Unidas [United abilities] [RMXP] el Jue Dic 17, 2015 3:27 am

Reputación del mensaje :100% (5 votos)

Super_SaiyanDios

avatar

HABILIDADES UNIDAS
RPG Maker (XP)
Mi primer aporte - El Script pertenece a un sistema de batalla TP... Lamento no recordar el nombre de su creador, pero yo lo edite para que fuese con PM(SP) y solucione algunos errores
Sobre el Script:
Permite crear Habilidades Unidas que se manipulen con 2,3 o hasta 4 personajes (Como en Suikoden 2).... Si uno de los personajes asociados a dicha habilidad unida no está en batalla, la habilidad será bloqueada. El error que solucione fue que un personaje miembro de la habilidad unida, estuviera con restricciones y realizaba la habilidad de igual forma ( Sería raro que un miembro de una habilidad unida se quede dormido o esté paralizado y se inicie la habilidad)
Imágenes:
-
Instrucciones:
♦️ Paso 1: Copiar script y pegar encima de Main... Todas las Instrucciones en el script
♦️ Paso 2: Compatible con sistema de Batalla Defaut (No ha sido probado con otros sistemas de batalla)
♦️ Paso 3: La Animación que se define en la base de datos se aplicará a todos los integrantes de la habilidad.
♦️ Paso 4: El script está configurado para mostrar el gasto de PM(SP) y los integrantes en la descripción de la habilidad
Código:


Código:
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
#
# Habilidades Unidas [United abilities]
# Autor : AsFzKakarotto (Super_SaiyanDios)
# [Ver.2.0] 06/01/2015 04:51 PM
# Descripción: Permite la Opción de crear habilidades que se Manipulen con
#              2,3 o 4 personajes y si al no estar uno de estos personajes
#              o no poseer suficientes PM. La Habilidad no podra realizarse.
#
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# START Configuration
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
#
# ¿Mostrar en la descripción de Habilidad el nombre de los Personajes
#  requeridos para realizar?.
#
DESCRIPTION_ADD_NAME = true # true= Si / false= No
#
# ¿Mostrar en la descripción de Habilidad el Costo de puntos Magicos requeridos
#  para realizar?. (Valor se descuenta para todos los que realizen la habilidad)
#
DESCRIPTION_ADD_COST = true # true= Si / false= No

#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# END Configuration
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
#==============================================================================
# RPG::Skill
#==============================================================================

class RPG::Skill
  
  alias description_sfc_later description
  def description
    data = BlizzCFG.sfc_database(@id)
    if data != nil
      text = @description
      text += " -#{data[0]}#{$data_system.words.sp}" if DESCRIPTION_ADD_COST
      if DESCRIPTION_ADD_NAME && data.size > 1
        text += " (#{$game_actors[data[1]].name}"
        data[2, data.size-2].each {|i| text += "+#{$game_actors[i].name}"}
        text += ')'
      end
      return text
    end
    return @description
  end
end
#==============================================================================
# module BlizzCFG
#==============================================================================

module BlizzCFG
  
  def self.sfc_database(id)
    case id
    
=begin
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
#==============================================================================
#                                  INSTRUCCIONES
#==============================================================================

Pegar script encima de main:
SI el Script posee la falla de cambiar
las imagenes de su lugar en batalla
es por que otro script interrumpe este proceso.

 No hay más remedio que eliminar este o el otro Script (a elección)
(El Script se comprobó que funciona perfectamente
 sin ningun otro Script Acompañado)

A continuación unas instrucciones para modo de uso.
En el Script Edita lo siguiente:

        when ID then return [PM_COST, AC_ID1, AC_ID2, ...]

      ID  - La Magia que será Otorgada Como Unión con otro o más personajes.
            Si el personaje acompañante a esta habilidad no esta en batalla
            o cuando alguien que no tenga los suficientes SP (PM) requeridos...
            la Habilidad será desactivada de su uso.
  PM_COST - El costo de magia (Esto se aplica para todos los personajes)
            Este costo no está asociado a lo que se otorga en base de datos.
            Ejemplo: si en base de datos se reduce a -5PM y
            en este Script colocamos -10PM.
            El que use la Habilidad se le descuenta -15PM y a
            los personajes acompañantes -10PM.
  AC_ID1  - ID del personaje 1
  AC_ID2  - ID del personaje 2
   ...     - más ID´s de personajes (¡¡COMPROBADO QUE SI SE PUEDE HACER!!:)
  
               Añadir Aqui abajo las Habilidades Unidas                  

#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
=end

    when 81 then return [450,1,2,3]
    when 82 then return [320,2,3]
    when 83 then return [500,1,2,3,4]
      
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
#                    No Editar lo que biene abajo
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

    end
    return nil
  end
  
end


#==============================================================================
# Game_Actor
#==============================================================================

class Game_Actor < Game_Battler
  
  alias skill_can_use_sfc_later? skill_can_use?
  def skill_can_use?(id)
    data = BlizzCFG.sfc_database(id)
    return skill_can_use_sfc_later?(id) && (data == nil || data.size == 1 &&
        data[0] * 1 <= @sr || data.size > 1 && $game_party.sfc_can_use?(id))
  end
  
  alias inputable_sfc_later? inputable?
  def inputable?
    return (inputable_sfc_later? && !$game_party.sfc_block.include?(self))
  end
  
end

#==============================================================================
# Game_Party
#==============================================================================

class Game_Party
  
  attr_accessor :sfc_block
  
  alias init_sfc_later initialize
  def initialize
    init_sfc_later
    @sfc_block = []
  end
  
  def sfc_can_use?(id)
    data = BlizzCFG.sfc_database(id)
    return data[1, data.size-1].all? {|id|
    $game_party.actors.include?($game_actors[id]) && $game_actors[id].restriction <= 0 &&
    !$game_actors[id].dead? && data[0] * 1 <= $game_actors[id].sp}
        
end
end

#==============================================================================
# Scene_Battle
#==============================================================================

class Scene_Battle
  
  alias start_phase2_sfc_later start_phase2
  def start_phase2
    $game_party.sfc_block = []
    start_phase2_sfc_later
  end
  
  def make_sfc_action_result
    make_skill_action_result
    if @active_battler.current_action.forcing ||
        @active_battler.skill_can_use?(@skill.id)
      data = BlizzCFG.sfc_database(@skill.id)
      if data.size == 1
        @active_battler.sp -= data[0] * 1
      else
        data[1, data.size-1].each {|id| $game_actors[id].animation_id = @animation1_id}
        data[1, data.size-1].each {|id| $game_actors[id].sp -= data[0] * 1}
      end
      @status_window.refresh
    end
  end
  
  alias end_skill_select_sfc_later end_skill_select
  def end_skill_select
    end_skill_select_sfc_later
    data = BlizzCFG.sfc_database(@skill.id)
    if Input.trigger?(Input::C) && @skill != nil &&
          @active_battler.skill_can_use?(@skill.id) && data != nil
      @active_battler.current_action.kind = 6
      if data.size > 1
        data[1, data.size-1].each {|id| $game_party.sfc_block.push($game_actors[id])}
        $game_party.sfc_block.delete(@active_battler)
        $game_party.sfc_block.each {|a| a.current_action.clear}
      end
    end
  end
  
  alias phase3_prior_actor_sfc_later phase3_prior_actor
  def phase3_prior_actor
    phase3_prior_actor_sfc_later
    if @active_battler != nil && @active_battler.current_action.kind == 6
      @active_battler.current_action.clear
      $game_party.sfc_block = []
    end
  end
  
  alias upd_phase4_step2_sfc_later update_phase4_step2
  def update_phase4_step2
    upd_phase4_step2_sfc_later
    make_sfc_action_result if @active_battler.current_action.kind == 6
  end
end
Créditos:
Me gustaría recordar el nombre de el creador original de el script (Gracias a él) lo único que recuerdo es que hizo uno de los tantos sistemas de batalla TP
AsFzKakarotto ( o sea yo ) quería añadir este nombre en universo maker pero por alguna razón no se pudo, Pero no se tomen la molestia de añadirme, la idea es disfrutar.
Espero que les sirva de algo y terminar agradeciendo a ustedes...

Vala

avatar
¡Wow! ¡Genial!

Lástima que sólo uso RPG maker VX Ace. Pero me encanta el script y de seguro le va a servir a mucha más gente. Ópalo Reputación

Saludos,
Vala.

Ledai

avatar
Muy buen aporte, no conocía el script, pero tu edit lo hace más practico y funcional... parece un buen añadido!  Ópalo Reputación




Entérate de todas las novedades

Cuervoso

avatar
Me recuerda a las "macros" de Phantasy Star 4, la diferencia es que ahí no venían prefijadas, sino que, si el personaje 1 hacia la técnica X, el personaje 2 la técnica Y; el personaje 3 la técnica Z, había cierta posibilidad de que se produzca una combinación.

De todos formas, me encanta eso de las combinaciones, sean como sean xD.

Ópalo Reputación

Saludos.






Cuervoso! No te pases ¬_¬

#5 Re: Habilidades Unidas [United abilities] [RMXP] el Miér Dic 23, 2015 10:00 am

Super_SaiyanDios

avatar
Muchas Gracias Opalo Sorprendido intentare seguir Aportando... de todos modos estoy muy agradecido de sus comentarios y dedicaciones ...

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

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