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
» Reparación de Conjuros
por kyonides-arkanthos Jue Oct 12, 2017 12:22 am

» Screenshot del nuevo KUnits XP oon menú
por LinkLuis55 Sáb Sep 23, 2017 10:03 pm

» 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

» 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

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 10 usuarios en línea: 0 Registrados, 0 Ocultos y 10 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 (1768)
 
Mur-mai-der (1755)
 
Ares (1613)
 
LinkLuis55 (1558)
 
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: