¡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, conéctate cuanto antes.
Iniciar Sesión Registrarme

No estás conectado. Conéctate o registrate

Ir a la página : 1, 2  Siguiente

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

Natalie

Natalie
¡Hola a todos! Esta vez vengo a hacer una petición! Ópalo Contento

Es una modificación del menú Status de MogHunter, @Youkai en su momento ya le hizo modificaciones para que quedase tal y como pedí (y que conste que estoy super contenta y agradecida, desde aquí gracias a Youkai ^^) pero ahora he pensado que en el futuro le cambiaré el aspecto a los personajes (las chicas van en vestidos y hay ciertos contextos en los que no es muy apropiado llevar vestido) entonces me gustaría poder cambiar la imagen que se muestra (no sé si con una llamada al script o como, ni idea).

Actualmente uso una única imagen por personaje, con el texto incluído y se llama "nombredelpersonaje_status", creo que en el script aparece como "_status" (para que se entienda mejor, no sé si me explico bien) y la idea es tener la opción de un "_status2" y cambiarlo de alguna manera desde una llamada de script desde un evento del juego...

La imagen que uso ahora:
[Solucionado] Modificación Menú Status de MogHunter 2hmk8z9

Aquí el script:

Spoiler:

Código:


#_______________________________________________________________________________
# MOG_Scene_Status V1.6          
#_______________________________________________________________________________
# By Moghunter  
# http://www.atelier-rgss.com
#_______________________________________________________________________________
module MOG
  #Transition Time.  
  MST_TT = 10
  #Transition Type(Name).  
  MST_TTT = "004-Blind04"
  # Set Maximum (STR,DEX,AGL,INT)
  MST_ST = 999
  # Set Maximum (ATK,PDEF,MDEF)
  MST_STE = 999
end

module Youkai
  # Caracter que marcara el inicio de una nueva linea en la biografia.
  # Por defecto es "|", sin comillas.
  # Ej:
  # "Fornido guerrero| siempre listo para cualquier enfrentamiento."
  # A la hora de mostrar el texto quedaria:
  # "Fornido guerrero
  # siempre listo para cualquier enfrentamiento."
  #
  # Como ves, lo que hace es marcar el lugar en el cual se saltara a la proxima
  # linea
  Caracter = /\|/
  # Posicion X del bloque de la biografia. Se toma como referencia el punto supe-
  # rior derecho
  Descr_X = 300
  # Posicion Y del bloque de la biografia. Se toma como referencia el punto supe-
  # rior derecho
  Descr_Y = 100
  # Ancho del bloque de escritura de la biografia
  Descr_W = 256
  # Altura de cada linea del bloque de escritura.
  Descr_H = 24
  # Biografia de cada personaje. Como referencia se usa el ID del personaje en la
  # Base de Datos. Todo el texto debe ir obligatoriamente entre comillas tal y como
  # muestro en los ejemplos. Separar cada biografia por coma.
  # Sintaxis:
  # ID del personaje *=>* "(Descripcion)"
  # Lo marcado entre asteriscos(*) es inviolable.
  Descr = { # NO TOCAR ESTA LINEA!!
  1 => "",
  2 => "",
  3 => "",
  4 => "",
  5 => "",
  } # NO TOCAR ESTA LINEA!!
  # Surfijo de la imagen que contendra la imagen del personaje y la de la caja.
  # El nombre final de la imagen seria "nombre_del_personaje + BoxName"
  # Ej. Alexis_status
  BoxName = "_status"
end

[spoiler]
#===============================================================================
# Game_Actor
#===============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# Now_Exp
#--------------------------------------------------------------------------  
  def now_exp
    return @exp - @exp_list[@level]
  end
#--------------------------------------------------------------------------
# Next Exp
#--------------------------------------------------------------------------  
  def next_exp
    return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
  end
end

#===============================================================================
# Window_Base
#===============================================================================
class Window_Base < Window  
#--------------------------------------------------------------------------
# Nada2
#--------------------------------------------------------------------------    
  def nada2(actor)
    face = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
  end    
#--------------------------------------------------------------------------
# Draw_heroface4
#--------------------------------------------------------------------------  
  def draw_heroface4(actor,x,y)
    face = RPG::Cache.picture(actor.name + "_fc2") rescue nada2(actor)
    cw = face.width
    ch = face.height
    src_rect = Rect.new(0, 0, cw, ch)
    if face == RPG::Cache.battler(actor.battler_name, actor.battler_hue)
      self.contents.blt(x + 45 , y - ch - 150, face, src_rect)    
    else  
      self.contents.blt(x , y - ch, face, src_rect)    
    end
  end  
#--------------------------------------------------------------------------
# Draw_Actor_Parameter2
#--------------------------------------------------------------------------  
  def draw_actor_parameter2(actor, x, y, type)
    back = RPG::Cache.picture("STBAR_Back")    
    cw = back.width  
    ch = back.height
    src_rect = Rect.new(0, 0, cw, ch)    
    self.contents.blt(x + 50 , y - ch + 20, back, src_rect)  
    meter = RPG::Cache.picture("STBAR.png")    
    case type
      when 0
        parameter_value = actor.atk
        cw = meter.width  * actor.atk / MOG::MST_STE
      when 1
        parameter_value = actor.pdef
        cw = meter.width  * actor.pdef / MOG::MST_STE
      when 2
        parameter_value = actor.mdef
        cw = meter.width  * actor.mdef / MOG::MST_STE
      when 3
        parameter_value = actor.str
        cw = meter.width  * actor.str / MOG::MST_ST
      when 4
        parameter_value = actor.dex
        cw = meter.width  * actor.dex / MOG::MST_ST
      when 5
        parameter_value = actor.agi
        cw = meter.width  * actor.agi / MOG::MST_ST
      when 6
        parameter_value = actor.int
        cw = meter.width  * actor.int / MOG::MST_ST
    end
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 120, y - 2, 36, 32, parameter_value.to_s, 2)
    ch = meter.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x + 50 , y - ch + 20, meter, src_rect)
  end
#--------------------------------------------------------------------------
# Draw_Maphp5
#--------------------------------------------------------------------------  
  def draw_maphp5(actor, x, y)
    back = RPG::Cache.picture("BAR")    
    cw = back.width  
    ch = back.height
    src_rect = Rect.new(0, 0, cw, ch)    
    self.contents.blt(x + 65, y - ch + 30, back, src_rect)
    meter = RPG::Cache.picture("HP_Bar2")    
    cw = meter.width  * actor.hp / actor.maxhp
    ch = meter.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x + 65, y - ch + 30, meter, src_rect)
    self.contents.font.color = Color.new(0,0,0,255)
    self.contents.draw_text(x + 66, y - 1, 100, 32, actor.hp.to_s + "/" + actor.maxhp.to_s, 1)  
    self.contents.font.color = Color.new(250,255,255,255)
    self.contents.draw_text(x + 65, y - 2, 100, 32, actor.hp.to_s + "/" + actor.maxhp.to_s, 1)  
  end  
#--------------------------------------------------------------------------
# Draw_Maphs5
#--------------------------------------------------------------------------  
  def draw_mapsp5(actor, x, y)
    back = RPG::Cache.picture("BAR")    
    cw = back.width  
    ch = back.height
    src_rect = Rect.new(0, 0, cw, ch)    
    self.contents.blt(x + 65 , y - ch + 30, back, src_rect)
    meter = RPG::Cache.picture("SP_Bar2")    
    cw = meter.width  * actor.sp / actor.maxsp
    ch = meter.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x + 65 , y - ch + 30, meter, src_rect)
    self.contents.font.color = Color.new(0,0,0,255)
    self.contents.draw_text(x + 66, y - 1, 100, 32, actor.sp.to_s + "/" + actor.maxsp.to_s, 1)  
    self.contents.font.color = Color.new(250,255,255,255)
    self.contents.draw_text(x + 65, y - 2, 100, 32, actor.sp.to_s + "/" + actor.maxsp.to_s, 1)  
  end
#--------------------------------------------------------------------------
# Draw_Mexp5
#--------------------------------------------------------------------------  
  def draw_mexp5(actor, x, y)
    bitmap2 = RPG::Cache.picture("Exp_Back")
    cw = bitmap2.width
    ch = bitmap2.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x + 60 , y - ch + 30, bitmap2, src_rect)
    if actor.next_exp != 0
      rate = actor.now_exp.to_f / actor.next_exp
    else
      rate = 1
    end
    bitmap = RPG::Cache.picture("Exp_Meter")
    if actor.level < 99
      cw = bitmap.width * rate
    else
      cw = bitmap.width
    end  
    ch = bitmap.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x + 60 , y - ch + 30, bitmap, src_rect)
    self.contents.font.color = Color.new(0,0,0,255)
    self.contents.draw_text(x + 51, y , 84, 32, actor.next_rest_exp_s.to_s, 1)    
    self.contents.font.color = Color.new(55,255,55,255)
    self.contents.draw_text(x + 52, y + 1, 84, 32, actor.next_rest_exp_s.to_s, 1)    
    self.contents.font.color = Color.new(0,0,0,255)
    self.contents.draw_text(x + 45, y + 7, 84, 32, "N",0)
    self.contents.font.color = Color.new(55,255,155,255)    
    self.contents.draw_text(x + 44, y + 8, 84, 32, "N",0)
    self.contents.font.color = Color.new(0,0,0,255)
    self.contents.draw_text(x + 10, y + 5, 30, 32, actor.level.to_s, 1)
    self.contents.font.color = Color.new(255,255,255,255)    
    self.contents.draw_text(x + 11, y + 6, 30, 32, actor.level.to_s, 1)    
  end
  
  def draw_text_lines(x, y, text, lwidth = 256, lheight = 32)
    text.gsub!(/\n/) { " " }
    wrd_array = text.split(" ")
    xo = x
    total_width = 0
    wrd_array.each{|word|
    w = self.contents.text_size(word).width
    total_width += w + self.contents.text_size(" ").width
    if total_width > lwidth
      total_width = 0
      total_width += w + self.contents.text_size(" ").width
      x = xo
      y += lheight
    end
    next_line = (word[Youkai::Caracter])
    word.sub!(Youkai::Caracter) {""} if next_line
    self.contents.draw_text(x, y, lwidth, lheight, word)
    x += w + self.contents.text_size(" ").width
    if next_line
      y += lheight
      x = xo
      total_width = 0
      total_width += w + self.contents.text_size(" ").width
    end
    }
  end
end

