Independents
Vemos que no estas registrado, ingresa ahora y Registrate es 100% Gratis, acércate a esta gran comunidad.
Conectarse

Recuperar mi contraseña

Últimos temas
» holas soy zeroch
por zeroch Lun Feb 09, 2015 1:07 pm

» Trilogía Maze Runner (Descarga Directa)
por ZunnerX Jue Mar 21, 2013 10:23 pm

» Blood: The last Vampire [WZF] [MU]
por shinder Lun Sep 17, 2012 12:21 pm

» Wall-E Modding
por shinder Lun Sep 17, 2012 12:19 pm

» Solicitudes SorteosNet.tk
por ZunnerX Sáb Ago 11, 2012 1:54 am

IRG ChatBox

Sistema Dragon Quest

Ver el tema anterior Ver el tema siguiente Ir abajo

Sistema Dragon Quest

Mensaje por ZunnerX el Vie Oct 22, 2010 7:13 am

Este script hace lo mismo que en el juego Dragon Quest, el cual permite al personaje curar un estado, guardar la partida, revivir a un aliado en una iglesia, para eso debemos hacer lo siguiente:

Este script es gracias a: xXDarkDragonxx



¿Que trae el Script?

#============================================================
# ** Creando los comandos
# Confesión = Guardar la Partida
# Resurreción = Revivir un aliado fallecido en combate
# Bendición = Librar de una maldición a un personaje
#============================================================

Instrucciones:

  1. Crear un 'apartado' nuevo en el Editor de Scripts (F11)
  2. Llamarlo como deseen y peguen dentro el script
  3. En una iglesia, o el lugar que deseen deben hacer un 'Llamar script...' con este codigo:

Código:
$scene = DQCS_Command.new


Añadir el siguiente script en el editor (F11: Recuerden que debe ser antes de "Main")

Código:
#==============================================================================
# ** Dragon Quest Church System
#------------------------------------------------------------------------------
#  Por: xXDarkDragonxx
#  Ultima Actualización: 1/24/08 (M/D/Y)
#
#  Agradecimientos especiales a SephirothTDS por ayudarme con unos problemas con
#  los estados y unas cosas más y por tener paciencia.
#------------------------------------------------------------------------------
# ** Cambios:
#  Script convertido del RGSS al RGSS2 para que funcione con el RPG Maker
#  VX.
#==============================================================================

class DQCS_Command

#==============================================================================
# ** Parte Editable
#==============================================================================

# Define el dinero necesitado para revivir el aliado fallecido en combate
REVIVE_COST = 200

# Define el dinero necesitado para bendecir el aliado maldecido
BLESSING_COST = 50

# Define el estado alterado (su ID) que debes tener para la bendición
BLESSING_STATE = 2

#==============================================================================
# ** Fin de Parte Editable
#==============================================================================

def initialize(menu_index = 0)
 @menu_index = menu_index
end

def main

 @spriteset = Spriteset_Map.new
 
 @gold_window = Window_Gold.new(383, 0) # Ventana de Dinero
 @gold_window.back_opacity = 180
 @gold_window.update 

 @heroes = []
 for i in 0...$game_party.members.size
@heroes << $game_party.members[i].name
 end
 
 @heroes_command = Window_Command.new(140, @heroes) # Comandos principales
 @heroes_command.back_opacity = 180
 @heroes_command.x = 83
 @heroes_command.y = 0 
 @heroes_command.visible = false
 @heroes_command.active = false
 @heroes_command.index = 0

 @heroes_bendicion = Blessing_Command.new # 'Comandos' de Bendición
 @heroes_bendicion.back_opacity = 180
 #@heroes_bendicion.x = 180
 #@heroes_bendicion.y = 64 
 @heroes_bendicion.visible = false
 @heroes_bendicion.active = false
 @heroes_bendicion.index = 0

 @dead_heroes = @heroes

 #============================================================
 # ** Creando los comandos
 # Confesión = Guardar la Partida
 # Resurreción = Revivir un aliado fallecido en combate
 # Bendición = Librar de una maldición a un personaje
 #============================================================
 s1 = "Confesión"
 s2 = "Resurreción"
 s3 = "Bendición"
 s4 = "Nada"
 @command_window = Window_Command.new(160, [s1, s2, s3, s4])
 @command_window.back_opacity = 180
 @command_window.x = 223
 @command_window.y = 0
 @command_window.index = @menu_index

  if $game_party.gold < REVIVE_COST # Si no tienes 200 Oro...
 @command_window.draw_item(1, false) # Desabilitar comando Resurrección
 @revive_disable = true
