¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Últimos temas
» Hola mucho gusto
por Hk Diamond Hoy a las 13:49

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

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

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

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

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

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

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

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

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

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

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

[RPGXP] Script Logros

 :: RPG Maker :: Scripts

Ver el tema anterior Ver el tema siguiente Ir abajo

[RPGXP] Script Logros

Mensaje por Khaizen el 2010-08-10, 22:42

Hoy os traigo un script que simula un sistema de logros.

Autor: Lucemon y Hound
Plataforma: RPG Maker XP

SCREENS

http://img265.imageshack.us/f/36312997.png/
http://img685.imageshack.us/f/56602460.png/


SCRIPT

Código:

# Hola amigos, investigando por mi cuenta he conseguido realizar este script,
# para usarlo es necesario crear una carpeta en grafic llamada Logros.
# Para hacer que funcione llámalo con $game_logros[i] = true
# donde la i representa el número de la imagen desbloqueada
# Las imágenes en realidad son interruptores, y por lo tanto, se guardan en esta

# clase para facilitar su uso.
$game_logros = Game_Switches.new

# Aquí se crea un módulo para poder usar el directorio de Graphics/Logros/
module RPG
  module Cache
    def self.logros(filename)
      self.load_bitmap("Graphics/Logros/", filename)
    end
  end
end

class Scene_Logros
# ------------------------------------
 def main
    $game_player.straighten
    # Cargando lista de elecciones
    @array = ["Logro 1", "Logro 2", "Logro 3", "04", "05", "06", "07", "08", "09", "10", "11", "12",
    "13", "14", "15"]   
    # Cargando ventanas
    @command = Window_Command.new(120, @array)
    @command.height = 416
    for i in 0..14
      if $game_logros[i+1] == false
        @command.disable_item(i)
      end
    end
    @datos = Window_logrosWin.new
    @datos.y = 416
    @imagen = Sprite.new
    @imagen.bitmap = RPG::Cache.logros("")
    @max_x = 120
    @min_x = 120
    @help = Window_logrosHelp.new
    @help2 = Window_logrosHelp2.new
    @help.visible = false
    @help2.visible = false
    @helpw = true
    @update = 0
    # Cargando en ciclo el update y gráficos
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    # Borrando ventanas e imágen al salir de aquí
    @command.dispose
    @imagen.dispose
    @datos.dispose
    @help.dispose
    @help2.dispose
    Graphics.freeze
  end
# ------------------------------------
  # Update
  def update
    # Si la variable @update es igual a 0 se cargan las elecciones de la lista
    # de imágenes.
    # Si por el contrario es igual a 1, se carga los controles de imágen.
    if @update == 0
      update_lista
    elsif @update == 1
      update_imagen
    end
  end
  # Carga de elecciones
  def update_lista
    @command.update
    # Si se pulsa la tecla "C" se carga la imágen seleccionada de la lista
    # y se cambia el modo update a "Controles de Imágen".
    if Input.trigger?(Input::C)
      # Primero se verifica si la imágen seleccionada está activa.
      if $game_logros[@command.index+1] == true
        logrospicture = @command.index + 1
        logrospicture = logrospicture.to_s
        # En caso de estar activada, se comprueba que la imágen exista
        # en su directorio.
        if FileTest.exist?("Graphics/Logros/" + logrospicture + ".jpg")
          $game_system.se_play($data_system.decision_se)
          @imagen.bitmap = RPG::Cache.logros(logrospicture + ".jpg")
        elsif FileTest.exist?("Graphics/Logros/" + logrospicture + ".png")
          $game_system.se_play($data_system.decision_se)
          @imagen.bitmap = RPG::Cache.logros(logrospicture + ".png")
        end
        # Ahora se centra la imágen en la esquina pegada a la ventana de elecciones.
        @imagen.x = 120
        @max_x = 120.to_f
        @min_x = 120.to_f
        # Después se actualiza los datos escritos en la ventana inferior,
        datos_imagen(@command.index+1)
        # Y ahora se verifica si la ventana de controles de imágen está activa.
        # En caso afirmativo se visualiza la ventana.
        if @helpw == true
          @help.visible = true
          @help2.visible = true
        end
        @update = 1
      else
        $game_system.se_play($data_system.buzzer_se)
      end
    end
    # Si se pulsa la tecla "B" se sale del Scene
    # Aquí es donde debes poner el scene al que se vuelve
    # Por defecto está el mapa (Scene_Map)
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cursor_se)
      $scene = Scene_Menu.new(4)
    end
  end
  # Carga de Pantalla de Imágen
  def update_imagen
  # Al mantener pulsada la tecla "A" (X en Input) se agranda la imágen
  if Input.press?(Input::X)
    if @imagen.zoom_x >= 1.0
      if @imagen.zoom_x < 2.0
        if @imagen.zoom_y >= 1.0
          if @imagen.zoom_y < 2.0
            @min_x -= 0.5
            @max_x += 0.5
            @imagen.zoom_x += 0.01
            @imagen.zoom_y += 0.01
            @imagen.x -= 2
            @imagen.y -= 2
          end
        end
      end
    end
    end
    # Al mantener pulsada la tecla "S" (Y en Input) se reduce la imágen
    if Input.press?(Input::Y)
      if @imagen.zoom_x > 1.0
        if @imagen.zoom_x <= 2.1
          if @imagen.zoom_y > 1.0
            if @imagen.zoom_y <= 2.1
              @min_x += 0.5
              @max_x -= 0.5
              @imagen.zoom_x -= 0.01
              @imagen.zoom_y -= 0.01
              @imagen.x += 2
              @imagen.y += 2
            end
          end
        end
      end
    end
    # Al pulsar "Q" (L en Input) se activa o desactiva la ventana de controles.
    if Input.trigger?(Input::L)
      # Si la ventana es visible se quita, y en caso contrario se pone.
      if @helpw == true
        $game_system.se_play($data_system.cancel_se)
        @help.visible = false
        @help2.visible = false
        @helpw = false
      else
        $game_system.se_play($data_system.decision_se)
        @help.visible = true
        @help2.visible = true
        @helpw = true
      end
    end
    # Si se usa la tecla de cancelar, se vuelve al modo Lista de Elecciones.
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @help.visible = false
      @help2.visible = false
      @imagen.zoom_x = 1.0
      @imagen.zoom_y = 1.0
      @imagen.x = 120
      @imagen.y = 0
      @update = 0
    end
  end
  # Cargar Datos de la Ventana de Controles
  def datos_imagen(index)
    # Aquí debes poner los datos de cada imágen de la siguiente forma:
    # @datos.refresh([número], [Título de Imágen], [Autor de la Imágen])
    case index
    when 1
      @datos.refresh("01", "Logro", "Lucemon")
    when 2
      @datos.refresh("02", "Rojo Fuego", "Hound")
    when 3
      @datos.refresh("03", "Verde Hoja", "Hound")
    when 4
      @datos.refresh("04", "Azul Viento", "Hound")
    when 5
      @datos.refresh("01", "Neutral", "Hound")
    # Añade aquí más comandos como los anteriores para los demás artpictures.
    end
  end
end

#==============================================================================
#  Window_ArtWin
#    By Hound
#------------------------------------------------------------------------------
# Esta es la ventana que muestra los datos de la imágen puesta en visualización
# en Scene_ArtPictures
#==============================================================================
class Window_logrosWin < Window_Base
  #--------------------------------------------------------------------------
  # - Inicio de Objetos...
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 640, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
        self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    refresh("00", "Sin Imágen", "Ninguno")
  end
  #--------------------------------------------------------------------------
  # - Actualizacion
  #--------------------------------------------------------------------------
  def refresh(numero, nombre, autor)
    self.contents.clear
    self.contents.font.color = crisis_color
    self.contents.draw_text(4, 0, 100, 32, numero)
    self.contents.font.color = system_color
    self.contents.draw_text(380, 0, 80, 32, "Autor:")
    self.contents.font.color = normal_color
    self.contents.draw_text(80, 0, 292, 32, nombre)
    self.contents.draw_text(460, 0, 150, 32, autor)
  end
end

#==============================================================================
#  Window_ArtHelp
#    By Hound
#------------------------------------------------------------------------------
# Esta ventana muestra los controles de la pantalla de Logros Pictures
#==============================================================================
class Window_logrosHelp < Window_Base
  #--------------------------------------------------------------------------
  # - Inicio de Objetos...
  #--------------------------------------------------------------------------
  def initialize
    super(120, 352, 558, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.back_opacity = 64
    self.contents.font.name = "Tahoma"
    self.contents.font.size = 25
    refresh
  end
  #--------------------------------------------------------------------------
  # - Actualizacion
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = system_color
    qq = "Q:"
    aa = "A:"
    ss = "S:"
    esc = "ESC:"
    qqs = contents.text_size(qq).width
    aas = contents.text_size(aa).width
    sss = contents.text_size(ss).width
    self.contents.draw_text(30, 0, 80, 32, qq)
    self.contents.draw_text(150, 0, 80, 32, aa)
    self.contents.draw_text(260, 0, 80, 32, qq)
    self.contents.draw_text(350, 0, 80, 32, ss)
    self.contents.font.color = normal_color
    self.contents.draw_text(qqs+30, 0, 100, 32, "Sin Marco")
    self.contents.draw_text(aas+150, 0, 100, 32, "Agrandar")
    self.contents.draw_text(sss+260, 0, 100, 32, "Marco")
    self.contents.draw_text(aas+350, 0, 100, 32, "Reducir")
  end
end
class Window_logrosHelp2 < Window_Base
  #--------------------------------------------------------------------------
  # - Inicio de Objetos...
  #--------------------------------------------------------------------------
  def initialize
    super(480, 0, 160, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.back_opacity = 64
        self.contents.font.name = "Tahoma"
    self.contents.font.size = 25
    refresh
  end
  #--------------------------------------------------------------------------
  # - Actualizacion
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = system_color
    esc = "ESC:"
    escs = contents.text_size(esc).width
    self.contents.draw_text(0, 0, 80, 32, esc)
    self.contents.font.color = normal_color
    self.contents.draw_text(escs, 0, 100, 32, "Atras")
  end
end

# A partir de aquí se añade a las definiciones de guardar y cargar datos
# la variable $game_art para mantenerla en los datos de partida.
class Scene_Save < Scene_File
 
  alias logros_write_save_data write_save_data
 
  def write_save_data(file)
    logros_write_save_data(file)
    Marshal.dump($game_logros, file)
  end
end

class Scene_Load < Scene_File
 
 alias logros_read_save_data read_save_data
 
  def read_save_data(file)
    logros_read_save_data(file)
    $game_logros = Marshal.load(file)
  end
end


DEMO

Descargar DEMO aquí


INSTRUCCIONES

Colocar el script sobre MAIN. Ahora, cread una carpeta dentro de Graphics llamada Logros y ahí meteis las imágenes a usar. Éstas deben ser de un tamaño determinado, si descargáis la demo podréis verlo.

EDITO: He corregido los errores de la demo y del script. Gracias a Mukadelheid por decir donde estaba el error. He añadido la opción de guardado. gcool

Saludos, Khaizen.


Última edición por Khaizen el 2010-09-05, 22:32, editado 1 vez (Razón : Corrección de errores)

Khaizen
Principiante
Principiante

0/3

Créditos 1460

Gracias : 4

Volver arriba Ir abajo

Re: [RPGXP] Script Logros

Mensaje por Dorvin el 2010-08-10, 23:45

Mola, pero al salir del listado de logros salta un error ._.

Dorvin
Veterano
Veterano

0/3

Créditos 324

Gracias : 22

http://thesexydeath.webnode.es/

Volver arriba Ir abajo

Re: [RPGXP] Script Logros

Mensaje por Mukadelheid el 2010-08-11, 04:49

Dorvin escribió:Mola, pero al salir del listado de logros salta un error ._.

# Si se pulsa la tecla "B" se sale del Scene
# Aquí es donde debes poner el scene al que se vuelve
# Por defecto está el mapa (Scene_Map)
Código:
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cursor_se)
      $scene = Scene_Menu2.new(1)


Así como esta te dará error(normalmente no se tiene la Scene_menu2), cambia la linea :

Código:
$scene = Scene_Menu2.new(1)

Introduce cualquier scene a la cual quieras ir al salir del menu "logros", por ejemplo;

Para ir al mapa
Código:
$scene = Scene_Map.new
Para ir al menu principal
Código:
$scene = Scene_Menu.new


Mukadelheid
Principiante
Principiante

0/3

Créditos 331

Gracias : 28

Volver arriba Ir abajo

Re: [RPGXP] Script Logros

Mensaje por orochii el 2010-08-14, 19:12

Jajajajajajajaja logros estilo Xbox xDDDDDD. Está excelente, porque me hizo mucha gracia la interfaz de muestra xD.

Excelente aporte Khaizen (como siempre :P), y excelente script Lucemon y Hound,
Orochii Zouveleki

orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6045

Gracias : 266

http://drekirokr.weebly.com/

Volver arriba Ir abajo

Re: [RPGXP] Script Logros

Mensaje por Invitado el 2010-09-05, 21:56

muy buen aporte pero tengo un problemilla como se guarda partida y como se carga?

Invitado
Invitado


Volver arriba Ir abajo

Re: [RPGXP] Script Logros

Mensaje por Khaizen el 2010-09-05, 22:35

Ya he editado el post original. He corregido la demo y el script, gracias a Mukadelheid por decir dónde estaba el error. También he añadido la opción de guardado, el cual sustituia el sistema de logros. gcool

Saludos, Khaizen.

Khaizen
Principiante
Principiante

0/3

Créditos 1460

Gracias : 4

Volver arriba Ir abajo

Re: [RPGXP] Script Logros

Mensaje por Invitado el 2010-09-06, 08:10

Vale ya esta probado ahora si que funciona perfecto todo muchas gracias. :)

Invitado
Invitado


Volver arriba Ir abajo

Re: [RPGXP] Script Logros

Mensaje por LuuchooColla el 2014-05-21, 22:25

Lamento por el necropost... pero me gustaria que lo vuelvan a subir! el foro tiene que encargarse de restaurar los links, asi nadie hace necropost como yo. Porfavor.

LuuchooColla
Novato
Novato

1/3

Créditos 118

Gracias : 6

Volver arriba Ir abajo

Re: [RPGXP] Script Logros

Mensaje por rpgmanumaker el 2014-05-21, 22:56

LuuchooColla, que un link esté roto, no es razón suficiente para hacer necroposting, creo yo... y menos en uno de 4 años de antigüedad.

Segundo, el foro no está obligado a nada, menos aún cuando el que lo sube ni pertenece al staff.

Habiéndote dicho esto, te diré que existe una sección para para estos caso, esta: http://www.mundo-maker.com/t5301-peticion-de-links-rotos

Supongo que no tengo porque decirte nada, referente a lo que tienes que hacer en el foro, para eso están los mod, admi... y orochii XD, pero como usuario más o menos antiguo y asentado en esta comunidad, me veo obligado a hacerlo... y a dejarte claro que, aquí nadie está obligado a nada, excepto a cumplir las normas.


rpgmanumaker
Veterano
Veterano

1/3

Créditos 678

Gracias : 23

Volver arriba Ir abajo

Re: [RPGXP] Script Logros

Mensaje por Dangaioh el 2014-05-22, 08:01

LuuchooColla escribió:Lamento por el necropost... pero me gustaria que lo vuelvan a subir! el foro tiene que encargarse de restaurar los links, asi nadie hace necropost como yo. Porfavor.




Como te han dicho para que no tengan que hacer necropost como tu, ya se creó la sección correspondiente.
El foro sois vosotros, no el staff, vosotros sois los que aportáis,dais ayudais etc , nosotros podemos encargarnos y mantener ciertas cosas, y como comprenderás el staff tiene vida propia más allá del foro y no puede estar revisando links de hace 4 años, para todo lo demás está Dios.

aparte de que no es la primera vez que haces estos tipos de necro, como usuario del foro deberías de encargarte de leer las normas, o simplemente con leer los temas importantes que tienes a tu izquierda(que el foro se encargó de poner y no está de adorno) pues verías que puedes pedir resubidas de links rotos que no se sepan que lo están y así de paso renovarlos.

pedirlos en ese topic, mandar un Mp, reportarlo...anda que no hay formas de hacerlo sin tener que hacer necro y encima soltar la puntillita.

creo que ya tienes un warn por necro así que no se, porque sigues haciendo.

Un saludo


_________________









Dangaioh
Administrador
Administrador



Créditos 5042

Gracias : 84

Volver arriba Ir abajo

Re: [RPGXP] Script Logros

Mensaje por Dangaioh el 2014-05-22, 22:00

a ver como te lo explico:
EL STAFF NO TIENE ESTE SCRIPT , NO PUEDE RESUBIR ALGO SI NO LO TIENE, PIDELO EN LA SECCIÓN QUE TE DIJE Y SI ALGUIEN LO TIENE LO RESUBIRÁ, AHORA EL REPORTE NO SIRVE PARA NADA

_________________









Dangaioh
Administrador
Administrador



Créditos 5042

Gracias : 84

Volver arriba Ir abajo

Re: [RPGXP] Script Logros

Mensaje por rpgmanumaker el 2014-05-22, 22:25

¿Acaso me ha reportado? XDD. Siento por el mensaje, pero en serio, la cosa es graciosa. En fin, haya él...
XDDDDD.

Sorry, por continuar con el necro, Dangaioh

rpgmanumaker
Veterano
Veterano

1/3

Créditos 678

Gracias : 23

Volver arriba Ir abajo

Re: [RPGXP] Script Logros

Mensaje por Dangaioh el 2014-05-22, 22:35

rpgmanumaker escribió:¿Acaso me ha reportado? XDD. Siento por el mensaje, pero en serio, la cosa es graciosa. En fin, haya él...
XDDDDD.

Sorry, por continuar con el necro, Dangaioh



No,no te ha reportado a tí.
ha reportado el hilo para que el staff resuba el link., cosa que si le dije que lo pidiera en el hilo de peticiones es porque no lo tenemos.

Si dije que reportara es para saber nosotros que no va el link.
No para exigirnos que lo resubamos, porque nosotros no lo hemos subido, si da la casualidad que ese script lo tiene alguien del staff vale, pero si no nosotros no podemos hacer nada, más que aconsejar que lo pida al foro en su hilo correspondiente.

Ahora bien ya se lo hemos dicho unas cuantas veces, ¿quiere hacerlo en modo difícil? pues nada que quieres que te diga...

_________________









Dangaioh
Administrador
Administrador



Créditos 5042

Gracias : 84

Volver arriba Ir abajo

Re: [RPGXP] Script Logros

Mensaje por rpgmanumaker el 2014-05-22, 22:58

Fallo mío, como eso de las botaciones es nuevo, vi un boto negativo en mi comentario y mi cerebro lo vinculó con reportar XDD.

En fin, me gusta pensar bien de la gente, y quiero creer que no lo hace a posta, pero bueno, por "si no aprende" siempre tenéis la todo poderosa acción de dar ban XDD. Espero que eso solo se quede en un chiste malo, y de verdad no haga falta hacer eso =(, sería muy triste ?_?

rpgmanumaker
Veterano
Veterano

1/3

Créditos 678

Gracias : 23

Volver arriba Ir abajo

Re: [RPGXP] Script Logros

Mensaje por Dangaioh el 2014-05-23, 09:01

No creo que tenga que llegar la sangre al rio, son cosas que pasan,no veo nada grabe por parte de nadie de momento.
Sobre poner la barra en voto negativo, ya he dicho muchas veces que los votos negativos no cuentan, solo se añaden positivos, si la peña esta quiere seguir dándole al negativo que le den XD.
solo pierden su tiempo.

_________________









Dangaioh
Administrador
Administrador



Créditos 5042

Gracias : 84

Volver arriba Ir abajo

Re: [RPGXP] Script Logros

Mensaje por Contenido patrocinado Hoy a las 15:39


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Scripts

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