#===============================================================================
# Window_Status
#===============================================================================
class Window_Status < Window_Base
  include Youkai
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------    
  def initialize(actor)
    super(0, 0, 660, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    @actor = actor
    self.opacity = 0
    refresh
  end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------      
  def refresh
    self.contents.clear
    self.contents.font.name = "Georgia"
    self.contents.font.color = system_color
    draw_text_lines(Descr_X, Descr_Y, Descr[@actor.id], Descr_W, Descr_H)
  end
#--------------------------------------------------------------------------
# Dummy
#--------------------------------------------------------------------------      
  def dummy
    self.contents.font.color = system_color
    self.contents.draw_text(320, 112, 96, 32, $data_system.words.weapon)
    self.contents.draw_text(320, 176, 96, 32, $data_system.words.armor1)
    self.contents.draw_text(320, 240, 96, 32, $data_system.words.armor2)
    self.contents.draw_text(320, 304, 96, 32, $data_system.words.armor3)
    self.contents.draw_text(320, 368, 96, 32, $data_system.words.armor4)
    draw_item_name($data_weapons[@actor.weapon_id], 320 + 24, 144)
    draw_item_name($data_armors[@actor.armor1_id], 320 + 24, 208)
    draw_item_name($data_armors[@actor.armor2_id], 320 + 24, 272)
    draw_item_name($data_armors[@actor.armor3_id], 320 + 24, 336)
    draw_item_name($data_armors[@actor.armor4_id], 320 + 24, 400)
  end
end

#===============================================================================
# Window_Face
#===============================================================================
class Window_Face < Window_Base
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------        
def initialize(actor)
  super(0, -20, 300, 520)
  self.contents = Bitmap.new(width - 32, height - 32)
  @actor = actor
  self.opacity = 0
  refresh
end
#--------------------------------------------------------------------------
# Refreh
#--------------------------------------------------------------------------      
def refresh
  self.contents.clear
  draw_heroface4(@actor,10,485)        
end
end

#===============================================================================
# Scene Status
#===============================================================================
class Scene_Status
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------        
  def initialize(actor_index = 0, equip_index = 0)
    @actor_index = actor_index
  end
#--------------------------------------------------------------------------
# Main
#--------------------------------------------------------------------------      
  def main
    @actor = $game_party.actors[@actor_index]
    @status_window = Window_Status.new(@actor)
    @status_window.z = 20
#    @status_face = Window_Face.new(@actor)
#    @status_face.z = 20
#    @status_face.x = -300
#    @status_face.contents_opacity = 0
    @mst_lay = Sprite.new
    @mst_lay.bitmap = RPG::Cache.picture(@actor.name + Youkai::BoxName)
    @mst_back1 = Plane.new
    @mst_back1.bitmap = RPG::Cache.picture("MN_BK") rescue Bitmap.new(1,1)
    @mst_back1.z = -10
    Graphics.transition(MOG::MST_TT, "Graphics/Transitions/" + MOG::MST_TTT)
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    for i in 0..10
#      @status_face.x -= 25  
#      @status_face.contents_opacity -= 20
      Graphics.update
    end  
    Graphics.freeze
    @mst_back1.dispose
    @mst_lay.dispose
#    @status_face.dispose
    @status_window.dispose
  end
  
#--------------------------------------------------------------------------
# Update
#--------------------------------------------------------------------------      
  def update
    @mst_back1.ox += 1
    @mst_back1.oy += 1
#    if @status_face.x < 0
#      @status_face.x += 20
#      @status_face.contents_opacity += 15
#    elsif @status_face.x >= 0  
#      @status_face.x = 0  
#      @status_face.contents_opacity = 255
#    end  
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Menu.new(3)
      return
    end
    if Input.trigger?(Input::R) or Input.trigger?(Input::RIGHT)
      $game_system.se_play($data_system.cursor_se)
      @actor_index += 1
      @actor_index %= $game_party.actors.size
      $scene = Scene_Status.new(@actor_index)
      return
    end
    if Input.trigger?(Input::L) or Input.trigger?(Input::LEFT)
      $game_system.se_play($data_system.cursor_se)
      @actor_index += $game_party.actors.size - 1
      @actor_index %= $game_party.actors.size
      $scene = Scene_Status.new(@actor_index)
      return
    end
  end
end


$mog_rgss_Scene_Status = true

No sé si me he explicado bien, sino decídmelo y lo aclaro! Ópalo Contento

¡Saludos!  Opalo Hola



Última edición por natalie_cuxi el Lun Jul 06, 2015 4:55 pm, editado 1 vez

Natalie

Natalie
Bueno, en base a lo que he aprendido de los tutoriales de @XSerozY creo que una solución a lo que busco sería esto:
[Solucionado] Modificación Menú Status de MogHunter 2s6n677

La verdad es que ya no sé seguir... no sé en que parte del script ponerlo, que variable tengo que activar (¿tendría que poner un número, por ejemplo, variable 005?) así que agradecería una ayudita con el asunto Ópalo Lenguón

¡Saludos! Opalo Hola

Reputación del mensaje :100% (1 voto)

orochii

orochii
Es bastante sencillo de hacer, pero lo que te preguntaré es... ¿como quisieras que se cambiaran las imágenes?
Por ejemplo, ¿podría ser al cambiar el valor a una variable? También otra opción, que creo sería más versátil, es que en lugar de usar...

"nombredelpersonaje_status"

Use...

"nombredelcharadelpersonaje_status"

Así si le cambias el chara, cambiará la imagen de la pantalla de status.

No sé, ¿qué opción te sirve más? O si tienes otra forma en que quieras que funcione, adelante.

Salut.



[Solucionado] Modificación Menú Status de MogHunter Halo_m7 [Solucionado] Modificación Menú Status de MogHunter 2c825 // [Solucionado] Modificación Menú Status de MogHunter 2c80V // [Solucionado] Modificación Menú Status de MogHunter Indiedb // [Solucionado] Modificación Menú Status de MogHunter 2vFLJ

[Solucionado] Modificación Menú Status de MogHunter Dreki_userbar_by_orochii-d5lt2qd
Covenant Studios

¿Y toda esa sangre? ¡Blargh!
Ghrraaaaaaaaaaaahhhh...

Natalie

Natalie
¡Alguien ha comentado! Lloro de emoción!! T.T  T.T  T.T  ¡Gracias orochii-san! Ópalo Gato  

Pues la verdad que preferiría no relacionarlo con los cambios de charas, pues tengo bastantes de emociones y poses, y con un único cambio de vestuario me vale, así que preferiría que fuera "nombredelpersonaje_status".

Yo lo que quiero es que pase un suceso y se cambien de ropa; un ejemplo (no del juego, no quiero hacer spoilers xD) sería que van a la playa y en lugar de verse en el menú de status con el vestido se vea con el traje de baño. Me da igual si se hace al activar un interruptor "playa", dándole un valor a una variable, o mediante una llamada de script...no me importa como sea, simplemente quiero poder cambiarla de ropa 1 vez u.u   Pensad en la pobre Aria, recorriendo mundo con un vestido...¡va a acabar hecho harapos! xD

¡Muchas gracias por contestar Orochii! Que alegría me has dado! Ópalo Reputación

Reputación del mensaje :100% (1 voto)

orochii

orochii
Ah, ok, bien, aquí he hecho lo que dices.
Usa una variable para cambiar la imagen mostrada. Para cambiar la variable, ve a donde dice ChangeVariable =, justo debajo de donde dice BoxName="_status".
En la variable pones, por ejemplo, valor 2. Esto buscará la imagen nombrepersonaje_status2. Sirve también si pones un 3, 4, 5... cualquier número mayor a 1. Si no encuentra la imagen usará la imagen default (nombrepersonaje_status). Todo esto lo hice por si tienes más personajes, si en el futuro cambias de opinión y piensas usar otro traje para Aria, si hay personajes que no cambian su traje en esa situación... en fin. Para darte más opciones xD.

Código:
#_______________________________________________________________________________
# MOG_Scene_Status V1.6         
#_______________________________________________________________________________
# By Moghunter 
# http://www.atelier-rgss.com
#_______________________________________________________________________________
module MOG
  #Transition Time. 
  MST_TT = 10
  #Transition Type(Name). 
  MST_TTT = "004-Blind04"
  # Set Maximum (STR,DEX,AGL,INT)
  MST_ST = 999
  # Set Maximum (ATK,PDEF,MDEF)
  MST_STE = 999
end

module Youkai
  # Caracter que marcara el inicio de una nueva linea en la biografia.
  # Por defecto es "|", sin comillas.
  # Ej:
  # "Fornido guerrero| siempre listo para cualquier enfrentamiento."
  # A la hora de mostrar el texto quedaria:
  # "Fornido guerrero
  # siempre listo para cualquier enfrentamiento."
  #
  # Como ves, lo que hace es marcar el lugar en el cual se saltara a la proxima
  # linea
  Caracter = /\|/
  # Posicion X del bloque de la biografia. Se toma como referencia el punto supe-
  # rior derecho
  Descr_X = 300
  # Posicion Y del bloque de la biografia. Se toma como referencia el punto supe-
  # rior derecho
  Descr_Y = 100
  # Ancho del bloque de escritura de la biografia
  Descr_W = 256
  # Altura de cada linea del bloque de escritura.
  Descr_H = 24
  # Biografia de cada personaje. Como referencia se usa el ID del personaje en la
  # Base de Datos. Todo el texto debe ir obligatoriamente entre comillas tal y como
  # muestro en los ejemplos. Separar cada biografia por coma.
  # Sintaxis:
  # ID del personaje *=>* "(Descripcion)"
  # Lo marcado entre asteriscos(*) es inviolable.
  Descr = { # NO TOCAR ESTA LINEA!!
  1 => "",
  2 => "",
  3 => "",
  4 => "",
  5 => "",
  } # NO TOCAR ESTA LINEA!!
  # Surfijo de la imagen que contendra la imagen del personaje y la de la caja.
  # El nombre final de la imagen seria "nombre_del_personaje + BoxName"
  # Ej. Alexis_status
  BoxName = "_status"

  # ID de variable que cambiará la imagen del personaje.
  ChangeVariable = 26
end

[spoiler]
#===============================================================================
# Game_Actor
#===============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# Now_Exp
#-------------------------------------------------------------------------- 
  def now_exp
    return @exp - @exp_list[@level]
  end
#--------------------------------------------------------------------------
# Next Exp
#-------------------------------------------------------------------------- 
  def next_exp
    return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
  end
end

#===============================================================================
# Window_Base
#===============================================================================
class Window_Base < Window 
#--------------------------------------------------------------------------
# Nada2
#--------------------------------------------------------------------------   
  def nada2(actor)
    face = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
  end   
#--------------------------------------------------------------------------
# Draw_heroface4
#-------------------------------------------------------------------------- 
  def draw_heroface4(actor,x,y)
    face = RPG::Cache.picture(actor.name + "_fc2") rescue nada2(actor)
    cw = face.width
    ch = face.height
    src_rect = Rect.new(0, 0, cw, ch)
    if face == RPG::Cache.battler(actor.battler_name, actor.battler_hue)
      self.contents.blt(x + 45 , y - ch - 150, face, src_rect)   
    else 
      self.contents.blt(x , y - ch, face, src_rect)   
    end
  end 
#--------------------------------------------------------------------------
# Draw_Actor_Parameter2
#-------------------------------------------------------------------------- 
  def draw_actor_parameter2(actor, x, y, type)
    back = RPG::Cache.picture("STBAR_Back")   
    cw = back.width 
    ch = back.height
    src_rect = Rect.new(0, 0, cw, ch)   
    self.contents.blt(x + 50 , y - ch + 20, back, src_rect) 
    meter = RPG::Cache.picture("STBAR.png")   
    case type
      when 0
        parameter_value = actor.atk
        cw = meter.width  * actor.atk / MOG::MST_STE
      when 1
        parameter_value = actor.pdef
        cw = meter.width  * actor.pdef / MOG::MST_STE
      when 2
        parameter_value = actor.mdef
        cw = meter.width  * actor.mdef / MOG::MST_STE
      when 3
        parameter_value = actor.str
        cw = meter.width  * actor.str / MOG::MST_ST
      when 4
        parameter_value = actor.dex
        cw = meter.width  * actor.dex / MOG::MST_ST
      when 5
        parameter_value = actor.agi
        cw = meter.width  * actor.agi / MOG::MST_ST
      when 6
        parameter_value = actor.int
        cw = meter.width  * actor.int / MOG::MST_ST
    end
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 120, y - 2, 36, 32, parameter_value.to_s, 2)
    ch = meter.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x + 50 , y - ch + 20, meter, src_rect)
  end
