Maker Palace

¡El Reino del RpgMaker y del Ocio!
 
ÍndiceBuscarGrupos de UsuariosScriptsRecursosTutorialesPalaceJuegosPalaceWikiFAQRegistrarseConectarse
Conectarse
Nombre de Usuario:
Contraseña:
Entrar automáticamente en cada visita: 
:: Recuperar mi contraseña
Temas similares
Buscar
 
 

Resultados por:
 
Rechercher Búsqueda avanzada
Últimos temas
» Dando una vuelta por acá
por LinkLuis55 Dom Ago 20, 2017 2:56 pm

» Heroes del Crimen 2 DEMO
por jasuso Mar Ago 01, 2017 12:04 am

» The Legend of Celestia II: A World of Twilight Shadows Demo
por Jlopez_96 Vie Jul 28, 2017 6:20 pm

» Screenshot del nuevo KUnits XP oon menú
por kyonides-arkanthos Sáb Jul 15, 2017 1:14 am

» The Legend of Celestia: Four Cristals
por Jlopez_96 Mar Abr 25, 2017 4:59 pm

» [VXAce] Burando Doragon
por gantzer49 Dom Abr 23, 2017 7:43 pm

» Que se cuece por estos lares?
por Frikilangelo Jue Mar 23, 2017 8:10 am

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
Guía de Subforos para Tontos de Maker Palace
Indice de Scripts Locales XP
Falcao Pearl ABS Liquid
¿Quién está en línea?
En total hay 9 usuarios en línea: 0 Registrados, 0 Ocultos y 9 Invitados :: 1 Motor de búsqueda

Ninguno

La mayor cantidad de usuarios en línea fue 179 el Mar Ago 30, 2011 10:06 pm.
MiniChat
Mejores posteadores
Raiden (3346)
 
DaviX (2740)
 
Frikilangelo (2461)
 
SagahonArturo (1806)
 
Falcao (1775)
 
kyonides-arkanthos (1766)
 
Mur-mai-der (1755)
 
Ares (1613)
 
LinkLuis55 (1556)
 
Webmaster24 (1354)
 
Afiliados
Crear foro Mundo Maker Foro de anime y RM2k3/XP/VX Computer mix
Flag Counter
free counters
Visitas


Comparte | 
 

 Nightmare-Chapter System 1.0 [XP]

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

Cantidad de envíos : 3346
Miembro desde : 01/03/2010
Edad : 24
Sexo : Masculino

Maker : RMXP

Logros MP :


MensajeTema: Nightmare-Chapter System 1.0 [XP]   Sáb Abr 02, 2011 5:12 pm

Hola gente con acceso a internet en sus casas, escuelas, oficinas o en la sala de computadores más cercana a su casa. Este es un script de sistemas de capitulos que
evalua un total de 3 parametros (podrian ser cosas como tesoros obtenidos, misiones completadas entre otras cosas) tambien puede evaluar la cantidad de enemigos derrotados
y mostrar un rango, es la version 1.0 ya habia colocado una 0.7 que carece de algunas funciones de esta.

De manera opcional puede regresar un rango total y operar un interruptor si el porcentaje del rango esta entre dos valores que pueden definir de 0 a 100.

Para modificar el valor de un parametro se usa el llamado script
"$game_temp.parametros[x] += Y

x es igual a la id del parametro, siendo el primero 0, el segundo 1 y el tercero 2.

Pueden igualmente restarle valores cambiando el + por -, o quitandolo pueden darle
el valor que quieran.

Para usar el contador de enemigos en sistemas de batalla diferentes al xas hero o
al standart del maker y similares pueden usarlo, solo que manualmente modificando
de la misma manera que los parametros la variable "$game_temp.enemigos[1]"

Creo que por ahora les quedo a deber el scremshot

Y aqui el link de descarga:

Descargar Nightmare Chapter system V1.0


Por ultimo el script solo es el siguiente:
Código:


