Maker Town
Bienvenido a Maker Town.
Click en No anunciar para eliminar esta ventana.

Click en registrarte para convertirte miembro de maker town en 3 sencillos pasos.
Si ya eres usuario registrado, haz click en conectarse para Loguearte.

Recuerda que los usuarios registrados tienen muchos beneficiós.


Entra al mudo del Rpg Maker Vx, Xp, 2k y 2k3
 
PortalÍndiceFAQBuscarMiembrosGrupos de UsuariosRegistrarseConectarse
Temas importantes
Conectarse
Nombre de Usuario:
Contraseña:
Entrar automáticamente en cada visita: 
:: Recuperar mi contraseña
Acceso Rápido:
Hora
Rpg Music Box
Chat

[ Copy this | Start New | Full Size ]
Maker Town News
Noticias y trucos de Maker Town aquí.
Bookmarking social
Bookmarking social Digg  Bookmarking social Delicious  Bookmarking social Reddit  Bookmarking social Stumbleupon  Bookmarking social Slashdot  Bookmarking social Yahoo  Bookmarking social Google  Bookmarking social Blinklist  Bookmarking social Blogmarks  Bookmarking social Technorati  

Conserva y comparte la dirección de MakerTown en tu sitio de bookmarking social
Buscar
 
 

Resultados por:
 
Rechercher Búsqueda avanzada
Últimos temas
» Hola, soy nvo. por aqui
por ZChang Mar Ene 03, 2012 6:24 pm

» Counter Strike 1.6
por ZChang Lun Feb 28, 2011 3:07 am

» Algo sobre la SGAE
por ZChang Dom Feb 27, 2011 11:32 pm

» Half life no steam
por myenemy Dom Feb 27, 2011 11:26 pm

» draw with me
por ZChang Mar Feb 01, 2011 9:46 pm

» Pokémon Starter Kit 100% Español
por mag744 Lun Ene 31, 2011 12:15 am

» Juego ´´A EPIC GAME´´ (juego de comedia)
por mag744 Mar Ene 25, 2011 3:50 am

» Historias de un heroe
por thedarkhero Sáb Ene 22, 2011 10:48 pm

» Archipielago Usura
por myenemy Sáb Ene 22, 2011 10:24 pm

» La peli del huevo
por myenemy Sáb Ene 22, 2011 12:20 am

Contador Rpg
Mejores posteadores
ZChang (366)
 
myenemy (214)
 
Habbopixels2 (180)
 
555Goku5551 (96)
 
mag744 (46)
 
carlosjavierr (40)
 
kyonides-arkanthos (27)
 
Webmaster24 (23)
 
Makerking (8)
 
thedarkhero (7)
 
¿Quién está en línea?
En total hay 2 usuarios en línea: 0 Registrados, 0 Ocultos y 2 Invitados

Ninguno

La mayor cantidad de usuarios en línea fue 29 el Dom Sep 10, 2017 2:35 pm.
Aliados
Foros Foros

Comparte | 
 

 Misiones interactivas

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
ZChang
Admin
Admin
avatar

Mensajes : 366
Fecha de inscripción : 31/05/2010
Edad : 19
Localización : Aquí xD

MensajeTema: Misiones interactivas   Dom Jun 13, 2010 8:58 pm

script de Misiones interactivas

Caracteristicas

- Permite crear todas las misiones que necesites
- Descripcion para cada mision
- Lista de mision
- Activar interruptor al completar mision
- Obtener recompensas como Items, weapon, armos o Dinero
- Facil de usar


Instrucciones

Solo copiar y pegar el script encima de main, No se requiere de ninguna imagen

Para agregar una mision ya creada al inventario hacerlo asi:
Tareas.mision(id) En vez de 'id' pon el ID de mision a agregar

Para completar una mision usar el siguiente comando
Tareas.completar_mision(id) En vez de 'id' pon el ID de mision a

Para llamar el script basta con pulsar tecla 'A' por defecto
Instrucciones mas detalladas estan dentro del script.


Creditos

By Falcao


Agradecimientos

Ares
Luneth
Lowsenin

Demo:
Misiones interactivas

script:
Código:
#========================================================================#
#  #*****************#        Misiones interactivas V 1.0 Falcao script # 
#  #*** By Falcao ***#        Permite crear misiones mostrando la lista #
#  #*****************#        en una scene. Permite crear de 1 hasta    #
#        RMXP                un trillon de misiones segun el caso.    #
# makerpalace.onlinegoo.com    Date 11/16/2009                          # 
#========================================================================#

#------------------------------------------------------------------------
# * Instrucciones
#
# Solo basta con copiar y pegar el script encima de main, editar las
# misiones que necesites en el module de abajo
#
# Para llamar el script basta con pulsar tecla 'A' por defecto
# pero puede ser llamado manualmente usando el siguiente codigo
#
# $scene = Scene_Mision.new
#
# Para agregar una mision ya creada al inventario hacerlo asi:
#
# Tareas.mision(id)          En vez de 'id' pon el ID de mision a agregar
#
# Para completar una mision usar el siguiente comando
#
# Tareas.completar_mision(id)  En vez de 'id' pon el ID de mision a
# Completar. Ejemplo: Tareas.completar_mision(1) Completa id 1
#
#
# Licensia: Puede ser usado en juegos comerciales o no comerciales
#
# Creditos: By Falcao
#
#-------------------------------------------------------------------------

module Tareas
 
  # Nombre de la mision:  A = ID de mision, B = Nombre de mision
  Nombre = {
 
    1=> 'Rescatar a pulga',
    2=> 'Ver al Presidente',
    3=> 'La conquista',
    4=> 'Hierva Medicinal',
 
  }
 
 
  # Descripciones:  A = ID de mision, B = contenido soporta 3 lineas
  Descripcion = {
 
    1=> ['Ir al pueblo del rey falcao, robarle las llaves reales',
        'luego ir a rescatar a la princesa pulga barata encerrada',
        'en la masmorra oscura del castillo'],
     
    2=> ['Una de las prinsipales metas que tenes que cumplir es',
        'darle una buena patada en el culo al presidente de',
        'Enterbrain por sacar el maker mierda del vx'],
     
    3=> ['Conquistar el mundo es una de las tareas mas dificiles',
        'que solo se le ocurren a los enfermos mentales',
        'si quieres intentalo seria bueno ver el fracaso'],
       
    4=> ['La princesa Arisleyda a sido mordida por una de las',
        'serpientes mas venenosas del bosque Maker Palace',
        'se podra salvar solo con la planta hierva medicinal'],
       
  }
 
 
  # Tareas de mision:  A = ID de mision, B = contenido soporta 2 lineas
  Pasos = {
 
    1=> ['Robarle las llaves al rey Falcao',
        'Rescatar a la prinsesa pulga barata'],
     
    2=> ['Ir al pueblo donde se encuentra el presidente',
        'Darle una buena parada al presindete'],
     
    3=> ['Conquistar el mundo',
        'none'],
       
    4=> ['Conseguir 10 Hojas de hierva medicinal',
        'Darle el antidoto a la princesa Arisleyda'],         
 
       
  }
 
 
  # Recompensa en Items:  A = ID de mision, B = [Tipo de Item, ID de Item]
  Reward_Items = {
 
    1=> ['item',  2],
    2=> ['armor',  3],
    3=> ['weapon', 1],
    4=> ['weapon', 19],
 
  }
 
 
  # Recompensa en dinero:  A = ID de mision, B = Cantidad de dinero
  Reward_Gold = {
 
    1=> 5,
    2=> 10,
    3=> 20,
    4=> 10,
 
  }
 
 
  #-----------------------------------------------------------------------
  # * Funsiones extras tu decides si las usas o no
 
  # Items necesarios para completar una mision, esto es para realizar una
  # busqueda mas avanzada,
  # A = ID de mision,  B = [ID de item, Cantidad necesaria]
  Items_Needed = {
 
    4=> [11, 10],
 
  }
 
 
  # Activar interruptor al completar mision, esto puede ser opcional
  # A = ID de mision,  B = ID de interruptor
  Mision_Switch = {
 
    3=> 50,
 
  }
 
  #----------------------------------------------------------------------
  # *Configuracion del systema en general
 
  # Tocar sonido ME al completar una mision, si no se quiere sonido dejar
  # comillas en blanco ""
  Play_Mision_Me = "015-Mystery01"
 
  # Tiempo en segundos para mostrar la ventana cuando una mision se a
  # completado
  Pop_Mision_Time = 3
 
  # Boton para llamar el script tecla 'A' del teclado
  Call_Mision = Input::X
 
  # Impedir llamar el script por medio de la tecla especificada
  # Por defecto esto va desactivado  false
  Disable_Mision_Call = false
 
 #-----------------------------------------------------------------------
 # System
 
 $falcao_mision = []
 $falcao_completed = []
 $mision_data = [id = nil, item = nil, gold = nil, pop_time = 0, show = false]
 
 def self.mision(id)
  unless $falcao_mision.include?(id)
    $falcao_mision.push(id)
  end
 end
 
 def self.completar_mision(mision_id)
  return unless $falcao_mision.include?(mision_id)
  unless $falcao_completed.include?(mision_id)
    $mision_data[0] = mision_id
    Reward_Items.each do |id, value|
      if id == mision_id
        case value[0]
        when 'item'
          item = $data_items[value[1]]
          $game_party.gain_item(item.id, 1)
          $mision_data[1] = item
        when 'weapon'
          weapon = $data_weapons[value[1]]
          $game_party.gain_weapon(weapon.id, 1)
          $mision_data[1] = weapon
        when 'armor'
          armor = $data_armors[value[1]]
          $game_party.gain_armor(armor.id, 1)
          $mision_data[1] = armor
        end
      end
      $falcao_completed.push(mision_id)
    end
    #gold
    Reward_Gold.each do |id, value|
      if id == mision_id
        $game_party.gain_gold(value)
        $mision_data[2] = value
      end
    end
    # Switch
    Mision_Switch.each do |id, value|
      if id == mision_id
        $game_switches[value] = true
        $game_map.need_refresh = true
      end
    end
    Items_Needed.each do |id, value|
      if id == mision_id
        if $game_party.item_number(value[0]) < value[1]
          $game_party.gain_item(value[0], value[1])
        end
      end
    end
    $mision_data[4] = true
    $mision_data[3] = 40 * Pop_Mision_Time
    Audio.me_play("Audio/Me/" + Play_Mision_Me)
  end
 end
end

class Font
  alias falcaoBest_font initialize
  def initialize
    falcaoBest_font
    if $scene.is_a?(Scene_Mision) or $mision_data[4]
      self.name = "Georgia"
      self.size = 20
    end
  end
end

class Misiones < Window_Base
  include Tareas
  def initialize
    super(180, 64, 460, 416)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.opacity = 255
  end
 
  def refresh(mision_id)
    self.contents.clear
    @mision_id = mision_id
    draw_grid(0,336)
    draw_grid(225,336)
    if $falcao_mision.include?(mision_id)
      draw_mision_contents
    else
      self.contents.draw_text(-20, 100, self.width, 50, "No hay datos",1)
    end
  end
 
  def draw_mision_contents
    Nombre.each do |id, value|
      if id == @mision_id
        self.contents.font.color = Color.new(255, 120, 0, 255)
        self.contents.draw_text(-20, 0, self.width, 50 , value,1)
      end
    end
    Descripcion.each do |id, value|
      if id == @mision_id
        self.contents.font.color = system_color
        self.contents.draw_text(0, 40, self.width, 50 , "Descripcion:")
        self.contents.font.color = normal_color
        self.contents.draw_text(0, 70, self.width, 50 , value[0])
        self.contents.draw_text(0, 94, self.width, 50 , value[1])
        self.contents.draw_text(0, 119, self.width, 50 , value[2])
      end
    end
    Pasos.each do |id, value|
      if id == @mision_id
        self.contents.font.color = system_color
        self.contents.draw_text(0, 165, self.width, 50 , "Tareas:")
        self.contents.font.color = normal_color
        self.contents.draw_text(0, 197, self.width, 50 ,'1-  ' + value[0])
        self.contents.draw_text(0, 222, self.width, 50 ,'2-  ' + value[1])
      end
    end
    Reward_Items.each do |id, value|
      if id == @mision_id
        case value[0]
        when 'item'
          item = $data_items[value[1]]
        when 'weapon'
          item = $data_weapons[value[1]]
        when 'armor'
          item = $data_armors[value[1]]
        end
        self.contents.font.color = system_color
        self.contents.draw_text(0, 270, self.width, 50 , "Recompensa:")
        self.contents.font.color = normal_color
        icon = RPG::Cache.icon(item.icon_name) rescue nil
        self.contents.blt(20, 344, icon, Rect.new(0, 0, 24, 24),255) rescue nil
        self.contents.draw_text(50, 335, self.width, 50 , item.name)
      end
    end
    Reward_Gold.each do |id, value|
      if id == @mision_id
        icon = RPG::Cache.icon("032-Item01") rescue nil
        self.contents.blt(240, 344,icon,Rect.new(0, 0, 24, 24), 255) rescue nil
        self.contents.draw_text(275, 335, self.width, 50,
        "#{value.to_s}  #{$data_system.words.gold}")
      end
    end
  end
 
  def draw_grid(x,y)
    width = 200
    color = system_color
    self.contents.fill_rect(x+2, y-2, width-4, 1, color)
    self.contents.fill_rect(x+1, y-1, width-2, 1, color)
    self.contents.fill_rect(x, y, width, 1, color)
    self.contents.fill_rect(x, y+1, 3, 45, color)
    self.contents.fill_rect(x+ 197, y+1, 3, 45, color)
    self.contents.fill_rect(x, y+45, width, 1, color)
    self.contents.fill_rect(x+1, y+46, width-2, 1, color)
    self.contents.fill_rect(x+2, y+47, width-4, 1, color)
  end
end

class Mision_Indice < Window_Selectable
  def initialize(x=0,y=0)
    super(x, y, 180, 390)
    @column_max = 1
    refresh
    self.index = 0
  end

  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    for i in Tareas::Nombre.values
      @data.push(i)
    end
    @item_max = @data.size
    $all_quests = @data.size
    if @item_max > 0
      self.contents = Bitmap.new(width - 32, row_max * 32)
      for i in 0...@item_max
        draw_item(i)
      end
    end
  end
 
  def draw_item(index)
    nombre = @data[index]
    self.contents.font.color = normal_color
    x, y = 4, index * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    if $falcao_mision.include?(index + 1)
      self.contents.draw_text(x, y, 212, 32, nombre)
    else
      self.contents.font.color = disabled_color
      self.contents.draw_text(x, y, 212, 32, "Bloqueado")
    end
  end
end

class Mision_Help < Window_Base
  def initialize(x=0,y=0,ancho=640, alto=64)
    super(x, y, ancho, alto)
    self.contents = Bitmap.new(width - 32, height - 32)
  end
  def set_progress
    self.contents.clear
    self.contents.draw_text(0, 0, self.width, 32 , "Misiones")
    mision = $falcao_mision.size
    texto = "#{"Progreso"}    #{mision * 100/$all_quests}%"
    self.contents.draw_text(0, 30, self.width, 32 , texto)
  end
 
  def set_status(mision_id)
    self.contents.clear
    self.contents.font.color = normal_color
    self.contents.draw_text(0, 0, self.width, 32 , "Mision Status:")
    if $falcao_mision.include?(mision_id)
      draw_needed_items(mision_id)
      if $falcao_completed.include?(mision_id)
        self.contents.font.color = Color.new(128, 255, 128, 255)
        self.contents.draw_text(120, 0, self.width, 32 , "Completada!")
      else
        self.contents.font.color = normal_color
        self.contents.draw_text(120, 0, self.width, 32 , "En proceso")
      end
    else
      self.contents.font.color = disabled_color
      self.contents.draw_text(120, 0, self.width, 32 , "Bloqueada")
    end
  end
 
  def draw_needed_items(mision_id)
    Tareas::Items_Needed.each do |id, value|
      if id == mision_id
        draw_grid(280,1)
        item = $data_items[value[0]]
        icon = RPG::Cache.icon(item.icon_name) rescue nil
        self.contents.blt(290, 3, icon, Rect.new(0, 0, 24, 24), 255) rescue nil
        c = $game_party.item_number(item.id); n = value[1]; w = self.width
        self.contents.draw_text(340, 0, w, 32,"#{c.to_s}  /  #{n.to_s}")
      end
    end
  end
 
  def draw_grid(x,y)
    width = 150
    color = system_color
    self.contents.fill_rect(x+2, y-2, width-4, 1, color)
    self.contents.fill_rect(x+1, y-1, width-2, 1, color)
    self.contents.fill_rect(x, y, width, 1, color)
    self.contents.fill_rect(x, y+1, 3, 30, color)
    self.contents.fill_rect(x+ 147, y+1, 3, 30, color)
    self.contents.fill_rect(x, y+30, width, 1, color)
    self.contents.fill_rect(x+1, y+31, width-2, 1, color)
    self.contents.fill_rect(x+2, y+32, width-4, 1, color)
  end
end

class Pop_Mision < Window_Base
  def initialize
    super(170, 0, 300, 190)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = "Georgia"
    self.contents.font.size = 20
    self.opacity = 200
    refresh
  end
 
  def refresh
    self.contents.clear
    data = $mision_data
    return unless data[4]
    self.contents.font.color = normal_color
    if data[3] > 0; data[3] -= 1
    Tareas::Nombre.each do |id, value|
      if id == data[0]
        self.contents.draw_text(-20, 0,self.width,32, "#{value} Completada!",1)
      end
    end
    self.contents.font.color = system_color
    self.contents.draw_text(0, 45, self.width, 32 , "Recompensas:")
    #Items
    self.contents.font.color = normal_color
    if data[1] != nil
      icon = RPG::Cache.icon(data[1].icon_name) rescue nil
      self.contents.blt(0, 85, icon, Rect.new(0, 0, 24, 24), 255) rescue nil
      self.contents.draw_text(35, 85, self.width, 32 , data[1].name)
    end
    #Gold
    if data[2] != nil
      icon = RPG::Cache.icon("032-Item01") rescue nil
      if data[1] == nil
        x = 35; y = 85
      else
        x = 40; y = 121
      end
      self.contents.blt(0, y, icon, Rect.new(0, 0, 24, 24), 255) rescue nil
      self.contents.draw_text(x, y, self.width, 32,
      "#{data[2].to_s}  #{$data_system.words.gold}")
    end
    $mision_data = [nil, nil, nil, 0, false] if data[3] == 1
  end
  end
end 
 
class Scene_Mision
  def main
    @indice_mision = Mision_Indice.new(0,90)
    @misiones = Misiones.new
    @misiones.refresh(@indice_mision.index + 1)
    @title =  Mision_Help.new(180,0,462)
    @title.set_status(@indice_mision.index + 1)
    @progress = Mision_Help.new(0,0,180,90)
    @progress.set_progress
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @indice_mision.dispose
    @misiones.dispose
    @title.dispose
    @progress.dispose
  end
  def update
    @indice_mision.update
    @mision = @indice_mision.index + 1
    update_parametros
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Map.new
      return
    end
  end
  def update_parametros
    @misiones.refresh(@mision)
    @title.set_status(@mision)
  end
end 
 
class Scene_Map
  include Tareas
  alias falcao_mision_main main
  def main
    @mision_pop = Pop_Mision.new
    $mision_data[4] ? @mision_pop.visible = true : @mision_pop.visible = false
    falcao_mision_main
    @mision_pop.dispose
  end
  alias falcao_mision_update update
  def update
    falcao_mision_update
    if $mision_data[4]
      @mision_pop.refresh
      @mision_pop.visible = true
    else
      @mision_pop.visible = false
    end
    if Input.trigger?(Call_Mision) and !Disable_Mision_Call
      $scene = Scene_Mision.new
      return
    end
  end
end

class Scene_Save 
  alias falcao_write_mision write_save_data
  def write_save_data(file)
    falcao_write_mision(file)
    Marshal.dump($falcao_mision, file)
    Marshal.dump($falcao_completed, file)
    Marshal.dump($mision_data, file)
  end
end

class Scene_Load
  alias falcao_read_mision read_save_data
  def read_save_data(file)
    falcao_read_mision(file)
    $falcao_mision    = Marshal.load(file)
    $falcao_completed  = Marshal.load(file)
    $mision_data      = Marshal.load(file)
  end
end

~~~~~~~~~~~~~




Volver arriba Ir abajo
Ver perfil de usuario http://makertown.foro-activo.es
myenemy
Aprendiz de Heroe Graduado
Aprendiz de Heroe Graduado
avatar

Mensajes : 214
Fecha de inscripción : 12/06/2010

MensajeTema: Re: Misiones interactivas   Dom Jun 20, 2010 2:02 pm

Falcao es un buen scripter... Pero siempre me falla algo en el juego con sus scripts... aunque se que en realidad puede ser por poner distintos scripts nuevos en un mismo proyecto... o que intente traducir ciertas partes de el script o de otros anteriores, o incluso los predeterminados (uso las versiones inglesas, pero como el juego es para hispanohablantes, no ayuda mucho dejarlo en inglés) que puede que también modifique algo fuera de lo planeado.
Volver arriba Ir abajo
Ver perfil de usuario http://datapokemon.bloggactivo.com
Habbopixels2
Admin
Admin
avatar

Mensajes : 180
Fecha de inscripción : 18/06/2010
Localización : En MakerTown.

MensajeTema: Re: Misiones interactivas   Dom Jun 20, 2010 4:24 pm

¡Muy buen Script, lástima que no lo pueda usar porque mi proyecto es para RMVX!

Gracias, Habbopixels.
Volver arriba Ir abajo
Ver perfil de usuario
mag744
Slime Boss
Slime Boss
avatar

Mensajes : 46
Fecha de inscripción : 27/07/2010
Localización : atras tuyo ^^

MensajeTema: Re: Misiones interactivas   Jue Ago 05, 2010 4:11 am

de los mas funcionales y editables que he visto! me encanta!
Volver arriba Ir abajo
Ver perfil de usuario
Contenido patrocinado




MensajeTema: Re: Misiones interactivas   

Volver arriba Ir abajo
 
Misiones interactivas
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.
 Temas similares
-
» Programa para crear scripts de misiones para RPG MAKER VX
» Petición de misiones
» [Ace/Vx] Tutorial crear misiones
» Misiones de pareja 1 (SakuSasu)
» [RPG Maker XP] Misiones y capítulos

Permisos de este foro:No puedes responder a temas en este foro.
Maker Town :: RGSS y más lenguajes :: Script (Xp)-
Cambiar a: