Últimos temas
» [Ace]Movimiento Libre
por brrt Ayer a las 3:57 pm

» Virtual Kingom (Old Version)
por NinjaLOL Ayer a las 3:22 am

» Concurso de relatos - Septiembre/Octubre 2018 [Inscripción]
por raffael_0 Ayer a las 3:18 am

» Laminación [VXACE] [PROYECTO EN CURSO]
por Pocari Vie Oct 12, 2018 12:08 pm

» QUITAR VENTANA DEL MENU (VX ACE)
por THESHINYMISTERXD Sáb Oct 06, 2018 7:46 pm

» Condición para saber si el jugador está caminando
por Sonik Sáb Oct 06, 2018 5:03 pm

» ¿Tileset de un futbolín?
por MCarlos15 Jue Oct 04, 2018 9:07 pm

» RPG Maker VX Ace en MAC
por Er1ck_92 Mar Oct 02, 2018 8:42 am

» Distrito 0 [VXACE]
por BREAK93 Mar Oct 02, 2018 6:08 am

» Necesito taileset modernos pero que no tengan estilo anime por favor
por Doble D Mar Oct 02, 2018 12:36 am

» Fantasy World XP (+ de 200 para o grupo)
por DecinBR Sáb Sep 29, 2018 6:28 pm

» Problemas con un archivo
por AetherIssei Dom Sep 23, 2018 4:08 am


[ACE] Pop-up Window

Ir abajo

[ACE] Pop-up Window

Mensaje por MasterGhost21 el Lun Ago 04, 2014 11:21 am

Holitax .3./ pues bien, hoy vengo a traeros este script que me pasó Shade por chat y que me fue de ayuda así que decidí postearlo por aquí. Este script fue hecho por Vlue, asi que denle créditos a el y tambien a ShadielTH por la traducción. Este script crea una ventana emergente que puede usarse para varias cosas y es bastante útil. Aquí dejo una screen de su funcionamiento:

Screen cutre de The Square:

Para usar el script tenéis que poner -en un evento- la función de "Llamar script" y dentro poner esto: 

pop_up(['mensaje aqui']) tambien podeis usar comandos de mensaje como \c[x], \i[x], \n[x]... pero no se si tambien podreis usar los comandos el Ace Advanced Message System porque no he probado aun

Y sin mas dilación dejo aquí el script:

Código:
  #Popup Window v1.1a
    #----------#
    #Funciones: Crea una ventana emergente (pop-up) que muestre el texto que tu quieras.
    #
    #Uso:    Llamadas de Script:
    #          pop_up(['text','text', ... ], timer(opt), x(opt), y(opt))
    #        Donde 'text' es el texto a mostrar, "timer" es el tiempo que quieres que dure y "x" e "y" es la posicion de la ventana.
    #
    #          Ejemplos:
    #          pop_up(['\i[5] Mage class unlocked!!'])
    #          pop_up(['\c[16] Class Change:\c[0]',
    #                  ' Speak to any mysterious hermit to change class!'],240)
    #
    #  Tambien puedes utilizar codigos de mensaje (\n[x], \c[x], \i[x]...). Si estos no funcionan, utiliza '' o ponlos con doble barra (\\n[x])
    #
    #----------#
    #-- Script hecho por: V.M of D.T
    #
    #- Preguntas o comentarios pueden ser:
    #    posteadas en el tema del script.
    #    mandadas por email: sumptuaryspade@live.ca [Nota del traductor: El propietario es de habla inglesa, asi que ya sabeis.]
    #    dadas por facebook: http://www.facebook.com/DaimoniousTailsGames
    #
    #- Puedes usarlo libremente en cualquier proyecto. Donaciones bien aceptadas.
    #
    #
    #
    # Script traducido al español por: ShadielTH
   
    POPUP_DURATION = 180 # Duracion por defecto de los pop-ups. Se usa si no se ha especificado un tiempo al cargarlo.
    class Popup_Window < Window_Base
      def initialize(text,timer,x,y)
        super(0,0,25,100)
        text.each do |string|
          temp_string = string.gsub(/\\[^i]\[\d{0,3}\]/) { "" }
          temp_string = temp_string.gsub(/\\i\[\d{0,3}\]/) { "  " }
          self.width = [text_size(temp_string).width+standard_padding*2+12,self.width].max
        end
        self.height = text.size * line_height + line_height
        if x.nil?
          self.x = Graphics.width / 2 - self.width / 2
        else
          self.x = x
        end
        if y.nil?
          self.y = Graphics.height / 2 - self.height / 2
        else
          self.y
        end
        @text = text
        @timer = timer
        create_contents
        refresh
        self.openness = 0
        open
      end
      def refresh
        contents.clear
        yy = 0
        @text.each do |string|
          draw_text_ex(0,yy,string)
          yy += line_height
        end
      end
      def update
        super
        @timer -= 1
        close if @timer == 0
      end
    end
   
    module Popup
      def self.init
        @queue = []
      end
      def self.add(text, timer = POPUP_DURATION, x = nil, y = nil)
        @queue.push([text,timer,x,y])
      end
      def self.queue
        @queue
      end
    end
   
    Popup.init
   
    class Scene_Base
      alias popupwin_preterminate pre_terminate
      def update_popup_window_text
        $popup.update
        $popup.close if Input.trigger?(:C)
        if !$popup.disposed? and $popup.close?
          $popup.dispose
          $popup = nil
        end
      end
      def pre_terminate
        popupwin_preterminate
        $popup.visible = false unless $popup.nil?
      end
    end
   
    class Scene_Map
      alias popupwin_update update
      def update
        popupwin_update
        update_popup_window_text unless $popup.nil?
        return if Popup.queue.empty?
        if $popup.nil? or $popup.close?
          text = Popup.queue.pop
          $popup = Popup_Window.new(text[0], text[1], text[2], text[3])
        end
      end
    end
   
    class Scene_Battle
      alias popupwin_update update_for_wait
      def update_for_wait
        popupwin_update
        update_popup_window_text unless $popup.nil?
        return if Popup.queue.empty?
        if $popup.nil? or $popup.close?
          text = Popup.queue.pop
          $popup = Popup_Window.new(text[0], text[1])
        end
      end
    end
   
   
    class Game_Interpreter
      alias popup_command_355 command_355
      def pop_up(text, timer = POPUP_DURATION, x = nil, y = nil)
        Popup.add(text, timer, x, y)
      end
      def command_355
        popup_command_355
        wait_for_popup #if SceneManager.scene.is_a?(Scene_Map)
      end
      def wait_for_popup
        Fiber.yield while !Popup.queue.empty? || $popup
      end
    end
 Es un script muy sencillo de usar y hasta el mas noob aweonao como yo puede usarlo

Y eso fue todo, me despido ewe
avatar
MasterGhost21
PJ Recurrente
PJ Recurrente

Masculino
España
RPG Maker : Ace
Mensajes : 95
Monedas : 628
Reputación : 8
Edad : 18
Localización : Deep into the shadows

Volver arriba Ir abajo

Re: [ACE] Pop-up Window

Mensaje por JapoZero el Mar Ago 05, 2014 11:44 pm

NO SABES PONER IMAGENES EN EL FORO Y SE TE DESCUADRAN
Okno xD.
Me gusta como se ve, bonito script.
Al repertorio, Salu2 +1
avatar
JapoZero
PJ Principal
PJ Principal

Masculino
Chile
RPG Maker : Ace
Mensajes : 653
Monedas : 3510
Reputación : 261
Edad : 18
Localización : Chile

Volver arriba Ir abajo

Volver arriba

- Temas similares

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