#____________________________________________________________________________
#        Nightmare - Chapter System V 1.0
#-------------------------------------------------------------------------------
# By: The King Jaas - Nightmare
#____________________________________________________________________________
# Foros donde se ofrece soporte del script:
# drupogame.superforo.net
# www.makerpalace.onlinegoo.com
# www.mundodeluxe.com
#____________________________________________________________________________
# Sistema de capitulos que permite mostrar una Escena que evalua unos parametros
# y regresa un rango. Tambien muestra la cantidad de enemigos derrotados durante
# el capitulo y puede retornar otro rango. Muestra un rango como eveluacion
# general de todo y en base a ese puede activar un interruptor.
#____________________________________________________________________________
# El script es compatible con el XAS Hero y el sistema de batalla por default
# del maker, otros sistemas de batalla es posible que no funcione el contador de
# enemigos.
# Para soporte o reportar un bug mandenme un MP en cualquiera de los foros que
# aparecen en la parte superior y en cuenta pueda les respondere.
#____________________________________________________________________________
#Graficos requeridos:
# N_Chapter_Layout (grafico de la estructura de la scene
# Chapter_Back (background o fondo de la scene)
# Capitulo_ + Id del capitulo (Imagen que usa la scene sobre el capitulo)
# Range_Hollow (el grfico que corresponde al rango vacio).
# Range_Full (el grafico que corresponde al rango pero lleno completamente).
#____________________________________________________________________________
#Nota: Si colocan el script de MOG - Picture Number entonces los numeros
#      apareceran usando imagenes (una de 2 frames que debe ir en la carpeta de
#      windowskins bajo el nombre de Chapter_Number).
#____________________________________________________________________________
#Progreso:
# 0.5 Script basic terminado aunque ouede presentar bugs (no fue publicada)
# 0.7 Correccion de dos bugs encontrados en la version 0.5
# 1.0 Teminacion del script y mejorado todo en general
#    Eliminada la opcion que permite disminuir la cantidad de parametros
#    porque producia errores graves.
#____________________________________________________________________________
module Nightmare_Chapter_System
  CAPITULO = Array.new
# Define la cantidad de capitulos y el nombre de cada uno.
# CAPITULO[a] = b
# a = id del capitulo a partir de 0
# b = nombre del capitulo.
  CAPITULO[0] = "El Despertar de la oscuridad"
  CAPITULO[1] = "La llave perdida"
  CAPITULO[2] = "La torre oscura"
  CAPITULO[3] = "La caverna de la desesperacion"
 
  REQUERIDO = Array.new
#Define la cantidad de cada parametro maximo por capitulo (importante para la
#evaluacion del rango).
# REQUERIDO[a] = [a, b, c, x]
# a = id del capitulo (recuerden que el primero debe ser cero)
#b, c, x = Numero maximo que se requerira de cada parametro, la cantidad de
#parametros debe ser igual a 3
  REQUERIDO[0] = [1, nil, 7]
  REQUERIDO[1] = [7, 1, 1]
  REQUERIDO[2] = [1, 3, 2]
  REQUERIDO[3] = [1, 81, 3]

#Usar contador de enemigos

  CONTADOR_ENEMIGOS = true
  ENEMIGOS = Array.new
 
#Cantidad de enemigos que se deben derrotar por capitulo
# ENEMIGOS[a] = b
#a = Id del capitulo al que corresponde
#b = numero de enemigos que debe derrotar
  ENEMIGOS[0] = 4
  ENEMIGOS[1] = nil
  ENEMIGOS[2] = 0
  ENEMIGOS[3] = 99
#Texto que se muestra en la ventana de ayuda
  TEXTO_AYUDA = "Presione C o X para salir"
#Al salir de la scena ir a la scena de guardar
  END_SAVE = true
#usar transicion
  TRANSICION = true
#tiempo que dura la transicion
  TRANSICION_TIME = 40
#grafico de transicion (debe ir en la carpeta de transicion
  TRANSICION_GRAPHIC = "004-Blind04"
 
#Sitema que permite operar un interruptor dependiendo del cumplimiento de los
#valores de los parametros, esto evelua que si el rango esta entre 2 porcentajes
#entonces activa el interruptor.
# CAP_PORINT = [porcentaje_maximo, porcentaje_minimo, interruptor_que_opera]
  CAP_PORINT = Array.new
  CAP_PORINT[0] = [100, 75, 2]
 # CAP_PORINT[1] = [100, 60, 3]
  CAP_PORINT[2] = [50, 0, 4]
  CAP_PORINT[3] = [0, 0, 0]
 
  TOTAL_RANGE = true
