Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.

[XP] Cambiar Battlers y Chars al cambiar de Estado

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP [XP] Cambiar Battlers y Chars al cambiar de Estado

Mensaje por AsFzKakarotto el 2018-02-05, 03:20

Introducción

Este script le permite cambiar el gráfico a un Battlers y Charset que presente cambios de estado o algún otro efecto.
Podría ser utilizado para crear efectos tales como el efecto de la Serie "Toad" Final Fantasy donde el personaje se
convirtió en un sapo. O crear transformaciones de estilo "Super Saiyajin".

Características
• Cambiar el gráfico del personaje si se trata de algún efecto.
Modo de empleo: Debe configurar los efectos y gráficos en el "módulo SG "
Se puede establecer el mismo gráfico para todos los miembros del grupo.

Instrucciones:

En el script Ajustar lo siguiente
StateImageBattlers [X] = Hash.new ("Nombre de Tabla")
StateImageCharacters [X] = Hash.new ("Nombre de Tabla")

Donde:
X = ID efecto o puede establecer las listas de forma individual para cada personaje:

StateImageBattlers [X] [Y] = 'Nombre Gráfico'
StateImageCharacters [X] [Y] = 'Nombre del gráfico'

Donde:
X = ID Efecto
Y = ID carácter

Script:
Código:
#==========================================================================
# Mudar Gráfico qundo está Sobre Efeitos
# por SandGolem
#==========================================================================
=begin
Este script permite mudar o gráfico de char e de battler de um
pesronagem se ele estiver sobre algum efeito.

Como usar:
Você deve configurar os efeitos e os gráficos no "module SG"

Você pode definir um mesmo gráfico para todos membros do grupo:
StateImageBattlers[X] = Hash.new('Nome do Gráfico')
StateImageCharacters[X] = Hash.new('Nome do Gráfico')
Onde:
X = ID do Efeito

Ou então pode definir os gráficos individualmente para cada
personagem:
StateImageBattlers[X][Y] = 'Nome do Gráfico'
StateImageCharacters[X][Y] = 'Nome do Gráfico'
Onde:
X = ID do Efeito
Y = ID do Personagem

=end

module SG
  StateImageBattlers = {} #Não mudar
  StateImageCharacters = {} #Não mudar
  
  #Área de Edição
  StateImageBattlers[3] = Hash.new('088-Monster02')
  StateImageBattlers[3][8] = '089-Monster03'
  StateImageCharacters[3] = Hash.new('088-Monster02')
  StateImageCharacters[3][8] = '089-Monster03'
end

SG::StateImages = SG::StateImageBattlers.keys

#==============================================================================
# ? Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  if !@alias_sg_stateimages
    alias sg_stateimages_add add_state
    alias sg_stateimages_remove remove_state
    @alias_sg_stateimages = true
  end
  #--------------------------------------------------------------------------
  def add_state(state_id,force = false)
    sg_stateimages_setrevert
    sg_stateimages_add(state_id,force)
    if SG::StateImages.include?(state_id)
      if SG::StateImageBattlers[state_id][@actor_id] != ''
        @battler_name = SG::StateImageBattlers[state_id][@actor_id]
        @battler_hue = 0
      end
      if SG::StateImageCharacters[state_id][@actor_id] != ''
        @character_name = SG::StateImageCharacters[state_id][@actor_id]
        @character_hue = 0
      end
      $game_player.refresh
    end
  end
  #--------------------------------------------------------------------------
  def remove_state(state_id,force = false)
    begin
      sg_stateimages_remove(state_id,force)
    rescue
    end
    sg_stateimages_revert
  end
  #--------------------------------------------------------------------------
  def sg_stateimages_revert
    for i in 0...SG::StateImages.size
      return if state?(SG::StateImages[i])
    end
    return if @sg_staterevert_battler == nil
    @battler_name = @sg_staterevert_battler
    @battler_hue = @sg_staterevert_battlerhue
    @character_name = @sg_staterevert_character
    @character_hue = @sg_staterevert_characterhue
    $game_player.refresh
  end
  #--------------------------------------------------------------------------
  def sg_stateimages_setrevert
    for i in 0...SG::StateImages.size
      return if state?(SG::StateImages[i])
    end
    @sg_staterevert_battler = @battler_name
    @sg_staterevert_battlerhue = @battler_hue
    @sg_staterevert_character = @character_name
    @sg_staterevert_characterhue = @character_hue
    $game_player.refresh
  end
end

Screenshots::







Autor: SandGolem (para voce XD)
avatar
AsFzKakarotto
Soñador
Soñador

0/3

Créditos 171

Gracias : 35

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.