else
 @revive_disable = false
  end

  if $game_party.gold < BLESSING_COST # Si no tienes 50 Oro...
 @command_window.draw_item(2, false) # Desabilitar comando Bendición
 @bendicion_disable = true
else
 @bendicion_disable = false
  end

  if $game_system.save_disabled # Si los permisos de Save son desabilitados...
 @command_window.draw_item(0, false) # Desabilitar comando Confesión
  end
 
 Graphics.transition
 loop do
  Graphics.update
  Input.update
  update
  if $scene != self
break
  end
end

Graphics.freeze
@gold_window.dispose  # 'Borrar' ventana de Dinero
@command_window.dispose  # 'Borrar' ventana de Comandos
@heroes_command.dispose  # 'Borrar' ventana de Resurreción (comandos)
@heroes_bendicion.dispose  # 'Borrar' ventana de Bendición (comandos)
@spriteset.dispose
end


#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update

@heroes_command.update
@heroes_bendicion.update
@command_window.update
@gold_window.update

#============================================================
# ** Resurrección
#============================================================

if $game_party.gold < REVIVE_COST
  @command_window.draw_item(1, false)
  @revive_disable = true
 else
  @revive_disable = false
end 

  for i in 0...$game_party.members.size
if $game_party.members[i].hp != 0
 @dead_heroes[i] = nil
  end 
end

$game_party.members.each do |actor|
 if actor.hp == 0
 @heroes_command.draw_item(actor.index, false)
 end
end 

#============================================================
# ** Bendición
#============================================================

if $game_party.gold < BLESSING_COST
  @command_window.draw_item(2, false)
  @bendicion_disable = true
else
  @bendicion_disable = false
end 

if @heroes_command.active
update_revive
return
 end 

if @heroes_bendicion.active
update_bendicion
return
 end 

if @command_window.active
update_command
return
 end
end

#--------------------------------------------------------------------------
# * Update revive window Command
#--------------------------------------------------------------------------
def update_revive 

 if Input.trigger?(Input::B)
  @heroes_command.visible = false
  @heroes_command.active = false
  @command_window.active = true 
return
 end
 
 if Input.trigger?(Input::C)
if $game_party.members[@heroes_command.index].hp == 0
  $game_party.lose_gold(REVIVE_COST)
  Sound.play_shop
  @gold_window.refresh
  $game_party.members[@heroes_command.index].recover_all
  @heroes_command.draw_item(@heroes_command.index, Color.new(255, 255, 255, 255))
  return
else
  Sound.play_buzzer
  end
 end
end

#--------------------------------------------------------------------------
# * Update bendicion window Command
#--------------------------------------------------------------------------
def update_bendicion 

 if Input.trigger?(Input::B)
  @heroes_bendicion.visible = false
  @heroes_bendicion.active = false
  @command_window.active = true 
return
 end
 
 if Input.trigger?(Input::C)
  Sound.play_buzzer if $game_party.gold < BLESSING_COST
  Sound.play_buzzer if @heroes_bendicion.cursed_actors[@heroes_bendicion.index] == false
  return unless $game_party.gold >= BLESSING_COST
  if @heroes_bendicion.cursed_actors[@heroes_bendicion.index] == true
  $game_party.lose_gold(BLESSING_COST)
  Sound.play_shop
  @gold_window.refresh
  $game_party.members[@heroes_bendicion.index].remove_state(BLESSING_STATE)
  @heroes_bendicion.verify_use
  @heroes_bendicion.refresh
 return
  end 
 end
 return
  end

