¡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
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Últimos temas
» Hola mucho gusto
por Hk Diamond Hoy a las 13:49

» [AYUDA]Hootshot de moghunter
por Rudy_kinneas Hoy a las 12:03

» Holaaa a tod@s!!!
por nacho Hoy a las 09:47

» SoraDeathss se presenta!
por chronoMxx Hoy a las 07:50

» {AYUDA}Blizz-ABS Script
por chronoMxx Hoy a las 06:45

» las cosas como son...
por Bleuw Hoy a las 04:18

» Busco artistas graficos para proyecto serio
por Rudy_kinneas Ayer a las 20:52

» Duda con música en RPG MV
por Fleabass Ayer a las 20:25

» Recopilación de páginas con recursos RPG Maker
por RiKennedy-Maker Ayer a las 20:00

» [DUDA] Titulo de RPGM XP con varias imagenes
por Wecoc Ayer a las 08:38

Afiliados
Estadísticas
Tenemos 3381 miembros registrados.
El último usuario registrado es Hk Diamond.

Nuestros miembros han publicado un total de 79749 mensajes en 11244 argumentos.
Navega con Google Chrome
[DESCARGA]

[RMXP] Parameters Table

 :: RPG Maker :: Scripts

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP [RMXP] Parameters Table

Mensaje por Wecoc el 2013-01-03, 21:36

Este sencillísimo script lo que hace es construir una tabla de barras para mostrar los parámetros del actor.
Lo hice bastante configurable, hay un module para los colores usados y los límites, y luego los tamaños, los parámetros a mostrar y otras cosas se controlan cuando se llama el script (viene todo explicado al principio)



De momento hay 2 scripts (de 3) distintos y compatibles entre ellos: Parameters Table Status y Parameters Table Equip. Pronto subiré el último, que es sorpresa... aún tengo que hacerlo... xD

Veamos, las tablas son muy parecidas, pero no iguales, por esto son scripts distintos xD
La diferencia con el Parameters Table Equip es que usa los parámetros del equipo que te estas poniendo/quitando para poner la diferencia, en una barra verde si ganas en algún atributo y roja si pierdes.



(Probadlo para verlo mejor)

Podeis editarlo, hacer vuestra versión y subirla aquí si queréis. Hay muchas variaciones posibles... gradient_rect, mostrar valores encima de la barra, barras horizontales en vez de verticales... yo solo hice la "base" para que os lo montéis como queráis xD.

Status Version:
Código:
#===========================================================
# -- Parameters Table de Wecoc -- Status Version
#===========================================================

=begin
Muestra una tabla con los parámetros del actor.

Código para usarlo:
 
draw_pt_status(actor, x, y, ancho, alto, parámetros, separación, color1, color2)

    actor => personaje del cual se muestran los parámetros
    x, y => coordenadas de la tabla
    ancho => ancho DE LAS BARRAS (no del total)
    alto => alto tope donde pueden llegar las barras
    parámetros => array con la siguiente codificación:
        0 => hpmax
        1 => spmax
        2 => atk
        3 => pdef
        4 => mdef
        5 => str 
        6 => dex
        7 => agi
        8 => int
    (por ejemplo si parámetros es (0,1,5,6) mostrará hpmax, spmax, str y dex)
   
    separación => separación entre las barras, por defecto 6
    color1 => color de las líneas de la tabla
    color2 => color del fondo ( Color.new(0,0,0,0) para tabla sin fondo)
   
  Puedes controlar aspectos default de la tabla en el module PT_STATUS
   
Espero que os guste este script.
=end

##########################################################