#--------------------------------------------------------------------------
# Draw_Maphp5
#-------------------------------------------------------------------------- 
  def draw_maphp5(actor, x, y)
    back = RPG::Cache.picture("BAR")   
    cw = back.width 
    ch = back.height
    src_rect = Rect.new(0, 0, cw, ch)   
    self.contents.blt(x + 65, y - ch + 30, back, src_rect)
    meter = RPG::Cache.picture("HP_Bar2")   
    cw = meter.width  * actor.hp / actor.maxhp
    ch = meter.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x + 65, y - ch + 30, meter, src_rect)
    self.contents.font.color = Color.new(0,0,0,255)
    self.contents.draw_text(x + 66, y - 1, 100, 32, actor.hp.to_s + "/" + actor.maxhp.to_s, 1) 
    self.contents.font.color = Color.new(250,255,255,255)
    self.contents.draw_text(x + 65, y - 2, 100, 32, actor.hp.to_s + "/" + actor.maxhp.to_s, 1) 
  end 
#--------------------------------------------------------------------------
# Draw_Maphs5
#-------------------------------------------------------------------------- 
  def draw_mapsp5(actor, x, y)
    back = RPG::Cache.picture("BAR")   
    cw = back.width 
    ch = back.height
    src_rect = Rect.new(0, 0, cw, ch)   
    self.contents.blt(x + 65 , y - ch + 30, back, src_rect)
    meter = RPG::Cache.picture("SP_Bar2")   
    cw = meter.width  * actor.sp / actor.maxsp
    ch = meter.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x + 65 , y - ch + 30, meter, src_rect)
    self.contents.font.color = Color.new(0,0,0,255)
    self.contents.draw_text(x + 66, y - 1, 100, 32, actor.sp.to_s + "/" + actor.maxsp.to_s, 1) 
    self.contents.font.color = Color.new(250,255,255,255)
    self.contents.draw_text(x + 65, y - 2, 100, 32, actor.sp.to_s + "/" + actor.maxsp.to_s, 1) 
  end
#--------------------------------------------------------------------------
# Draw_Mexp5
#-------------------------------------------------------------------------- 
  def draw_mexp5(actor, x, y)
    bitmap2 = RPG::Cache.picture("Exp_Back")
    cw = bitmap2.width
    ch = bitmap2.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x + 60 , y - ch + 30, bitmap2, src_rect)
    if actor.next_exp != 0
      rate = actor.now_exp.to_f / actor.next_exp
    else
      rate = 1
    end
    bitmap = RPG::Cache.picture("Exp_Meter")
    if actor.level < 99
      cw = bitmap.width * rate
    else
      cw = bitmap.width
    end 
    ch = bitmap.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x + 60 , y - ch + 30, bitmap, src_rect)
    self.contents.font.color = Color.new(0,0,0,255)
    self.contents.draw_text(x + 51, y , 84, 32, actor.next_rest_exp_s.to_s, 1)   
    self.contents.font.color = Color.new(55,255,55,255)
    self.contents.draw_text(x + 52, y + 1, 84, 32, actor.next_rest_exp_s.to_s, 1)   
    self.contents.font.color = Color.new(0,0,0,255)
    self.contents.draw_text(x + 45, y + 7, 84, 32, "N",0)
    self.contents.font.color = Color.new(55,255,155,255)   
    self.contents.draw_text(x + 44, y + 8, 84, 32, "N",0)
    self.contents.font.color = Color.new(0,0,0,255)
    self.contents.draw_text(x + 10, y + 5, 30, 32, actor.level.to_s, 1)
    self.contents.font.color = Color.new(255,255,255,255)   
    self.contents.draw_text(x + 11, y + 6, 30, 32, actor.level.to_s, 1)   
  end
 
  def draw_text_lines(x, y, text, lwidth = 256, lheight = 32)
    text.gsub!(/\n/) { " " }
    wrd_array = text.split(" ")
    xo = x
    total_width = 0
    wrd_array.each{|word|
    w = self.contents.text_size(word).width
    total_width += w + self.contents.text_size(" ").width
    if total_width > lwidth
      total_width = 0
      total_width += w + self.contents.text_size(" ").width
      x = xo
      y += lheight
    end
    next_line = (word[Youkai::Caracter])
    word.sub!(Youkai::Caracter) {""} if next_line
    self.contents.draw_text(x, y, lwidth, lheight, word)
    x += w + self.contents.text_size(" ").width
    if next_line
      y += lheight
      x = xo
      total_width = 0
      total_width += w + self.contents.text_size(" ").width
    end
    }
  end
end