end
#____________________________________________________________________________
class Game_Temp
    attr_accessor :capitulos
    attr_accessor :parametros
    attr_accessor :enemigos
    alias chapter_system_ini initialize
    def initialize
      @capitulos = 0
      @parametros = [0, 0, 0]
      @enemigos = [0, 0]
      chapter_system_ini
  end
end
if !$xrxs_xas
class Sprite_Battler < RPG::Sprite
  def collapse
    super
    if @battler.is_a?(Game_Enemy)
      $game_temp.enemigos[0] += 1
    end
  end
end
end
if $xrxs_xas
class Scene_Map
  include Nightmare_Chapter_System
  alias chapter_update update
  def update
    $game_temp.enemigos[0] = $game_variables[XAS_BA::DEFEAT_NUMBER_ID]
    chapter_update
    end
  end
end
class Window_Chapter_Result < Window_Base
    include Nightmare_Chapter_System
    def initialize
      super(0, 0, 640, 220)
      self.contents = Bitmap.new(width - 32, height - 32)
      self.contents.font.name = "Arial"
      self.contents.font.size = 18
      self.contents.font.bold = true
      self.contents.font.italic = false
      if $game_temp.enemigos[1] > 0
      $game_temp.enemigos[1] = $game_temp.enemigos[0] - $game_temp.enemigos[1]
      else
      $game_temp.enemigos[1] = $game_temp.enemigos[0]
    end
      refresh
    end
    def range(x, y, parametro, par_index)
      vacio = RPG::Cache.windowskin("Range_hollow")
      cw = vacio.width
      ch = vacio.height
      src_rect = Rect.new(0, 0, cw, ch)
      self.contents.blt(x + 100, y - ch + 31, vacio, src_rect)
      full = RPG::Cache.windowskin("Range_Full")
      if REQUERIDO[$game_temp.capitulos][par_index] > 0
      cw = full.width * parametro / REQUERIDO[$game_temp.capitulos][par_index]
    else
      cw = full.width
    end
      ch = full.height
      src_rect = Rect.new(0, 0, cw, ch)
      self.contents.blt(x + 100, y - ch + 31, full, src_rect)
    end
    def range_enemy(x, y)
      vacio = RPG::Cache.windowskin("Range_hollow")
      cw = vacio.width
      ch = vacio.height
      src_rect = Rect.new(0, 0, cw, ch)
      self.contents.blt(x + 100, y - ch + 31, vacio, src_rect)
      full = RPG::Cache.windowskin("Range_full")
      if ENEMIGOS[$game_temp.capitulos] > 0
      cw = full.width  *  $game_temp.enemigos[1] / ENEMIGOS[$game_temp.capitulos]
    else
      cw = full.width
    end
      ch = full.height
      src_rect = Rect.new(0, 0, cw, ch)
      self.contents.blt(x + 100, y - ch + 31, full, src_rect)
    end
  def switch_on
    par = 0
    if REQUERIDO[$game_temp.capitulos]
    for i in $game_temp.parametros
      par += i
    end
    end
    req = 0
    if REQUERIDO[$game_temp.capitulos]
    for i in REQUERIDO[$game_temp.capitulos]
      req += i if i
    end
  end
    if CONTADOR_ENEMIGOS
      par += $game_temp.enemigos[1]
      req += ENEMIGOS[$game_temp.capitulos] if ENEMIGOS[$game_temp.capitulos]
    end
    porcentaje = par.to_f / req.to_f * 100
    if CAP_PORINT[$game_temp.capitulos]
    if porcentaje <= CAP_PORINT[$game_temp.capitulos][0] and
      porcentaje >= CAP_PORINT[$game_temp.capitulos][1]
      interruptor = CAP_PORINT[$game_temp.capitulos][2]
      $game_switches[interruptor] = true
      $game_map.need_refresh = true
    end
    end
  end 
  def total_range(x, y)
    par = 0
    if REQUERIDO[$game_temp.capitulos]
    for i in $game_temp.parametros
      par += i
    end
    end
    req = 0
    if REQUERIDO[$game_temp.capitulos]
    for i in REQUERIDO[$game_temp.capitulos]
      req += i if i
    end
  end
    if CONTADOR_ENEMIGOS
      par += $game_temp.enemigos[1]
      req += ENEMIGOS[$game_temp.capitulos] if ENEMIGOS[$game_temp.capitulos]
    end
  @porcentaje = par * 100 / req 
  vacio = RPG::Cache.windowskin("range_hollow")
  cw = vacio.width
  ch = vacio.height
  src_rect = Rect.new(0, 0, cw, ch)
  self.contents.blt(x, y , vacio, src_rect)
  full = RPG::Cache.windowskin("range_full")
  cw = full.width * par / req
  ch = full.height
  src_rect = Rect.new(0, 0, cw, ch)
  self.contents.blt(x, y, full, src_rect)
 end
    def no_disponible(x, y)
      no_dis = RPG::Cache.windowskin("Chapter_No")
      cw = no_dis.width
      ch = no_dis.height
      src_rect = Rect.new(0, 0, cw, ch)
      self.contents.blt(x + 100, y - ch + 25, no_dis, src_rect)
    end
    def refresh
      self.contents.clear
      for i in 0..10
        if REQUERIDO[$game_temp.capitulos]
          if $game_temp.parametros[i].to_i > REQUERIDO[$game_temp.capitulos][i].to_i
          $game_temp.parametros[i] = REQUERIDO[$game_temp.capitulos][i].to_i
        end
      number = $game_temp.parametros[i]
      if $game_temp.parametros[i] and REQUERIDO[$game_temp.capitulos][i]
      if $mog_rgssxp_picture_number
      draw_picture_number(300, y + 30 * i, number.to_i, "chapter_number",
      0, 5, 2, 0)
      draw_picture_number(340, y + 30 * i, REQUERIDO[$game_temp.capitulos][i].to_i,
      "chapter_number", 2, 5, 2, 1)
    else
      self.contents.draw_text(300, y - 4 + 29 * i, 200, 32,
      $game_temp.parametros[i].to_s, 0)
      self.contents.draw_text(345, y - 4 + 29 * i, 200, 32,
      REQUERIDO[$game_temp.capitulos][i].to_s, 0)
    end
    self.contents.draw_text(325, y - 4 + 29 * i, 32, 32, "/") if $game_temp.parametros[i]
  end
    end
  end
    if REQUERIDO[$game_temp.capitulos]
      for i in 0..10
        if REQUERIDO[$game_temp.capitulos][i]
        range(x + 350, y - 5 + 28 * i, $game_temp.parametros[i], i)
        else
        no_disponible(x + 250, y + 28 * i) if i < REQUERIDO[$game_temp.capitulos].size
      end
    end
    else
      no_disponible(x + 250, y + 22 * i)
      end
      switch_on if REQUERIDO[$game_temp.capitulos] or
      ENEMIGOS[$game_temp.capitulos] and CONTADOR_ENEMIGOS
      if CONTADOR_ENEMIGOS
      if ENEMIGOS[$game_temp.capitulos]
      if $mog_rgssxp_picture_number
      draw_picture_number(340, y + 30 * 3, $game_temp.enemigos[1].to_i,
      "chapter_number", 2, 5, 2, 0)
      else
      self.contents.draw_text(345, y - 4 + 29 * $game_temp.parametros.size, 200, 32,
      $game_temp.enemigos[1].to_s , 0)
    end
      range_enemy(x + 350, y - 5 + 28 * 3)
    else
      no_disponible(x + 250, y + 29 * 3)
    end
  end
      if TOTAL_RANGE
        pos_y = 3
        pos_y += 1 if CONTADOR_ENEMIGOS
        total_range(x + 450, y + pos_y * 29)
      end
    end
  end
class Window_Chapter_IMG < Window_Base
  include Nightmare_Chapter_System
  def initialize
    super(0, 0, 640, 280)
    self.contents= Bitmap.new(width - 32, height - 32)
    self.contents.font.name = "Georgia"
    self.contents.font.size = 18
    self.contents.font.bold = true
    self.contents.font.italic = false
    refresh
  end
  def refresh
    self.contents.clear
    if $game_temp.capitulos > CAPITULO.size - 1
      $game_temp.capitulos = CAPITULO.size - 1
    end
    self.contents.draw_text(x + 120, y, 400, 32, CAPITULO[$game_temp.capitulos], 0)
    id_capitulo = $game_temp.capitulos
    bitmap = RPG::Cache.windowskin("capitulo_" + id_capitulo.to_s )
    cw = bitmap.width
    ch = bitmap.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x, y + 40, bitmap, src_rect)
  end
end
class Scene_Save 
  alias nightmare_write_chapter write_save_data
  def write_save_data(file)
    nightmare_write_chapter(file)
    Marshal.dump($game_temp.capitulos, file)
    Marshal.dump($game_temp.enemigos, file)
    Marshal.dump($game_temp.parametros, file)
  end
end
class Scene_Load
  alias nightmare_read_chapter read_save_data
  def read_save_data(file)
    nightmare_read_chapter(file)
    $game_temp.capitulos    = Marshal.load(file)
    $game_temp.enemigos  = Marshal.load(file)
    $game_temp.parametros = Marshal.load(file)
    end
