Maker Palace
Si quiere un completo acceso al contenido del foro. Registrate

Maker Palace

¡El Reino del RpgMaker y del Ocio!
 
ÍndiceBuscarGrupos de UsuariosScriptsRecursosTutorialesJuegos creados por los PalacersPalaceWikiFAQRegistrarseConectarse
Conectarse
Nombre de Usuario:
Contraseña:
Entrar automáticamente en cada visita: 
:: Recuperar mi contraseña
Temas similares
  • » Flyff Character Simulator
  • » New Character songs Red ~Famiglia~ - Blue ~Rivale~
  • » necesito una ayudiata para RPG maker vx
  • » [Letras] Inazuma Eleven - Character Song
  • » [RPG Maker VX] Character Creator Studio VX
  • » [SCRIPTING] Borrar la opcion "Save" del menú [BASICO][RMVX]
  • » [Taller Cerrado] Taller de grafismo / sprites
  • » [DD] Inazuma Character Song Album
  • » Script anti lag RMVX
  • » Rpg maker vx ace Features and Character generator
  • Buscar
     
     

    Resultados por:
     
    Rechercher Búsqueda avanzada
    Últimos temas
    » Zailach - Alpha v1.0
    por Kingtime Hoy a las 4:13 am

    » Dross el rompe muelas completo
    por acoatlrpg Ayer a las 6:52 am

    » CardCaptor Sakura
    por Akito_squall Ayer a las 6:27 am

    » Cual de estos títulos les gusta mas?
    por Dorvin Dom Jun 16, 2013 10:53 am

    » Cual de estos sistemas de batalla te gustaría mas?
    por Shooter Vie Jun 14, 2013 4:39 pm

    » juego de disparar (formato 2)
    por Dorvin Jue Jun 13, 2013 12:23 am

    » titulo nuevo menu izquierdo
    por Limo2710 Miér Jun 12, 2013 3:19 pm

    Recomendados
    RPG en RPG Maker
    La importancia de un Backup
    Que requiere un sistema de Batalla para ser exitoso
    9 Minutos de Juegos por fans
    Neoland
    Indice de Scripts Locales XP
    Falcao Pearl ABS Liquid
    ¿Quién está en línea?
    En total hay 38 usuarios en línea: 3 Registrados, 0 Ocultos y 35 Invitados :: 2 Motores de búsqueda

    Kingtime, Sakura Kinomoto, Shooter

    La mayor cantidad de usuarios en línea fue 179 el Mar Ago 30, 2011 1:06 pm.
    MiniChat
    Mejores posteadores
    Shooter (2961)
     
    DaviX (2724)
     
    Frikilangelo (2429)
     
    Falcao (1769)
     
    SagahonArturo (1446)
     
    kyonides-arkanthos (1443)
     
    555goku5551 (1434)
     
    Webmaster24 (1353)
     
    Ares (1350)
     
    xDarkLinkx (1309)
     
    Afiliados
    Crear foro Mundo Maker Foro de anime y RM2k3/XP/VX Computer mix
    Flag Counter
    free counters
    Visitas

    Compartir | .
     

     [RMVX] Character Data V. 2.1

    Ver el tema anterior Ver el tema siguiente Ir abajo 
    AutorMensaje
    MidnightMoon
    Escudero Maker
    Escudero Maker


    Cantidad de envíos: 27
    Miembro desde: 12/09/2011
    Edad: 20
    Localización: Detras de ti n_n
    Sexo: Masculino

    Maker: RMXP


    MensajeTema: [RMVX] Character Data V. 2.1   Mar Sep 27, 2011 7:21 am

    Actualizado 2.1, trate de copiar los dos scripts pero el texto ya era muy largo.
    Favor de descargar las demos n_n

    Descripcion:
    Character Data, muestra biografias de tus personajes jugables y NPC. Teniendo cupo virtualmente para n personajes. Aunque actualmente no he probado mas de 20 (son 10 por pagina).
    • Muestra Face, Battler, y/o character solo con unpequeño cambio de variable.
    • Puedes poner hasta n datos; claro hasta que se llegue a un punto donde su visualizacion parezca limitada.
    • Paginas de 10 Personajes, pudiendo tener n paginas.
    • Tambien se pueden definir el titulo de la ventana.
    • Al inicio la lista estara vacia, se pueden añadir y eliminar registros con los comandos:
      $character_file.add_file(id)
      $character_file.remove_file(id)
      Donde el id es el id con el que se da de alta los datos en el modulo.
    • Se pueden configurar personajes de la base de datos, y de este extrae su nombre, su battler ysu character.
    • Permite definir criterios de Ordenacion, mejor explicados en el script.


    Instrucciones:
    • Llenar los datos, la explicacion para llenar los datos viene dentro del script.
    • Seguir las instrucciones del script para los Battlers, Characters y Faces
    • Realmenta el llenado de los datos es un poco complicado por lo cual pegare el script entero con ejemplo y de igual manera subire una demo.
    • Se llama con el siguiente script: $scene = Scene_CharacterData.new
    • Para Definir a donde quieren que regrese cuando canceles ir a la linea 632 y cambiar Scene_Map.new por lo que se requiera como, por ejemplo: Scene_Menu.new(2)


    Registro de Cambios:
    Version 2.1

    • Permite definir criterios de ordenacion.

    Version 2.0
    • Quitado el uso de interruptores y sustituido por llamadas a script que abren o quitan el acceso a ver un dato. Evitando que se usen interruptores que luego tienden a ser muy valiosos.
    • De esta manera no se podra implementar en partidas guardadas, pero ya en las que se vaya creando si servira correctamente.

    Version 1.2
    • Principal Cambio forma de añadir datos, resulta mas practica y entendible (aunque un poco mas extensa de codigo) y tambien evita poner informacion inecesario cuando no se reuqiere (como los name = "" en los ue ya traen id).
    • Poder omitir el campo de interruptor aun cuando este encendida la validacion, haciendo esto quiere decir que el personaje no depende del interruptor y se muestra siempre.
    • En el script viene el mismo ejemplo de los pasados pero conel nuevoformato de llenado de datos, y un poco mas de explicacion n_n

    Version 1.1
    • Añadido poder activar/desactivar la opcion para que tome en cuenta interruptores o no, con solo la siguiente opcion DataISwitchActive = false


    Script:
    Código:

    #======================================================================#
    #  Character Data V. 2.1                                              #
    #  ****** By Midnight Moon                                ******      #
    # Descripcion: Script que permite mostrar los datos de los personajes,
    #  asi como de los NPC en formato agenda.
    #======================================================================#
    module ConfigCharacterData
    #======================================================================#
    =begin
      Comandos:
        $character_file.add_file(id)
          Añade los datos de un personaje para poderlos ver.
          Donde el id es la clave con la que se dio de alta en el modulo.
          Ejemplo:
            $character_file.add_file(1)
            $character_file.add_file("Danao")
       
        $character_file.remove_file(id)
          Borra los datos de un personaje.
          Donde el id es la clave con la que se dio de alta en el modulo.
          Ejemplo:
            $character_file.remove_file(4)
            $character_file.remove_file("Mary")
    =end
    #======================================================================#
    # Texto que se muestra como el titulo de la pantalla
    DataITitulo = "Character Data"
    # Texto que se muestra cuando no se ha seleccionado ningun personaje
    DataIText = "Seleccione un personaje para ver su Biografia."
    =begin
      Forma en que se ordenara la lista
      0 - Como se van añadiendo
      1 - Alfabeticamenta
      2 - Actores y despues NPC (Alfabeticamente Ambos)
      3 - Actores y despues NPC (ID y Alfabeticamente)
      4 - Por el campo Priority al dar de alta su registro
    =end
    DataIOrder = 2
    # Aqui se configuran los label de los datos. Para mejor Visualizacion
    # no se recomienda que sean muchos datos.
    # En Cualquier caso la Info se muestra hasta abajo.
    DataILabelName = ["Name"]
    DataILabel = ["Age", "Class", "Race", "City", "Other"]
    # Configuramos Opciones, de mostrar imagen. En caso de que sea un Personaje jugable
    # no es necesario meter ni Face ni Character.
    DataIShowFace = true
    DataIShowBattler = true
    DataIShowCharacter = true

    =begin
      Aqui se configuran los datos, de cada Personaje.
      La configuracion de un dato es la siguiente:
      [Clave] => {
        [Datos definidos por el usuario],
        "Info" => [Cadenas_de_texto_separadas_por_coma],
        "Face" => ["[Nombre_Face]", [Index_en_el_Face_set]]
        "Battler" => "[Nombre_del_battler]",
        "Character" => ["[Nombre_del_Character]", [Index_en_el_Character_Set]]
      }
     
      Clave: Se pondra el ID del personaje en la base, o en caso de ser un NPC
        se pondra su nombre.
      Face y Character: Solo se pondran en caso de ser un NPC, en caso de ser un
        personaje de la base se obtendran los definidos en esta.
     
      Los datos definidos por el usuario deben de tener una etiqueta igual a las definidas
        en DataILabel.
      La Info de personaje, para que sea multilinea, escribir un texto hasta que abarque
        hasta el punto requerido, cerrar el texto poner , y escribir otra linea.
    =end
    DataIPlayer = {
      1 => {
        # Etiquetas Definidas por el usuario
        "Age" => "18",
        "Class" => "Guerrero",
        "Race" => "Humano",
        "City" => "Ibarath",
        "Other" => "Nada que Comentar",
        # Fin de etiquetas definidas por el usuario
        "Info" => [
          "Alexis es un guerrero noble que luchara",
          "para proteger a todos sus amigos y ",
          "familia. Odia la maldad."
        ],
        "Battler" => "Assassin",
        "Priority" => 3
      },
      "Marco" => {
        # Etiquetas Definidas por el usuario
        "Age" => "24",
        "Class" => "Mago",
        "Race" => "Humano",
        "City" => "Asgard",
        "Other" => "Nada que Comentar",
        # Fin de etiquetas definidas por el usuario
        "Info" => [
          "Fuerte Guerrero que lucha por la paz."
        ],
        "Face" => ["People4", 0],
        "Battler" => "Soldier",
        "Character" => ["People4", 0]
      },
      "Danao" => {
        # Etiquetas Definidas por el usuario
        "Age" => "15",
        "Class" => "Chaman",
        "Race" => "Humano",
        "City" => "Monte Olimpo",
        "Other" => "Nada que Comentar",
        # Fin de etiquetas definidas por el usuario
        "Info" => [
          "Tiene un Gran corazon y una valentia sin igual."
        ],
        "Face" => ["People4", 2],
        "Battler" => "Soldier",
        "Character" => ["People4", 2],
        "Priority" => 1
      },
      8 => {
        # Etiquetas Definidas por el usuario
        "Age" => "43",
        "Class" => "Monje",
        "Race" => "Humano",
        "City" => "Ibarath",
        "Other" => "Nada que Comentar",
        # Fin de etiquetas definidas por el usuario
        "Info" => [
          "Informacion Desconocida."
        ],
        "Battler" => "Assassin",
        "Priority" => 2
      },
      "Cristobal" => {
        # Etiquetas Definidas por el usuario
        "Age" => "24",
        "Class" => "Picaro",
        "Race" => "Humano",
        "City" => "Asgard",
        "Other" => "Nada que Comentar",
        # Fin de etiquetas definidas por el usuario
        "Info" => [
          "Informacion Desconocida."
        ],
        "Face" => ["People4", 7],
        "Battler" => "Soldier",
        "Character" => ["People4", 7]
      },
      "Kari" => {
        # Etiquetas Definidas por el usuario
        "Age" => "18",
        "Class" => "Guerrero",
        "Race" => "Humano",
        "City" => "Monte Olimpo",
        "Other" => "Nada que Comentar",
        # Fin de etiquetas definidas por el usuario
        "Info" => [
          "Informacion Desconocida."
        ],
        "Face" => ["People4", 1],
        "Battler" => "Soldier",
        "Character" => ["People4", 1],
        "Priority" => 9
      },
      "Dante" => {
        # Etiquetas Definidas por el usuario
        "Age" => "24",
        "Class" => "Mago",
        "Race" => "Humano",
        "City" => "Ibarath",
        "Other" => "Nada que Comentar",
        # Fin de etiquetas definidas por el usuario
        "Info" => [
          "Informacion Desconocida."
        ],
        "Face" => ["People4", 6],
        "Battler" => "Soldier",
        "Character" => ["People4", 6],
        "Priority" => 7
      },
      2 => {
        # Etiquetas Definidas por el usuario
        "Age" => "15",
        "Class" => "Chaman",
        "Race" => "Humano",
        "City" => "Asgard",
        "Other" => "Nada que Comentar",
        # Fin de etiquetas definidas por el usuario
        "Info" => [
          "Informacion Desconocida."
        ],
        "Battler" => "Assassin",
        "Priority" => 6
      },
      3 => {
        # Etiquetas Definidas por el usuario
        "Age" => "43",
        "Class" => "Monje",
        "Race" => "Humano",
        "City" => "Monte Olimpo",
        "Other" => "Nada que Comentar",
        # Fin de etiquetas definidas por el usuario
        "Info" => [
          "Informacion Desconocida."
        ],
        "Battler" => "Assassin",
        "Priority" => 5
      },
      4 => {
        # Etiquetas Definidas por el usuario
        "Age" => "24",
        "Class" => "Guerrero",
        "Race" => "Humano",
        "City" => "Ibarath",
        "Other" => "Nada que Comentar",
        # Fin de etiquetas definidas por el usuario
        "Info" => [
          "Informacion Desconocida."
        ],
        "Battler" => "Assassin",
        "Priority" => 15
      },
      "Mary" => {
        # Etiquetas Definidas por el usuario
        "Age" => "18",
        "Class" => "Mago",
        "Race" => "Humano",
        "City" => "Asgard",
        "Other" => "Nada que Comentar",
        # Fin de etiquetas definidas por el usuario
        "Info" => [
          "Informacion Desconocida."
        ],
        "Face" => ["People4", 3],
        "Battler" => "Soldier",
        "Character" => ["People4", 3],
        "Priority" => 3
      },
      7 => {
        # Etiquetas Definidas por el usuario
        "Age" => "24",
        "Class" => "Chaman",
        "Race" => "Humano",
        "City" => "Monte Olimpo",
        "Other" => "Nada que Comentar",
        # Fin de etiquetas definidas por el usuario
        "Info" => [
          "Informacion Desconocida."
        ],
        "Battler" => "Assassin",
        "Priority" => 17
      },
      6 => {
        # Etiquetas Definidas por el usuario
        "Age" => "15",
        "Class" => "Monje",
        "Race" => "Humano",
        "City" => "Ibarath",
        "Other" => "Nada que Comentar",
        # Fin de etiquetas definidas por el usuario
        "Info" => [
          "Informacion Desconocida."
        ],
        "Battler" => "Assassin",
        "Priority" => 20
      },
      5 => {
        # Etiquetas Definidas por el usuario
        "Age" => "43",
        "Class" => "Picaro",
        "Race" => "Humano",
        "City" => "Asgard",
        "Other" => "Nada que Comentar",
        # Fin de etiquetas definidas por el usuario
        "Info" => [
          "Informacion Desconocida."
        ],
        "Battler" => "Assassin"
      }
    }
    #======================================================================#
    end
    #======================================================================#
    #==============================================================================
    # ** Character_File
    #------------------------------------------------------------------------------
    #==============================================================================
    class Character_File
      include ConfigCharacterData
      #--------------------------------------------------------------------------
      # * Public Instance Variables
      #--------------------------------------------------------------------------
      attr_reader :data
      attr_reader :temp
      #--------------------------------------------------------------------------
      # * Object Initialization
      #--------------------------------------------------------------------------
      def initialize
        @data = Array.new
        @temp = Array.new
      end
      #--------------------------------------------------------------------------
      # * Add_File
      #    index : index
      #--------------------------------------------------------------------------
      def add_file(index)
        unless DataIPlayer[index].nil?
          @data.push(index)  unless @data.include?(index)
        end
      end
      #--------------------------------------------------------------------------
      # * Remove_File
      #    index : index
      #--------------------------------------------------------------------------
      def remove_file(index)
        @data.delete(index) if DataIPlayer.include?(index)
      end
      #--------------------------------------------------------------------------
      # * Build_Data
      #--------------------------------------------------------------------------
      def build_data
        case DataIOrder
        when 0
          @temp = @data
        when 1
          temp0 = Array.new
          @data.each do |x|
            if x.is_a?(Integer)
              actor = Game_Actor.new(x)
              temp0.push([x, actor.name])
            else
              temp0.push([x, x])
            end
          end
          temp0.sort! {|x, y| x[1] <=> y[1]}
          temp0.each { |x| @temp.push(x[0]) }
        when 2
          temp0 = Array.new
          temp1 = Array.new
          @data.each do |x|
            if x.is_a?(Integer)
              actor = Game_Actor.new(x)
              temp0.push([x, actor.name])
            else
              temp1.push([x, x])
            end
          end
          temp0.sort! {|x, y| x[1] <=> y[1]}
          temp1.sort! {|x, y| x[1] <=> y[1]}
          temp0.each { |x| @temp.push(x[0]) }
          temp1.each { |x| @temp.push(x[0]) }
        when 3
          temp0 = Array.new
          temp1 = Array.new
          @data.each do |x|
            if x.is_a?(Integer)
              actor = Game_Actor.new(x)
              temp0.push([x, actor.name])
            else
              temp1.push([x, x])
            end
          end
          temp0.sort! {|x, y| x[0] <=> y[0]}
          temp1.sort! {|x, y| x[1] <=> y[1]}
          temp0.each { |x| @temp.push(x[0]) }
          temp1.each { |x| @temp.push(x[0]) }
        when 4
          temp0 = Array.new
          @data.each do |x|
            val = (DataIPlayer[x]["Priority"].nil?) ? 1000 : DataIPlayer[x]["Priority"]
            temp0.push([x, val])
          end
          temp0.sort! {|x, y| x[1] <=> y[1]}
          temp0.each { |x| @temp.push(x[0]) }
        end
        p @temp
      end
      #--------------------------------------------------------------------------
      # * Destroy_Data
      #--------------------------------------------------------------------------
      def destroy_data
        @temp = nil
        @temp = Array.new
      end
    end
    #==============================================================================
    # ** Window_Base
    #------------------------------------------------------------------------------
    #  This class is for all in-game windows.
    #==============================================================================
    class Window_Base < Window
      include ConfigCharacterData
     
      def I_draw_actor_face(index, x, y)
        if index.is_a?(Integer)
          actor = Game_Actor.new(index)
          bitmap = Cache.face(actor.face_name)
          rect = Rect.new(0, 0, 96, 96)
          size = 96
          rect.x = actor.face_index % 4 * 96 + (96 - size) / 2
          rect.y = actor.face_index / 4 * 96 + (96 - size) / 2
          rect.width = size
          rect.height = size
          self.contents.blt(x, y, bitmap, rect)
          bitmap.dispose
        else
          unless DataIPlayer[index]["Face"].nil? || DataIPlayer[index]["Face"][0] == ""
            bitmap = Cache.face(DataIPlayer[index]["Face"][0])
            face_index = (DataIPlayer[index]["Face"][1].nil?) ? 1 : DataIPlayer[index]["Face"][1]
            rect = Rect.new(0, 0, 96, 96)
            size = 96
            rect.x = face_index % 4 * 96 + (96 - size) / 2
            rect.y = face_index / 4 * 96 + (96 - size) / 2
            rect.width = size
            rect.height = size
            self.contents.blt(x, y, bitmap, rect)
            bitmap.dispose
          end
        end
      end
      def I_draw_actor_battler(index)
        unless DataIPlayer[index]["Battler"].nil? || DataIPlayer[index]["Battler"] == ""
          battler = Cache.battler(DataIPlayer[index]["Battler"], 0)
          fw = battler.width
          fh = battler.height
          x = 384-32 - fw
          y = 352-32 - fh
          src_rect = Rect.new(0, 0, fw, fh)
          self.contents.blt(x, y, battler, src_rect)
        end
      end
      def I_draw_actor_graphic(index, x, y)
        if index.is_a?(Integer)
          actor = Game_Actor.new(index)
          bitmap = Cache.character(actor.character_name)
          sign = actor.character_name[/^[\!\$]./]
          if sign != nil and sign.include?('$')
            cw = bitmap.width / 3
            ch = bitmap.height / 4
          else
            cw = bitmap.width / 12
            ch = bitmap.height / 8
          end
          n = actor.character_index
          src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)
          self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
        else
          unless DataIPlayer[index]["Character"].nil? || DataIPlayer[index]["Character"][0] == ""
            bitmap = Cache.character(DataIPlayer[index]["Character"][0])
            n = (DataIPlayer[index]["Character"][1].nil?) ? 1 : DataIPlayer[index]["Character"][1]
            sign = DataIPlayer[index]["Character"][0][/^[\!\$]./]
            if sign != nil and sign.include?('$')
              cw = bitmap.width / 3
              ch = bitmap.height / 4
            else
              cw = bitmap.width / 12
              ch = bitmap.height / 8
            end
            src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)
            self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
          end
        end
      end
    end
    #==============================================================================
    # ** Window_Status0
    #==============================================================================
    class Window_Status0 < Window_Base
      def initialize
        super(0, 0, 544, 64)
        self.contents = Bitmap.new(width - 32, height - 32)
        refresh
      end
      #--------------------------------------------------------------------------
      # * Refresh
      #--------------------------------------------------------------------------
      def refresh
        self.contents.clear
        self.contents.font.color = system_color
        w = self.contents.text_size(ConfigCharacterData::DataITitulo.split("\n")[0]).width
        x = (544 - w - 48) / 2
        self.contents.draw_text(x, 0, 200, 32, ConfigCharacterData::DataITitulo)
      end
    end
    #==============================================================================
    # ** Window_Status1
    #==============================================================================
    class Window_Status1 < Window_Base
      #--------------------------------------------------------------------------
      # * Object Initialization
      #    actor : actor
      #--------------------------------------------------------------------------
      def initialize
        super(0, 351, 160, 65)
        self.contents = Bitmap.new(width - 32, height - 32)
        refresh
      end
      #--------------------------------------------------------------------------
      # * Refresh
      #--------------------------------------------------------------------------
      def refresh
        self.contents.clear
        self.contents.font.color = system_color
        texto = $scene.actual.to_s + "/" + $scene.total.to_s
        w = self.contents.text_size(texto).width
        x = (128 / 2) - (w / 2)
        self.contents.draw_text(x, 0, 50, 32, texto)
      end
    end
    #==============================================================================
    # ** Window_Status2
    #==============================================================================
    class Window_Status2 < Window_Base
      include ConfigCharacterData
      #--------------------------------------------------------------------------
      # * Object Initialization
      #    actor : actor
      #--------------------------------------------------------------------------
      def initialize(index)
        @index = index
        super(160, 64, 384, 352)
        self.contents = Bitmap.new(width - 32, height - 32)
        refresh
      end
      #--------------------------------------------------------------------------
      # * Refresh
      #--------------------------------------------------------------------------
      def refresh
        self.contents.clear
        if @index == -1
          self.contents.font.color = system_color
          w = self.contents.text_size(DataIText).width
          y = (self.height / 2) - 32
          self.contents.draw_text(0, y, self.width - 32, 32, DataIText, 1)
        else
          # En caso de existir,construimos el objeto actor.
          if @index.is_a?(Integer)
            actor = Game_Actor.new(@index)
          end
          # Obtenemos los Datos.
          nombre = (@index.is_a?(Integer)) ? actor.name : @index
         
          # Escribimos los Elementos.
          self.contents.font.color = system_color
          self.contents.font.size = 30
          self.contents.draw_text(4, 4, self.contents.text_size(nombre).width, 32, nombre)
          if DataIShowFace
            I_draw_actor_face (@index, 4, 36)
          end
          if DataIShowBattler
            I_draw_actor_battler (@index)
          end
          if DataIShowCharacter
            I_draw_actor_graphic (@index, 320, 50)
          end
         
          i = 0
          for s in DataILabel
            self.contents.font.size = 18
            label = s + ":"
            valor = DataIPlayer[@index][s]
            self.contents.font.color = system_color
            if DataIShowFace
              if i < 4
                self.contents.draw_text(4 + 120, 40 + (i * 24), 300, 32, label)
              else
                self.contents.draw_text(4, 40 + (i * 24), 300, 32, label)
              end
            else
              self.contents.draw_text(4, 40 + (i * 24), 300, 32, label)
            end
            self.contents.font.color = normal_color
            if DataIShowFace
              if i < 4
                self.contents.draw_text(4 + 120 + 60, 40 + (i * 24), 300, 32, valor)
              else
                self.contents.draw_text(4 + 60, 40 + (i * 24), 300, 32, valor)
              end
            else
              self.contents.draw_text(4 + 60, 40 + (i * 24), 300, 32, valor)
            end
            i += 1
          end
          self.contents.font.color = normal_color
          self.contents.font.size = 18
          i = 0
          for s in DataIPlayer[@index]["Info"]
            self.contents.draw_text(4, 198 + (32 * i), self.contents.text_size(s).width, 32, s)
            i += 1
          end
        end
      end
    end
    #==============================================================================
    # ** Window_Command
    #------------------------------------------------------------------------------
    #  This window deals with general command choices.
    #==============================================================================
    class Window_Command0 < Window_Selectable
      #--------------------------------------------------------------------------
      # * Object Initialization
      #    width    : window width
      #    commands : command text string array
      #--------------------------------------------------------------------------
      def initialize(commands, spacing = 32)
        super(0, 64, 160, 416-65-64, spacing)
        @item_max = (commands[1].size == 0) ? 1 : commands[1].size
        @commands = commands[1]
        @ids = commands[0]
        refresh
        self.index = 0
      end
      #--------------------------------------------------------------------------
      # * Refresh
      #--------------------------------------------------------------------------
      def refresh
        self.contents.clear
        for i in 0...@item_max
          draw_item(i)
        end
      end
      #--------------------------------------------------------------------------
      # * Draw Item
      #    index : item number
      #--------------------------------------------------------------------------
      def draw_item(index, enabled = true)
        rect = item_rect(index)
        rect.x += 4
        rect.width -= 8
        self.contents.clear_rect(rect)
        self.contents.font.color = normal_color
        self.contents.font.color.alpha = enabled ? 255 : 128
        text = (@commands[index].nil?) ? "" : @commands[index]
        self.contents.draw_text(rect, text)
      end
      #--------------------------------------------------------------------------
      # * Disable Item
      #    index : item number
      #--------------------------------------------------------------------------
      def disable_item(index)
        draw_item(index, disabled_color)
      end
    end
    #==============================================================================
    # ** Scene_CharacterData
    #==============================================================================
    class Scene_CharacterData
      include ConfigCharacterData
      #--------------------------------------------------------------------------
      # * Public Instance Variables
      #--------------------------------------------------------------------------
      attr_accessor :actual
      attr_accessor :total
      #--------------------------------------------------------------------------
      # * Object Initialization
      #    menu_index : command cursor's initial position
      #--------------------------------------------------------------------------
      def initialize(menu_index = 0)
        @menu_index = menu_index
      end
      #--------------------------------------------------------------------------
      # * Main Processing
      #--------------------------------------------------------------------------
      def main
        @page = 0
        @actual = @page + 1
        i = 0
        valor = ($character_file.data.size.to_f / 10.to_f).ceil
        @total = (valor == 0) ? 1 : valor
        valor = nil
        $character_file.build_data
        @datos = return_options
        @command_window0 = Window_Command0.new(@datos)
        @status_window0 = Window_Status0.new
        @status_window1 = Window_Status1.new
        @status_window2 = Window_Status2.new(-1)
        Graphics.transition
        loop do
          Graphics.update
          Input.update
          update
          if $scene != self
            break
          end
        end
        Graphics.freeze
        $character_file.destroy_data
        @status_window0.dispose
        @status_window1.dispose
        @status_window2.dispose
        @command_window0.dispose
      end
      #--------------------------------------------------------------------------
      # * Frame Update
      #--------------------------------------------------------------------------
      def update
        @command_window0.update
        if @command_window0.active
          update_command
          return
        end
      end
      #--------------------------------------------------------------------------
      def update_command
        if Input.trigger?(Input::B)
          Sound.play_cancel
          $scene = Scene_Map.new
          return
        end
        if Input.trigger?(Input::RIGHT)
          if @actual == @total
            return
          else
            @page += 1
            @actual += 1
            @command_window0.dispose
            @status_window1.dispose
            @datos = return_options
            @command_window0 = Window_Command0.new(@datos)
            @status_window1 = Window_Status1.new
          end
        end
        if Input.trigger?(Input::LEFT)
          if @actual == 1
            return
          else
            @page -= 1
            @actual -= 1
            @command_window0.dispose
            @status_window1.dispose
            @datos = return_options
            @command_window0 = Window_Command0.new(@datos)
            @status_window1 = Window_Status1.new
          end
        end
        if Input.trigger?(Input::C)
          if @datos[0][@command_window0.index] != nil
            @status_window2.dispose
            @status_window2 = Window_Status2.new(@datos[0][@command_window0.index])
            Sound.play_decision
            return
          else
            Sound.play_buzzer
            return
          end
        end
      end
      # Clase que devuelve los nombres para el menu segun la pagina.
      def return_options
          arreglo = [[],[]]
          i = 0
          j = 0
          for s in $character_file.temp
            if (@page * 10) <= j
              arreglo[0][i] = s
              if s.is_a?(Integer)
                actor = Game_Actor.new(s)
                arreglo[1][i] = actor.name
              else
                arreglo[1][i] = s
              end
              i += 1
            end
            j += 1
            if i >= 10
              break
            end
          end
          return arreglo
      end
    end
    #==============================================================================
    # ** Scene_Title
    #------------------------------------------------------------------------------
    #  This class performs title screen processing.
    #==============================================================================
    class Scene_Title
      alias midnightmoon_filecharacter_command command_new_game
      def command_new_game
        $character_file = Character_File.new
        midnightmoon_filecharacter_command
      end
    end
    #==============================================================================
    # ■ Scene_File
    #------------------------------------------------------------------------------
    #  This is a superclass for the save screen and load screen.
    #==============================================================================
    class Scene_File
      alias midnightmoon_write_data write_save_data
      def write_save_data(file)
        midnightmoon_write_data(file)
        Marshal.dump($character_file, file)
      end
      alias midnightmoon_read_data read_save_data
      def read_save_data(file)
        midnightmoon_read_data(file)
        $character_file = Marshal.load(file)
      end
    end


    Imagenes:
    Spoiler:
     


    Demo:
    V 2.1 - http://www.mediafire.com/?7tkv94shdq9cpzx
    V 2.0 - http://www.mediafire.com/?txz664714gg1dj6
    SAYONARA


    Última edición por MidnightMoon el Miér Sep 28, 2011 7:19 pm, editado 1 vez
    Volver arriba Ir abajo
    Ver perfil de usuario
    Mr. Tebi
    Aprendiz de Escudero
    Aprendiz de Escudero


    Cantidad de envíos: 88
    Miembro desde: 14/07/2011
    Edad: 17
    Localización: Valdivia, Chile
    Sexo: Masculino

    Maker: RMVX


    MensajeTema: Re: [RMVX] Character Data V. 2.1   Miér Sep 28, 2011 2:34 pm

    Muy bueno!!! me gusta!!!
    Volver arriba Ir abajo
    Ver perfil de usuario
    ryuusei no roxas
    Héroe Maker
    Héroe Maker


    Cantidad de envíos: 876
    Miembro desde: 13/07/2010
    Edad: 17
    Localización: Chile
    Sexo: Masculino

    Maker: RMVX

    Logros MP:



    MensajeTema: Re: [RMVX] Character Data V. 2.1   Miér Sep 28, 2011 2:44 pm

    :OO es genial es como decirlo .... uhmmm Hermoso y desconocido *-* esta chevere xd
    Volver arriba Ir abajo
    Ver perfil de usuario http://theryuusei.tumblr.com
    MidnightMoon
    Escudero Maker
    Escudero Maker


    Cantidad de envíos: 27
    Miembro desde: 12/09/2011
    Edad: 20
    Localización: Detras de ti n_n
    Sexo: Masculino

    Maker: RMXP


    MensajeTema: Re: [RMVX] Character Data V. 2.1   Miér Sep 28, 2011 7:20 pm

    Me alegro que les agrade n_n
    Actualizado, permite definir criterios de ordenacion. Alfabeticmanete, etc.
    Mas informacion en el script. Para entender mejor descarga la nueva demo n_n

    Nos estamos leyendo =P
    Volver arriba Ir abajo
    Ver perfil de usuario
    monito486
    Escudero Experimentado
    Escudero Experimentado


    Cantidad de envíos: 52
    Miembro desde: 15/04/2011
    Maker: RMVX


    MensajeTema: Re: [RMVX] Character Data V. 2.1   Jue Sep 29, 2011 3:49 am

    :OOO esta buenisimo vere como se usa haber si lo ocupo:B
    Volver arriba Ir abajo
    Ver perfil de usuario
     

    [RMVX] Character Data V. 2.1

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

     Temas similares

    -
    » L2 Data (c4)
    » Models de Appends para MMD :3 + Motion Data
    » [RPG Maker VX] Character Data V. 2.0
    » [RPG Maker XP] Character Data V 2.0
    » feliz feliz cumpleaños Data

    Permisos de este foro:No puedes responder a temas en este foro.
    Maker Palace :: RGSS Scripts :: Scripts Maker VX / VX Ace-