#===============================================================================
# Window_Status
#===============================================================================
class Window_Status < Window_Base
  include Youkai
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------   
  def initialize(actor)
    super(0, 0, 660, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    @actor = actor
    self.opacity = 0
    refresh
  end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------     
  def refresh
    self.contents.clear
    self.contents.font.name = "Georgia"
    self.contents.font.color = system_color
    draw_text_lines(Descr_X, Descr_Y, Descr[@actor.id], Descr_W, Descr_H)
  end
#--------------------------------------------------------------------------
# Dummy
#--------------------------------------------------------------------------     
  def dummy
    self.contents.font.color = system_color
    self.contents.draw_text(320, 112, 96, 32, $data_system.words.weapon)
    self.contents.draw_text(320, 176, 96, 32, $data_system.words.armor1)
    self.contents.draw_text(320, 240, 96, 32, $data_system.words.armor2)
    self.contents.draw_text(320, 304, 96, 32, $data_system.words.armor3)
    self.contents.draw_text(320, 368, 96, 32, $data_system.words.armor4)
    draw_item_name($data_weapons[@actor.weapon_id], 320 + 24, 144)
    draw_item_name($data_armors[@actor.armor1_id], 320 + 24, 208)
    draw_item_name($data_armors[@actor.armor2_id], 320 + 24, 272)
    draw_item_name($data_armors[@actor.armor3_id], 320 + 24, 336)
    draw_item_name($data_armors[@actor.armor4_id], 320 + 24, 400)
  end
end

#===============================================================================
# Window_Face
#===============================================================================
class Window_Face < Window_Base
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------       
def initialize(actor)
  super(0, -20, 300, 520)
  self.contents = Bitmap.new(width - 32, height - 32)
  @actor = actor
  self.opacity = 0
  refresh
end
#--------------------------------------------------------------------------
# Refreh
#--------------------------------------------------------------------------     
def refresh
  self.contents.clear
  draw_heroface4(@actor,10,485)       
end
end

#===============================================================================
# Scene Status
#===============================================================================
class Scene_Status
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------       
  def initialize(actor_index = 0, equip_index = 0)
    @actor_index = actor_index
  end
#--------------------------------------------------------------------------
# Main
#--------------------------------------------------------------------------     
  def main
    @actor = $game_party.actors[@actor_index]
    @status_window = Window_Status.new(@actor)
    @status_window.z = 20
#    @status_face = Window_Face.new(@actor)
#    @status_face.z = 20
#    @status_face.x = -300
#    @status_face.contents_opacity = 0
    @mst_lay = Sprite.new
    num = $game_variable[Youkai::ChangeVariable]
    suffix = Youkai::BoxName
    suffix+=num.to_s if (num>1)
    begin
    @mst_lay.bitmap = RPG::Cache.picture(@actor.name + suffix)
    rescue
        @mst_lay.bitmap = RPG::Cache.picture(@actor.name + Youkai::BoxName)
    end
    @mst_back1 = Plane.new
    @mst_back1.bitmap = RPG::Cache.picture("MN_BK") rescue Bitmap.new(1,1)
    @mst_back1.z = -10
    Graphics.transition(MOG::MST_TT, "Graphics/Transitions/" + MOG::MST_TTT)
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    for i in 0..10
#      @status_face.x -= 25 
#      @status_face.contents_opacity -= 20
      Graphics.update
    end 
    Graphics.freeze
    @mst_back1.dispose
    @mst_lay.dispose
#    @status_face.dispose
    @status_window.dispose
  end
 
#--------------------------------------------------------------------------
# Update
#--------------------------------------------------------------------------     
  def update
    @mst_back1.ox += 1
    @mst_back1.oy += 1
#    if @status_face.x < 0
#      @status_face.x += 20
#      @status_face.contents_opacity += 15
#    elsif @status_face.x >= 0 
#      @status_face.x = 0 
#      @status_face.contents_opacity = 255
#    end 
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Menu.new(3)
      return
    end
    if Input.trigger?(Input::R) or Input.trigger?(Input::RIGHT)
      $game_system.se_play($data_system.cursor_se)
      @actor_index += 1
      @actor_index %= $game_party.actors.size
      $scene = Scene_Status.new(@actor_index)
      return
    end
    if Input.trigger?(Input::L) or Input.trigger?(Input::LEFT)
      $game_system.se_play($data_system.cursor_se)
      @actor_index += $game_party.actors.size - 1
      @actor_index %= $game_party.actors.size
      $scene = Scene_Status.new(@actor_index)
      return
    end
  end
end


$mog_rgss_Scene_Status = true

Cualquier cosa me dices, salut!



[Solucionado] Modificación Menú Status de MogHunter Halo_m7 [Solucionado] Modificación Menú Status de MogHunter 2c825 // [Solucionado] Modificación Menú Status de MogHunter 2c80V // [Solucionado] Modificación Menú Status de MogHunter Indiedb // [Solucionado] Modificación Menú Status de MogHunter 2vFLJ

[Solucionado] Modificación Menú Status de MogHunter Dreki_userbar_by_orochii-d5lt2qd
Covenant Studios

¿Y toda esa sangre? ¡Blargh!
Ghrraaaaaaaaaaaahhhh...

Natalie

Natalie
¡Muchisisisisimas gracias!! T.T  Me parece perfecto, ¡me das muchas opciones! *o*
Ahora mismo no lo puedo probar porque es muy tarde en España, pero en cuanto pueda mañana lo pruebo y te comento!

Jo, ¡muchas gracias! ¡Saludos! Ópalo Reputación

Natalie

Natalie
¡Por fin lo he probado! Siento la tardanza, de verdad que valoro tu ayuda, pero no he tenido tiempo de prestarle atención a mi querido Godelse *o*

Bueno, hay algunos problemillas, ¿te cuento, vale?

Cuando he sustituido el script por el antiguo y he ido a jugar, se ha cerrado inmediatamente la ventana, mostrando este error:

[Solucionado] Modificación Menú Status de MogHunter 28m036t
[Solucionado] Modificación Menú Status de MogHunter 1112fk8

He ido a mirar y pensé que se te habría colado ahí ese texto al copiarlo a la web, entonces lo borré.

Una vez borrada esa línea intenté de nuevo abrir el juego, y esta vez si se abrió, pero se volvió a cerrar cuando me metí en el menú de status :S

[Solucionado] Modificación Menú Status de MogHunter Sf9co6
[Solucionado] Modificación Menú Status de MogHunter Koqk9

Ahí ya si que no sé que hacer Ópalo Aturdido

Siento que haya estos problemillas, no quisiera molestarte más, pero me harías un gran favor si se solucionara u.u

¡Saludos! Opalo Hola

Reputación del mensaje :100% (1 voto)

orochii

orochii
Ay diantres, es un error ortográfico por decirlo de una forma. Pónle $game_variables, no $game_variable xD. La linea queda entonces así:
num = $game_variables[Youkai::ChangeVariable]

Perdón perdón perdón, y también por el spoiler que se me fue x'D!...



[Solucionado] Modificación Menú Status de MogHunter Halo_m7 [Solucionado] Modificación Menú Status de MogHunter 2c825 // [Solucionado] Modificación Menú Status de MogHunter 2c80V // [Solucionado] Modificación Menú Status de MogHunter Indiedb // [Solucionado] Modificación Menú Status de MogHunter 2vFLJ

[Solucionado] Modificación Menú Status de MogHunter Dreki_userbar_by_orochii-d5lt2qd
Covenant Studios

¿Y toda esa sangre? ¡Blargh!
Ghrraaaaaaaaaaaahhhh...

Natalie

Natalie
¡Vaya, la que se puede liar por una "s"!  Ópalo Tuerto   Lo importante es que me funciona perfectamente, ¡gracias Orochii! Ópalo Reputación

-----
Pensaba que ya estaba todo cuando ¡zasca! ¡una nueva aventurilla por el camino! xD  Y es que he caído en la cuenta de que si cambio la imagen en Status, también necesito cambiarla en "Mog Equip" porque se ve el cuerpo de los personajes.

Total, que como chica curiosa y con ganas de aprender me he puesto a comparar el texto de script de antes y de después de que Orochii lo modificara, para ver si encontraba los cambios que había hecho y probar a pasarlos al Menú Equip.

Y...¡he encontrado los cambios! Y los he pasado...y he fracasado Opalo Triste  (al menos lo intenté u.u)

(Explico paso a paso para que se entienda mejor lo que digo)

Orochii ha añadido esto al principio del script, donde "Module Youkai" (bajo "Module Mog")
[Solucionado] Modificación Menú Status de MogHunter Jzuykx

Y ha sustituido en el Main de Scene Status esto:
[Solucionado] Modificación Menú Status de MogHunter M8hh60
por esto:
[Solucionado] Modificación Menú Status de MogHunter X451xc

Pues yo que soy muy lista (eso quisiera yo xD) he añadido bajo ModuleMog  del script Mog Equip esto:
[Solucionado] Modificación Menú Status de MogHunter 29c1fep

Entonces fui al Main de Scene Equip y me encontré con esto:
[Solucionado] Modificación Menú Status de MogHunter 332miwz

Primero pensé que tenía que cambiar el @mnlay = Sprite.new (señalado en azul) pero me di cuenta que eso sería si quisiera cambiar de archivo "Equip_Lay", pero lo que yo quiero cambiar es "_fc2" y para eso tenía que modificar @actor_pic = Sprite.new (señalado en rojo)

Y yo he dicho "a la aventuraaa" y he sustituido eso por este texto:
[Solucionado] Modificación Menú Status de MogHunter Rhjszm

¿He logrado el efecto deseado? Pos no O_O (me lo esperaba xDD)

No sé si mi razonamiento estará bien o será una caca de vaca (muy probablemente) o si tal vez se me haya pasado algún cambio que haya hecho Orochii y yo no lo haya visto (eso sería más raro, lo he comprobado con detenimiento).

He explicado todo esto para que veais que he hecho el intento, que quiero comprender como pasar esa modificación de un script a otro, así que agradecería mucho que alguien me  lo explicara! ^^  (@Orochii ven a mi!!! ¿Funcionará la invocación xDD)

¡Saludos!  Opalo Hola

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

XSerozY

XSerozY
Hola! Trataré de explicarte como funciona..

Si 'Mog::Youkai' (eso significa que 'Module Youkai' esta dentro del 'module Mog') existe en en el script de Scene Status, no es necesario volverlo a crear en Scene_Equip, ya que los 'modules' siempre se crean antes que las clases.

Quizas sea la falta de sueño, pero no logro entender que querias hacer xD
Lo que hiciste en el 'main' es correcto, teoricamente no te funciono porque mas abajo del '@actor_pic' que editaste hay un '@actor_pic.bitmap' que no borraste (es decir, reemplazaste:

'@actor_pic = Sprite.new' por toodo el script de orochii, pero mas abajo hay un:
'@actor_pic.bitmap = bitmap' que te reemplazaba la imagen por la original de Moghunter xD.

Lo correcto sería eliminar esa linea (o convertirla en comentario agregandole un '#' a la izquierda por si acaso).

Con eso y los cambios que hiciste debería funcionar. Y no te preocupes por el "_fc2", si reemplazaste bien(y si el script original no usa en otra parte esa imagen), Scene_Equip usara las mismas imagenes que el Scene_Status.

Saludos, y perdon si explique mal.. o si no era ese el problema.. debe ser la falta de sueño.. total la intencion es lo que vale xD!!

En resumen:

El reemplazo que hiciste en main de Scene_Equip copiando lo de orochii teoricamente esta bn, pero mas abajo, en el script original, hay un '@actor_pic.bitmap = bitmap' que debes borrar (o convertir a comentario), ya que probablemente esa linea te este volviendo a reemplazar la imagen por la de Moghunter.

Reputación del mensaje :100% (1 voto)

orochii

orochii
Sí funcionó la invocación, pero pos haz lo que dice XSerozY a ver si es eso, que yo tengo la misma duda xd. Si borraste esa línea, la @actor_pic.bitmap = etc o no xD. ¿Te da error el script tras ese cambio?
Otra cosa... en realidad no es necesario que copies las líneas en el module Youkai. De hecho te diría que no las copies xD. Porque es una modificación a un mismo módulo, a una variable con el mismo módulo, entonces técnicamente una línea está sobreescribiendo a la otra :V.

Y... digamos que puede ser complicado luego estar buscando en cuál de las dos líneas cambiar el valor, si es que lo quieres cambiar, o también decidirte por cambiar ambos (¡haciendo doble el trabajo! ¡puaj! (?)).

¡Pero pos de una vez congratulaciones por lanzarte a la aventura :^D! Ahora lee el código, y dime: ¿qué piensas que hace? Sho te corrijo luego (o Seroz si se me adelanta xD), y irás viendo que hacer engines es como hacer scripts, sólo que sin tener que recordar palabras (?). xD.



[Solucionado] Modificación Menú Status de MogHunter Halo_m7 [Solucionado] Modificación Menú Status de MogHunter 2c825 // [Solucionado] Modificación Menú Status de MogHunter 2c80V // [Solucionado] Modificación Menú Status de MogHunter Indiedb // [Solucionado] Modificación Menú Status de MogHunter 2vFLJ

[Solucionado] Modificación Menú Status de MogHunter Dreki_userbar_by_orochii-d5lt2qd
Covenant Studios

¿Y toda esa sangre? ¡Blargh!
Ghrraaaaaaaaaaaahhhh...

Natalie

Natalie
¡Infinitas gracias a los dos por contestar! Muchisisímas muchisísimas gracias! Ópalo Reputación   Ópalo Reputación

He probado a poner # delante de @actor_pic.bitmap = bitmap  y he quitado el module youkai que había puesto y...me siguen pasando cosas raras O_O
Es dificil de explicar los efectos que hace, así que voy a subir un video que es mucho más gráfico xD



La verdad que no entiendo bien que significan las cosas (menos mal que @XSerozY está dando clases para tontos gente con poco nivel), lo que más me hace dudar es el "suffix" y tengo la sensación que se refiere al número tras la imagen (por ejemplo, _status2, _status3, etc)...¿es eso o tengo mucha imaginación? xD

Muchas gracias por interesaros en mi pequeña andadura por los áridos mundos del scripting...argg ¡no me rendiré! ¡Que no!

¡Saludos! Opalo Hola

P.D. Perdón por la duración del video, la verdad que he sido un poco lenta, encima pensaba que se iba a ver el puntero y...pues no, no se ve el puntero cuando señalo xDD

Edito: El cambio de color de vestido no es el cambio real que quiero hacer, no creais que estoy liando esto por un simple cambio de tonalidad XDD Es que alguna imagen tenía que poner para que me sirviera de ejemplo xD

Reputación del mensaje :100% (1 voto)

orochii

orochii
Okay, veo dos errores. El primero, hay una imagen que no se está borrando al cerrarse la escena de equipamento. Y el segundo pues eso, que no se pone la imagen que debería. Preferiría ver el script y arreglarlo. ¿Qué tal si lo pasas? Luego los comparas y ves lo que hice si quieres, o hasta puedo explicar las líneas que cambio o asdf.

Esperando :^D.



[Solucionado] Modificación Menú Status de MogHunter Halo_m7 [Solucionado] Modificación Menú Status de MogHunter 2c825 // [Solucionado] Modificación Menú Status de MogHunter 2c80V // [Solucionado] Modificación Menú Status de MogHunter Indiedb // [Solucionado] Modificación Menú Status de MogHunter 2vFLJ

[Solucionado] Modificación Menú Status de MogHunter Dreki_userbar_by_orochii-d5lt2qd
Covenant Studios

¿Y toda esa sangre? ¡Blargh!
Ghrraaaaaaaaaaaahhhh...

Natalie

Natalie
Si por favor! Me explicas los cambios, vale? Al menos que entienda que ha pasado Ópalo Aturdido

Script del demonio >Ópalo Triste:

Código:

##_______________________________________________________________________________
# MOG_Scene_Equip V1.7          
#_______________________________________________________________________________
# By Moghunter    
# http://www.atelier-rgss.com
#_______________________________________________________________________________
module MOG
  #Transition Time.  
  MSEQPT= 10
  #Transition Type.
  MSEQPTT= "004-Blind04"
  # Set Maximum (STR,DEX,AGL,INT)
  MST_ST = 999
  # Set Maximum (ATK,PDEF,MDEF)
  MST_STE = 999
end

#===============================================================================
# Window_Base
#===============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# nada2
#--------------------------------------------------------------------------  
  def nada2(actor)
    face = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
  end  
#--------------------------------------------------------------------------
# draw_heroface2
#--------------------------------------------------------------------------  
  def draw_heroface2(actor,x,y)
    face = RPG::Cache.picture(actor.name + "_fc2") rescue nada2(actor)
    cw = face.width
    ch = face.height
    src_rect = Rect.new(0, 0, cw, ch)
    if face == RPG::Cache.battler(actor.battler_name, actor.battler_hue)
      self.contents.blt(x + 40, y - ch - 240, face, src_rect)
    else  
      self.contents.blt(x, y - ch, face, src_rect)
    end
  end    
#--------------------------------------------------------------------------
# drw_eqpup
#--------------------------------------------------------------------------
  def drw_eqpup(x,y,type)
    case type
      when 0
      est = RPG::Cache.icon("ST_EQU")
      when 1
      est = RPG::Cache.icon("ST_UP")
      when 2
      est = RPG::Cache.icon("ST_DOWN")  
    end  
    cw = est.width
    ch = est.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x , y - ch, est, src_rect)    
  end  
#--------------------------------------------------------------------------
# drw_equist
#--------------------------------------------------------------------------
  def drw_equist(x,y)
    equist = RPG::Cache.picture("Equip_St")
    cw = equist.width
    ch = equist.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x , y - ch, equist, src_rect)    
  end  
#--------------------------------------------------------------------------
# draw_actor_parameter2
#--------------------------------------------------------------------------
  def draw_actor_parameter2(actor, x, y, type)
    back = RPG::Cache.picture("STBAR_Back")    
    cw = back.width  
    ch = back.height
    src_rect = Rect.new(0, 0, cw, ch)    
    self.contents.blt(x + 50 , y - ch + 20, back, src_rect)  
    meter = RPG::Cache.picture("STBAR.png")    
    case type
      when 0
      parameter_value = actor.atk
      cw = meter.width  * actor.atk / MOG::MST_STE
      when 1
      parameter_value = actor.pdef
      cw = meter.width  * actor.pdef / MOG::MST_STE
      when 2
      parameter_value = actor.mdef
      cw = meter.width  * actor.mdef / MOG::MST_STE
      when 3
      parameter_value = actor.str
      cw = meter.width  * actor.str / MOG::MST_ST
      when 4
      parameter_value = actor.dex
      cw = meter.width  * actor.dex / MOG::MST_ST
      when 5
      parameter_value = actor.agi
      cw = meter.width  * actor.agi / MOG::MST_ST
      when 6
      parameter_value = actor.int
      cw = meter.width  * actor.int / MOG::MST_ST
    end
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 120, y - 2, 36, 32, parameter_value.to_s, 2)
    ch = meter.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x + 50 , y - ch + 20, meter, src_rect)
  end
#--------------------------------------------------------------------------
# draw_actor_parameter2
#--------------------------------------------------------------------------
  def nada
    face = RPG::Cache.picture("")
  end  
#--------------------------------------------------------------------------
# draw_heroface3
#--------------------------------------------------------------------------
  def draw_heroface3(actor,x,y)
    face = RPG::Cache.picture(actor.name + "_fc3") rescue nada
    cw = face.width
    ch = face.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x , y - ch, face, src_rect)    
  end  
end

#===============================================================================
# Window_EquipLeft
#===============================================================================
class Window_EquipLeft < Window_Base
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------  
  def initialize(actor)
    super(0, 64, 272, 446)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.opacity = 0
    self.contents.font.name = "High Tower Text"    
    @actor = actor
    refresh
  end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------  
  def refresh
    self.contents.clear
    drw_equist(0,390)    
    draw_actor_parameter2(@actor, 10, 164 , 0)
    draw_actor_parameter2(@actor, 10, 196 , 1)
    draw_actor_parameter2(@actor, 10, 228 , 2)
    draw_actor_parameter2(@actor, 10, 260 , 3)
    draw_actor_parameter2(@actor, 10, 292 , 4)
    draw_actor_parameter2(@actor, 10, 324 , 5)
    draw_actor_parameter2(@actor, 10, 356 , 6)        
    if @new_atk != nil
      self.contents.font.color = system_color
      if @new_atk < @actor.atk
      drw_eqpup(170,190,2)  
      self.contents.font.color = Color.new(255,50,50,255)      
      elsif @new_atk > @actor.atk
      drw_eqpup(170,190,1)  
      self.contents.font.color = Color.new(50,250,150,255)
      else
      drw_eqpup(170,190,0)        
      self.contents.font.color = Color.new(255,255,255,255)      
      end      
      self.contents.draw_text(190, 162, 36, 32, @new_atk.to_s, 2)
    end
    if @new_pdef != nil
      if @new_pdef < @actor.pdef
      drw_eqpup(170,226,2)  
      self.contents.font.color = Color.new(255,50,50,255)      
      elsif @new_pdef > @actor.pdef
      drw_eqpup(170,226,1)  
      self.contents.font.color = Color.new(50,250,150,255)
      else
      drw_eqpup(170,226,0)        
      self.contents.font.color = Color.new(255,255,255,255)      
      end  
      self.contents.draw_text(190, 194, 36, 32, @new_pdef.to_s, 2)
    end
    if @new_mdef != nil
      if @new_mdef < @actor.mdef
      drw_eqpup(170,258,2)  
      self.contents.font.color = Color.new(255,50,50,255)      
      elsif @new_mdef > @actor.mdef
      drw_eqpup(170,258,1)  
      self.contents.font.color = Color.new(50,250,150,255)
      else
      drw_eqpup(170,258,0)        
      self.contents.font.color = Color.new(255,255,255,255)      
      end
      self.contents.draw_text(190, 226, 36, 32, @new_mdef.to_s, 2)
    end
    if @new_str  != nil
      if @new_str < @actor.str
      drw_eqpup(170,290,2)  
      self.contents.font.color = Color.new(255,50,50,255)      
      elsif @new_str > @actor.str
      drw_eqpup(170,290,1)  
      self.contents.font.color = Color.new(50,250,150,255)
      else
      drw_eqpup(170,290,0)        
      self.contents.font.color = Color.new(255,255,255,255)      
      end
      self.contents.draw_text(190, 258, 36, 32, @new_str.to_s, 2)
    end
    if @new_dex  != nil
      if @new_dex < @actor.dex
      drw_eqpup(170,322,2)  
      self.contents.font.color = Color.new(255,50,50,255)      
      elsif @new_dex > @actor.dex
      drw_eqpup(170,322,1)  
      self.contents.font.color = Color.new(50,250,150,255)
      else
      drw_eqpup(170,322,0)        
      self.contents.font.color = Color.new(255,255,255,255)      
      end
      self.contents.draw_text(190, 290, 36, 32, @new_dex.to_s, 2)
    end
    if @new_agi  != nil
      if @new_agi < @actor.agi
      drw_eqpup(170,354,2)  
      self.contents.font.color = Color.new(255,50,50,255)      
      elsif @new_agi > @actor.agi
      drw_eqpup(170,354,1)  
      self.contents.font.color = Color.new(50,250,150,255)
      else
      drw_eqpup(170,354,0)        
      self.contents.font.color = Color.new(255,255,255,255)      
      end
      self.contents.draw_text(190, 322, 36, 32, @new_agi.to_s, 2)
    end
    if @new_int  != nil
      if @new_int < @actor.int
      drw_eqpup(170,386,2)  
      self.contents.font.color = Color.new(255,50,50,255)      
      elsif @new_int > @actor.int
      drw_eqpup(170,386,1)  
      self.contents.font.color = Color.new(50,250,150,255)
      else
      drw_eqpup(170,386,0)        
      self.contents.font.color = Color.new(255,255,255,255)      
      end
      self.contents.draw_text(190, 354, 36, 32, @new_int.to_s, 2)
    end
  end
  
#--------------------------------------------------------------------------
# Set_new_parameters
#--------------------------------------------------------------------------  
  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_agl != 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

#===============================================================================
# Window_EquipRight
#===============================================================================
class Window_EquipRight < Window_Selectable
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------    
  def initialize(actor)
    super(272, 64, 368, 192)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.opacity = 0
    self.contents.font.name = "High Tower Text"        
    @actor = actor
    refresh
    self.index = 0
  end
#--------------------------------------------------------------------------
# Item
#--------------------------------------------------------------------------    
  def item
    return @data[self.index]
  end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------    
  def refresh
    self.contents.clear
    @data = []
    @data.push($data_weapons[@actor.weapon_id])
    @data.push($data_armors[@actor.armor1_id])
    @data.push($data_armors[@actor.armor2_id])
    @data.push($data_armors[@actor.armor3_id])
    @data.push($data_armors[@actor.armor4_id])
    @item_max = @data.size
    self.contents.font.color = system_color
    draw_item_name(@data[0], 92, 32 * 0)
    draw_item_name(@data[1], 92, 32 * 1)
    draw_item_name(@data[2], 92, 32 * 2)
    draw_item_name(@data[3], 92, 32 * 3)
    draw_item_name(@data[4], 92, 32 * 4)
  end
#--------------------------------------------------------------------------
# Update_Help
#--------------------------------------------------------------------------    
  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.description)
  end
end

#===============================================================================
# Window_EquipItem
#===============================================================================
class Window_EquipItem < Window_Selectable
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------      
  def initialize(actor, equip_type)
    super(272, 256, 368, 224)
    self.opacity = 0
    @actor = actor
    @equip_type = equip_type
    @column_max = 1
    refresh
    self.active = false
    self.index = -1
  end
#--------------------------------------------------------------------------
# Item
#--------------------------------------------------------------------------      
  def item
    return @data[self.index]
  end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------      
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    if @equip_type == 0
      weapon_set = $data_classes[@actor.class_id].weapon_set
      for i in 1...$data_weapons.size
        if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)
          @data.push($data_weapons[i])
        end
      end
    end
    if @equip_type != 0
      armor_set = $data_classes[@actor.class_id].armor_set
      for i in 1...$data_armors.size
        if $game_party.armor_number(i) > 0 and armor_set.include?(i)
          if $data_armors[i].kind == @equip_type-1
            @data.push($data_armors[i])
          end
        end
      end
    end
    @data.push(nil)
    @item_max = @data.size
    self.contents = Bitmap.new(width - 32, row_max * 32)
    for i in 0...@item_max-1
      draw_item(i)
    end
  end
#--------------------------------------------------------------------------
# Draw_Item
#--------------------------------------------------------------------------      
  def draw_item(index)
    self.contents.font.name = "High Tower Text"
    item = @data[index]
    x = 4 + index % 1 * (288 + 32)
    y = index / 1 * 32
    case item
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
    when RPG::Armor
      number = $game_party.armor_number(item.id)
    end
    bitmap = RPG::Cache.icon(item.icon_name)
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
    self.contents.draw_text(x + 240, y, 16, 32, ":", 1)
    self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
  end
#--------------------------------------------------------------------------
# Update Help
#--------------------------------------------------------------------------      
  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.description)
  end
end

#===============================================================================
# Scene_Equip
#===============================================================================
class Scene_Equip
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------        
  def initialize(actor_index = 0, equip_index = 0)
    @actor_index = actor_index
    @equip_index = equip_index
  end
#--------------------------------------------------------------------------
# Main
#--------------------------------------------------------------------------        
  def main
    @mnback = Plane.new
    @mnback.bitmap = RPG::Cache.picture("MN_BK")
    @mnback.z = 1
    @mnlay = Sprite.new
    @mnlay.bitmap = RPG::Cache.picture("Equip_Lay")
    @mnlay.z = 2
    @actor = $game_party.actors[@actor_index]
    

    
    @actor_pic = Sprite.new
    num = $game_variables[Youkai::ChangeVariable]
    suffix = Youkai::BoxName
    suffix+=num.to_s if (num>1)
    begin
    @actor_pic.bitmap = RPG::Cache.picture(@actor.name + suffix)
    rescue
        @actor_pic.bitmap = RPG::Cache.picture(@actor.name + Youkai::BoxName)
    end
    
    @actor_pic = Sprite.new
    bitmap = RPG::Cache.picture(@actor.name + "_fc2")
    #@actor_pic.bitmap = bitmap  
    @actor_pic.oy = 0
    @actor_pic.x = 20
    @actor_pic.y = 460 - bitmap.height
    @actor_pic.z = 1
    @help_window = Window_Help.new
    @help_window.opacity = 0
    @help_window.x = -300
    @help_window.contents_opacity = 0
    @left_window = Window_EquipLeft.new(@actor)
    @left_window.x = -300
    @left_window.contents_opacity = 0
    @right_window = Window_EquipRight.new(@actor)
    @item_window1 = Window_EquipItem.new(@actor, 0)
    @item_window2 = Window_EquipItem.new(@actor, 1)
    @item_window3 = Window_EquipItem.new(@actor, 2)
    @item_window4 = Window_EquipItem.new(@actor, 3)
    @item_window5 = Window_EquipItem.new(@actor, 4)
    @item_window1.x = 640
    @item_window2.x = 640
    @item_window3.x = 640
    @item_window4.x = 640
    @item_window5.x = 640    
    @right_window.help_window = @help_window
    @item_window1.help_window = @help_window
    @item_window2.help_window = @help_window
    @item_window3.help_window = @help_window
    @item_window4.help_window = @help_window
    @item_window5.help_window = @help_window
    @right_window.index = @equip_index
    @right_window.x = 640
    refresh
    Graphics.transition(MOG::MSEQPT, "Graphics/Transitions/" + MOG::MSEQPTT)
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    for i in 0..10
      @left_window.x -= 25
      @left_window.contents_opacity -= 15
      @item_window.x += 30
      @item_window.contents_opacity -= 20
      @right_window.x += 30
      @right_window.contents_opacity -= 20
      Graphics.update  
    end  
    Graphics.freeze
    @help_window.dispose
    @left_window.dispose
    @right_window.dispose
    @item_window1.dispose
    @item_window2.dispose
    @item_window3.dispose
    @item_window4.dispose
    @item_window5.dispose
    @actor_pic.dispose
    @mnback.dispose
    @mnlay.dispose
  end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------        
  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
#--------------------------------------------------------------------------
# Update
#--------------------------------------------------------------------------        
  def update
    if @right_window.x > 272
      @right_window.x -= 30
    elsif @right_window.x <= 272
      @right_window.x = 272
    end  
    if @item_window.x > 272
      @item_window.x -= 30
    elsif @item_window.x <= 272
        @item_window.x = 272
    end
    if @item_window.active == false  
    if Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN)
    @item_window.x = 640  
    end  
    end
    if @left_window.x < 0
    @left_window.x += 25
    @left_window.contents_opacity += 15
    elsif @left_window.x >= 0
    @left_window.x = 0
    @left_window.contents_opacity = 255
    end
    if @help_window.x < 0
    @help_window.x  += 25
    @help_window.contents_opacity += 15
    elsif @help_window.x >= 0
    @help_window.x = 0
    @help_window.contents_opacity = 255
  end    
    @mnback.ox += 1    
    @left_window.update
    @right_window.update
    @item_window.update
    if Input.trigger?(Input::B) or Input.trigger?(Input::C) or
    Input.trigger?(Input.dir4) or Input.trigger?(Input::L) or
    Input.trigger?(Input::R) or Input.press?(Input.dir4)
    @help_window.x = -300
    @help_window.contents_opacity = 0
    refresh
    end    
    if @right_window.active
      update_right
      return
    end
    if @item_window.active
      update_item
      return
    end
  end
#--------------------------------------------------------------------------
# Update Right
#--------------------------------------------------------------------------        
  def update_right
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Menu.new(2)
      return
    end
    if Input.trigger?(Input::C)
      if @actor.equip_fix?(@right_window.index)
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      $game_system.se_play($data_system.decision_se)
      @right_window.active = false
      @item_window.active = true
      @item_window.index = 0
      refresh      
      return
    end
    if Input.trigger?(Input::R)
      $game_system.se_play($data_system.cursor_se)
      @actor_index += 1
      @actor_index %= $game_party.actors.size
      $scene = Scene_Equip.new(@actor_index, @right_window.index)
      return
    end
    if Input.trigger?(Input::L)
      $game_system.se_play($data_system.cursor_se)
      @actor_index += $game_party.actors.size - 1
      @actor_index %= $game_party.actors.size
      $scene = Scene_Equip.new(@actor_index, @right_window.index)
      return
    end
  end
#--------------------------------------------------------------------------
# Update Item
#--------------------------------------------------------------------------        
  def update_item
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @right_window.active = true
      @item_window.active = false
      @item_window.index = -1
      refresh
      return
    end
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.equip_se)
      item = @item_window.item
      @actor.equip(@right_window.index, item == nil ? 0 : item.id)
      @right_window.active = true
      @item_window.active = false
      @item_window.index = -1
      @right_window.refresh
      @item_window.refresh
      refresh      
      return
    end
  end
end


$mog_rgss_Scene_Equip = true

Muchísimas gracias por ayudarme tanto! T.T Ópalo Reputación

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

orochii

orochii
Listo ahora debería funcionar...
Código:

##_______________________________________________________________________________
# MOG_Scene_Equip V1.7         
#_______________________________________________________________________________
# By Moghunter   
# http://www.atelier-rgss.com
#_______________________________________________________________________________
module MOG
  #Transition Time. 
  MSEQPT= 10
  #Transition Type.
  MSEQPTT= "004-Blind04"
  # Set Maximum (STR,DEX,AGL,INT)
  MST_ST = 999
  # Set Maximum (ATK,PDEF,MDEF)
  MST_STE = 999
end

#===============================================================================
# Window_Base
#===============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# nada2
#-------------------------------------------------------------------------- 
  def nada2(actor)
    face = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
  end 
#--------------------------------------------------------------------------
# draw_heroface2
#-------------------------------------------------------------------------- 
  def draw_heroface2(actor,x,y)
    face = RPG::Cache.picture(actor.name + "_fc2") rescue nada2(actor)
    cw = face.width
    ch = face.height
    src_rect = Rect.new(0, 0, cw, ch)
    if face == RPG::Cache.battler(actor.battler_name, actor.battler_hue)
      self.contents.blt(x + 40, y - ch - 240, face, src_rect)
    else 
      self.contents.blt(x, y - ch, face, src_rect)
    end
  end   
#--------------------------------------------------------------------------
# drw_eqpup
#--------------------------------------------------------------------------
  def drw_eqpup(x,y,type)
    case type
      when 0
      est = RPG::Cache.icon("ST_EQU")
      when 1
      est = RPG::Cache.icon("ST_UP")
      when 2
      est = RPG::Cache.icon("ST_DOWN") 
    end 
    cw = est.width
    ch = est.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x , y - ch, est, src_rect)   
  end 
#--------------------------------------------------------------------------
# drw_equist
#--------------------------------------------------------------------------
  def drw_equist(x,y)
    equist = RPG::Cache.picture("Equip_St")
    cw = equist.width
    ch = equist.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x , y - ch, equist, src_rect)   
  end 
#--------------------------------------------------------------------------
# draw_actor_parameter2
#--------------------------------------------------------------------------
  def draw_actor_parameter2(actor, x, y, type)
    back = RPG::Cache.picture("STBAR_Back")   
    cw = back.width 
    ch = back.height
    src_rect = Rect.new(0, 0, cw, ch)   
    self.contents.blt(x + 50 , y - ch + 20, back, src_rect) 
    meter = RPG::Cache.picture("STBAR.png")   
    case type
      when 0
      parameter_value = actor.atk
      cw = meter.width  * actor.atk / MOG::MST_STE
      when 1
      parameter_value = actor.pdef
      cw = meter.width  * actor.pdef / MOG::MST_STE
      when 2
      parameter_value = actor.mdef
      cw = meter.width  * actor.mdef / MOG::MST_STE
      when 3
      parameter_value = actor.str
      cw = meter.width  * actor.str / MOG::MST_ST
      when 4
      parameter_value = actor.dex
      cw = meter.width  * actor.dex / MOG::MST_ST
      when 5
      parameter_value = actor.agi
      cw = meter.width  * actor.agi / MOG::MST_ST
      when 6
      parameter_value = actor.int
      cw = meter.width  * actor.int / MOG::MST_ST
    end
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 120, y - 2, 36, 32, parameter_value.to_s, 2)
    ch = meter.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x + 50 , y - ch + 20, meter, src_rect)
  end
#--------------------------------------------------------------------------
# draw_actor_parameter2
#--------------------------------------------------------------------------
  def nada
    face = RPG::Cache.picture("")
  end 
#--------------------------------------------------------------------------
# draw_heroface3
#--------------------------------------------------------------------------
  def draw_heroface3(actor,x,y)
    face = RPG::Cache.picture(actor.name + "_fc3") rescue nada
    cw = face.width
    ch = face.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x , y - ch, face, src_rect)   
  end 
end

#===============================================================================
# Window_EquipLeft
#===============================================================================
class Window_EquipLeft < Window_Base
#--------------------------------------------------------------------------
# Initialize
#-------------------------------------------------------------------------- 
  def initialize(actor)
    super(0, 64, 272, 446)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.opacity = 0
    self.contents.font.name = "High Tower Text"   
    @actor = actor
    refresh
  end
#--------------------------------------------------------------------------
# Refresh
#-------------------------------------------------------------------------- 
  def refresh
    self.contents.clear
    drw_equist(0,390)   
    draw_actor_parameter2(@actor, 10, 164 , 0)
    draw_actor_parameter2(@actor, 10, 196 , 1)
    draw_actor_parameter2(@actor, 10, 228 , 2)
    draw_actor_parameter2(@actor, 10, 260 , 3)
    draw_actor_parameter2(@actor, 10, 292 , 4)
    draw_actor_parameter2(@actor, 10, 324 , 5)
    draw_actor_parameter2(@actor, 10, 356 , 6)       
    if @new_atk != nil
      self.contents.font.color = system_color
      if @new_atk < @actor.atk
      drw_eqpup(170,190,2) 
      self.contents.font.color = Color.new(255,50,50,255)     
      elsif @new_atk > @actor.atk
      drw_eqpup(170,190,1) 
      self.contents.font.color = Color.new(50,250,150,255)
      else
      drw_eqpup(170,190,0)       
      self.contents.font.color = Color.new(255,255,255,255)     
      end     
      self.contents.draw_text(190, 162, 36, 32, @new_atk.to_s, 2)
    end
    if @new_pdef != nil
      if @new_pdef < @actor.pdef
      drw_eqpup(170,226,2) 
      self.contents.font.color = Color.new(255,50,50,255)     
      elsif @new_pdef > @actor.pdef
      drw_eqpup(170,226,1) 
      self.contents.font.color = Color.new(50,250,150,255)
      else
      drw_eqpup(170,226,0)       
      self.contents.font.color = Color.new(255,255,255,255)     
      end 
      self.contents.draw_text(190, 194, 36, 32, @new_pdef.to_s, 2)
    end
    if @new_mdef != nil
      if @new_mdef < @actor.mdef
      drw_eqpup(170,258,2) 
      self.contents.font.color = Color.new(255,50,50,255)     
      elsif @new_mdef > @actor.mdef
      drw_eqpup(170,258,1) 
      self.contents.font.color = Color.new(50,250,150,255)
      else
      drw_eqpup(170,258,0)       
      self.contents.font.color = Color.new(255,255,255,255)     
      end
      self.contents.draw_text(190, 226, 36, 32, @new_mdef.to_s, 2)
    end
    if @new_str  != nil
      if @new_str < @actor.str
      drw_eqpup(170,290,2) 
      self.contents.font.color = Color.new(255,50,50,255)     
      elsif @new_str > @actor.str
      drw_eqpup(170,290,1) 
      self.contents.font.color = Color.new(50,250,150,255)
      else
      drw_eqpup(170,290,0)       
      self.contents.font.color = Color.new(255,255,255,255)     
      end
      self.contents.draw_text(190, 258, 36, 32, @new_str.to_s, 2)
    end
    if @new_dex  != nil
      if @new_dex < @actor.dex
      drw_eqpup(170,322,2) 
      self.contents.font.color = Color.new(255,50,50,255)     
      elsif @new_dex > @actor.dex
      drw_eqpup(170,322,1) 
      self.contents.font.color = Color.new(50,250,150,255)
      else
      drw_eqpup(170,322,0)       
      self.contents.font.color = Color.new(255,255,255,255)     
      end
      self.contents.draw_text(190, 290, 36, 32, @new_dex.to_s, 2)
    end
    if @new_agi  != nil
      if @new_agi < @actor.agi
      drw_eqpup(170,354,2) 
      self.contents.font.color = Color.new(255,50,50,255)     
      elsif @new_agi > @actor.agi
      drw_eqpup(170,354,1) 
      self.contents.font.color = Color.new(50,250,150,255)
      else
      drw_eqpup(170,354,0)       
      self.contents.font.color = Color.new(255,255,255,255)     
      end
      self.contents.draw_text(190, 322, 36, 32, @new_agi.to_s, 2)
    end
    if @new_int  != nil
      if @new_int < @actor.int
      drw_eqpup(170,386,2) 
      self.contents.font.color = Color.new(255,50,50,255)     
      elsif @new_int > @actor.int
      drw_eqpup(170,386,1) 
      self.contents.font.color = Color.new(50,250,150,255)
      else
      drw_eqpup(170,386,0)       
      self.contents.font.color = Color.new(255,255,255,255)     
      end
      self.contents.draw_text(190, 354, 36, 32, @new_int.to_s, 2)
    end
  end
 
#--------------------------------------------------------------------------
# Set_new_parameters
#-------------------------------------------------------------------------- 
  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_agl != 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

#===============================================================================
# Window_EquipRight
#===============================================================================
class Window_EquipRight < Window_Selectable
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------   
  def initialize(actor)
    super(272, 64, 368, 192)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.opacity = 0
    self.contents.font.name = "High Tower Text"       
    @actor = actor
    refresh
    self.index = 0
  end
#--------------------------------------------------------------------------
# Item
#--------------------------------------------------------------------------   
  def item
    return @data[self.index]
  end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------   
  def refresh
    self.contents.clear
    @data = []
    @data.push($data_weapons[@actor.weapon_id])
    @data.push($data_armors[@actor.armor1_id])
    @data.push($data_armors[@actor.armor2_id])
    @data.push($data_armors[@actor.armor3_id])
    @data.push($data_armors[@actor.armor4_id])
    @item_max = @data.size
    self.contents.font.color = system_color
    draw_item_name(@data[0], 92, 32 * 0)
    draw_item_name(@data[1], 92, 32 * 1)
    draw_item_name(@data[2], 92, 32 * 2)
    draw_item_name(@data[3], 92, 32 * 3)
    draw_item_name(@data[4], 92, 32 * 4)
  end
#--------------------------------------------------------------------------
# Update_Help
#--------------------------------------------------------------------------   
  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.description)
  end
end

#===============================================================================
# Window_EquipItem
#===============================================================================
class Window_EquipItem < Window_Selectable
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------     
  def initialize(actor, equip_type)
    super(272, 256, 368, 224)
    self.opacity = 0
    @actor = actor
    @equip_type = equip_type
    @column_max = 1
    refresh
    self.active = false
    self.index = -1
  end
#--------------------------------------------------------------------------
# Item
#--------------------------------------------------------------------------     
  def item
    return @data[self.index]
  end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------     
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    if @equip_type == 0
      weapon_set = $data_classes[@actor.class_id].weapon_set
      for i in 1...$data_weapons.size
        if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)
          @data.push($data_weapons[i])
        end
      end
    end
    if @equip_type != 0
      armor_set = $data_classes[@actor.class_id].armor_set
      for i in 1...$data_armors.size
        if $game_party.armor_number(i) > 0 and armor_set.include?(i)
          if $data_armors[i].kind == @equip_type-1
            @data.push($data_armors[i])
          end
        end
      end
    end
    @data.push(nil)
    @item_max = @data.size
    self.contents = Bitmap.new(width - 32, row_max * 32)
    for i in 0...@item_max-1
      draw_item(i)
    end
  end
#--------------------------------------------------------------------------
# Draw_Item
#--------------------------------------------------------------------------     
  def draw_item(index)
    self.contents.font.name = "High Tower Text"
    item = @data[index]
    x = 4 + index % 1 * (288 + 32)
    y = index / 1 * 32
    case item
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
    when RPG::Armor
      number = $game_party.armor_number(item.id)
    end
    bitmap = RPG::Cache.icon(item.icon_name)
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
    self.contents.draw_text(x + 240, y, 16, 32, ":", 1)
    self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
  end
#--------------------------------------------------------------------------
# Update Help
#--------------------------------------------------------------------------     
  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.description)
  end
end

#===============================================================================
# Scene_Equip
#===============================================================================
class Scene_Equip
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------       
  def initialize(actor_index = 0, equip_index = 0)
    @actor_index = actor_index
    @equip_index = equip_index
  end
#--------------------------------------------------------------------------
# Main
#--------------------------------------------------------------------------       
  def main
    @mnback = Plane.new
    @mnback.bitmap = RPG::Cache.picture("MN_BK")
    @mnback.z = 1
    @mnlay = Sprite.new
    @mnlay.bitmap = RPG::Cache.picture("Equip_Lay")
    @mnlay.z = 2
    @actor = $game_party.actors[@actor_index]
   
    @actor_pic = Sprite.new
    num = $game_variables[Youkai::ChangeVariable]
    suffix = Youkai::BoxName
    suffix+=num.to_s if (num>1)
    begin
      @actor_pic.bitmap = RPG::Cache.picture(@actor.name + suffix)
    rescue
      @actor_pic.bitmap = RPG::Cache.picture(@actor.name + Youkai::BoxName)
    end
   
    #@actor_pic = Sprite.new
    #bitmap = RPG::Cache.picture(@actor.name + "_fc2")
    #@actor_pic.bitmap = bitmap 
    @actor_pic.oy = 0
    @actor_pic.x = 20
    @actor_pic.y = 460 - @actor_pic.bitmap.height
    @actor_pic.z = 1
    @help_window = Window_Help.new
    @help_window.opacity = 0
    @help_window.x = -300
    @help_window.contents_opacity = 0
    @left_window = Window_EquipLeft.new(@actor)
    @left_window.x = -300
    @left_window.contents_opacity = 0
    @right_window = Window_EquipRight.new(@actor)
    @item_window1 = Window_EquipItem.new(@actor, 0)
    @item_window2 = Window_EquipItem.new(@actor, 1)
    @item_window3 = Window_EquipItem.new(@actor, 2)
    @item_window4 = Window_EquipItem.new(@actor, 3)
    @item_window5 = Window_EquipItem.new(@actor, 4)
    @item_window1.x = 640
    @item_window2.x = 640
    @item_window3.x = 640
    @item_window4.x = 640
    @item_window5.x = 640   
    @right_window.help_window = @help_window
    @item_window1.help_window = @help_window
    @item_window2.help_window = @help_window
    @item_window3.help_window = @help_window
    @item_window4.help_window = @help_window
    @item_window5.help_window = @help_window
    @right_window.index = @equip_index
    @right_window.x = 640
    refresh
    Graphics.transition(MOG::MSEQPT, "Graphics/Transitions/" + MOG::MSEQPTT)
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    for i in 0..10
      @left_window.x -= 25
      @left_window.contents_opacity -= 15
      @item_window.x += 30
      @item_window.contents_opacity -= 20
      @right_window.x += 30
      @right_window.contents_opacity -= 20
      Graphics.update 
    end 
    Graphics.freeze
    @help_window.dispose
    @left_window.dispose
    @right_window.dispose
    @item_window1.dispose
    @item_window2.dispose
    @item_window3.dispose
    @item_window4.dispose
    @item_window5.dispose
    @actor_pic.dispose
    @mnback.dispose
    @mnlay.dispose
  end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------       
  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
#--------------------------------------------------------------------------
# Update
#--------------------------------------------------------------------------       
  def update
    if @right_window.x > 272
      @right_window.x -= 30
    elsif @right_window.x <= 272
      @right_window.x = 272
    end 
    if @item_window.x > 272
      @item_window.x -= 30
    elsif @item_window.x <= 272
        @item_window.x = 272
    end
    if @item_window.active == false 
    if Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN)
    @item_window.x = 640 
    end 
    end
    if @left_window.x < 0
    @left_window.x += 25
    @left_window.contents_opacity += 15
    elsif @left_window.x >= 0
    @left_window.x = 0
    @left_window.contents_opacity = 255
    end
    if @help_window.x < 0
    @help_window.x  += 25
    @help_window.contents_opacity += 15
    elsif @help_window.x >= 0
    @help_window.x = 0
    @help_window.contents_opacity = 255
  end   
    @mnback.ox += 1   
    @left_window.update
    @right_window.update
    @item_window.update
    if Input.trigger?(Input::B) or Input.trigger?(Input::C) or
    Input.trigger?(Input.dir4) or Input.trigger?(Input::L) or
    Input.trigger?(Input::R) or Input.press?(Input.dir4)
    @help_window.x = -300
    @help_window.contents_opacity = 0
    refresh
    end   
    if @right_window.active
      update_right
      return
    end
    if @item_window.active
      update_item
      return
    end
  end
#--------------------------------------------------------------------------
# Update Right
#--------------------------------------------------------------------------       
  def update_right
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Menu.new(2)
      return
    end
    if Input.trigger?(Input::C)
      if @actor.equip_fix?(@right_window.index)
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      $game_system.se_play($data_system.decision_se)
      @right_window.active = false
      @item_window.active = true
      @item_window.index = 0
      refresh     
      return
    end
    if Input.trigger?(Input::R)
      $game_system.se_play($data_system.cursor_se)
      @actor_index += 1
      @actor_index %= $game_party.actors.size
      $scene = Scene_Equip.new(@actor_index, @right_window.index)
      return
    end
    if Input.trigger?(Input::L)
      $game_system.se_play($data_system.cursor_se)
      @actor_index += $game_party.actors.size - 1
      @actor_index %= $game_party.actors.size
      $scene = Scene_Equip.new(@actor_index, @right_window.index)
      return
    end
  end
#--------------------------------------------------------------------------
# Update Item
#--------------------------------------------------------------------------       
  def update_item
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @right_window.active = true
      @item_window.active = false
      @item_window.index = -1
      refresh
      return
    end
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.equip_se)
      item = @item_window.item
      @actor.equip(@right_window.index, item == nil ? 0 : item.id)
      @right_window.active = true
      @item_window.active = false
      @item_window.index = -1
      @right_window.refresh
      @item_window.refresh
      refresh     
      return
    end
  end
end


$mog_rgss_Scene_Equip = true

Ahora bien, los cambios... Todo lo hice en la parte donde se crea la imagen, alrededor de la línea 437. Comenté algunas líneas más, ya que estaba volviéndose a crear el objeto de la imagen (osea, se crea la imagen y se vuelve a crear). Esto hacía que quedara una imagen por ahí, inaccesible. Cuando haces esto:
Código:
@actor_pic = Sprite.new
Lo que dices es "haz un nuevo sprite, y asígnale el sobrenombre @actor_pic". Pero si repites eso dos veces...
Código:
@actor_pic = Sprite.new
@actor_pic = Sprite.new
...estás creando un sprite nuevo asignándolo a ese nombre, y luego creando OTRO sprite y asignándolo a ese nombre, quedando el primero sin nombre ._. Esa era la causa de que luego cuando salieras del menú se viera la imagen perdida por ahí. Se borraba después de un tiempo porque Ruby tiene un "recolector de basura", es decir, se da cuenta si hay objetos sin un nombre por así decirlo.

Lo otro que hice fue arreglar otra línea más adelante que hacía referencia a una cosa por ahí que ya no era necesaria xd. Línea 442.
Código:
@actor_pic.y = 460 - @actor_pic.bitmap.height
Decía bitmap.height, pero como se me hizo innecesaria la línea donde se creaba ese nuevo bitmap, la cambié a hacer referencia de una vez al bitmap que le pertenece a nuestro sprite y listo.

Perdón si no se me entiende ;_; pero es más sencillo de lo que parece :'D. Salut!



[Solucionado] Modificación Menú Status de MogHunter Halo_m7 [Solucionado] Modificación Menú Status de MogHunter 2c825 // [Solucionado] Modificación Menú Status de MogHunter 2c80V // [Solucionado] Modificación Menú Status de MogHunter Indiedb // [Solucionado] Modificación Menú Status de MogHunter 2vFLJ

[Solucionado] Modificación Menú Status de MogHunter Dreki_userbar_by_orochii-d5lt2qd
Covenant Studios

¿Y toda esa sangre? ¡Blargh!
Ghrraaaaaaaaaaaahhhh...

Natalie

Natalie
Si si, ¡lo entendí! Ópalo Contento No sabía lo del "recolector de basura" La de cosillas que estoy aprendiendo! Ópalo Reputación
Funcionar funciona bien, pero usa la imagen de _status y necesito que sea la _fc2 porque son bastantes diferentes (la status además de la imagen tiene el nombre y el texto añadido, mientras que la fc2 solo es una imagen más pequeña y con un marco).

Entonces me he dicho a mi misma ¡inténtalo! Ópalo Contento Y...he vuelto a fracasar XDD

