Conectarse
Buscar
Últimos temas
Los posteadores más activos del mes
No hay usuarios |
Estadísticas
Tenemos 98 miembros registradosEl último usuario registrado es Lawdesifi
Nuestros miembros han publicado un total de 6208 mensajes en 777 argumentos.
Nightmare-Chapter System 1.0 [XP]
Drupogame :: RPG Maker :: RPG maker XP :: Scripts
Página 1 de 1.
Nightmare-Chapter System 1.0 [XP]
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:
Espero les haya gustado y si no hagan esto
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
The_King_Jaas- Co-Administrador
- Mensajes : 1737
Fecha de inscripción : 02/02/2011
Temas similares
» Nigtmare-Chapter System XP (v 0.7)
» Neo-wind system (v1.1)
» Nightmare - Change Actors System V 1.3 XP
» Nightmare - Transition in Teleport system V 1.3
» Nightmare - Window XAS (XAS - add-on)
» Neo-wind system (v1.1)
» Nightmare - Change Actors System V 1.3 XP
» Nightmare - Transition in Teleport system V 1.3
» Nightmare - Window XAS (XAS - add-on)
Drupogame :: RPG Maker :: RPG maker XP :: Scripts
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.
Lun Ene 23, 2012 11:32 pm por edux
» edux returns
Lun Ene 23, 2012 11:30 pm por edux
» The Elder Scrolls IV: Oblivion
Vie Ene 20, 2012 11:28 pm por Aljevalsar
» Kojima promete que habrá un Metal Gear Solid de auténtico sigilo
Jue Dic 22, 2011 7:33 pm por Anime_Maker
» Este fin de semana habrá nuevos modos para Modern Warfare 3
Jue Dic 15, 2011 12:03 pm por Akeo
» Kojima quiso crear un Metal Gear Solid 5 ambientado en la Segunda Guerra Mundial
Jue Dic 15, 2011 11:01 am por Akeo
» Darksiders II se dejará ver en los Spike VGA
Miér Dic 14, 2011 11:50 am por Akeo
» El creador de Bayonetta desmiente estar implicado en el desarrollo de Metal Gear Rising
Miér Dic 14, 2011 1:54 am por Akeo
» Los creadores de Bayonetta se encargan del desarrollo de Metal Gear Rising
Miér Dic 14, 2011 1:52 am por Akeo
» En Construccion: Mundo Abismal
Lun Oct 24, 2011 4:03 am por SagahonArturo
» Visceral Games busca nuevo personal para la franquicia Dead Space
Mar Oct 11, 2011 3:22 am por The_King_Jaas
» buenas
Mar Oct 11, 2011 3:21 am por The_King_Jaas
» Batman: Arkham City llegará "sin ninguna limitación"
Sáb Oct 08, 2011 1:44 am por Akeo
» Los creadores de Bulletstorm admiten divertidos que el juego tenía demasiadas palabras malsonantes
Sáb Oct 08, 2011 1:41 am por Akeo
» PES 2012: El primer DLC estará disponible el 11 de octubre
Sáb Oct 08, 2011 1:39 am por Akeo