module PT_STATUS
  HP_COLOR = Color.new(200, 60, 120)
  SP_COLOR = Color.new(60, 120, 200)
  ATK_COLOR = Color.new(120, 120, 120)
  PDEF_COLOR = Color.new(120, 120, 120)
  MDEF_COLOR = Color.new(120, 120, 120)
  STR_COLOR = Color.new(200, 120, 60)
  DEX_COLOR = Color.new(120, 200, 60)
  AGI_COLOR = Color.new(60, 200, 120)
  INT_COLOR = Color.new(120, 60, 200)
 
  HP_MAX = 9999
  SP_MAX = 9999
  ATK_MAX = 299
  PDEF_MAX = 299
  MDEF_MAX = 299
  STR_MAX = 999
  DEX_MAX = 999
  AGI_MAX = 999
  INT_MAX = 999
end

##########################################################
 
class Bitmap
  def draw_line(start_x, start_y, end_x, end_y, start_color, width = 1, end_color = start_color)
    distance = (start_x - end_x).abs + (start_y - end_y).abs
    if end_color == start_color
      for i in 1..distance
        x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
        y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
        if width == 1
          self.set_pixel(x, y, start_color)
        else
          self.fill_rect(x, y, width, width, start_color)
        end
      end
    else
      for i in 1..distance
        x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
        y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
        r = start_color.red * (distance-i)/distance + end_color.red * i/distance
        g = start_color.green * (distance-i)/distance + end_color.green * i/distance
        b = start_color.blue * (distance-i)/distance + end_color.blue * i/distance
        a = start_color.alpha * (distance-i)/distance + end_color.alpha * i/distance
        if width == 1
          self.set_pixel(x, y, Color.new(r, g, b, a))
        else
          self.fill_rect(x, y, width, width, Color.new(r, g, b, a))
        end
      end
    end
  end
  def draw_square(x, y, width, height, color, line_width = 1)
    fill_rect(x, y, line_width, height, color) # Izquierda
    fill_rect(x, y, width, line_width, color) # Arriba
    fill_rect(x + width - line_width + 1, y, line_width, height, color) # Derecha
    fill_rect(x, y + height - line_width + 1, width, line_width, color) # Abajo
  end
end

##########################################################

class Window_Base
  def draw_pt_status(actor,x,y,width,height,parameters,w_space=6,
    color=Color.new(192,192,192),back_color=Color.new(0,0,0,100))
   
    table_width = (w_space+width)*parameters.size+w_space
   
    back = Rect.new(x, y, table_width, height)
    self.contents.fill_rect(back, back_color)
   
    self.contents.draw_line(x,y,x,y+height,color)
    self.contents.draw_line(x,y+height,x+table_width,y+height,color)
    self.contents.font.color = color
    self.contents.font.size = 12
    self.contents.font.bold = true
    for par in 0..parameters.length
      new_x = x+(w_space+width)*par+w_space
      new_y = y+height
      case parameters[par]
      when 0 # 0 = hpmax
        self.contents.draw_text(new_x,new_y, width, 24, "hp",1)
        new_height = height  * actor.maxhp / PT_STATUS::HP_MAX
        new_y2 = y+height-new_height
        rect = Rect.new(new_x, new_y2, width, new_height)
        bar_color = PT_STATUS::HP_COLOR
        border_color = color
      when 1 # 1 = spmax
        self.contents.draw_text(new_x,new_y, width, 24, "sp",1)
        new_height = height  * actor.maxsp / PT_STATUS::SP_MAX
        new_y2 = y+height-new_height
        rect = Rect.new(new_x, new_y2, width, new_height)
        bar_color = PT_STATUS::SP_COLOR
        border_color = color
      when 2 # 2 = atk
        self.contents.draw_text(new_x,new_y, width, 24, "atk",1)
        new_height = height  * actor.atk / PT_STATUS::ATK_MAX
        new_y2 = y+height-new_height
        rect = Rect.new(new_x, new_y2, width, new_height)
        bar_color = PT_STATUS::ATK_COLOR
        border_color = color
      when 3 # 3 = pdef
        self.contents.draw_text(new_x,new_y, width, 24, "pdef",1)
        new_height = height  * actor.pdef / PT_STATUS::PDEF_MAX
        new_y2 = y+height-new_height
        rect = Rect.new(new_x, new_y2, width, new_height)
        bar_color = PT_STATUS::PDEF_COLOR
        border_color = color
      when 4 # 4 = mdef
        self.contents.draw_text(new_x,new_y, width, 24, "mdef",1)
        new_height = height  * actor.mdef / PT_STATUS::MDEF_MAX
        new_y2 = y+height-new_height
        rect = Rect.new(new_x, new_y2, width, new_height)
        bar_color = PT_STATUS::MDEF_COLOR
        border_color = color
      when 5 # 5 = str
        self.contents.draw_text(new_x,new_y, width, 24, "str",1)
        new_height = height  * actor.str / PT_STATUS::STR_MAX
        new_y2 = y+height-new_height
        rect = Rect.new(new_x, new_y2, width, new_height)
        bar_color = PT_STATUS::STR_COLOR
        border_color = color
      when 6 # 6 = dex
        self.contents.draw_text(new_x,new_y, width, 24, "dex",1)
        new_height = height  * actor.dex / PT_STATUS::DEX_MAX
        new_y2 = y+height-new_height
        rect = Rect.new(new_x, new_y2, width, new_height)
        bar_color = PT_STATUS::DEX_COLOR
        border_color = color
      when 7 # 7 = agi
        self.contents.draw_text(new_x,new_y, width, 24, "agi",1)
        new_height = height  * actor.agi / PT_STATUS::AGI_MAX
        new_y2 = y+height-new_height
        rect = Rect.new(new_x, new_y2, width, new_height)
        bar_color = PT_STATUS::AGI_COLOR
        border_color = color
      when 8 # 8 = int
        self.contents.draw_text(new_x,new_y, width, 24, "int",1)
        new_height = height  * actor.int / PT_STATUS::INT_MAX
        new_y2 = y+height-new_height
        rect = Rect.new(new_x, new_y2, width, new_height)
        bar_color = PT_STATUS::INT_COLOR
        border_color = color
      end
     
      self.contents.fill_rect(rect, bar_color)
      self.contents.draw_square(rect.x,rect.y,rect.width,rect.height,border_color)

    end
  end
end

##########################################################

class Window_Status < Window_Base
  def refresh
    self.contents.clear
    t_parameters = [0,1,5,6,7,8]
    draw_pt_status(@actor,10,10,24,100,t_parameters)
  end
end

Equip Version:
Código:
#===========================================================
# -- Parameters Table de Wecoc -- Equip Version
#===========================================================

=begin
Muestra una tabla con los parámetros del actor.

Código para usarlo:
 
draw_pt_equip(actor, x, y, ancho, alto, parámetros, separación, color1, color2)

    actor => personaje del cual se muestran los parámetros
    x, y => coordenadas de la tabla
    ancho => ancho DE LAS BARRAS (no del total)
    alto => alto tope donde pueden llegar las barras
    parámetros => array con la siguiente codificación:
        0 => hpmax
        1 => spmax
        2 => atk
        3 => pdef
        4 => mdef
        5 => str 
        6 => dex
        7 => agi
        8 => int
    (por ejemplo si parámetros es (0,1,5,6) mostrará hpmax, spmax, str y dex)
   
    separación => separación entre las barras, por defecto 6
    color1 => color de las líneas de la tabla
    color2 => color del fondo ( Color.new(0,0,0,0) para tabla sin fondo)
   
  Puedes controlar aspectos default de la tabla en el module PT_EQUIP
   
Espero que os guste este script.
=end

##########################################################

module PT_EQUIP
  HP_COLOR = Color.new(200, 60, 120)
  SP_COLOR = Color.new(60, 120, 200)
  ATK_COLOR = Color.new(120, 120, 120)
  PDEF_COLOR = Color.new(120, 120, 120)
  MDEF_COLOR = Color.new(120, 120, 120)
  STR_COLOR = Color.new(200, 120, 60)
  DEX_COLOR = Color.new(120, 200, 60)
  AGI_COLOR = Color.new(60, 200, 120)
  INT_COLOR = Color.new(120, 60, 200)
 
  GOOD_COLOR = Color.new(194, 245, 151)
  BAD_COLOR = Color.new(245, 151, 153)
 
  HP_MAX = 9999
  SP_MAX = 9999
  ATK_MAX = 299
  PDEF_MAX = 299
  MDEF_MAX = 299
  STR_MAX = 999
  DEX_MAX = 999
  AGI_MAX = 999
  INT_MAX = 999
end

##########################################################

class Bitmap
  def draw_line(start_x, start_y, end_x, end_y, start_color, width = 1, end_color = start_color)
    distance = (start_x - end_x).abs + (start_y - end_y).abs
    if end_color == start_color
      for i in 1..distance
        x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
        y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
        if width == 1
          self.set_pixel(x, y, start_color)
        else
          self.fill_rect(x, y, width, width, start_color)
        end
      end
    else
      for i in 1..distance
        x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
        y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
        r = start_color.red * (distance-i)/distance + end_color.red * i/distance
        g = start_color.green * (distance-i)/distance + end_color.green * i/distance
        b = start_color.blue * (distance-i)/distance + end_color.blue * i/distance
        a = start_color.alpha * (distance-i)/distance + end_color.alpha * i/distance
        if width == 1
          self.set_pixel(x, y, Color.new(r, g, b, a))
        else
          self.fill_rect(x, y, width, width, Color.new(r, g, b, a))
        end
      end
    end
  end
  def draw_square(x, y, width, height, color, line_width = 1)
    fill_rect(x, y, line_width, height, color) # Izquierda
    fill_rect(x, y, width, line_width, color) # Arriba
    fill_rect(x + width - line_width + 1, y, line_width, height, color) # Derecha
    fill_rect(x, y + height - line_width + 1, width, line_width, color) # Abajo
  end
end

##########################################################

class Window_Base
  def draw_pt_equip(actor,x,y,width,height,parameters,w_space=6,
    color=Color.new(192,192,192),back_color=Color.new(0,0,0,100))
   
    table_width = (w_space+width)*parameters.size+w_space
   
    back = Rect.new(x, y, table_width, height)
    self.contents.fill_rect(back, back_color)
   
    self.contents.draw_line(x,y,x,y+height,color)
    self.contents.draw_line(x,y+height,x+table_width,y+height,color)
    self.contents.font.color = color
    self.contents.font.size = 12
    self.contents.font.bold = true
   
    for par in 0..parameters.length
      new_x = x+(w_space+width)*par+w_space
      new_y = y+height
     
      goodbar_color = PT_EQUIP::GOOD_COLOR
      badbar_color = PT_EQUIP::BAD_COLOR
      case parameters[par]
      when 0 # 0 = hpmax
        self.contents.draw_text(new_x,new_y, width, 24, "hp",1)
        new_height = height  * actor.maxhp / PT_EQUIP::HP_MAX
        new_y2 = y+height-new_height
        rect = Rect.new(new_x, new_y2, width, new_height)
        bar_color = PT_EQUIP::HP_COLOR
        border_color = color
       
        self.contents.fill_rect(rect, bar_color)
        self.contents.draw_square(rect.x,rect.y,rect.width,rect.height,border_color)
      when 1 # 1 = spmax
        self.contents.draw_text(new_x,new_y, width, 24, "sp",1)
        new_height = height  * actor.maxsp / PT_EQUIP::SP_MAX
        new_y2 = y+height-new_height
        rect = Rect.new(new_x, new_y2, width, new_height)
        bar_color = PT_EQUIP::SP_COLOR
        border_color = color
       
        self.contents.fill_rect(rect, bar_color)
        self.contents.draw_square(rect.x,rect.y,rect.width,rect.height,border_color)
      when 2 # 2 = atk
        self.contents.draw_text(new_x,new_y, width, 24, "atk",1)
        new_height = height  * actor.atk / PT_EQUIP::ATK_MAX
        new_y2 = y+height-new_height
        rect = Rect.new(new_x, new_y2, width, new_height)
        bar_color = PT_EQUIP::ATK_COLOR
        border_color = color
       
        self.contents.fill_rect(rect, bar_color)
        self.contents.draw_square(rect.x,rect.y,rect.width,rect.height,border_color)

        if @new_atk != nil and @new_atk != actor.atk
          if @new_atk > actor.atk
            new_height2 = height * (@new_atk-actor.atk)/PT_EQUIP::ATK_MAX
            rect = Rect.new(new_x, new_y2-new_height2, width+1, new_height2)
            self.contents.fill_rect(rect, goodbar_color)
          else
            new_height2 = height  * (actor.atk-@new_atk) / PT_EQUIP::ATK_MAX
            rect = Rect.new(new_x, new_y2, width+1, new_height2)
            self.contents.fill_rect(rect, badbar_color)
          end
        end
      when 3 # 3 = pdef
        self.contents.draw_text(new_x,new_y, width, 24, "pdef",1)
        new_height = height  * actor.pdef / PT_EQUIP::PDEF_MAX
        new_y2 = y+height-new_height
        rect = Rect.new(new_x, new_y2, width, new_height)
        bar_color = PT_EQUIP::PDEF_COLOR
        border_color = color
       
        self.contents.fill_rect(rect, bar_color)
        self.contents.draw_square(rect.x,rect.y,rect.width,rect.height,border_color)

        if @new_pdef != nil and @new_pdef != actor.pdef
          if @new_pdef > actor.pdef
            new_height2 = height * (@new_pdef-actor.pdef)/PT_EQUIP::PDEF_MAX
            rect = Rect.new(new_x, new_y2-new_height2, width+1, new_height2)
            self.contents.fill_rect(rect, goodbar_color)
          else
            new_height2 = height  * (actor.pdef-@new_pdef) / PT_EQUIP::PDEF_MAX
            rect = Rect.new(new_x, new_y2, width+1, new_height2)
            self.contents.fill_rect(rect, badbar_color)
          end
        end
      when 4 # 4 = mdef
        self.contents.draw_text(new_x,new_y, width, 24, "mdef",1)
        new_height = height  * actor.mdef / PT_EQUIP::MDEF_MAX
        new_y2 = y+height-new_height
        rect = Rect.new(new_x, new_y2, width, new_height)
        bar_color = PT_EQUIP::MDEF_COLOR
        border_color = color
       
        self.contents.fill_rect(rect, bar_color)
        self.contents.draw_square(rect.x,rect.y,rect.width,rect.height,border_color)

        if @new_mdef != nil and @new_mdef != actor.mdef
          if @new_mdef > actor.mdef
            new_height2 = height * (@new_mdef-actor.mdef)/PT_EQUIP::MDEF_MAX
            rect = Rect.new(new_x, new_y2-new_height2, width+1, new_height2)
            self.contents.fill_rect(rect, goodbar_color)
          else
            new_height2 = height  * (actor.mdef-@new_mdef) / PT_EQUIP::MDEF_MAX
            rect = Rect.new(new_x, new_y2, width+1, new_height2)
            self.contents.fill_rect(rect, badbar_color)
          end
        end
      when 5 # 5 = str
        self.contents.draw_text(new_x,new_y, width, 24, "str",1)
        new_height = height  * actor.str / PT_EQUIP::STR_MAX
        new_y2 = y+height-new_height
        rect = Rect.new(new_x, new_y2, width, new_height)
        bar_color = PT_EQUIP::STR_COLOR
        border_color = color     
       
        self.contents.fill_rect(rect, bar_color)
        self.contents.draw_square(rect.x,rect.y,rect.width,rect.height,border_color)

        if @new_str != nil and @new_str != actor.str
          if @new_str > actor.str
            new_height2 = height * (@new_str-actor.str)/PT_EQUIP::STR_MAX
            rect = Rect.new(new_x, new_y2-new_height2, width+1, new_height2)
            self.contents.fill_rect(rect, goodbar_color)
          else
            new_height2 = height  * (actor.str-@new_str) / PT_EQUIP::STR_MAX
            rect = Rect.new(new_x, new_y2, width+1, new_height2)
            self.contents.fill_rect(rect, badbar_color)
          end
        end
      when 6 # 6 = dex
        self.contents.draw_text(new_x,new_y, width, 24, "dex",1)
        new_height = height  * actor.dex / PT_EQUIP::DEX_MAX
        new_y2 = y+height-new_height
        rect = Rect.new(new_x, new_y2, width, new_height)
        bar_color = PT_EQUIP::DEX_COLOR
        border_color = color       
       
        self.contents.fill_rect(rect, bar_color)
        self.contents.draw_square(rect.x,rect.y,rect.width,rect.height,border_color)

        if @new_dex != nil and @new_dex != actor.dex
          if @new_dex > actor.dex
            new_height2 = height * (@new_dex-actor.dex)/PT_EQUIP::DEX_MAX
            rect = Rect.new(new_x, new_y2-new_height2, width+1, new_height2)
            self.contents.fill_rect(rect, goodbar_color)
          else
            new_height2 = height  * (actor.dex-@new_dex) / PT_EQUIP::DEX_MAX
            rect = Rect.new(new_x, new_y2, width+1, new_height2)
            self.contents.fill_rect(rect, badbar_color)
          end
        end
      when 7 # 7 = agi
        self.contents.draw_text(new_x,new_y, width, 24, "agi",1)
        new_height = height  * actor.agi / PT_EQUIP::AGI_MAX
        new_y2 = y+height-new_height
        rect = Rect.new(new_x, new_y2, width, new_height)
        bar_color = PT_EQUIP::AGI_COLOR
        border_color = color       
       
        self.contents.fill_rect(rect, bar_color)
        self.contents.draw_square(rect.x,rect.y,rect.width,rect.height,border_color)

        if @new_agi != nil and @new_agi != actor.agi
          if @new_agi > actor.agi
            new_height2 = height * (@new_agi-actor.agi)/PT_EQUIP::AGI_MAX
            rect = Rect.new(new_x, new_y2-new_height2, width+1, new_height2)
            self.contents.fill_rect(rect, goodbar_color)
          else
            new_height2 = height  * (actor.agi-@new_agi) / PT_EQUIP::AGI_MAX
            rect = Rect.new(new_x, new_y2, width+1, new_height2)
            self.contents.fill_rect(rect, badbar_color)
          end
        end
      when 8 # 8 = int
        self.contents.draw_text(new_x,new_y, width, 24, "int",1)
        new_height = height  * actor.int / PT_EQUIP::INT_MAX
        new_y2 = y+height-new_height
        rect = Rect.new(new_x, new_y2, width, new_height)
        bar_color = PT_EQUIP::INT_COLOR
        border_color = color
       
        self.contents.fill_rect(rect, bar_color)
        self.contents.draw_square(rect.x,rect.y,rect.width,rect.height,border_color)

        if @new_int != nil and @new_int != actor.int
          if @new_int > actor.int
            new_height2 = height * (@new_int-actor.int)/PT_EQUIP::INT_MAX
            rect = Rect.new(new_x, new_y2-new_height2, width+1, new_height2)
            self.contents.fill_rect(rect, goodbar_color)
          else
            new_height2 = height  * (actor.int-@new_int) / PT_EQUIP::INT_MAX
            rect = Rect.new(new_x, new_y2, width+1, new_height2)
            self.contents.fill_rect(rect, badbar_color)
          end
        end
      end
    end
  end
end

##########################################################

class Window_EquipLeft < Window_Base
  def refresh
    self.contents.clear
    t_parameters = [2,3,4,5,6,7,8]
    draw_pt_equip(@actor,12,0,24,140,t_parameters)
  end
  def set_new_parameters(new_atk, new_pdef, new_mdef, new_str, new_dex, new_agi, new_int)
    if @new_atk != new_atk or @new_pdef != new_pdef or @new_mdef != new_mdef or
      @new_str != new_str or @new_dex != new_dex or @new_agi != new_agi or
      @new_int != new_int
      @new_atk = new_atk
      @new_pdef = new_pdef
      @new_mdef = new_mdef
      @new_str = new_str
      @new_dex = new_dex
      @new_agi = new_agi
      @new_int = new_int
      refresh
    end
  end
end

##########################################################

class Scene_Equip
  def refresh
    @item_window1.visible = (@right_window.index == 0)
    @item_window2.visible = (@right_window.index == 1)
    @item_window3.visible = (@right_window.index == 2)
    @item_window4.visible = (@right_window.index == 3)
    @item_window5.visible = (@right_window.index == 4)
    item1 = @right_window.item
    case @right_window.index
    when 0
      @item_window = @item_window1
    when 1
      @item_window = @item_window2
    when 2
      @item_window = @item_window3
    when 3
      @item_window = @item_window4
    when 4
      @item_window = @item_window5
    end
    if @right_window.active
      @left_window.set_new_parameters(nil, nil, nil, nil, nil, nil, nil)
    end
    if @item_window.active
      item2 = @item_window.item
      last_hp = @actor.hp
      last_sp = @actor.sp
      @actor.equip(@right_window.index, item2 == nil ? 0 : item2.id)
      new_atk = @actor.atk
      new_pdef = @actor.pdef
      new_mdef = @actor.mdef
      new_str = @actor.str
      new_dex = @actor.dex
      new_agi = @actor.agi
      new_int = @actor.int

      @actor.equip(@right_window.index, item1 == nil ? 0 : item1.id)
      @actor.hp = last_hp
      @actor.sp = last_sp

      @left_window.set_new_parameters(new_atk,new_pdef,new_mdef,new_str,new_dex,new_agi,new_int)
    end
  end
end

Wecoc
Administrador
Administrador



Créditos 8263

Gracias : 372

Volver arriba Ir abajo

RPG Maker XP Re: [RMXP] Parameters Table

Mensaje por Wecoc el 2013-01-04, 16:18

¡Actualizo! Ya está el tercero: Equip Extended Version (compatible con los otros dos)
La diferencia con el otro Equip es que sale cada parte de la barra a qué se debe. Se puede poner con iconos o no (hay un interruptor en el module para activarlos o desactivarlos), en todo caso las barras quedaran divididas. Es un caso más particular y por lo tanto menos útil aún que el otro, pero lo scripteé a parte porque había que modificar mucha cosa para que funcionara bien.



Pongo el código de forma externa porque es largo.

Código

Ahora ya sí, ésto es todo.
Saludos y espero que os sirva de algo todo esto.

Wecoc
Administrador
Administrador



Créditos 8263

Gracias : 372

Volver arriba Ir abajo

RPG Maker XP Re: [RMXP] Parameters Table

Mensaje por orochii el 2013-01-04, 17:08

Me gusta el sin íconos, quiza unos letreritos serían mejorsh. Pero es porque los íconos son muy grandes y redondos, y destruyen un poco el estilo a mi parecer (se pueden cambiar, pero igual, si usa el ícono del arma por ejemplo, éste estaría condenado a ser una rayita).
La visualización me gusta porque es muy compacta, y aparte ilustrativa. El código visual es más rápido de ver y más agradable C: (aunque a veces un poco limitado, pero en este caso va bien).

¿Se puede poner la tabla de barras para equipo en las tiendas?
Orochii Zouveleki

orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6045

Gracias : 266

http://drekirokr.weebly.com/

Volver arriba Ir abajo

RPG Maker XP Re: [RMXP] Parameters Table

Mensaje por Contenido patrocinado Hoy a las 15:39


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Scripts

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