end
class Scene_Chapter
  include Nightmare_Chapter_System
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  def main
    @window_img = Window_Chapter_IMG.new
    @window_count = Window_Chapter_Result.new
    @window_count.y = 260
    @window_img.windowskin = nil
    @window_count.windowskin = nil
    @back = Plane.new
    @back.bitmap = RPG::Cache.windowskin("Chapter_Back")
    @layout = Sprite.new
    @layout.bitmap = RPG::Cache.windowskin("N_Chapter_Layout")
    @window_help = Window_Help.new
    @window_help.windowskin = nil
    @window_help.y = 430
    if TRANSICION
  Graphics.transition(TRANSICION_TIME, "Graphics/Transitions/" + TRANSICION_GRAPHIC)
 else
  Graphics.transition
 end
 loop do
  @back.ox -=1
  Graphics.update
  Input.update
  update
  break if $scene != self
 end
  Graphics.freeze
  @window_img.dispose
  @window_count.dispose
  @layout.dispose
  @back.dispose
  @window_help.dispose
 end
 def update
  @window_help.set_text(TEXTO_AYUDA, 1)
  if Input.trigger?(Input::B) or Input.trigger?(Input::C)
    $game_system.se_play($data_system.decision_se)
    $game_temp.capitulos += 1
    $game_temp.enemigos[0] = $game_temp.enemigos[1] if !$xrxs_xas
    $game_temp.enemigos[1] = $game_variables[XAS_BA::DEFEAT_NUMBER_ID] if $xrxs_xas
    for i in $game_temp.parametros
      indice = $game_temp.parametros.index i
      $game_temp.parametros[indice] = 0
    end
    if END_SAVE
      $scene = Scene_Save.new
    else
      $scene = Scene_Map.new
    end
  end
 end
end

Espero les haya gustado y si no hagan esto Dedo

_________________




"La amenaza de una espada, mantiene a la otra envainada."

Spoiler:
 
Volver arriba Ir abajo
Ver perfil de usuario
DaviX
Admin.
Admin.
avatar

Cantidad de envíos : 2740
Miembro desde : 08/07/2009
Edad : 23
Localización : España
Sexo : Masculino

Maker : RMXP

Logros MP :


MensajeTema: Re: Nightmare-Chapter System 1.0 [XP]   Sáb Abr 02, 2011 7:43 pm

HOho Pues talvez tu script me sirva para el juego de NPI (polybius)


Muy buena idea y aporte.

_________________
Soy puta y me gusta que me den por culo.
Hahhahaa

by:Ares
xDDDD
Volver arriba Ir abajo
Ver perfil de usuario
 
Nightmare-Chapter System 1.0 [XP]
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.
 Temas similares
-
» all nightmare long JUEGO COMPLETO survival horror de zombies
» Tienda New Era: Soldier Dock System
» [VX] Gubid Tactical Battle System (GTBS)
» [XP] Blizz ABS Battle System + Tutoriales
» [MV] Efectos de Luces (Terrax Lighting system)

Permisos de este foro:No puedes responder a temas en este foro.
Maker Palace :: RGSS Scripts :: Scripts Maker XP-
Cambiar a: