RPG maker VX
Últimos temas
» Script de menu
por maxi Jue 04 Dic 2014, 1:44 pm

» Ayuda intro animado!!!
por maxi Miér 03 Dic 2014, 9:41 pm

» ayuda con este engin
por maxi Miér 03 Dic 2014, 8:42 am

» Hud de Vida 100% Personalizable - Engine Sencillo! Sin Scripts :)
por davidaikago Jue 20 Nov 2014, 10:58 am

» Ultimate parallax control by:GDS [ace]
por arellano Miér 08 Oct 2014, 8:28 pm

» Script Touhou (animated) Map name (v1.4)
por davidaikago Miér 08 Oct 2014, 2:09 pm

» tutorial puerta nueva
por davidaikago Miér 08 Oct 2014, 9:08 am

» cámara de fotos
por davidaikago Miér 08 Oct 2014, 9:05 am

» Imperial Action System II Demo
por davidaikago Miér 08 Oct 2014, 8:47 am

» VE Batalla animada [ACE]
por FhierusIV Jue 18 Sep 2014, 10:57 am

» Nuevo Reglamento del Foro [Vigente desde Septiembre 2014]
por maxi Miér 17 Sep 2014, 8:37 am

» MOG|Animated Title
por Souta21 Mar 09 Sep 2014, 7:24 pm

» Tutorial Engine - Cambiar Character al Equipar Objeto
por maxi Lun 21 Jul 2014, 10:19 am

» Script de climas
por gambasoxd Sáb 19 Jul 2014, 8:58 am

» Script de contraseña(codigo) para abrir un cofre
por rpgame Jue 03 Jul 2014, 6:03 pm

¿Quién está en línea?
En total hay 1 usuario en línea: 0 Registrados, 0 Ocultos y 1 Invitado

Ninguno

[ Ver toda la lista ]


La mayor cantidad de usuarios en línea fue 117 el Mar 09 Ago 2011, 3:39 pm.

[Aporte]Script Selecionar Personaje[VX]

Ver el tema anterior Ver el tema siguiente Ir abajo

[Aporte]Script Selecionar Personaje[VX]

Mensaje por luistop12 el Lun 22 Oct 2012, 11:13 am

Les traigo otro post nuevo de selecionar un persona al comezar el juego asi

[Tienes que estar registrado y conectado para ver esa imagen]

colocar estas imagenes en graphic/menu si no esta la crean


Spoiler:
[Tienes que estar registrado y conectado para ver esa imagen]
[Tienes que estar registrado y conectado para ver esa imagen]
[Tienes que estar registrado y conectado para ver esa imagen]
[Tienes que estar registrado y conectado para ver esa imagen]

y esta en graphic/system

Spoiler:
[Tienes que estar registrado y conectado para ver esa imagen]

en graphic/menu tambien deve ir la imagen completa de el personaje como muestra en la imagen asi

ejemplo si tu personaje se llama YIVO

YIVO_picture

una cosa mas para usar el script deben poner llamar script asi
$scene = Scene_Character_Select.new

[Tienes que estar registrado y conectado para ver esa imagen]

sin mas tandeo el script

CREDITOS:MOGHUNTER
Código:
#==============================================================================
# MOG VX - Character Select V1.0
#==============================================================================
# By Moghunter
# http://www.atelier-rgss.com/
#==============================================================================
# Scene de seleção de personagens.
#==============================================================================
# 1 - Crie uma pasta com o nome MENUS. (GRAPHICS/MENUS)
# 2 - Deverão conter as seguintes imagens nesta pasta.
#
# Background
# Char_Layout01
# Char_Layout02
# Char_Status_Layout
#
# 3 - Será necessário ter o arquivo Number_Char.png na pasta (GRAPHICS/SYSTEM)
# 4 - Além destes arquivos você deverá ter as imagens dos personagens.
# Você deverá nomear as imagens da seguinte forma.
#
# Nome_do_personagem + _picture
#
# Exemplo:
#
# Ralph_picture.png
#
# Grave a imagem na pasta (GRAPHICS/MENUS)
#
# 5 - Para chamar o script use o seguinte comando.
#
# $scene = Scene_Character_Select.new
#
#==============================================================================
# ** Window_Base
#==============================================================================
class Window_Base < Window
  #--------------------------------------------------------------------------
  # ● draw_picture_number(x,y,value,file_name,align, space, frame_max ,frame_index)   
  #--------------------------------------------------------------------------
  # X - Posição na horizontal
  # Y - Posição na vertical
  # VALUE - Valor Numérico
  # FILE_NAME - Nome do arquivo
  # ALIGN - Centralizar 0 - Esquerda 1- Centro 2 - Direita 
  # SPACE - Espaço entre os números.
  # FRAME_MAX - Quantidade de quadros(Linhas) que a imagem vai ter.
  # FRAME_INDEX - Definição do quadro a ser utilizado.
  #-------------------------------------------------------------------------- 
  def draw_picture_number(x,y,value, file_name,align = 0, space = 0, frame_max = 1,frame_index = 0)   
    number_image = Cache.system(file_name)
    frame_max = 1 if frame_max < 1
    frame_index = frame_max -1 if frame_index > frame_max -1
    align = 2 if align > 2
    cw = number_image.width / 10
    ch = number_image.height / frame_max
    h = ch * frame_index
    number = value.abs.to_s.split(//)
    case align
        when 0
          plus_x = (-cw + space) * number.size
        when 1
          plus_x = (-cw + space) * number.size
          plus_x /= 2
        when 2 
          plus_x = 0
    end
    for r in 0..number.size - 1     
        number_abs = number[r].to_i
        number_rect = Rect.new(cw * number_abs, h, cw, ch)
        self.contents.blt(plus_x + x + ((cw - space) * r), y , number_image, number_rect)       
    end     
  end
  #--------------------------------------------------------------------------
  # draw_char_window_status 
  #-------------------------------------------------------------------------- 
  def draw_char_window_status(x,y)
    image = Cache.menu("Char_Status_Layout")   
    cw = image.width 
    ch = image.height
    src_rect = Rect.new(0, 0, cw, ch)   
    self.contents.blt(x , y , image, src_rect)   
  end   
end 
#==============================================================================
# ** Window_Character_Status
#==============================================================================
class Window_Character_Status < Window_Base
  attr_accessor :index
  #--------------------------------------------------------------------------
  # * initialize
  #--------------------------------------------------------------------------
  def initialize(actor)
    super(0, 0, 400, 130)
    self.opacity = 0
    actor_id = []
    @index = actor
    for i in 1...$data_actors.size
      actor_id.push($game_actors[i])
    end
    @actor = actor_id[actor -1]
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.bold = true
    self.contents.font.italic = true
    draw_char_window_status(0, 6)   
    draw_actor_face(@actor, 0, 0)
    draw_actor_name(@actor, 140, -5)
    draw_actor_class(@actor, 60, 70)   
    draw_picture_number(155,20,@actor.maxhp, "Number_char",1) 
    draw_picture_number(145,48,@actor.maxmp, "Number_char",1)   
    draw_picture_number(228,28,@actor.atk, "Number_char",1) 
    draw_picture_number(297,28,@actor.def, "Number_char",1) 
    draw_picture_number(207,68,@actor.spi, "Number_char",1) 
    draw_picture_number(277,68,@actor.agi, "Number_char",1) 
  end
end

#==============================================================================
# ** Cache
#==============================================================================
module Cache
  #--------------------------------------------------------------------------
  # Menu
  #-------------------------------------------------------------------------- 
  def self.menu(filename)
    load_bitmap("Graphics/Menus/", filename)
  end 
end 
#==============================================================================
# ** Scene Character Select
#==============================================================================
class Scene_Character_Select < Scene_Base
  #--------------------------------------------------------------------------
  # * initialize
  #--------------------------------------------------------------------------
  def initialize
      @char_index = 1
      @char_max = $data_actors.size - 1
      @pw_x = 300
      @aw_x = 200   
      @nw_x = 100         
  end
  #--------------------------------------------------------------------------
  # * Start
  #--------------------------------------------------------------------------
  def start
    super
    create_layout
    create_window_status
    create_char_image
    reset_position(0)     
  end
  #--------------------------------------------------------------------------
  # * create_background
  #-------------------------------------------------------------------------- 
  def create_layout
      @background = Plane.new 
      @background.bitmap = Cache.menu("Background")
      @background.z = 0
      @layout_01 = Sprite.new 
      @layout_01.bitmap = Cache.menu("Char_Layout01")
      @layout_01.z = 10     
      @layout_02 = Sprite.new 
      @layout_02.bitmap = Cache.menu("Char_Layout02")
      @layout_02.blend_type = 1
      @layout_02.z = 1 
  end 
  #--------------------------------------------------------------------------
  # * create_window_status
  #-------------------------------------------------------------------------- 
  def create_window_status
    @window_status = []
    for i in 1...$data_actors.size
        @window_status[i] = Window_Character_Status.new(i)
        @window_status[i].z = 7
    end
        check_active_window
  end 
  #--------------------------------------------------------------------------
  # * create_window_status
  #-------------------------------------------------------------------------- 
  def create_char_image
   
      @actor_picture = []
      actor_id = []
      for i in 1...$data_actors.size
          actor_id.push($game_actors[i])
          actor = actor_id[i - 1]
          @actor_picture[i] = Sprite.new
          @actor_picture[i].bitmap = Cache.menu(actor.name + "_Picture")
      end 
      check_active_picture
  end
  #--------------------------------------------------------------------------
  # * check_active_window
  #-------------------------------------------------------------------------- 
  def check_active_window
    for i in 1...$data_actors.size
        @pw = @char_index - 1
        @pw = 1 if @pw > @char_max
        @pw_y = 32
        @pw = @char_max if @pw < 1
        @aw = @char_index
        @aw_y = 160
        @nw = @char_index + 1
        @nw = 1 if @nw > @char_max
        @nw = @char_max if @nw < 1
        @nw_y = 288
        case @window_status[i].index
            when @pw,@aw,@nw
                @window_status[i].visible = true
            else
                @window_status[i].visible = false
        end
      end 
  end   
  #--------------------------------------------------------------------------
  # * check_active_picture 
  #-------------------------------------------------------------------------- 
  def check_active_picture 
      for i in 1...$data_actors.size   
        case @window_status[i].index
            when @pw,@aw,@nw
                @actor_picture[i].visible = true
                @actor_picture[@pw].z = 4
                @actor_picture[@aw].z = 6 
                @actor_picture[@nw].z = 4     
                @actor_picture[@pw].opacity = 120
                @actor_picture[@aw].opacity = 255
                @actor_picture[@nw].opacity = 120           
            else
                @actor_picture[i].visible = false
        end   
      end
  end     
  #--------------------------------------------------------------------------
  # * pre_terminate
  #--------------------------------------------------------------------------
  def pre_terminate
    super
    RPG::BGM.fade(2500)
    Graphics.fadeout(60)
    Graphics.wait(40)
    RPG::BGM.stop
  end 
  #--------------------------------------------------------------------------
  # * terminate
  #--------------------------------------------------------------------------
  def terminate
    super
    for i in 1...$data_actors.size
        @window_status[i].dispose
        @actor_picture[i].bitmap.dispose
        @actor_picture[i].dispose       
    end 
    @background.bitmap.dispose
    @background.dispose
    @layout_01.bitmap.dispose   
    @layout_01.dispose
    @layout_02.bitmap.dispose   
    @layout_02.dispose   
  end
  #--------------------------------------------------------------------------
  # * update
  #--------------------------------------------------------------------------
  def update
    super
    @background.ox += 1
    update_select
    update_slide_window
    update_slide_image
  end
  #--------------------------------------------------------------------------
  # * update_slide_window
  #-------------------------------------------------------------------------- 
  def update_slide_window
      @window_status[@aw].x += 1 if @window_status[@aw].x < 0
      @window_status[@nw].x -= 2 if @window_status[@nw].x > -30
      @window_status[@pw].x -= 2 if @window_status[@pw].x > -30
      slide_window_y(@pw,@pw_y)
      slide_window_y(@aw,@aw_y)
      slide_window_y(@nw,@nw_y)
  end
  #--------------------------------------------------------------------------
  # * update_slide_image 
  #-------------------------------------------------------------------------- 
  def update_slide_image 
      slide_picture_x(@pw,@pw_x,15)
      slide_picture_x(@aw,@aw_x,5)
      slide_picture_x(@nw,@nw_x,15)
  end
  #--------------------------------------------------------------------------
  # * slide_picture_x
  #--------------------------------------------------------------------------   
  def slide_picture_x(i,x_pos,speed)
      if @actor_picture[i].x < x_pos
        @actor_picture[i].x += speed
        @actor_picture[i].x = x_pos if @actor_picture[i].x > x_pos
      end 
      if @actor_picture[i].x > x_pos
        @actor_picture[i].x -= speed
        @actor_picture[i].x = x_pos if @actor_picture[i].x < x_pos       
      end           
  end   
  #--------------------------------------------------------------------------
  # * slide_window_y
  #--------------------------------------------------------------------------   
  def slide_window_y(i,y_pos)
      if @window_status[i].y < y_pos
        @window_status[i].y += 15
        @window_status[i].y = y_pos if @window_status[i].y > y_pos
      end 
      if @window_status[i].y > y_pos
        @window_status[i].y -= 15
        @window_status[i].y = y_pos if @window_status[i].y < y_pos       
      end           
  end 
  #--------------------------------------------------------------------------
  # * reset_position
  #--------------------------------------------------------------------------   
  def reset_position(diretion)
      check_active_window
      check_active_picture
      case diretion
        when 0
            @window_status[@pw].y = -64
            @actor_picture[@pw].x = 100
        when 1 
            @window_status[@nw].y = 440
            @actor_picture[@nw].x = 400
      end       
  end 
  #--------------------------------------------------------------------------
  # * update_select
  #--------------------------------------------------------------------------
  def update_select
    if Input.trigger?(Input::DOWN) or Input.trigger?(Input::LEFT)
        Sound.play_cursor
        @char_index += 1
        @char_index = 1 if @char_index > @char_max
        if @char_max < 3         
          reset_position(0)
        else 
          reset_position(1)
        end 
    elsif Input.trigger?(Input::UP) or Input.trigger?(Input::RIGHT)
        Sound.play_cursor
        @char_index -= 1
        @char_index = @char_max if @char_index < 1
        reset_position(0)
    elsif Input.trigger?(Input::C)   
        Sound.play_decision
        $game_party.add_actor(@char_index)
        $scene = Scene_Map.new
    end
  end
end 

$mog_rgssvx_character_select = true
avatar
luistop12
500
500

Masculino

Edad 26

Cantidad de envíos 759

Maker Cash 946

Reputación 42


Volver arriba Ir abajo

:)

Mensaje por ymr16 el Vie 18 Oct 2013, 11:15 pm

funciona pero cuando elijo el personaje. no pasa nada no cambia se queda el mosmo que por defecto. como ago que al sececcionar uno de la lista se cambie al seleccionado. ayuda!! plz
avatar
ymr16
0
0

Masculino

Edad 26

Cantidad de envíos 4

Maker Cash 6

Reputación 0


Volver arriba Ir abajo

Re: [Aporte]Script Selecionar Personaje[VX]

Mensaje por Muzgar el Sáb 19 Oct 2013, 5:24 am

Ymr16 por favor leete las normas, este post lleva casi 1 año creado estás haciendo necropost, dejaré el post abierto un tiempo por si te pueden resolver la duda (no sería considerado necropost) 

Llevas un aviso, ten más cuidado la próxima vez
avatar
Muzgar
500
500

Masculino

Edad 26

Cantidad de envíos 700

Maker Cash 2738

Reputación 78


Volver arriba Ir abajo

Ayuda

Mensaje por ymr16 el Mar 29 Oct 2013, 10:55 am

gracias por el aviso y perdona esque me estoy familiarisando con la pagina.
hablando del tema nose como se cambia el pj, cuando elijo la imagen no pasa nada. alquien puede ayudarnos plz
avatar
ymr16
0
0

Masculino

Edad 26

Cantidad de envíos 4

Maker Cash 6

Reputación 0


Volver arriba Ir abajo

Re: [Aporte]Script Selecionar Personaje[VX]

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

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