#--------------------------------------------------------------------------
# * Update Window Command
#-------------------------------------------------------------------------- 
def update_command
 if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
return
 end

 if Input.trigger?(Input::C)
if $game_party.members.size == 0 and @command_window.index < 4
  Sound.play_buzzer
  return
end

case @command_window.index
when 0  # Confesión
  if $game_system.save_disabled
 Sound.play_buzzer
 return
  end
  Sound.play_decision
  $scene = Scene_File.new(true, false, false)
 
#when 1  # Divinación
  #$game_system.se_play($data_system.cancel_se)
 
when 1  # Resurreción
 if @revive_disable != true
  Sound.play_decision
  @heroes_command.visible = true
  @heroes_command.active = true
  @command_window.active = false
 return 
else
# Play buzzer SE
Sound.play_buzzer 
return
  end

when 2  # Bendición
 if @bendicion_disable != true
  Sound.play_decision
  @heroes_bendicion.visible = true
  @heroes_bendicion.active = true
  @command_window.active = false
 return 
else
# Play buzzer SE
Sound.play_buzzer 
return
  end

when 3  # Nada
  Sound.play_decision
  $scene = Scene_Map.new
end
return
 end
end


#==============================================================================
# ** Blessing Command Window
#------------------------------------------------------------------------------
#  Ventana que muestra los héroes para el comando Bendición.
#==============================================================================

class Blessing_Command < Window_Selectable

#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------

attr_accessor  :cursed_actors    # Variable flag for cursed actors

#--------------------------------------------------------------------------
# * Object Initialization
#-------------------------------------------------------------------------- 
def initialize

 super(83, 0, 140, $game_party.members.size * 32)
 @item_max = $game_party.members.size
 @item_count = $game_party.members.size
 self.height = @item_count * 32
 @column_max = 1
 self.contents = Bitmap.new(width - 32, [height - 32, row_max * WLH].max)
 self.back_opacity = 180
 self.index = 0
 # Cursed state
 @cursed_state = BLESSING_STATE
 # Cursed actors array
 @cursed_actors = []
 refresh
end

#--------------------------------------------------------------------------
# * Verify if character can be used
#--------------------------------------------------------------------------
def verify_use
 $game_party.members.each {|x| @cursed_actors << x.state?(@cursed_state)}
 return 
end 
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh

 @cursed_actors.clear
 self.contents.clear
 verify_use

 for i in 0...$game_party.members.size 
  @actor = $game_party.members[i] 
x = 8
y = i * 24
self.contents.font.color = (@cursed_actors[i] == true ? disabled_color : normal_color)
self.contents.draw_text(x, y, 140, 24, @actor.name)
 end 
end
end
end




Igualmente vayan al Window_Base del VX y debajo de:


#--------------------------------------------------------------------------
# ● 装備画面のパワーダウン色の取得
#--------------------------------------------------------------------------

def power_down_color
return text_color(25)
end

añadir lo siguiente:


#--------------------------------------------------------------------------
# ● Disabled Color
#--------------------------------------------------------------------------

def disabled_color
return text_color(8)
end

Capturas





Contenido Editable

Se puede editar el costo de cada acción divina, tienes que buscar esta parte en el codigo:


#==============================================================================
# ** Parte Editable
#==============================================================================

# Define el dinero necesitado para revivir el aliado fallecido en combate

REVIVE_COST = 200

# Define el dinero necesitado para bendecir el aliado maldecido
BLESSING_COST = 50

# Define el estado alterado (su ID) que debes tener para la bendición
BLESSING_STATE = 17

#==============================================================================
# ** Fin de Parte Editable
#==============================================================================



ZunnerX

Mensajes : 108
Fecha de inscripción : 11/07/2010
Localización : .:Dead Valley:.

http://independents.tk

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

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