Con el código de Orochii sale se ve así:
Spoiler:
[Solucionado] Modificación Menú Status de MogHunter 14kh56e
[Solucionado] Modificación Menú Status de MogHunter 263ujkp

A ver, yo he pensado que necesitaría este código para que me saliera la _fc2 [Solucionado] Modificación Menú Status de MogHunter 2llemoz
Entonces me he ido al código y he pensado...¿dónde lo pongo? :S
Primero lo he sustituido aquí:
[Solucionado] Modificación Menú Status de MogHunter R1m05i
Y sale la _fc2 peeeero no cambia de imagen :S
Spoiler:
[Solucionado] Modificación Menú Status de MogHunter 3536n0w

Luego lo he sustituido aquí:
[Solucionado] Modificación Menú Status de MogHunter 141m97r
Y ha salido igual que al principio, usa la _status, como si no hubiera cambiado el código de Orochii Ópalo Sorprendido

Así que no sé que debería hacer para que usara la _fc2 y poder cambiarla :S

De verdad, agradezco mucho la ayuda que me ofreceis, ¡estoy aprendiendo un montón! ^^

Reputación del mensaje :100% (1 voto)

orochii

orochii
Oh, ostras, bueno eso ya no es mi culpa como quien diría xD (?).

Te daré las instrucciones y haces los cambios por tu cuenta:

- Ve a la línea 429, dice "suffix = Youkai::BoxName", sustituyela por
Código:
suffix = "_fc2"
- Ahora ve a la línea 434. Dice "@author_pic.bitmap = RPG::Cache.picture(@actor.name + Youkai::BoxName)". Igualmente cámbiala por
Código:
@author_pic.bitmap = RPG::Cache.picture(@actor.name + "_fc2")

Eso debería funcionar. Ahora que, si quieres darle un poquito más de orden aquí te dejo algo más que puedes intentar hacer...
Alternativa un poco más ordenada, digamos:
Esto es para poder cambiar el nombre del sufijo (el _fc2) más fácilmente. Si no lo necesitas no lo ocupes. También puede que te haga comprender algo más, no sé. Yo es que creo que uno aprende así xDD...

Vas a la línea 429, pones ahí
Código:
suffix = Youkai::EquipName
De igual forma vas a la 434 y pones
Código:
@author_pic.bitmap = RPG::Cache.picture(@actor.name + Youkai::EquipName)

Como verás estamos usando una variable nueva, similar a BoxName. Pero esta variable todavía no existe. Entonces, agregamos este código al principio del script.
Código:
module Youkai
  EquipName = "_fc2"
end

Salut!



[Solucionado] Modificación Menú Status de MogHunter Halo_m7 [Solucionado] Modificación Menú Status de MogHunter 2c825 // [Solucionado] Modificación Menú Status de MogHunter 2c80V // [Solucionado] Modificación Menú Status de MogHunter Indiedb // [Solucionado] Modificación Menú Status de MogHunter 2vFLJ

[Solucionado] Modificación Menú Status de MogHunter Dreki_userbar_by_orochii-d5lt2qd
Covenant Studios

¿Y toda esa sangre? ¡Blargh!
Ghrraaaaaaaaaaaahhhh...
Reputación del mensaje :100% (2 votos)

Natalie

Natalie
Ópalo Sorprendido Ópalo Sorprendido Ópalo Sorprendido ¡Ya entiendo! La imagen de status se llamaba con el "Youkai::BoxName"....claro, entonces lo que se puede hacer es cambiarla por _fc2 o crear una variable nueva y ponerle el valor que sea _fc2...¡lo entendí, de verdad que lo entendí! Ópalo Contento
Ópalo Aplaudiendo Ópalo Aplaudiendo Ópalo Aplaudiendo

Pues tengo una duda entonces... yo puse al principio (hace varios comentarios) esto:
[Solucionado] Modificación Menú Status de MogHunter 29c1fep

Como ves cambié el valor de BoxName de _status a _fc2, ¿no funcionó porque una variable solo puede tener un valor en todos los scripts y era necesario crear una variable nueva? ¿o es posible que una misma variable tenga valores distintos en distintos scripts?

Bueno, el script funciona ya perfectamente, ¡muchísimas gracias! Ópalo Reputación Doy por solucionado el tema, pero me gustaría resolver esa última duda que me queda Ópalo Sonriente

¡Saludos! Opalo Hola

Invitado

avatar
¡¡Felicidades!!

Natalie, me alegro mucho al ver que por fin lograste encontrar tu tan ansiada solución para dicho script. Me pone contento.

@XSerozY y @Orochii :¡¡Muchas gracias por la tremenda ayuda que dieron!! Que suerte que contamos con gente que entiende de estos códigos. ¡GRACIAS! Son ejemplos de colaboración solidaria con los demás.

A demás, quiero rescatar la gran actitud de Natalie por siempre estar aprendiendo y demostrar interés por lo que hace. Espero que los demás usuarios, sobre todo los nuevos, tomen consciencia de lo importante que es esta actitud. No sólo pedir las cosas, sino también sentarse a pensar para encontrar una solución entre todos.

Ópalo Reputación Para los tres Ópalo Contento

reyerta

reyerta
Dios. Qué increíble que ya pudiste solucionar/innovar con ese menú. A todos nos consta cuanto empeño, trabajo y dedicación le pusiste a esa tarea. Por eso muchas felicidades. En verdad trabajaste duro.

NO sabes la alegría que me dio entrar a la página y encontrarme con esa etiqueta de [Solucionado]. Siguiendo con lo que dijo Tomate, creo importante agregar algo, que además de ser una muestra de cuanto se debe perseverar en los propósitos personales; considero que también es un llamado de atención para que notemos cuan poca atención le estamos dedicando a esto de la lectura/escritura de scripts. Siempre ha sido un tema que debemos atender y me gustaría conseguir la motivación para aprender.

Mientras felicito a Orochii por estar presto a ayudar. En verdad apreciamos tus contribuciones.

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

orochii

orochii
natalie_cuxi escribió:Como ves cambié el valor de BoxName de _status a _fc2, ¿no funcionó porque una variable solo puede tener un valor en todos los scripts y era necesario crear una variable nueva? ¿o es posible que una misma variable tenga valores distintos en distintos scripts?
Una variable sólo puede tener un valor en TODOS los scripts. Si no fuera así, sería imposible compartir información entre scripts, y eso sería mucho peor... Opalo Sorprendido

Cuando haces, por ejemplo...
Código:
module Youkai
  BoxName = "_status"
end

(... muchas líneas y/o scripts después)

module Youkai
  BoxName = "_fc2"
end
Estás sobreescribiendo la variable. También es por tratarse de una variable constante. No sé si XSerozY ya había explicado eso en sus tutoriales xD... es que yo me lío al explicar :'D.

Salut! Opalo Hola



[Solucionado] Modificación Menú Status de MogHunter Halo_m7 [Solucionado] Modificación Menú Status de MogHunter 2c825 // [Solucionado] Modificación Menú Status de MogHunter 2c80V // [Solucionado] Modificación Menú Status de MogHunter Indiedb // [Solucionado] Modificación Menú Status de MogHunter 2vFLJ

[Solucionado] Modificación Menú Status de MogHunter Dreki_userbar_by_orochii-d5lt2qd
Covenant Studios

¿Y toda esa sangre? ¡Blargh!
Ghrraaaaaaaaaaaahhhh...

Natalie

Natalie
Oohh... Ópalo Sorprendido vale vale ¡lo he comprendido! Ópalo Contento
¡Voy a tener que ponerme al dia con las clases de XSerozY!

¡Gracias Orochii! Ópalo Reputación

XSerozY

XSerozY
Tomate escribió:
@XSerozY y @Orochii :¡¡Muchas gracias por la tremenda ayuda que dieron!!

Que va! El crédito es para @Orochii

Aparte de responder más rápido, se ha fijado en errores que a simple vista no había notado (soy poco detallista Ópalo Sonrisa Grande) te doy Ópalo Reputación muy buena ayuda y bien explicada!

Y @natalie_cuxi pues.. felicidades por haber resuelto tu problema, y mejor aún, felicidades por entender y no limitarte a copiar y pegar el script resuelto Opalo Hola

Los primeros scripts complejos de MogHunter que vi recuerdo que me eran un dolor de cabeza, y más aún por la parte gráfica, que es mi punto débil Opalo Triste

Saludos!

Razor

Razor
@orochii escribió:
natalie_cuxi escribió:Como ves cambié el valor de BoxName de _status a _fc2, ¿no funcionó porque una variable solo puede tener un valor en todos los scripts y era necesario crear una variable nueva? ¿o es posible que una misma variable tenga valores distintos en distintos scripts?
Una variable sólo puede tener un valor en TODOS los scripts. Si no fuera así, sería imposible compartir información entre scripts, y eso sería mucho peor... Opalo Sorprendido

Cuando haces, por ejemplo...
Código:
module Youkai
  BoxName = "_status"
end

(... muchas líneas y/o scripts después)

module Youkai
  BoxName = "_fc2"
end
Estás sobreescribiendo la variable. También es por tratarse de una variable constante. No sé si XSerozY ya había explicado eso en sus tutoriales xD... es que yo me lío al explicar :'D.

Salut! Opalo Hola

Habría que resaltar el hecho de que también existen las Arrays, ¿no? :B

Que son como variables que permiten almacenar varios valores. Recuerdo que no varían mucho del Javascript que conozco hasta el RGSS, donde se expresan algo así:

Código:
@array = [1, 2, 3, 4, 5]

Llamándose a través de su index...

Código:
@array = [1, 2, 3, 4, 5]
  return @array[4]
    # Devuelve el valor 5 porque se empieza a contar desde 0...

Así mismo existen las "Hash" que son como Arrays con nombres:

@hash = { 1 => 'uno'}
  return @hash[1]
    # Devuelve "uno"

No sé si seguirá siendo lo mismo en RGSS3, pero ya me corregiréis vosotros. x'D





Todos mis aportes por Mediafire tienen contraseña, esa es: www.universomaker.net
Esto es para evitar plagio, asegúrense de copiar y pegar la contraseña.

orochii

orochii
Sí, también están los arrays. Un array, o arreglo, es un tipo de lista de datos, por así decirlo. Contiene datos múltiples, NORMALMENTE DEL MISMO TIPO (pero Ruby es taaaan especial que esa convención se la manda al ya sabes tú donde xD!).

Un array puede ser definido así:
ary = [] #array vacío
o así:
ary = [0,1,2,3] #array con 4 elementos
o así:
ary = Array.new
¡o así!:
ary = Array.new(4, 1) # crea esto: [1,1,1,1]
¡¡O ASÍ!!
i = 0; ary = Array.new(5) { i+1; i } # si no fallo eso crea esto: [1,2,3,4,5]

xDDDDD. Los arrays son divertidos (?). No en realidad no xD. Y recuerden que para saber el índice de un elemento, el espacio que ocupa, se empieza siempre desde cero :V.



[Solucionado] Modificación Menú Status de MogHunter Halo_m7 [Solucionado] Modificación Menú Status de MogHunter 2c825 // [Solucionado] Modificación Menú Status de MogHunter 2c80V // [Solucionado] Modificación Menú Status de MogHunter Indiedb // [Solucionado] Modificación Menú Status de MogHunter 2vFLJ

[Solucionado] Modificación Menú Status de MogHunter Dreki_userbar_by_orochii-d5lt2qd
Covenant Studios

¿Y toda esa sangre? ¡Blargh!
Ghrraaaaaaaaaaaahhhh...

Contenido patrocinado


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

Ir a la página : 1, 2  Siguiente

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