Últimos temas
» Script de menupor maxi Jue 04 Dic 2014, 1:44 pm
» Ayuda intro animado!!!
por maxi Miér 03 Dic 2014, 9:41 pm
» ayuda con este engin
por maxi Miér 03 Dic 2014, 8:42 am
» Hud de Vida 100% Personalizable - Engine Sencillo! Sin Scripts :)
por davidaikago Jue 20 Nov 2014, 10:58 am
» Ultimate parallax control by:GDS [ace]
por arellano Miér 08 Oct 2014, 8:28 pm
» Script Touhou (animated) Map name (v1.4)
por davidaikago Miér 08 Oct 2014, 2:09 pm
» tutorial puerta nueva
por davidaikago Miér 08 Oct 2014, 9:08 am
» cámara de fotos
por davidaikago Miér 08 Oct 2014, 9:05 am
» Imperial Action System II Demo
por davidaikago Miér 08 Oct 2014, 8:47 am
» VE Batalla animada [ACE]
por FhierusIV Jue 18 Sep 2014, 10:57 am
» Nuevo Reglamento del Foro [Vigente desde Septiembre 2014]
por maxi Miér 17 Sep 2014, 8:37 am
» MOG|Animated Title
por Souta21 Mar 09 Sep 2014, 7:24 pm
» Tutorial Engine - Cambiar Character al Equipar Objeto
por maxi Lun 21 Jul 2014, 10:19 am
» Script de climas
por gambasoxd Sáb 19 Jul 2014, 8:58 am
» Script de contraseña(codigo) para abrir un cofre
por rpgame Jue 03 Jul 2014, 6:03 pm
¿Quién está en línea?
En total hay 2 usuarios en línea: 0 Registrados, 0 Ocultos y 2 Invitados Ninguno
El record de usuarios en línea fue de 117 durante el Mar 09 Ago 2011, 3:39 pm
Catunazo de script
4 participantes
RPG maker VX :: Scripts ::
Página 1 de 1.
Catunazo de script
Hola gente
Hoy les vengo a mostrar un Catunazo scriptivo
Creditos Moghunter
Estos Script haran que tengan conflictos mentales de la emocion
Bien comenzando
Medidor de Unidades de Batalla
¿Y para que sirbe?
Muestra como un porcentaje de miembros entre ambos bandos durante una batalla
Bando enemigo y Bando aliado
¿Como Usarlo?
Pues solo colocarlo sobre main
y colocar estas imagenes en la carpeta Graphics/System de sus proyectos
[Tienes que estar registrado y conectado para ver esa imagen]
Screen
[Tienes que estar registrado y conectado para ver esa imagen]
Compatibilidad
Alta.... Batallas Laterales y frontales
Scene Status
Para que sirbe?
Muestra un status de los personajes mas mono ñ_ñ
¿Como usarlo?
Creen una carpeta con el nombre Menus en Graphics y colocar las siguientes imagenes
PD: Es editable
[Tienes que estar registrado y conectado para ver esa imagen]
Screen
[Tienes que estar registrado y conectado para ver esa imagen]
Compatibilidad
Alta
Esena de guardado
¿Para que sirbe?
Crea una esena de guardado mas mona
¿Como usarlo?
Al igual que el anterior Crear una Carpeta con nombre Menus en Graphics y guardar estas imagenes
[Tienes que estar registrado y conectado para ver esa imagen]
Y guardar esta otra en la carpeta System
[Tienes que estar registrado y conectado para ver esa imagen]
Compatibilidad
Alta
Script
[Tienes que estar registrado y conectado para ver esa imagen]
AGRADECER NO CUESTA NADA
Hoy les vengo a mostrar un Catunazo scriptivo
Creditos Moghunter
Estos Script haran que tengan conflictos mentales de la emocion
Bien comenzando
Medidor de Unidades de Batalla
¿Y para que sirbe?
Muestra como un porcentaje de miembros entre ambos bandos durante una batalla
Bando enemigo y Bando aliado
¿Como Usarlo?
Pues solo colocarlo sobre main
y colocar estas imagenes en la carpeta Graphics/System de sus proyectos
[Tienes que estar registrado y conectado para ver esa imagen]
Screen
[Tienes que estar registrado y conectado para ver esa imagen]
Compatibilidad
Alta.... Batallas Laterales y frontales
- Spoiler:
- #==============================================================================
# +++ MOG VX - Unit Meter V.1.0 +++
#==============================================================================
# Apresenta dois medidores animados contentdo a quantidade total de HP de todos
# os aliados e inimigos.
#==============================================================================
module MOG_UNIT_METER
#Posição do layout. (X,Y)
UNIT_METER_POS = [0,0]
#Posição do medidor dos inimigos. (X,Y)
TROOP_METER_POS = [133,13]
#Posição do medidor dos aliados. (X,Y)
PARTY_METER_POS = [305,13]
#Posição da animação do fogo. (X,Y)
FIRE_POS = [265,0]
#Prioridade dos medidores.
PRIORITY = 50
end
#==============================================================================
# ■ Game_Party
#==============================================================================
class Game_Party < Game_Unit
attr_accessor :hpa
attr_accessor :hpa_max
attr_accessor :mpa
attr_accessor :mpa_max
#--------------------------------------------------------------------------
# ● initialize
#--------------------------------------------------------------------------
alias mog_party_hpmp_initialize initialize
def initialize
mog_party_hpmp_initialize
@hpa = 0
@hpa_max = 1
@mpa = 0
@mpa_max = 1
end
#--------------------------------------------------------------------------
# ● hpa_max
#--------------------------------------------------------------------------
def hpa_max
n = 0
for i in $game_party.members
n += i.maxhp
end
@hpa_max = n
end
#--------------------------------------------------------------------------
# ● hpa
#--------------------------------------------------------------------------
def hpa
n = 0
for i in $game_party.members
n += i.hp
end
n2 = [[n, 0].max, @hpa_max].min
@hpa = n2
end
#--------------------------------------------------------------------------
# ● mpa_max
#--------------------------------------------------------------------------
def mpa_max
n = 0
for i in $game_party.members
n += i.maxmp
end
@mpa_max = n
end
#--------------------------------------------------------------------------
# ● mpa
#--------------------------------------------------------------------------
def mpa
n = 0
for i in $game_party.members
n += i.mp
end
n2 = [[n, 0].max, @mpa_max].min
@mpa = n2
end
end
#==============================================================================
# ■ Game_Troop
#==============================================================================
class Game_Troop < Game_Unit
attr_accessor :troop_hp
attr_accessor :troop_maxhp
attr_accessor :troop_mp
attr_accessor :troop_maxmp
#--------------------------------------------------------------------------
# ● initialize
#--------------------------------------------------------------------------
alias mog_hpmp_troop_initialize initialize
def initialize
mog_hpmp_troop_initialize
@troop_hp = 0
@troop_maxhp = 1
@troop_mp = 0
@troop_maxmp = 1
end
#--------------------------------------------------------------------------
# ● Troop_maxhp
#--------------------------------------------------------------------------
def troop_maxhp
n = 0
for enemy in members
n += enemy.maxhp
end
@troop_maxhp = n
end
#--------------------------------------------------------------------------
# ● Troop_hp
#--------------------------------------------------------------------------
def troop_hp
n = 0
for enemy in members
n += enemy.hp
end
n2 = [[n, 0].max, @troop_maxhp].min
@troop_hp = n2
end
#--------------------------------------------------------------------------
# ● Troop_maxmp
#--------------------------------------------------------------------------
def troop_maxmp
n = 0
for enemy in members
n += enemy.maxmp
end
@troop_maxmp = n
end
#--------------------------------------------------------------------------
# ● Troop_mp
#--------------------------------------------------------------------------
def troop_mp
n = 0
for enemy in members
n += enemy.mp
end
n2 = [[n, 0].max, @troop_maxmp].min
@troop_mp = n2
end
end
#===============================================================================
# ■ Unit_Meter_Sprite
#===============================================================================
class Unit_Meter_Sprite < Sprite
include MOG_UNIT_METER
attr_accessor :fade
attr_accessor :party_shake
attr_accessor :troop_shake
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
def initialize
super
@fade = false
@troop_shake = 0
@party_shake = 0
create_layout
create_troop_meter
create_party_meter
create_fire
end
#--------------------------------------------------------------------------
# ● Create Troop Meter
#--------------------------------------------------------------------------
def create_layout
@layout = Sprite.new
@layout.bitmap = Cache.system("Unit_Layout")
@layout.z = 1 + PRIORITY
@layout.x = UNIT_METER_POS[0]
@layout.y = UNIT_METER_POS[1]
end
#--------------------------------------------------------------------------
# ● Create Troop Meter
#--------------------------------------------------------------------------
def create_troop_meter
@troop_flow = 0
@troop_damage_flow = 0
@troop_image = Cache.system("Unit_Meter")
@troop_bitmap = Bitmap.new(@troop_image.width,@troop_image.height)
@troop_range = @troop_image.width / 3
@troop_width = @troop_range * $game_troop.troop_hp / $game_troop.troop_maxhp
@troop_width_old = @troop_width
@troop_height = @troop_image.height / 2
@troop_src_rect = Rect.new(@troop_range, 0, @troop_width, @troop_height)
@troop_bitmap.blt(0,0, @troop_image, @troop_src_rect)
@troop_sprite = Sprite.new
@troop_sprite.bitmap = @troop_bitmap
@troop_sprite.mirror = true
@troop_sprite.x = (-@troop_range * 2)+ TROOP_METER_POS[0] + UNIT_METER_POS[0]
@troop_pre_y = TROOP_METER_POS[1] + UNIT_METER_POS[1]
@troop_sprite.y = @troop_pre_y
@troop_sprite.z = 2 + PRIORITY
update_flow_troop_meter
end
#--------------------------------------------------------------------------
# ● Create Troop Meter
#--------------------------------------------------------------------------
def create_party_meter
@party_flow = 0
@party_damage_flow = 0
@party_image = Cache.system("Unit_Meter")
@party_bitmap = Bitmap.new(@party_image.width,@party_image.height)
@party_range = @party_image.width / 3
@party_width = @party_range * $game_party.hpa / $game_party.hpa_max
@party_width_old = @party_width
@party_height = @party_image.height / 2
@party_src_rect = Rect.new(@party_range, 0, @party_width, @party_height)
@party_bitmap.blt(0,0, @party_image, @party_src_rect)
@party_sprite = Sprite.new
@party_sprite.bitmap = @party_bitmap
@party_sprite.x = PARTY_METER_POS[0] + UNIT_METER_POS[0]
@party_pre_y = PARTY_METER_POS[1] + UNIT_METER_POS[1]
@party_sprite.y = @party_pre_y
@party_sprite.z = 2 + PRIORITY
update_flow_party_meter
end
#--------------------------------------------------------------------------
# ● create_fire
#--------------------------------------------------------------------------
def create_fire
@fire_flow = 0
@fire_flow_speed = 0
@fire_image = Cache.system("Unit_Fire")
@fire_bitmap = Bitmap.new(@fire_image.width,@fire_image.height)
@fire_width = @fire_image.width / 4
@fire_src_rect_back = Rect.new(0, 0,@fire_width, @fire_image.height)
@fire_bitmap.blt(0,0, @fire_image, @fire_src_rect_back)
@fire_sprite = Sprite.new
@fire_sprite.bitmap = @fire_bitmap
@fire_sprite.z = 3 + PRIORITY
@fire_pre_x = FIRE_POS[0] + UNIT_METER_POS[0]
@fire_sprite.x = @fire_pre_x
@fire_sprite.y = FIRE_POS[1] + UNIT_METER_POS[1]
update_fire
end
#--------------------------------------------------------------------------
# ● Dispose
#--------------------------------------------------------------------------
def dispose
@layout.bitmap.dispose
@layout.dispose
@troop_sprite.bitmap.dispose
@troop_sprite.dispose
@troop_bitmap.dispose
@party_sprite.bitmap.dispose
@party_sprite.dispose
@party_bitmap.dispose
@fire_sprite.bitmap.dispose
@fire_sprite.dispose
@fire_bitmap.dispose
super
end
#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------
def update
super
update_flow_troop_meter unless $game_troop.troop_maxhp == 0
update_flow_party_meter unless $game_party.hpa_max == 0
update_fade if @fade == true
update_fire
update_fire_x
update_shake if @fade == false
end
#--------------------------------------------------------------------------
# ● update_fire_x
#--------------------------------------------------------------------------
def update_fire_x
if @troop_shake != 0 or @party_shake != 0
case @troop_shake
when 11..20
@fire_sprite.x -= 4
@fire_sprite.zoom_x += 0.09
@fire_sprite.zoom_y += 0.02
when 1..10
@fire_sprite.x += 4
@fire_sprite.zoom_x -= 0.09
@fire_sprite.zoom_y -= 0.02
end
case @party_shake
when 11..20
@fire_sprite.x += 2
@fire_sprite.zoom_x += 0.09
@fire_sprite.zoom_y += 0.02
when 1..10
@fire_sprite.x -= 2
@fire_sprite.zoom_x -= 0.09
@fire_sprite.zoom_y -= 0.02
end
else
clear_fire
end
end
#--------------------------------------------------------------------------
# ● clear_fire
#--------------------------------------------------------------------------
def clear_fire
@fire_sprite.x = @fire_pre_x
@fire_sprite.zoom_x = 1.00
@fire_sprite.zoom_y = 1.00
end
#--------------------------------------------------------------------------
# ● update_shake
#--------------------------------------------------------------------------
def update_shake
if @troop_shake > 0
@troop_shake -= 1
@troop_sprite.y = @troop_pre_y + rand(5)
else
@troop_sprite.y = @troop_pre_y
end
if @party_shake > 0
@party_shake -= 1
@party_sprite.y = @party_pre_y + rand(5)
else
@party_sprite.y = @party_pre_y
end
end
#--------------------------------------------------------------------------
# ● update_fade
#--------------------------------------------------------------------------
def update_fade
if @layout.opacity > 0
@troop_sprite.opacity -= 4
@party_sprite.opacity -= 4
@fire_sprite.opacity -= 4
@layout.opacity -= 4
@troop_sprite.y -= 1
@party_sprite.y -= 1
@layout.y -= 1
@fire_sprite.y -= 1
end
end
#--------------------------------------------------------------------------
# ● Update_flow_troop_meter
#--------------------------------------------------------------------------
def update_flow_troop_meter
@troop_sprite.bitmap.clear
@troop_width = @troop_range * $game_troop.troop_hp / $game_troop.troop_maxhp
#troop Damage---------------------------------
valor = (@troop_width_old - @troop_width) * 3 / 100
valor = 0.5 if valor < 1
if @troop_width_old != @troop_width
@troop_width_old -= valor if @troop_width_old > @troop_width
if @troop_width_old < @troop_width
@troop_width_old = @troop_width
end
@troop_src_rect_old = Rect.new(@troop_flow, @troop_height,@troop_width_old, @troop_height)
@troop_bitmap.blt(0,0, @troop_image, @troop_src_rect_old)
end
@troop_src_rect = Rect.new(@troop_flow, 0,@troop_width, @troop_height)
@troop_bitmap.blt(0,0, @troop_image, @troop_src_rect)
@troop_flow += 3
if @troop_flow >= @troop_image.width - @troop_range
@troop_flow = 0
end
end
#--------------------------------------------------------------------------
# ● Update_flow_party_meter
#--------------------------------------------------------------------------
def update_flow_party_meter
@party_sprite.bitmap.clear
@party_width = @party_range * $game_party.hpa / $game_party.hpa_max
#party Damage---------------------------------
valor = (@party_width_old - @party_width) * 3 / 100
valor = 0.5 if valor < 1
if @party_width_old != @party_width
@party_width_old -= valor if @party_width_old > @party_width
if @party_width_old < @party_width
@party_width_old = @party_width
end
@party_src_rect_old = Rect.new(@party_flow, @party_height,@party_width_old, @party_height)
@party_bitmap.blt(0,0, @party_image, @party_src_rect_old)
end
@party_src_rect = Rect.new(@party_flow, 0,@party_width, @party_height)
@party_bitmap.blt(0,0, @party_image, @party_src_rect)
@party_flow += 3
if @party_flow >= @party_image.width - @party_range
@party_flow = 0
end
end
#--------------------------------------------------------------------------
# ● Fire Update
#--------------------------------------------------------------------------
def update_fire
@fire_sprite.bitmap.clear
@fire_flow_speed += 1
if @fire_flow_speed > 6
@fire_flow += 1
@fire_flow_speed = 0
end
@fire_flow = 0 if @fire_flow >= 4
@fire_src_rect_back = Rect.new(@fire_width * @fire_flow, 0,@fire_width, @fire_image.height)
@fire_bitmap.blt(0,0, @fire_image, @fire_src_rect_back)
end
end
#===============================================================================
# ■ Scene_Battle
#===============================================================================
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# ● start
#--------------------------------------------------------------------------
alias mog_unit_meter_start start
def start
create_unit_meter_sprite
mog_unit_meter_start
end
#--------------------------------------------------------------------------
# ● create_unit_meter_sprite
#--------------------------------------------------------------------------
def create_unit_meter_sprite
@unit_meter = Unit_Meter_Sprite.new
end
#--------------------------------------------------------------------------
# ● dispose_info_viewport
#--------------------------------------------------------------------------
alias mog_unit_meter_dispose_info_viewport dispose_info_viewport
def dispose_info_viewport
mog_unit_meter_dispose_info_viewport
@unit_meter.dispose
end
#--------------------------------------------------------------------------
# ● update_basic
#--------------------------------------------------------------------------
alias mog_unit_meter_update_basic update_basic
def update_basic(main = false)
mog_unit_meter_update_basic(main)
@unit_meter.update
end
#--------------------------------------------------------------------------
# ● display_hp_damage
#--------------------------------------------------------------------------
alias mog_unit_meter_display_hp_damage display_hp_damage
def display_hp_damage(target, obj = nil)
if target.is_a?(Game_Actor) and target.hp_damage > 0
@unit_meter.party_shake = 20
@unit_meter.clear_fire
else
if target.hp_damage > 0
@unit_meter.troop_shake = 20
@unit_meter.clear_fire
end
end
mog_unit_meter_display_hp_damage(target, obj)
end
#--------------------------------------------------------------------------
# ● process_victory
#--------------------------------------------------------------------------
alias mog_unit_meter_process_victory process_victory
def process_victory
@unit_meter.fade = true
@unit_meter.troop_shake = 0
@unit_meter.party_shake = 0
mog_unit_meter_process_victory
end
end
$mog_rgssvx_unit_meter = true
Scene Status
- Spoiler:
- #==============================================================================
# MOG VX - Menu Status Aya v2.0
#==============================================================================
# By Moghunter
# [Tienes que estar registrado y conectado para ver este vínculo]
#==============================================================================
# Menu Status com layout em pictures.
#==============================================================================
# UTILIZAÇÃO
#
# 1 - Crie uma pasta com o nome de MENUS. (Graphics/Menus)
# 2 - Nesta pasta devem conter as seguintes imagens.
#
# Background.png
# M_Status_Exp_Meter.png
# M_Status_Parameter_Meter.png
# M_Status_HPSP.png
# M_Status_Layout.png
# M_Status_OBJ.png
#
# 3 - Serão necessários as seguintes imagens na pasta SYSTEM. (Graphics/System)
#
# Number_01.png
# Number_01_B.png
#
#==============================================================================
# Histórico
# 1.1 Melhor codificação e novos efeitos.
#==============================================================================
module MOG_VX07
#Definição do parameter maximo.
MAX_PARAMETER = 999
end
#===============================================================================
# ● Game_Actor
#===============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ● now_exp
#--------------------------------------------------------------------------
def now_exp
return @exp - @exp_list[@level]
end
#--------------------------------------------------------------------------
# ● next_exp
#--------------------------------------------------------------------------
def next_exp
return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
end
end
#===============================================================================
# Cache
#===============================================================================
module Cache
#--------------------------------------------------------------------------
# ● menu
#--------------------------------------------------------------------------
def self.menu(filename)
load_bitmap("Graphics/Menus/", filename)
end
end
#===============================================================================
# ● Window_Base
#===============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# ● draw_picture_number(x,y,value,file_name,align, space, frame_max ,frame_index)
#--------------------------------------------------------------------------
# X - Posição na horizontal
# Y - Posição na vertical
# VALUE - Valor Numérico
# FILE_NAME - Nome do arquivo
# ALIGN - Centralizar 0 - Esquerda 1- Centro 2 - Direita
# SPACE - Espaço entre os números.
# FRAME_MAX - Quantidade de quadros(Linhas) que a imagem vai ter.
# FRAME_INDEX - Definição do quadro a ser utilizado.
#--------------------------------------------------------------------------
def draw_picture_number(x,y,value, file_name,align = 0, space = 0, frame_max = 1,frame_index = 0)
number_image = Cache.system(file_name)
frame_max = 1 if frame_max < 1
frame_index = frame_max -1 if frame_index > frame_max -1
align = 2 if align > 2
cw = number_image.width / 10
ch = number_image.height / frame_max
h = ch * frame_index
number = value.abs.to_s.split(//)
case align
when 0
plus_x = (-cw + space) * number.size
when 1
plus_x = (-cw + space) * number.size
plus_x /= 2
when 2
plus_x = 0
end
for r in 0..number.size - 1
number_abs = number[r].to_i
number_rect = Rect.new(cw * number_abs, h, cw, ch)
self.contents.blt(plus_x + x + ((cw - space) * r), y , number_image, number_rect)
end
number_image.dispose
end
#--------------------------------------------------------------------------
# ● draw_actor_parameter_meter
#--------------------------------------------------------------------------
def draw_actor_parameter_meter(actor, x, y,type)
image = Cache.menu("M_Status_Parameter_Meter")
cw = image.width
ch = image.height / 2
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y, image, src_rect)
case type
when 0
value = actor.atk
when 1
value = actor.def
when 2
value = actor.spi
when 3
value = actor.agi
end
cw = image.width * value / MOG_VX07::MAX_PARAMETER
src_rect = Rect.new(0, ch, cw, ch)
self.contents.blt(x , y , image, src_rect)
draw_picture_number(x + image.width ,y - 22 ,value, "Number_01",0, 0,3,0)
image.dispose
end
#--------------------------------------------------------------------------
# ● draw_item_name_menu_status
#--------------------------------------------------------------------------
def draw_item_name_menu_status(item, x, y, enabled = true)
if item != nil
draw_icon(item.icon_index, x, y, enabled)
self.contents.font.color = normal_color
self.contents.font.color.alpha = enabled ? 255 : 128
self.contents.draw_text(x + 30, y, 155, WLH, item.name)
end
end
#--------------------------------------------------------------------------
# ● draw_equipments_menu_status
#--------------------------------------------------------------------------
def draw_equipments_menu_status(actor, x, y)
draw_item_name_menu_status(actor.equips[0], x , y)
draw_item_name_menu_status(actor.equips[1], x , y + 45)
draw_item_name_menu_status(actor.equips[2], x , y + 90)
draw_item_name_menu_status(actor.equips[3], x + 125, y + 20)
draw_item_name_menu_status(actor.equips[4], x + 125, y + 65)
end
#--------------------------------------------------------------------------
# ● draw_actor_hp_menu_status
#--------------------------------------------------------------------------
def draw_actor_hp_menu_status(actor, x, y)
image = Cache.menu("M_Status_HPSP")
cw = image.width * actor.hp / actor.maxhp
ch = image.height / 2
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y - ch + 30, image, src_rect)
draw_picture_number(x + 35 ,y + image.height, actor.hp, "Number_01_B",0, 10,3,1)
draw_picture_number(x + 95 ,y + image.height , actor.maxhp, "Number_01_B",0, 10,3,1)
image.dispose
end
#--------------------------------------------------------------------------
# ● draw_actor_mp_menu_status
#--------------------------------------------------------------------------
def draw_actor_mp_menu_status(actor, x, y)
image = Cache.menu("M_Status_HPSP")
cw = image.width * actor.mp / actor.maxmp
ch = image.height / 2
src_rect = Rect.new(0, ch, cw, ch)
self.contents.blt(x , y - ch + 30, image, src_rect)
draw_picture_number(x + 35 ,y + image.height, actor.mp, "Number_01_B",0, 10,3,2)
draw_picture_number(x + 95 ,y + image.height , actor.maxmp, "Number_01_B",0, 10,3,2)
image.dispose
end
#--------------------------------------------------------------------------
# ● draw_menu_status_obj
#--------------------------------------------------------------------------
def draw_menu_status_obj(x,y)
image = Cache.menu("M_Status_OBJ")
cw = image.width
ch = image.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y - ch, image, src_rect)
image.dispose
end
#--------------------------------------------------------------------------
# ● draw_actor_exp_meter_status_menu
#--------------------------------------------------------------------------
def draw_actor_exp_meter_status_menu(actor, x, y)
rate = actor.now_exp.to_f / actor.next_exp
rate = 1 if actor.next_exp == 0
image = Cache.menu("M_Status_Exp_Meter")
cw = image.width
ch = image.height / 2
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y , image, src_rect)
cw = image.width * rate
cw = image.width if actor.level == 99
src_rect = Rect.new(0, ch, cw, ch)
self.contents.blt(x , y , image, src_rect)
if actor.next_exp != 0
self.contents.draw_text(x + 30, y - 20, 80, 32, actor.next_rest_exp_s, 2)
else
self.contents.draw_text(x + 30, y - 20, 80, 32, "Max", 2)
end
self.contents.draw_text(x - 30, y + 10, 120, 32, actor.exp_s.to_s, 2)
image.dispose
end
end
#===============================================================================
# ● Window_Status_Left
#===============================================================================
class Window_Status_Left < Window_Base
#--------------------------------------------------------------------------
# ● initialize
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 0, 560, 430)
@actor = actor
self.opacity = 0
self.contents.font.size = 16
self.contents.font.bold = true
self.contents.font.name = "Georgia"
refresh
end
#--------------------------------------------------------------------------
# ● refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.draw_text(350, 195, 90, 32, @actor.class.name, 1)
draw_actor_face(@actor, 350, 90)
draw_picture_number(500 ,195 , @actor.level, "Number_01",1, 0,3,0)
draw_actor_hp_menu_status(@actor, 350, 213)
draw_actor_mp_menu_status(@actor, 380, 240)
draw_actor_exp_meter_status_menu(@actor, 350, 300)
draw_actor_parameter_meter(@actor, 50, 200,0)
draw_actor_parameter_meter(@actor, 70, 230,1)
draw_actor_parameter_meter(@actor, 90, 260,2)
draw_actor_parameter_meter(@actor, 110, 290,3)
draw_equipments_menu_status(@actor, 30, 40)
draw_actor_state(@actor,190, 320)
end
end
#===============================================================================
# Window_Status_Right
#===============================================================================
class Window_Status_Right < Window_Base
#--------------------------------------------------------------------------
# ● initialize
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 0, 560, 430)
@actor = actor
self.opacity = 0
self.contents.font.size = 16
self.contents.font.bold = true
self.contents.font.name = "Georgia"
refresh
end
#--------------------------------------------------------------------------
# ● refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
draw_actor_name(@actor, 55, 367)
draw_menu_status_obj(0, 380)
end
end
#===============================================================================
# Scene_Status
#===============================================================================
class Scene_Status < Scene_Base
#--------------------------------------------------------------------------
# ● initialize
#--------------------------------------------------------------------------
def initialize(actor_index = 0)
@actor_index = actor_index
end
#--------------------------------------------------------------------------
# ● start
#--------------------------------------------------------------------------
def start
super
@actor = $game_party.members[@actor_index]
@status_window_right = Window_Status_Right.new(@actor)
@status_window_right.x = 544
@status_window_right.contents_opacity = 0
@status_window_left = Window_Status_Left.new(@actor)
@status_window_left.x = -544
@status_window_left.contents_opacity = 0
@menu_back = Plane.new
@menu_back.bitmap = Cache.menu("Background")
@menu_layout = Sprite.new
@menu_layout.bitmap = Cache.menu("M_Status_Layout")
end
#--------------------------------------------------------------------------
# ● perform_transition
#--------------------------------------------------------------------------
def perform_transition
Graphics.transition(0)
end
#--------------------------------------------------------------------------
# ● pre_terminate
#--------------------------------------------------------------------------
def pre_terminate
super
for i in 0..25
@status_window_right.x += 25
@status_window_left.x -= 25
@status_window_right.contents_opacity -= 15
@status_window_left.contents_opacity -= 15
@menu_back.ox += 1
Graphics.update
end
end
#--------------------------------------------------------------------------
# ● terminate
#--------------------------------------------------------------------------
def terminate
super
@status_window_right.dispose
@status_window_left.dispose
@menu_back.bitmap.dispose
@menu_back.dispose
@menu_layout.bitmap.dispose
@menu_layout.dispose
end
#--------------------------------------------------------------------------
# ● return_scene
#--------------------------------------------------------------------------
def return_scene
$scene = Scene_Menu.new(3)
end
#--------------------------------------------------------------------------
# ● next_actor
#--------------------------------------------------------------------------
def next_actor
@actor_index += 1
@actor_index %= $game_party.members.size
$scene = Scene_Status.new(@actor_index)
end
#--------------------------------------------------------------------------
# ● prev_actor
#--------------------------------------------------------------------------
def prev_actor
@actor_index += $game_party.members.size - 1
@actor_index %= $game_party.members.size
$scene = Scene_Status.new(@actor_index)
end
#--------------------------------------------------------------------------
# ● update
#--------------------------------------------------------------------------
def update
@status_window_right.update
update_slide
update_command
super
end
#--------------------------------------------------------------------------
# ● update_slide
#--------------------------------------------------------------------------
def update_slide
@menu_back.ox += 1
@status_window_right.contents_opacity += 10
@status_window_left.contents_opacity += 10
if @status_window_right.x > 0
@status_window_right.x -= 25
elsif @status_window_right.x <= 0
@status_window_right.x = 0
@status_window_right.contents_opacity = 255
end
if @status_window_left.x < 0
@status_window_left.x += 25
elsif @status_window_left.x >=
@status_window_left.x = 0
@status_window_left.contents_opacity = 255
end
end
#--------------------------------------------------------------------------
# ● update_command
#--------------------------------------------------------------------------
def update_command
if Input.trigger?(Input::B)
Sound.play_cancel
return_scene
elsif Input.trigger?(Input::R) or Input.trigger?(Input::RIGHT)
Sound.play_cursor
next_actor
elsif Input.trigger?(Input::L) or Input.trigger?(Input::LEFT)
Sound.play_cursor
prev_actor
end
end
end
$mog_rgssvx_scene_status = true
Para que sirbe?
Muestra un status de los personajes mas mono ñ_ñ
¿Como usarlo?
Creen una carpeta con el nombre Menus en Graphics y colocar las siguientes imagenes
PD: Es editable
[Tienes que estar registrado y conectado para ver esa imagen]
Screen
[Tienes que estar registrado y conectado para ver esa imagen]
Compatibilidad
Alta
Esena de guardado
¿Para que sirbe?
Crea una esena de guardado mas mona
¿Como usarlo?
Al igual que el anterior Crear una Carpeta con nombre Menus en Graphics y guardar estas imagenes
[Tienes que estar registrado y conectado para ver esa imagen]
Y guardar esta otra en la carpeta System
[Tienes que estar registrado y conectado para ver esa imagen]
Compatibilidad
Alta
Script
- Spoiler:
- #==============================================================================
# MOG VX - Scene File V1.0
#==============================================================================
# By Moghunter
# [Tienes que estar registrado y conectado para ver este vínculo]
#==============================================================================
# Tela de salvar e carregar animado.
#==============================================================================
# 1 - Crie uma pasta com o nome de Graphics/Mennus e coloque as seguintes
# imagens dentro desta pasta.
#
# Background.png
# Save_Character_Floor.png
# Save_Layout01.png
# Save_Layout02.png
# Save_Window01.png
# Save_Window02.png
#
# 2 - Será necessário ter a seguinte imagem na pasta Graphics/System
#
# Number_01.png
#
#==============================================================================
module MOG_VX08
#Quantidade de slots de saves.
FILES_MAX = 9
end
#==============================================================================
# ** Window_Base
#==============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# ● draw_picture_number(x,y,value,file_name,align, space, frame_max ,frame_index)
#--------------------------------------------------------------------------
# X - Posição na horizontal
# Y - Posição na vertical
# VALUE - Valor Numérico
# FILE_NAME - Nome do arquivo
# ALIGN - Centralizar 0 - Esquerda 1- Centro 2 - Direita
# SPACE - Espaço entre os números.
# FRAME_MAX - Quantidade de quadros(Linhas) que a imagem vai ter.
# FRAME_INDEX - Definição do quadro a ser utilizado.
#--------------------------------------------------------------------------
def draw_picture_number(x,y,value, file_name,align = 0, space = 0, frame_max = 1,frame_index = 0)
number_image = Cache.system(file_name)
frame_max = 1 if frame_max < 1
frame_index = frame_max -1 if frame_index > frame_max -1
align = 2 if align > 2
cw = number_image.width / 10
ch = number_image.height / frame_max
h = ch * frame_index
number = value.abs.to_s.split(//)
case align
when 0
plus_x = (-cw + space) * number.size
when 1
plus_x = (-cw + space) * number.size
plus_x /= 2
when 2
plus_x = 0
end
for r in 0..number.size - 1
number_abs = number[r].to_i
number_rect = Rect.new(cw * number_abs, h, cw, ch)
self.contents.blt(plus_x + x + ((cw - space) * r), y , number_image, number_rect)
end
number_image.dispose
end
#--------------------------------------------------------------------------
# ● Draw Help Layout
#--------------------------------------------------------------------------
def draw_face_save(name,x,y,type)
if type == 0
image_name = name + "_0"
elsif type == 1
image_name = name + "_1"
else
image_name = name + "_2"
end
image = Cache.face(image_name)
cw = image.width
ch = image.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y , image, src_rect)
image.dispose
end
#--------------------------------------------------------------------------
# draw_parameter_layout
#--------------------------------------------------------------------------
def draw_parameter_layout(x,y)
image = Cache.menu("Save_Window01")
cw = image.width
ch = image.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y , image, src_rect)
image.dispose
end
#--------------------------------------------------------------------------
# draw_parameter_layout2
#--------------------------------------------------------------------------
def draw_parameter_layout2(x,y,type)
if type == 0
image = Cache.menu("Save_Window02")
else
image = Cache.menu("Save_Window03")
end
cw = image.width
ch = image.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y , image, src_rect)
image.dispose
end
#--------------------------------------------------------------------------
# draw_character_floor
#--------------------------------------------------------------------------
def draw_character_floor(x,y)
image = Cache.menu("Save_Character_Floor")
cw = image.width
ch = image.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y , image, src_rect)
image.dispose
end
end
#==============================================================================
# ** Window_SaveFile
#==============================================================================
class Window_SaveFile < Window_Base
attr_reader :filename
attr_reader :file_exist
attr_reader :time_stamp
attr_reader :selected
attr_reader :file_index
#--------------------------------------------------------------------------
# initialize
#--------------------------------------------------------------------------
def initialize(file_index, filename)
super(0, 0,720, 140)
self.opacity = 0
@file_index = file_index
@filename = filename
load_gamedata
refresh
@selected = false
end
#--------------------------------------------------------------------------
# * load_gamedata
#--------------------------------------------------------------------------
def load_gamedata
@time_stamp = Time.at(0)
@file_exist = FileTest.exist?(@filename)
if @file_exist
file = File.open(@filename, "r")
@time_stamp = file.mtime
begin
@characters = Marshal.load(file)
@map_name = Marshal.load(file)
@frame_count = Marshal.load(file)
@last_bgm = Marshal.load(file)
@last_bgs = Marshal.load(file)
@game_system = Marshal.load(file)
@game_message = Marshal.load(file)
@game_switches = Marshal.load(file)
@game_variables = Marshal.load(file)
@total_sec = @frame_count / Graphics.frame_rate
rescue
@file_exist = false
ensure
file.close
end
end
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = normal_color
xp = 96
ex = 60
if @file_exist
draw_parameter_layout2(0,50,0)
draw_parameter_layout(-10 + xp,0)
value = @file_index + 1
draw_picture_number(13 + xp, 32,value, "Number_01",1,0,3,0)
draw_party_characters(180 + xp, 75,ex)
draw_playtime(495, 20, contents.width - 4, 2)
draw_map_location( 400 + xp,64)
draw_level(185 + xp,85,ex)
draw_face_save(40 + xp,0)
else
draw_parameter_layout2(0,50,1)
draw_parameter_layout(-10 + xp,0)
value = @file_index + 1
draw_picture_number(13 + xp, 32,value, "Number_01",1,0,3,0)
self.contents.draw_text(260, 50, 120, 32, "No Data", 1)
end
end
#--------------------------------------------------------------------------
# * draw_face
#--------------------------------------------------------------------------
def draw_face_save(x,y)
face_name = @characters[0][3]
face_index = @characters[0][4]
draw_face(face_name, face_index , x, y, 96)
end
#--------------------------------------------------------------------------
# * draw_level
#--------------------------------------------------------------------------
def draw_level(x,y,ex)
self.contents.font.color = normal_color
for i in [Tienes que estar registrado y conectado para ver este vínculo]
level = @characters[i][2]
draw_picture_number(x + (ex * i) , y ,level, "Number_01",1,0,3,1)
end
end
#--------------------------------------------------------------------------
# * draw_map_location
#--------------------------------------------------------------------------
def draw_map_location(x,y)
self.contents.font.bold = true
self.contents.font.name = "Georgia"
self.contents.font.size = 20
self.contents.font.italic = true
self.contents.draw_text(x, y, 125, 32, @map_name.to_s, 0)
end
#--------------------------------------------------------------------------
# * draw_party_characters
#--------------------------------------------------------------------------
def draw_party_characters(x, y,ex)
for i in [Tienes que estar registrado y conectado para ver este vínculo]
name = @characters[i][0]
index = @characters[i][1]
draw_character_floor(- 35 + x + i * ex,y - 20)
draw_character(name, index, x + i * ex, y)
end
end
#--------------------------------------------------------------------------
# * draw_playtime
#--------------------------------------------------------------------------
def draw_playtime(x, y, width, align)
hour = @total_sec / 60 / 60
min = @total_sec / 60 % 60
sec = @total_sec % 60
time_string = sprintf("%02d:%02d:%02d", hour, min, sec)
draw_picture_number(x + 18 * 0, y ,0, "Number_01",0,0,3,0) if hour < 10
draw_picture_number(x + 18 * 1, y ,hour, "Number_01",0,0,3,0)
draw_picture_number(x + 18 * 3, y ,0, "Number_01",0,0,3,0) if min < 10
draw_picture_number(x + 18 * 4, y ,min, "Number_01",0,0,3,0)
draw_picture_number(x + 18 * 6, y ,0, "Number_01",0,0,3,0) if sec < 10
draw_picture_number(x + 18 * 7, y ,sec , "Number_01",0,0,3,0)
end
#--------------------------------------------------------------------------
# * selected
#--------------------------------------------------------------------------
def selected=(selected)
@selected = selected
end
end
#==============================================================================
# ** Cache
#==============================================================================
module Cache
#--------------------------------------------------------------------------
# Menu
#--------------------------------------------------------------------------
def self.menu(filename)
load_bitmap("Graphics/Menus/", filename)
end
end
#==============================================================================
# ** Game_Map
#==============================================================================
class Game_Map
attr_reader :name
#--------------------------------------------------------------------------
# * setup
#--------------------------------------------------------------------------
alias mog_vx06_setup setup
def setup(map_id)
mog_vx06_setup(map_id)
data = load_data("Data/MapInfos.rvdata")
@name = data[@map_id].name
end
end
#==============================================================================
# ** Scene_File
#==============================================================================
class Scene_File < Scene_Base
include MOG_VX08
#--------------------------------------------------------------------------
# * initialize
#--------------------------------------------------------------------------
def initialize(saving, from_title, from_event)
@saving = saving
@from_title = from_title
@from_event = from_event
@file_max = FILES_MAX
@file_max = 1 if FILES_MAX < 1
end
#--------------------------------------------------------------------------
# * Start
#--------------------------------------------------------------------------
def start
super
create_layout
create_savefile_windows
if @saving
@index = $game_temp.last_file_index
else
@index = self.latest_file_index
end
@check_prev_index = true
@savefile_windows[@index].selected = true
end
#--------------------------------------------------------------------------
# * Create_background
#--------------------------------------------------------------------------
def create_layout
@background = Plane.new
@background.bitmap = Cache.menu("Background")
@background.z = 0
@layout_01 = Sprite.new
@layout_01.bitmap = Cache.menu("Save_Layout01")
@layout_01.z = 1
@layout_01.blend_type = 1
image = Cache.menu("Save_Layout02")
@bitmap = Bitmap.new(image.width,image.height)
cw = image.width
ch = image.height / 2
if @saving
h = 0
else
h = ch
end
src_rect = Rect.new(0, h, cw, ch)
@bitmap.blt(0,0, image, src_rect)
@layout_02 = Sprite.new
@layout_02.bitmap = @bitmap
@layout_02.z = 3
@layout_02.y = 370
end
#--------------------------------------------------------------------------
# * Termination Processing
#--------------------------------------------------------------------------
def terminate
@background.bitmap.dispose
@background.dispose
@layout_01.bitmap.dispose
@layout_01.dispose
@layout_02.bitmap.dispose
@layout_02.dispose
@bitmap.dispose
super
dispose_item_windows
end
#--------------------------------------------------------------------------
# * Return to Original Screen
#--------------------------------------------------------------------------
def return_scene
if @from_title
$scene = Scene_Title.new
elsif @from_event
$scene = Scene_Map.new
else
$scene = Scene_Menu.new(4)
end
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
update_menu_background
update_savefile_windows
update_savefile_selection
check_start_index
end
#--------------------------------------------------------------------------
# * check_start_index
#--------------------------------------------------------------------------
def check_start_index
return if @check_prev_index == false
@check_prev_index = false
check_active_window
end
#--------------------------------------------------------------------------
# * check_active_window
#--------------------------------------------------------------------------
def check_active_window
@index = 0 if @index == nil
for i in 0...@file_max
@pw = @index - 1
@pw = 0 if @pw > @file_max - 1
@pw = @file_max- 1 if @pw < 0
@aw = @index
@nw = @index + 1
@nw = 0 if @nw > @file_max - 1
@nw = @file_max - 1 if @nw < 0
case @savefile_windows[i].file_index
when @pw,@nw
@savefile_windows[i].visible = true
@savefile_windows[i].contents_opacity = 100
when @aw
@savefile_windows[i].visible = true
@savefile_windows[i].contents_opacity = 255
else
@savefile_windows[i].visible = false
end
end
end
#--------------------------------------------------------------------------
# * Create Save File Window
#--------------------------------------------------------------------------
def create_savefile_windows
@pw_pos = [-160,32]
@aw_pos = [-96,160]
@nw_pos = [-32,288]
@savefile_windows = []
for i in 0...@file_max
@savefile_windows[i] = Window_SaveFile.new(i, make_filename(i))
@savefile_windows[i].z = 2
@savefile_windows[i].visible = false
@savefile_windows[i].x = 400
end
check_active_window
@item_max = @file_max
end
#--------------------------------------------------------------------------
# * Dispose of Save File Window
#--------------------------------------------------------------------------
def dispose_item_windows
for window in @savefile_windows
window.dispose
end
end
#--------------------------------------------------------------------------
# * Update Save File Window
#--------------------------------------------------------------------------
def update_savefile_windows
update_slide_window
for window in @savefile_windows
window.update
end
end
#--------------------------------------------------------------------------
# * update_slide_window
#--------------------------------------------------------------------------
def update_slide_window
@background.ox += 1
slide_window_x(@pw,@pw_pos[0])
slide_window_x(@aw,@aw_pos[0])
slide_window_x(@nw,@nw_pos[0])
slide_window_y(@pw,@pw_pos[1])
slide_window_y(@aw,@aw_pos[1])
slide_window_y(@nw,@nw_pos[1])
end
#--------------------------------------------------------------------------
# * slide_window_x
#--------------------------------------------------------------------------
def slide_window_x(i,x_pos)
if @savefile_windows[i].x < x_pos
@savefile_windows[i].x += 15
@savefile_windows[i].x = x_pos if @savefile_windows[i].x > x_pos
end
if @savefile_windows[i].x > x_pos
@savefile_windows[i].x -= 15
@savefile_windows[i].x = x_pos if @savefile_windows[i].x < x_pos
end
end
#--------------------------------------------------------------------------
# * slide_window_y
#--------------------------------------------------------------------------
def slide_window_y(i,y_pos)
if @savefile_windows[i].y < y_pos
@savefile_windows[i].y += 15
@savefile_windows[i].y = y_pos if @savefile_windows[i].y > y_pos
end
if @savefile_windows[i].y > y_pos
@savefile_windows[i].y -= 15
@savefile_windows[i].y = y_pos if @savefile_windows[i].y < y_pos
end
end
#--------------------------------------------------------------------------
# * reset_position
#--------------------------------------------------------------------------
def reset_position(diretion)
check_active_window
case diretion
when 0
@savefile_windows[@pw].y = -64
@savefile_windows[@pw].x = 0
when 1
@savefile_windows[@nw].y = 440
@savefile_windows[@nw].x = 0
end
end
#--------------------------------------------------------------------------
# * Update Save File Selection
#--------------------------------------------------------------------------
def update_savefile_selection
if Input.trigger?(Input::C)
determine_savefile
elsif Input.trigger?(Input::B)
Sound.play_cancel
return_scene
else
last_index = @index
if Input.trigger?(Input::DOWN)
cursor_down(Input.trigger?(Input::DOWN))
if @file_max > 2
reset_position(1)
else
reset_position(0)
end
end
if Input.trigger?(Input::UP)
cursor_up(Input.trigger?(Input::UP))
reset_position(0)
end
if @index != last_index
Sound.play_cursor
@savefile_windows[last_index].selected = false
@savefile_windows[@index].selected = true
end
end
end
#--------------------------------------------------------------------------
# * Confirm Save File
#--------------------------------------------------------------------------
def determine_savefile
if @saving
Sound.play_save
do_save
else
if @savefile_windows[@index].file_exist
Sound.play_load
do_load
else
Sound.play_buzzer
return
end
end
$game_temp.last_file_index = @index
end
#--------------------------------------------------------------------------
# * Move cursor down
#--------------------------------------------------------------------------
def cursor_down(wrap)
if @index < @item_max - 1 or wrap
@index = (@index + 1) % @item_max
end
end
#--------------------------------------------------------------------------
# * Move cursor up
#--------------------------------------------------------------------------
def cursor_up(wrap)
if @index > 0 or wrap
@index = (@index - 1 + @item_max) % @item_max
end
end
#--------------------------------------------------------------------------
# * Create Filename
#--------------------------------------------------------------------------
def make_filename(file_index)
return "Save#{file_index + 1}.rvdata"
end
#--------------------------------------------------------------------------
# * Select File With Newest Timestamp
#--------------------------------------------------------------------------
def latest_file_index
index = 0
latest_time = Time.at(0)
for i in 0...@file_max
if @savefile_windows[i].time_stamp > latest_time
latest_time = @savefile_windows[i].time_stamp
index = i
end
end
return index
end
#--------------------------------------------------------------------------
# * Execute Save
#--------------------------------------------------------------------------
def do_save
file = File.open(@savefile_windows[@index].filename, "wb")
write_save_data(file)
file.close
return_scene
end
#--------------------------------------------------------------------------
# * Execute Load
#--------------------------------------------------------------------------
def do_load
file = File.open(@savefile_windows[@index].filename, "rb")
read_save_data(file)
file.close
$scene = Scene_Map.new
RPG::BGM.fade(1500)
Graphics.fadeout(60)
Graphics.wait(40)
@last_bgm.play
@last_bgs.play
end
#--------------------------------------------------------------------------
# * write_save_data
#--------------------------------------------------------------------------
def write_save_data(file)
characters = []
for actor in $game_party.members
characters.push([actor.character_name, actor.character_index,
actor.level,actor.face_name, actor.face_index])
end
$game_system.save_count += 1
$game_system.version_id = $data_system.version_id
map_name = $game_map.name
@last_bgm = RPG::BGM::last
@last_bgs = RPG::BGS::last
Marshal.dump(characters, file)
Marshal.dump(map_name, file)
Marshal.dump(Graphics.frame_count, file)
Marshal.dump(@last_bgm, file)
Marshal.dump(@last_bgs, file)
Marshal.dump($game_system, file)
Marshal.dump($game_message, file)
Marshal.dump($game_switches, file)
Marshal.dump($game_variables, file)
Marshal.dump($game_self_switches, file)
Marshal.dump($game_actors, file)
Marshal.dump($game_party, file)
Marshal.dump($game_troop, file)
Marshal.dump($game_map, file)
Marshal.dump($game_player, file)
end
#--------------------------------------------------------------------------
# * read_save_data
#--------------------------------------------------------------------------
def read_save_data(file)
characters = Marshal.load(file)
map_name = Marshal.load(file)
Graphics.frame_count = Marshal.load(file)
@last_bgm = Marshal.load(file)
@last_bgs = Marshal.load(file)
$game_system = Marshal.load(file)
$game_message = Marshal.load(file)
$game_switches = Marshal.load(file)
$game_variables = Marshal.load(file)
$game_self_switches = Marshal.load(file)
$game_actors = Marshal.load(file)
$game_party = Marshal.load(file)
$game_troop = Marshal.load(file)
$game_map = Marshal.load(file)
$game_player = Marshal.load(file)
if $game_system.version_id != $data_system.version_id
$game_map.setup($game_map.map_id)
$game_player.center($game_player.x, $game_player.y)
end
end
end
$mog_rgssvx_scene_file = true
[Tienes que estar registrado y conectado para ver esa imagen]
AGRADECER NO CUESTA NADA
Última edición por Catun el Jue 10 Feb 2011, 1:56 pm, editado 2 veces
Invitado- Invitado
Catunazo de Script
Sistema de Cadena
¿para que sirbe?
Crea un sistema de cadenas un poco similar al de FFXIII al golpear enemigos
¿Como usarlo?
Colocar estas imagenes en la carpeta Graphic/System de sus proyectos
[Tienes que estar registrado y conectado para ver esa imagen]
Screen
No encontre DX
Compatibilidad
No comprobado en laterales
Script
¿para que sirbe?
Combierta la basurienta Tienda RTP en algo mas chulo mono y completamente Editable
¿Como usarlo?
Colocar imagenes en la carpeta Menus qe hemos creado anteriormente ñ_ñ
[Tienes que estar registrado y conectado para ver esa imagen]
Esta colocarla en la carpeta System
[Tienes que estar registrado y conectado para ver esa imagen]
Opcional
Pueden colocarle una imagene a la tienda colocandola en la carpeta Menus
Ejemplo: Ralph_name.png
Screen
[Tienes que estar registrado y conectado para ver esa imagen]
compatibilidad
Alta
Script
despues editare colocando el doble de scripts ñ_ñ
AGRADECER NO CUESTA NADA
¿para que sirbe?
Crea un sistema de cadenas un poco similar al de FFXIII al golpear enemigos
¿Como usarlo?
Colocar estas imagenes en la carpeta Graphic/System de sus proyectos
[Tienes que estar registrado y conectado para ver esa imagen]
Screen
No encontre DX
Compatibilidad
No comprobado en laterales
Script
- Spoiler:
- #==============================================================================
# MOG VX - Chain System V1.1
#==============================================================================
# By Moghunter
# [Tienes que estar registrado y conectado para ver este vínculo]
#==============================================================================
# Sistema de chain que permite executar várias ações no mesmo turno.
#==============================================================================
# NOTA
# - Velocidade do medidor aumenta cada vez que você obtém sucesso.
# Isso serve para o jogador não se acostumar com o timming.
#==============================================================================
# Serão necessários ter os seguintes arquivos.
#
# Chain_Layout.png
# Chain_Meter.png
# Chain_Text.png
#
# Grave-os na pasta GRAPHICS/SYSTEM
#==============================================================================
# Histórico
# 1.1 Remoção do limite de tempo baseado na quantidade de frames da animação.
#==============================================================================
module MOG
#Definição ID dos personagens que terão o chain de ataque ativado.
CHAIN_ACTOR_ATTACK = [1,2,5]
#Definição ID das habilidades que terão o chain ativado.
CHAIN_SKILL_ID = [59,63]
#Definição ID dos itens que terão o chain ativado.
CHAIN_ITEM_ID = []
#Área de sucesso. Configure-o baseado na imagem do medidor que você criar.
CHAIN_SUCCESS_RANGE = [42,58]
#Velocidade do medidor.
CHAIN_BASE_SPEED = 23
#Adição extra na velocidade do medidor cada vez que você tiver sucesso.
CHAIN_EXTRA_SPEED = 4
#Velocidade especifica baseado no personagem.
CHAIN_ACTOR_SPEED = {2=> 10 }
#Deixe true caso seu Battle System não mostrar o sprite de seu personagem.
#Essa opção desativa ações de chain direcionadas no grupo dos heróis,
#uma vez que a posição do chain é baseado na posição do sprite do alvo.
CHAIN_NO_ACTOR_SPRITE_BATTLE_SYSTEM = true
#Posição do Layout.
CHAIN_LAYOUT_POSITION = [0,0]
#Posição do medidor.
CHAIN_METER_POSITION = [8,18]
#Posição do texto.
CHAIN_TEXT_POSITION = [-20,10]
#Som ao atingir o sucesso.
CHAIN_SUCCESS_SE = RPG::SE.new("Chime1", 100, 150)
#Som caso falhar.
CHAIN_FAIL_SE = RPG::SE.new("Ice2", 100, 100)
end
#===============================================================================
# ● Chain_Sprite
#===============================================================================
class Chain_Sprite < Sprite
attr_accessor :gauge
attr_accessor :active
attr_accessor :press_phase
attr_accessor :fade
include MOG
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
def initialize
super
@gauge = 0
@active = false
@press_phase = false
@speed = CHAIN_BASE_SPEED
@maxgauge = 1000
@gauge_limit_a = CHAIN_SUCCESS_RANGE[0] * 10
@gauge_limit_b = CHAIN_SUCCESS_RANGE[1] * 10
@time_limit = false
@fade = false
create_layout
create_chain_meter
create_chain_text
end
#--------------------------------------------------------------------------
# ● Create Layout
#--------------------------------------------------------------------------
def create_layout
@layout = Sprite.new
@layout.bitmap = Cache.system("Chain_Layout")
@layout.z = 201
@layout_width = @layout.bitmap.width
@layout_width2 = @layout_width / 2
@layout_height = @layout.bitmap.height / 2
@layout_pre_x = -@layout_width2 + CHAIN_LAYOUT_POSITION[0]
@layout_pre_y = -@layout_height + CHAIN_LAYOUT_POSITION[1]
@layout.x = @layout_pre_x
@layout.y = @layout_pre_y
end
#--------------------------------------------------------------------------
# ● Create Layout
#--------------------------------------------------------------------------
def create_chain_text
@text_time = 0
@text_image = Cache.system("Chain_Text")
@text_bitmap = Bitmap.new(@text_image.width,@text_image.height)
@text_width = @text_image.width
@text_height = @text_image.height / 3
@text_src_rect = Rect.new(0, 0, @text_width, @text_height)
@text_bitmap.blt(0,0, @text_image, @text_src_rect)
@text_sprite = Sprite.new
@text_sprite.bitmap = @text_bitmap
@text_sprite.opacity = 0
@text_sprite.z = 202
@text_sprite_pre_x = -@layout_width2 + CHAIN_TEXT_POSITION[0]
@text_sprite_pre_y = CHAIN_TEXT_POSITION[1]
@text_sprite.x = @text_sprite_pre_x
@text_sprite.y = @text_sprite_pre_y
end
#--------------------------------------------------------------------------
# ● Create Chain Meter
#--------------------------------------------------------------------------
def create_chain_meter
@chain_flow = 0
@chain_image = Cache.system("Chain_Meter")
@chain_bitmap = Bitmap.new(@chain_image.width,@chain_image.height)
@chain_width = @chain_image.width
@chain_height = @chain_image.height * @gauge / @maxgauge
@chain_src_rect = Rect.new(0, @chain_height, @chain_width, @chain_height)
@chain_bitmap.blt(0,0, @chain_image, @chain_src_rect)
@chain_sprite = Sprite.new
@chain_sprite.bitmap = @chain_bitmap
@chain_sprite_pre_x = -@layout_width2 + CHAIN_METER_POSITION[0]
@chain_sprite_pre_y = -@layout_height + CHAIN_METER_POSITION[1]
@chain_sprite.x = @chain_sprite_pre_x
@chain_sprite.y = @chain_sprite_pre_y
@chain_sprite.z = 200
update_flow_chain_meter
end
#--------------------------------------------------------------------------
# ● Dispose
#--------------------------------------------------------------------------
def dispose
@layout.bitmap.dispose
@layout.dispose
@chain_sprite.bitmap.dispose
@chain_sprite.dispose
@chain_bitmap.dispose
@text_sprite.bitmap.dispose
@text_sprite.dispose
@text_bitmap.dispose
super
end
#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------
def update
super
update_visible
update_flow_chain_meter
check_chain_active if @press_phase == true
end
#--------------------------------------------------------------------------
# ● update_text
#--------------------------------------------------------------------------
def refresh_text
@text_sprite.bitmap.clear
@text_sprite.opacity = 255
if @time_limit == true
h = @text_height * 2
elsif @active == true
h = 0
else
h = @text_height
end
@text_src_rect = Rect.new(0, h, @text_width, @text_height)
@text_bitmap.blt(0,0, @text_image, @text_src_rect)
end
#--------------------------------------------------------------------------
# ● update_visible
#--------------------------------------------------------------------------
def update_visible
if @fade == false
@text_sprite.x += 1
@text_sprite.opacity -= 1
if @press_phase == false
@chain_sprite.opacity -= 6
@layout.opacity -= 6
@text_sprite.opacity -= 6
end
else
if @layout.opacity > 0
@chain_sprite.opacity -= 4
@text_sprite.opacity -= 4
@layout.opacity -= 4
@chain_sprite.x += 1
@text_sprite.x += 1
@layout.x += 1
end
end
end
#--------------------------------------------------------------------------
# ● reset
#--------------------------------------------------------------------------
def reset
@active = false
@press_phase = false
refresh_text
@speed = CHAIN_BASE_SPEED
@time_limit = true
refresh_text
end
#--------------------------------------------------------------------------
# ● check_chain_active
#--------------------------------------------------------------------------
def check_chain_active
@press_phase = false if @gauge >= @maxgauge
if Input::trigger?(Input::C)
case @gauge
when @gauge_limit_a..@gauge_limit_b
@active = true
CHAIN_SUCCESS_SE.play
@speed += CHAIN_EXTRA_SPEED
else
@active = false
CHAIN_FAIL_SE.play
@speed = CHAIN_BASE_SPEED
end
@time_limit = false
@press_phase = false
refresh_text
end
end
#--------------------------------------------------------------------------
# ● Update Flow Chain Meter
#--------------------------------------------------------------------------
def update_flow_chain_meter
return if @press_phase == false
@gauge += @speed + @e_s if @gauge < @maxgauge
@gauge = @gauge_limit_b if @gauge > @gauge_limit_b and @active == true
reset if @gauge >= @maxgauge
@chain_sprite.bitmap.clear
@chain_height = @chain_image.height * @gauge / @maxgauge
@chain_src_rect = Rect.new(0, 0 ,@chain_width, @chain_height)
@chain_bitmap.blt(0,0, @chain_image, @chain_src_rect)
end
#--------------------------------------------------------------------------
# ● flow_clear
#--------------------------------------------------------------------------
def flow_clear(a_id)
@gauge = 0
@active = false
@text_time = 120
@time_limit = false
actor = $data_actors[a_id]
e_speed = CHAIN_ACTOR_SPEED[actor.id]
@e_s = e_speed
@e_s = 0 if e_speed == nil
update_flow_chain_meter
@chain_sprite.opacity = 255
@layout.opacity = 255
end
#--------------------------------------------------------------------------
# ● check_position(sx,sy)
#--------------------------------------------------------------------------
def check_position(sx,sy)
nx = [[sx, 0].max,-@layout_width + 544].min
ny = [[sy, @layout_height].max, 416].min
@chain_sprite.x = @chain_sprite_pre_x + nx
@chain_sprite.y = @chain_sprite_pre_y + ny
@layout.x = @layout_pre_x + nx
@layout.y = @layout_pre_y + ny
@text_sprite.x = @text_sprite_pre_x + nx - 30
@text_sprite.y = @text_sprite_pre_y + ny
end
end
#===============================================================================
# Scene_Battle
#===============================================================================
class Scene_Battle < Scene_Base
include MOG
#--------------------------------------------------------------------------
# ● start
#--------------------------------------------------------------------------
alias mog_chain_start start
def start
create_chain_sprite
mog_chain_start
end
#--------------------------------------------------------------------------
# ● create_chain_sprite
#--------------------------------------------------------------------------
def create_chain_sprite
@chain = Chain_Sprite.new
end
#--------------------------------------------------------------------------
# ● dispose_info_viewport
#--------------------------------------------------------------------------
alias mog_chain_dispose_info_viewport dispose_info_viewport
def dispose_info_viewport
mog_chain_dispose_info_viewport
@chain.dispose
end
#--------------------------------------------------------------------------
# ● update_basic
#--------------------------------------------------------------------------
alias mog_chain_update_basic update_basic
def update_basic(main = false)
mog_chain_update_basic(main)
@chain.update
end
#--------------------------------------------------------------------------
# ● execute_action_attack
#--------------------------------------------------------------------------
alias mog_chain_execute_action_attack execute_action_attack
def execute_action_attack
active_chain(0)
mog_chain_execute_action_attack
check_chain(0)
end
#--------------------------------------------------------------------------
# ● execute_action_skill
#--------------------------------------------------------------------------
alias mog_chain_execute_action_skill execute_action_skill
def execute_action_skill
active_chain(1)
mog_chain_execute_action_skill
check_chain(1)
end
#--------------------------------------------------------------------------
# ● execute_action_item
#--------------------------------------------------------------------------
alias mog_chain_execute_action_item execute_action_item
def execute_action_item
active_chain(2)
mog_chain_execute_action_item
check_chain(2)
end
#--------------------------------------------------------------------------
# ● clear_chain
#--------------------------------------------------------------------------
def active_chain(type)
return if @active_battler.is_a?(Game_Enemy)
case type
when 0
actor = @active_battler
enable = CHAIN_ACTOR_ATTACK.include?(actor.id)
when 1
skill = @active_battler.action.skill
enable = CHAIN_SKILL_ID.include?(skill.id)
when 2
item = @active_battler.action.item
enable = CHAIN_SKILL_ID.include?(item.id)
end
return if enable == false
targets = @active_battler.action.make_targets
for target in targets
return if target.is_a?(Game_Actor) and CHAIN_NO_ACTOR_SPRITE_BATTLE_SYSTEM == true
sx = target.screen_x
sy = target.screen_y
@chain.check_position(sx,sy)
end
a_id = @active_battler.id
@chain.press_phase = true
@chain.flow_clear(a_id)
for i in 0...180
break if @chain.active == false
update_basic
end
end
#--------------------------------------------------------------------------
# ● check_chain
#--------------------------------------------------------------------------
def check_chain(type)
return if @active_battler.is_a?(Game_Enemy) or @chain.active == false
targets = @active_battler.action.make_targets
for target in targets
if target.hp > 0
case type
when 0
execute_action_attack
when 1
skill_mp = @active_battler.calc_mp_cost(@active_battler.action.skill)
execute_action_skill unless skill_mp > @active_battler.mp
when 2
item = @active_battler.action.item
execute_action_item unless $game_party.item_number(item) == 0
end
end
end
@chain.press_phase = false
end
#--------------------------------------------------------------------------
# ● process_victory
#--------------------------------------------------------------------------
alias mog_chain_process_victory process_victory
def process_victory
@chain.fade = true
mog_chain_process_victory
end
end
$mog_rgssvx_chain_system = true
¿para que sirbe?
Combierta la basurienta Tienda RTP en algo mas chulo mono y completamente Editable
¿Como usarlo?
Colocar imagenes en la carpeta Menus qe hemos creado anteriormente ñ_ñ
[Tienes que estar registrado y conectado para ver esa imagen]
Esta colocarla en la carpeta System
[Tienes que estar registrado y conectado para ver esa imagen]
Opcional
Pueden colocarle una imagene a la tienda colocandola en la carpeta Menus
Ejemplo: Ralph_name.png
Screen
[Tienes que estar registrado y conectado para ver esa imagen]
compatibilidad
Alta
Script
- Spoiler:
- #==============================================================================
# MOG VX - Scene Shop V1.2
#==============================================================================
# By Moghunter
# [Tienes que estar registrado y conectado para ver este vínculo]
#==============================================================================
# Menu com layout em imagens.
# Para customizar basta mudar as imagens, criando seus próprios layouts.
#==============================================================================
# 1 - Crie uma pasta com o nome MENUS. (GRAPHICS/MENUS)
# 2 - Deverão conter as seguintes imagens nesta pasta.
#
# Background
# Item_Back
# Shop_Par_Text
# Shop_Possession
# Shop_Status_Back
# Shop01
# Shop02
# Shop03
# Shop04
#
# 3 - Será necessário ter a seguinte imagem na pasta System.
#
# Number_01
#
# 4 - Opcional, você poderá criar os nomes dos personagems em pictures, para
# isso crie uma imagem com o nome do personagem e nomeie da seguinte forma
#
# Nome_do_personagem + _name.png
#
# Exemplo - Ralph_name.png
# Grave a imagem na pasta GRAPHICS/MENUS
#
#==============================================================================
module MOG_SCENE_SHOP
#Texto da janela de ajuda de compras.
BUY_TEXT = "Comprar Itens."
#Texto da janela de ajuda de vendas.
SELL_TEXT = "Vender Itens"
#Velocidade de movimento das janelas.
SLIDE_SPEED = 20
#Delizar a imagem de fundo.
SLIDE_BACKGROUND = true
end
#==============================================================================
# ■ Cache
#==============================================================================
module Cache
#--------------------------------------------------------------------------
# Menu
#--------------------------------------------------------------------------
def self.menu(filename)
load_bitmap("Graphics/Menus/", filename)
end
end
#==============================================================================
# ■ Window_Base
#==============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# ● draw_picture_number(x,y,value,file_name,align, space, frame_max ,frame_index)
#--------------------------------------------------------------------------
# X - Posição na horizontal
# Y - Posição na vertical
# VALUE - Valor Numérico
# FILE_NAME - Nome do arquivo
# ALIGN - Centralizar 0 - Esquerda 1- Centro 2 - Direita
# SPACE - Espaço entre os números.
# FRAME_MAX - Quantidade de quadros(Linhas) que a imagem vai ter.
# FRAME_INDEX - Definição do quadro a ser utilizado.
#--------------------------------------------------------------------------
def draw_picture_number(x,y,value, file_name,align = 0, space = 0, frame_max = 1,frame_index = 0)
number_image = Cache.system(file_name)
frame_max = 1 if frame_max < 1
frame_index = frame_max if frame_index > frame_max
align = 2 if align > 2
cw = number_image.width / 10
ch = number_image.height / frame_max
h = ch * frame_index
number = value.abs.to_s.split(//)
case align
when 0
plus_x = (-cw + space) * number.size
when 1
plus_x = (-cw + space) * number.size
plus_x /= 2
when 2
plus_x = 0
end
for r in 0..number.size - 1
number_abs = number[r].to_i
number_rect = Rect.new(cw * number_abs, h, cw, ch)
self.contents.blt(plus_x + x + ((cw - space) * r), y , number_image, number_rect)
end
end
#--------------------------------------------------------------------------
# * draw_actor_face_shop
#--------------------------------------------------------------------------
def draw_actor_face_shop(actor, x, y, size = 96)
draw_face_shop(actor.face_name, actor.face_index, x, y, size)
end
#--------------------------------------------------------------------------
# * draw_face_shop
#--------------------------------------------------------------------------
def draw_face_shop(face_name, face_index, x, y, size = 32)
bitmap = Cache.face(face_name)
rx = face_index % 4 * 96 + (96 - size) / 2
ry = face_index / 4 * 96 + (96 - size) / 2
rect = Rect.new(rx,ry + 20, 96,32)
bitmap.stretch_blt( bitmap.rect, bitmap, bitmap.rect)
self.contents.blt(x, y, bitmap, rect)
bitmap.dispose
end
#--------------------------------------------------------------------------
# * draw_possession
#--------------------------------------------------------------------------
def draw_possession(x,y)
image = Cache.menu("Shop_Possession")
cw = image.width
ch = image.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y , image, src_rect)
image.dispose
end
#--------------------------------------------------------------------------
# * draw_status_back
#--------------------------------------------------------------------------
def draw_status_back(x,y)
image = Cache.menu("Shop_Status_Back")
cw = image.width
ch = image.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y , image, src_rect)
image.dispose
end
#--------------------------------------------------------------------------
# * image_name_exist?
#--------------------------------------------------------------------------
def image_name_exist?(actor)
Cache.menu(actor.name + "_Name") rescue return false
end
#--------------------------------------------------------------------------
# * Draw_Name_Menu
#--------------------------------------------------------------------------
def draw_actor_name_menu(actor,x,y)
if image_name_exist?(actor)
image_name = actor.name + "_Name"
image = Cache.menu(image_name)
cw = image.width
ch = image.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y , image, src_rect)
image.dispose
else
self.contents.font.name = "Georgia"
self.contents.font.bold = true
self.contents.font.size = 18
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x, y, 108, WLH, actor.name)
end
end
#--------------------------------------------------------------------------
# * draw_item_back
#--------------------------------------------------------------------------
def draw_item_back(x,y,type)
if type == 1
image = Cache.menu("Item_Back2")
else
image = Cache.menu("Item_Back")
end
cw = image.width
ch = image.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y , image, src_rect)
image.dispose
end
#--------------------------------------------------------------------------
# * draw_parameter_text
#--------------------------------------------------------------------------
def draw_parameter_text(x,y)
image = Cache.menu("Shop_Par_Text")
cw = image.width
ch = image.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y , image, src_rect)
image.dispose
end
#--------------------------------------------------------------------------
# * Draw Item Name 2
#--------------------------------------------------------------------------
def draw_item_name_menu(item, x, y, size = 172 ,align = 0,enabled = true)
if item != nil
draw_icon(item.icon_index, x, y, enabled)
self.contents.font.color = normal_color
self.contents.font.color.alpha = enabled ? 255 : 128
self.contents.draw_text(x + 24, y, size, WLH, item.name,align)
end
end
end
#==============================================================================
# ■ Window_Help
#==============================================================================
class Window_Help < Window_Base
attr_accessor :text
end
#==============================================================================
# ■ Window_ShopBuy
#==============================================================================
class Window_ShopBuy < Window_Selectable
#--------------------------------------------------------------------------
# ● initialize
#--------------------------------------------------------------------------
def initialize(x, y)
super(x, y, 284, 296)
@shop_goods = $game_temp.shop_goods
refresh
self.opacity = 0
self.index = 0
end
#--------------------------------------------------------------------------
# ● item
#--------------------------------------------------------------------------
def item
return @data[self.index]
end
#--------------------------------------------------------------------------
# ● refresh
#--------------------------------------------------------------------------
def refresh
@data = []
for goods_item in @shop_goods
case goods_item[0]
when 0
item = $data_items[goods_item[1]]
when 1
item = $data_weapons[goods_item[1]]
when 2
item = $data_armors[goods_item[1]]
end
if item != nil
@data.push(item)
end
end
@item_max = @data.size
create_contents
for i in 0...@item_max
draw_item(i)
end
end
#--------------------------------------------------------------------------
# ● draw_item
#--------------------------------------------------------------------------
def draw_item(index)
item = @data[index]
number = $game_party.item_number(item)
enabled = (item.price <= $game_party.gold and number < 99)
rect = item_rect(index)
self.contents.clear_rect(rect)
self.contents.font.name = "Georgia"
self.contents.font.bold = true
self.contents.font.size = 18
draw_item_back(rect.x,rect.y,0)
draw_item_name_menu(item, rect.x , rect.y, 120,0,enabled)
rect.width -= 4
file_name = "Number_01"
draw_picture_number(rect.x + 250 ,rect.y ,item.price,file_name,0,0,3,0)
end
#--------------------------------------------------------------------------
# ● update_help
#--------------------------------------------------------------------------
def update_help
@help_window.set_text(item == nil ? "" : item.description)
end
end
#==============================================================================
# ■ Window_Item_Shop
#==============================================================================
class Window_Item_Shop < Window_Selectable
#--------------------------------------------------------------------------
# ● initialize
#--------------------------------------------------------------------------
def initialize(x, y, width, height)
super(x, y, width, height)
@column_max = 2
self.index = 0
refresh
end
#--------------------------------------------------------------------------
# ● item
#--------------------------------------------------------------------------
def item
return @data[self.index]
end
#--------------------------------------------------------------------------
# ● include
#--------------------------------------------------------------------------
def include?(item)
return false if item == nil
if $game_temp.in_battle
return false unless item.is_a?(RPG::Item)
end
return true
end
#--------------------------------------------------------------------------
# ● enable
#--------------------------------------------------------------------------
def enable?(item)
return $game_party.item_can_use?(item)
end
#--------------------------------------------------------------------------
# ● refresh
#--------------------------------------------------------------------------
def refresh
@data = []
for item in $game_party.items
next unless include?(item)
@data.push(item)
if item.is_a?(RPG::Item) and item.id == $game_party.last_item_id
self.index = @data.size - 1
end
despues editare colocando el doble de scripts ñ_ñ
AGRADECER NO CUESTA NADA
Última edición por Catun el Jue 10 Feb 2011, 2:01 pm, editado 1 vez
Invitado- Invitado
Catunazo de Script
Mog Esena de Menu
¿Para que sirbe?
Crea una esena de menu
¿como usarlo?
Igual a los anteriores guardas estas imagenes en la carpeta que hemos creado con el nombre Menus
[Tienes que estar registrado y conectado para ver esa imagen]
Y guardar esta en la carpeta System
[Tienes que estar registrado y conectado para ver esa imagen]
Screen
[Tienes que estar registrado y conectado para ver esa imagen]
Compatibilidad
Es completamente Editable para ser compatible con los demas script que agregan opciones al menu
Script
¿Para que sirbe?
Para mostrar un contador de tiempo en el mapa
¿como usarlo?
Colocar estas imagenes en la carpeta Graphics/System
[Tienes que estar registrado y conectado para ver esa imagen]
Screen
[Tienes que estar registrado y conectado para ver esa imagen]
Script
Pronto subire mas script Mog y de otros creadores ¿ok?
¿Para que sirbe?
Crea una esena de menu
¿como usarlo?
Igual a los anteriores guardas estas imagenes en la carpeta que hemos creado con el nombre Menus
[Tienes que estar registrado y conectado para ver esa imagen]
Y guardar esta en la carpeta System
[Tienes que estar registrado y conectado para ver esa imagen]
Screen
[Tienes que estar registrado y conectado para ver esa imagen]
Compatibilidad
Es completamente Editable para ser compatible con los demas script que agregan opciones al menu
Script
- Spoiler:
- #==============================================================================
# MOG VX- Menu Yui 1.5
#==============================================================================
# By Moghunter
# [Tienes que estar registrado y conectado para ver este vínculo]
#==============================================================================
# Menu animado com layout em pictures.
#==============================================================================
#
# Update
# 2010/12/23 -> v1.5 - Novas animações e melhor codificação.
#
#==============================================================================
# 1 - Crie uma pasta com o nome Graphics/Menus.
# 2 - Nesta pasta devem conter os seguintes arquivos.
#
# Background.png
# Menu_Actor_Parameter.png
# Menu_Command.png
# Menu_HPSP.png
# Menu_Layout.png
# Menu_Layout2.png
# Menu_Select.png
#
# 3 - Será necessário ter a imagem Number_02.png na pasta Graphics/System.
#
#==============================================================================
#==============================================================================
# ■ Cache
#==============================================================================
module Cache
def self.menu(filename)
load_bitmap("Graphics/Menus/", filename)
end
end
#==============================================================================
# ■ Window_Base
#==============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# ● draw_picture_number(x,y,value,file_name,align, space, frame_max ,frame_index)
#--------------------------------------------------------------------------
# X - Posição na horizontal
# Y - Posição na vertical
# VALUE - Valor Numérico
# FILE_NAME - Nome do arquivo
# ALIGN - Centralizar 0 - Esquerda 1- Centro 2 - Direita
# SPACE - Espaço entre os números.
# FRAME_MAX - Quantidade de quadros(Linhas) que a imagem vai ter.
# FRAME_INDEX - Definição do quadro a ser utilizado.
#--------------------------------------------------------------------------
def draw_picture_number(x,y,value, file_name,align = 0, space = 0, frame_max = 1,frame_index = 0)
number_image = Cache.system(file_name)
frame_max = 1 if frame_max < 1
frame_index = frame_max -1 if frame_index > frame_max -1
align = 2 if align > 2
cw = number_image.width / 10
ch = number_image.height / frame_max
h = ch * frame_index
number = value.abs.to_s.split(//)
case align
when 0
plus_x = (-cw + space) * number.size
when 1
plus_x = (-cw + space) * number.size
plus_x /= 2
when 2
plus_x = 0
end
for r in 0..number.size - 1
number_abs = number[r].to_i
number_rect = Rect.new(cw * number_abs, h, cw, ch)
self.contents.blt(plus_x + x + ((cw - space) * r), y , number_image, number_rect)
end
number_image.dispose
end
#--------------------------------------------------------------------------
# ● draw_menu_parameter
#--------------------------------------------------------------------------
def draw_menu_parameter( x, y)
image = Cache.menu("Menu_Actor_Parameter")
cw = image.width
ch = image.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x - (cw / 2), y - (ch / 2) - 25, image, src_rect)
image.dispose
end
#--------------------------------------------------------------------------
# ● draw_meter
#--------------------------------------------------------------------------
def draw_meter( x, y,name,value1,value2,frames_max,frame_index)
image = Cache.menu(name)
cw = image.width * value1 / value2
ch = image.height / frames_max
h = ch * frame_index
src_rect = Rect.new(0, h, cw, ch)
self.contents.blt(x , y , image, src_rect)
image.dispose
end
#--------------------------------------------------------------------------
# ● draw_actor_state2
#--------------------------------------------------------------------------
def draw_actor_state2(actor, x, y, width = 96)
count = 0
for state in actor.states
plus_x = (24 * actor.states.size / 2)
draw_icon(state.icon_index, x + 24 * count - plus_x, y)
count += 1
break if (24 * count > width - 24)
end
end
end
#==============================================================================
# ■ Game_Map
#==============================================================================
class Game_Map
#--------------------------------------------------------------------------
# ● mpname
#--------------------------------------------------------------------------
def mpname
$mpname = load_data("Data/MapInfos.rvdata")
$mpname[@map_id].name
end
end
#==============================================================================
# ■ Window_Selectable_Menu
#==============================================================================
class Window_Selectable_Menu < Window_Base
attr_reader :item_max
attr_reader :column_max
attr_reader :index
#--------------------------------------------------------------------------
# ● initialize
#--------------------------------------------------------------------------
def initialize(x, y, width, height, spacing = 32)
@item_max = 1
@column_max = 1
@index = -1
@spacing = spacing
super(x, y, width, height)
end
#--------------------------------------------------------------------------
# ● create_contents
#--------------------------------------------------------------------------
def create_contents
self.contents.dispose
self.contents = Bitmap.new(width - 32, [height - 32, row_max * WLH].max)
end
#--------------------------------------------------------------------------
# ● index
#--------------------------------------------------------------------------
def index=(index)
@index = index
end
#--------------------------------------------------------------------------
# ● row_max
#--------------------------------------------------------------------------
def row_max
return (@item_max + @column_max - 1) / @column_max
end
#--------------------------------------------------------------------------
# ● top_row
#--------------------------------------------------------------------------
def top_row
return self.oy / WLH
end
#--------------------------------------------------------------------------
# ● top_row
#--------------------------------------------------------------------------
def top_row=(row)
row = 0 if row < 0
row = row_max - 1 if row > row_max - 1
self.oy = row * WLH
end
#--------------------------------------------------------------------------
# ● page_row_max
#--------------------------------------------------------------------------
def page_row_max
return (self.height - 32) / WLH
end
#--------------------------------------------------------------------------
# ● page_item_max
#--------------------------------------------------------------------------
def page_item_max
return page_row_max * @column_max
end
#--------------------------------------------------------------------------
# ● bottom_row
#--------------------------------------------------------------------------
def bottom_row
return top_row + page_row_max - 1
end
#--------------------------------------------------------------------------
# ● bottom_row=(row)
#--------------------------------------------------------------------------
def bottom_row=(row)
self.top_row = row - (page_row_max - 1)
end
#--------------------------------------------------------------------------
# ● cursor_movable?
#--------------------------------------------------------------------------
def cursor_movable?
return false if (not visible or not active)
return false if (index < 0 or index > @item_max or @item_max == 0)
return false if (@opening or @closing)
return true
end
#--------------------------------------------------------------------------
# ● cursor_down
#--------------------------------------------------------------------------
def cursor_down(wrap = false)
if (@index < @item_max - @column_max) or (wrap and @column_max == 1)
@index = (@index + @column_max) % @item_max
end
end
#--------------------------------------------------------------------------
# ● cursor_up
#--------------------------------------------------------------------------
def cursor_up(wrap = false)
if (@index >= @column_max) or (wrap and @column_max == 1)
@index = (@index - @column_max + @item_max) % @item_max
end
end
#--------------------------------------------------------------------------
# ● cursor_right
#--------------------------------------------------------------------------
def cursor_right(wrap = false)
if (@column_max >= 2) and
(@index < @item_max - 1 or (wrap and page_row_max == 1))
@index = (@index + 1) % @item_max
end
end
#--------------------------------------------------------------------------
# ● cursor_left
#--------------------------------------------------------------------------
def cursor_left(wrap = false)
if (@column_max >= 2) and
(@index > 0 or (wrap and page_row_max == 1))
@index = (@index - 1 + @item_max) % @item_max
end
end
#--------------------------------------------------------------------------
# ● update
#--------------------------------------------------------------------------
def update
super
if cursor_movable?
last_index = @index
if Input.repeat?(Input::DOWN)
cursor_down(Input.trigger?(Input::DOWN))
end
if Input.repeat?(Input::UP)
cursor_up(Input.trigger?(Input::UP))
end
if Input.repeat?(Input::RIGHT)
cursor_down(Input.trigger?(Input::DOWN))
end
if Input.repeat?(Input::LEFT)
cursor_up(Input.trigger?(Input::UP))
end
if @index != last_index
Sound.play_cursor
end
end
end
end
#==============================================================================
# ■ Window_MenuStatus_Yui
#==============================================================================
class Window_MenuStatus_Yui < Window_Selectable_Menu
#--------------------------------------------------------------------------
# ● initialize
#--------------------------------------------------------------------------
def initialize(x, y)
super(x, y, 480, 300)
refresh
self.opacity = 0
self.contents_opacity = 0
self.active = false
self.index = -1
end
#--------------------------------------------------------------------------
# ● refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@item_max = $game_party.members.size
p1 = [85,110]
p2 = [165,210]
p3 = [265,110]
p4 = [365,210]
for actor in $game_party.members
case actor.index
when 0
draw_menu_parameter(p1[0], p1[1])
draw_actor_graphic(actor, p1[0], p1[1])
draw_picture_number(p1[0] + 45 ,p1[1] - 82,actor.hp,"Number_01",0,0,3,0)
draw_picture_number(p1[0] + 83 ,p1[1] - 61,actor.mp,"Number_01",0,0,3,0)
draw_picture_number(p1[0] - 38 ,p1[1] - 55,actor.level,"Number_01",1,0,3,1)
draw_actor_state2(actor,p1[0] ,p1[1])
draw_meter(p1[0] - 27,p1[1] - 63,"Menu_HPSP",actor.hp,actor.maxhp,2,0)
draw_meter(p1[0] + 10,p1[1] - 42,"Menu_HPSP",actor.mp,actor.maxmp,2,1)
draw_actor_name(actor, p1[0] + 30, p1[1] - 25)
when 1
draw_menu_parameter(p2[0], p2[1])
draw_actor_graphic(actor, p2[0], p2[1])
draw_picture_number(p2[0] + 45 ,p2[1] - 82,actor.hp,"Number_01",0,0,3,0)
draw_picture_number(p2[0] + 83 ,p2[1] - 61,actor.mp,"Number_01",0,0,3,0)
draw_picture_number(p2[0] - 38 ,p2[1] - 55,actor.level,"Number_01",1,0,3,1)
draw_actor_state2(actor,p2[0] ,p2[1])
draw_meter(p2[0] - 27,p2[1] - 63,"Menu_HPSP",actor.hp,actor.maxhp,2,0)
draw_meter(p2[0] + 10,p2[1] - 42,"Menu_HPSP",actor.mp,actor.maxmp,2,1)
draw_actor_name(actor, p2[0] - 90, p2[1] - 25)
when 2
draw_menu_parameter(p3[0], p3[1])
draw_actor_graphic(actor, p3[0], p3[1])
draw_picture_number(p3[0] + 45 ,p3[1] - 82,actor.hp,"Number_01",0,0,3,0)
draw_picture_number(p3[0] + 83 ,p3[1] - 61,actor.mp,"Number_01",0,0,3,0)
draw_picture_number(p3[0] - 38 ,p3[1] - 55,actor.level,"Number_01",1,0,3,1)
draw_actor_state2(actor,p3[0] ,p3[1])
draw_meter(p3[0] - 27,p3[1] - 63,"Menu_HPSP",actor.hp,actor.maxhp,2,0)
draw_meter(p3[0] + 10,p3[1] - 42,"Menu_HPSP",actor.mp,actor.maxmp,2,1)
draw_actor_name(actor, p3[0] + 30, p3[1] - 25)
when 3
draw_menu_parameter(p4[0], p4[1])
draw_actor_graphic(actor, p4[0], p4[1])
draw_picture_number(p4[0] + 45 ,p4[1] - 82,actor.hp,"Number_01",0,0,3,0)
draw_picture_number(p4[0] + 83 ,p4[1] - 61,actor.mp,"Number_01",0,0,3,0)
draw_picture_number(p4[0] - 38 ,p4[1] - 55,actor.level,"Number_01",1,0,3,1)
draw_actor_state2(actor,p4[0] ,p4[1])
draw_meter(p4[0] - 27,p4[1] - 63,"Menu_HPSP",actor.hp,actor.maxhp,2,0)
draw_meter(p4[0] + 10,p4[1] - 42,"Menu_HPSP",actor.mp,actor.maxmp,2,1)
draw_actor_name(actor, p4[0] - 90, p4[1] - 25)
end
end
end
#--------------------------------------------------------------------------
# ● update_cursor
#--------------------------------------------------------------------------
def update_cursor
end
end
#==============================================================================
# ■ Window_Mapname
#==============================================================================
class Window_Mapname < Window_Base
#--------------------------------------------------------------------------
# ● initialize
#--------------------------------------------------------------------------
def initialize(x, y)
super(x, y, 160, WLH + 32)
self.opacity = 0
self.contents_opacity = 0
self.contents.font.bold = true
self.contents.font.size = 16
refresh
end
#--------------------------------------------------------------------------
# ● refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = normal_color
self.contents.draw_text(4, 0, 120, 32, $game_map.mpname.to_s, 1)
end
end
#==============================================================================
# ■ Window_Gold_Menu
#==============================================================================
class Window_Gold_Menu < Window_Base
#--------------------------------------------------------------------------
# ● initialize
#--------------------------------------------------------------------------
def initialize(x, y)
super(x, y, 190, WLH + 32)
self.opacity = 0
self.contents_opacity = 0
refresh
end
#--------------------------------------------------------------------------
# ● refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
gold = $game_party.gold
draw_picture_number( 70, 0 ,gold, "Number_01",1,0,3,0)
end
end
#==============================================================================
# ■ Window_Time_Menu
#==============================================================================
class Window_Time_Menu < Window_Base
#--------------------------------------------------------------------------
# ● initialize
#--------------------------------------------------------------------------
def initialize(x, y)
super(x, y, 240, WLH + 32)
self.opacity = 0
self.contents_opacity = 0
refresh
end
#--------------------------------------------------------------------------
# ● refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@total_sec = Graphics.frame_count / Graphics.frame_rate
hour = @total_sec / 60 / 60
min = @total_sec / 60 % 60
sec = @total_sec % 60
plus_x = -130
draw_picture_number(plus_x + x + 18 * 0, 0,0, "Number_01",0,0,3,1) if hour < 10
draw_picture_number(plus_x + x + 18 * 1, 0 ,hour, "Number_01",0,0,3,1)
draw_picture_number(plus_x + x + 18 * 3, 0 ,0, "Number_01",0,0,3,1) if min < 10
draw_picture_number(plus_x + x + 18 * 4, 0 ,min, "Number_01",0,0,3,1)
draw_picture_number(plus_x + x + 18 * 6, 0 ,0, "Number_01",0,0,3,1) if sec < 10
draw_picture_number(plus_x + x + 18 * 7, 0 ,sec , "Number_01",0,0,3,1)
end
#--------------------------------------------------------------------------
# ● update
#--------------------------------------------------------------------------
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end
#==============================================================================
# ■ Scene_Menu
#==============================================================================
class Scene_Menu < Scene_Base
#--------------------------------------------------------------------------
# ● initialize
#--------------------------------------------------------------------------
def initialize(menu_index = 0)
@menu_index = menu_index
end
#--------------------------------------------------------------------------
# ● perform_transition
#--------------------------------------------------------------------------
def perform_transition
Graphics.transition(10, "Graphics/System/BattleStart", 80)
end
#--------------------------------------------------------------------------
# ● start
#--------------------------------------------------------------------------
def start
super
create_command_window
create_layout
@start_slide = true
@gold_window = Window_Gold_Menu.new(185,-50)
@status_window = Window_MenuStatus_Yui.new(180, 60)
@playtime_window = Window_Time_Menu.new(165, -102)
@mapname_window = Window_Mapname.new(195,460)
end
#--------------------------------------------------------------------------
# ● create_layout
#--------------------------------------------------------------------------
def create_layout
@pre_index = @command_window.index
@menu_back = Plane.new
@menu_back.bitmap = Cache.menu("Background")
@menu_layout = Sprite.new
@menu_layout.bitmap = Cache.menu("Menu_Layout")
@menu_layout.oy = 100
@menu_layout.opacity = 244
@menu_layout2 = Sprite.new
@menu_layout2.bitmap = Cache.menu("Menu_Layout2")
@menu_layout2.y = 404
@menu_layout2.opacity = 0
@menu_select = Sprite.new
@menu_select.bitmap = Cache.menu("Menu_Select")
@menu_select.visible = false
@select_blink_time = 0
@menu_image = Cache.menu("Menu_Command")
@menu_bitmap = Bitmap.new(@menu_image.width,@menu_image.height)
@menu_width = @menu_image.width / 6
@menu_height = @menu_image.height
@menu_src_rect = Rect.new(@menu_width * @menu_index, 0, @menu_width, @menu_height)
@menu_bitmap.blt(0,0, @menu_image, @menu_src_rect)
@menu_com = Sprite.new
@menu_com.bitmap = @menu_bitmap
@menu_com.y = 105
@menu_com.x = -100
@menu_com.opacity = 0
end
#--------------------------------------------------------------------------
# ● pre_terminate
#--------------------------------------------------------------------------
def pre_terminate
for i in 0..15
@menu_back.ox += 1
@status_window.x += 7
@status_window.contents_opacity -= 15
@menu_select.x += 7
@menu_select.opacity -= 15
@menu_com.x -= 7
@menu_com.opacity -= 15
@menu_layout.oy += 7
@menu_layout.opacity -= 15
@menu_layout2.y += 7
@menu_layout2.opacity -= 15
@gold_window.y -= 7
@gold_window.contents_opacity -= 15
@playtime_window.y -= 7
@playtime_window.contents_opacity -= 15
@mapname_window.y += 7
@mapname_window.contents_opacity -= 15
Graphics.update
end
super
end
#--------------------------------------------------------------------------
# ● terminate
#--------------------------------------------------------------------------
def terminate
@menu_back.bitmap.dispose
@menu_back.dispose
@menu_layout.bitmap.dispose
@menu_layout.dispose
@menu_layout2.bitmap.dispose
@menu_layout2.dispose
@menu_bitmap.dispose
@menu_com.bitmap.dispose
@menu_com.dispose
@menu_select.bitmap.dispose
@menu_select.dispose
@command_window.dispose
@gold_window.dispose
@status_window.dispose
@playtime_window.dispose
@mapname_window.dispose
super
end
#--------------------------------------------------------------------------
# ● update
#--------------------------------------------------------------------------
def update
super
update_slide
@command_window.update
@gold_window.update
@status_window.update
@mapname_window.update
@playtime_window.update
refresh_command_image
update_select
if @command_window.active
update_command_selection
elsif @status_window.active
update_actor_selection
end
end
#--------------------------------------------------------------------------
# ● update_slide
#--------------------------------------------------------------------------
def update_slide
@menu_back.ox += 1
if @start_slide == false
if @status_window.active
@menu_com.opacity -= 5 if @menu_com.opacity > 150
@menu_com.x -= 10 if @menu_com.x > -100
@status_window.x -= 5 if @status_window.x > 50
else
@menu_com.opacity += 5
@menu_com.x += 10 if @menu_com.x < 0
@status_window.x += 5 if @status_window.x < 80
end
else
if @menu_layout.oy > 0
@status_window.x -= 7
@status_window.contents_opacity += 10
@menu_com.x += 7
@menu_com.opacity += 10
@menu_layout.oy -= 7
@menu_layout.opacity += 10
@menu_layout2.y -= 7
@menu_layout2.opacity += 10
@gold_window.y += 7
@gold_window.contents_opacity += 10
@playtime_window.y += 7
@playtime_window.contents_opacity += 10
@mapname_window.y -= 7
@mapname_window.contents_opacity += 10
else
@status_window.x = 80
@status_window.contents_opacity = 255
@menu_com.x = 0
@menu_com.opacity = 255
@menu_layout.oy = 0
@menu_layout.opacity = 255
@menu_layout2.y = 304
@menu_layout2.opacity = 255
@gold_window.y = 50
@gold_window.contents_opacity = 255
@playtime_window.y = 2
@playtime_window.contents_opacity = 255
@mapname_window.y = 360
@mapname_window.contents_opacity = 255
@start_slide = false
end
end
end
#--------------------------------------------------------------------------
# ● update_select
#--------------------------------------------------------------------------
def update_select
if @status_window.active
update_select_blink
@menu_select.visible = true
@menu_select.opacity += 15
case @status_window.index
when 0
sel = [84,155]
when 1
sel = [164,255]
when 2
sel = [264,155]
else
sel = [364,255]
end
@menu_select.x = sel[0]
@menu_select.y = sel[1]
else
@menu_select.visible = false
@menu_select.opacity = 0
@select_blink_time = 0
end
end
#--------------------------------------------------------------------------
# ● update_select_blink
#--------------------------------------------------------------------------
def update_select_blink
@select_blink_time -= 3
case @select_blink_time
when 1..100
@menu_select.zoom_y += 0.01
when 101..200
@menu_select.zoom_y -= 0.01
else
@select_blink_time = 200
@menu_select.zoom_y = 1.00
end
end
#--------------------------------------------------------------------------
# ● refresh_command_image
#--------------------------------------------------------------------------
def refresh_command_image
return if @pre_index == @command_window.index
@pre_index = @command_window
@menu_com.bitmap.clear
@menu_src_rect = Rect.new(@menu_width * @command_window.index, 0, @menu_width, @menu_height)
@menu_bitmap.blt(0,0, @menu_image, @menu_src_rect)
end
#--------------------------------------------------------------------------
# ● create_command_window
#--------------------------------------------------------------------------
def create_command_window
s1 = Vocab::item
s2 = Vocab::skill
s3 = Vocab::equip
s4 = Vocab::status
s5 = Vocab::save
s6 = Vocab::game_end
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
@command_window.index = @menu_index
@command_window.openness = 0
@command_window.open
@command_window.opacity = 0
@command_window.contents_opacity = 0
if $game_system.save_disabled
@command_window.draw_item(4, false)
end
end
#--------------------------------------------------------------------------
# ● update_command_selection
#--------------------------------------------------------------------------
def update_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
elsif Input.trigger?(Input::C)
if $game_party.members.size == 0 and @command_window.index < 4
Sound.play_buzzer
return
elsif $game_system.save_disabled and @command_window.index == 4
Sound.play_buzzer
return
end
Sound.play_decision
case @command_window.index
when 0
$scene = Scene_Item.new
when 1,2,3
start_actor_selection
when 4
$scene = Scene_File.new(true, false, false)
when 5
$scene = Scene_End.new
end
end
end
#--------------------------------------------------------------------------
# ● start_actor_selection
#--------------------------------------------------------------------------
def start_actor_selection
@command_window.active = false
@status_window.active = true
if $game_party.last_actor_index < @status_window.item_max
@status_window.index = $game_party.last_actor_index
else
@status_window.index = 0
end
end
#--------------------------------------------------------------------------
# ● end_actor_selection
#--------------------------------------------------------------------------
def end_actor_selection
@command_window.active = true
@status_window.active = false
@status_window.index = -1
end
#--------------------------------------------------------------------------
# ● update_actor_selection
#--------------------------------------------------------------------------
def update_actor_selection
if Input.trigger?(Input::B)
Sound.play_cancel
end_actor_selection
elsif Input.trigger?(Input::C)
$game_party.last_actor_index = @status_window.index
Sound.play_decision
case @command_window.index
when 1
$scene = Scene_Skill.new(@status_window.index)
when 2
$scene = Scene_Equip.new(@status_window.index)
when 3
$scene = Scene_Status.new(@status_window.index)
end
end
end
end
$mog_rgssvx_menu_yui = true
¿Para que sirbe?
Para mostrar un contador de tiempo en el mapa
¿como usarlo?
Colocar estas imagenes en la carpeta Graphics/System
[Tienes que estar registrado y conectado para ver esa imagen]
Screen
[Tienes que estar registrado y conectado para ver esa imagen]
Script
- Spoiler:
- #=============================================================================
# MOG VX - Timer Meter v1.0
#==============================================================================
# By Moghunter
# [Tienes que estar registrado y conectado para ver este vínculo]
#==============================================================================
# Apresenta um medidor animado com a contagem de tempo.
#==============================================================================
# Serão necessários os seguintes arquivos na pasta Graphics/System
#
# Timer_Layout.png
# Timer_Meter.png
# Timer_Number.png
# Timer_Fire.png
#
#==============================================================================
module MOG_VX06
#Posição geral da janela de contagem. (X,Y)
TIMER_POS = [130,30]
#Posição do medidor. (X,Y)
METER_POS = [60,9]
#Posição do número. (X,Y)
NUMBER_POS = [104,24]
#Posição da animação do fogo. (X,Y)
FIRE_POS = [60,0]
#Velocidade da animação do medidor.
METER_FLOW_SPEED = 5
#Velocidade da animação do fogo.
FIRE_ANIMATION_SPEED = 3
end
#==============================================================================
# Game_System
#==============================================================================
class Game_System
attr_accessor :timer_prev
#--------------------------------------------------------------------------
# * Initialize
#--------------------------------------------------------------------------
alias mog_timer_meter_initialize initialize
def initialize
@timer_prev = 1
mog_timer_meter_initialize
end
end
#==============================================================================
# Game_Interpreter
#==============================================================================
class Game_Interpreter
#--------------------------------------------------------------------------
# * command_124
#--------------------------------------------------------------------------
alias mog_timer_meter_command_124 command_124
def command_124
mog_timer_meter_command_124
$game_system.timer_prev = $game_system.timer - 60
$game_system.timer_prev = 1 if $game_system.timer == 0
end
end
#==============================================================================
# Sprite_Timer
#==============================================================================
class Sprite_Timer < Sprite
include MOG_VX06
#--------------------------------------------------------------------------
# * Initialize
#--------------------------------------------------------------------------
def initialize(viewport)
super(viewport)
update_timer
create_layout
create_meter
create_number
create_fire
end
#--------------------------------------------------------------------------
# * create_layout
#--------------------------------------------------------------------------
def create_layout
@layout = Sprite.new
@layout.bitmap = Cache.system("Timer_Layout")
@layout.z = 200
@layout.x = TIMER_POS[0]
@layout.y = TIMER_POS[1]
end
#--------------------------------------------------------------------------
# * create_meter
#--------------------------------------------------------------------------
def create_meter
@meter_flow = 0
@meter_image = Cache.system("Timer_Meter")
@meter_bitmap = Bitmap.new(@meter_image.width,@meter_image.height)
@meter_range = @meter_image.width / 3
@meter_width = @meter_range * ($game_system.timer - 60) / $game_system.timer_prev
@meter_width = 0 if $game_system.timer < 60
@meter_height = @meter_image.height
@meter_src_rect = Rect.new(@meter_range, 0, @meter_width, @meter_height)
@meter_bitmap.blt(0,0, @meter_image, @meter_src_rect)
@meter_sprite = Sprite.new
@meter_sprite.bitmap = @meter_bitmap
@meter_sprite.z = 201
@meter_sprite.x = TIMER_POS[0] + METER_POS[0]
@meter_sprite.y = TIMER_POS[1] + METER_POS[1]
update_flow
end
#--------------------------------------------------------------------------
# * create_number
#--------------------------------------------------------------------------
def create_number
@number_image = Cache.system("Timer_Number")
@number_bitmap = Bitmap.new(@number_image.width,@number_image.height)
@number_sprite = Sprite.new
@number_sprite.bitmap = @number_bitmap
@number_sprite.z = 203
@number_sprite.x = TIMER_POS[0] + NUMBER_POS[0]
@number_sprite.y = TIMER_POS[1] + NUMBER_POS[1]
@number_cw = @number_image.width / 10
@number_ch = @number_image.height
refresh_number
@number = @total_sec
end
#--------------------------------------------------------------------------
# * create_fire
#--------------------------------------------------------------------------
def create_fire
@fire_flow = 0
@fire_flow_speed = 0
@fire_refresh = false
@fire_image = Cache.system("Timer_Fire")
@fire_bitmap = Bitmap.new(@fire_image.width,@fire_image.height)
@fire_width = @fire_image.width / 4
@fire_src_rect_back = Rect.new(0, 0,@fire_width, @fire_image.height)
@fire_bitmap.blt(0,0, @fire_image, @fire_src_rect_back)
@fire_sprite = Sprite.new
@fire_sprite.bitmap = @fire_bitmap
@fire_sprite.z = 202
@fire_sprite.x = -5 + @meter_width + TIMER_POS[0] + FIRE_POS[0]
@fire_sprite.y = TIMER_POS[1] + FIRE_POS[1]
update_fire
end
#--------------------------------------------------------------------------
# * dispose
#--------------------------------------------------------------------------
def dispose
@layout.bitmap.dispose
@layout.dispose
@meter_sprite.bitmap.dispose
@meter_sprite.dispose
@meter_bitmap.dispose
@number_sprite.bitmap.dispose
@number_sprite.dispose
@number_bitmap.dispose
@fire_bitmap.dispose
@fire_sprite.bitmap.dispose
@fire_sprite.dispose
super
end
#--------------------------------------------------------------------------
# * update
#--------------------------------------------------------------------------
def update
super
update_visible
update_timer
update_flow
update_fire
refresh_number
end
#--------------------------------------------------------------------------
# * draw_number
#--------------------------------------------------------------------------
def draw_number(x,y,value)
@number_text = value.abs.to_s.split(//)
plus_x = -@number_cw * @number_text.size
for r in [Tienes que estar registrado y conectado para ver este vínculo] - 1
@number_abs = @number_text[r].to_i
@number_src_rect = Rect.new(@number_cw * @number_abs, 0, @number_cw, @number_ch)
@number_bitmap.blt(plus_x + x + (@number_cw * r), y, @number_image, @number_src_rect)
end
end
#--------------------------------------------------------------------------
# * refresh_number
#--------------------------------------------------------------------------
def refresh_number
return if @number == @total_sec
@number = @total_sec
@number_sprite.bitmap.clear
draw_number(@number_cw * 1,0,0) if @min < 10
draw_number(@number_cw * 2,0,@min)
draw_number(@number_cw * 4,0,0) if @sec < 10
draw_number(@number_cw * 5,0,@sec)
end
#--------------------------------------------------------------------------
# * update
#--------------------------------------------------------------------------
def update_visible
@meter_sprite.visible = $game_system.timer_working
@number_sprite.visible = $game_system.timer_working
@layout.visible = $game_system.timer_working
@fire_sprite.visible = $game_system.timer_working
end
#--------------------------------------------------------------------------
# * update
#--------------------------------------------------------------------------
def update_timer
@total_sec = $game_system.timer / Graphics.frame_rate
@min = @total_sec / 60
@sec = @total_sec % 60
end
#--------------------------------------------------------------------------
# * update_flow
#--------------------------------------------------------------------------
def update_flow
@meter_sprite.bitmap.clear
@meter_width = @meter_range * ($game_system.timer - 60) / $game_system.timer_prev
@meter_width = 0 if $game_system.timer < 60
@meter_src_rect = Rect.new(@meter_flow, 0,@meter_width, @meter_height)
@meter_bitmap.blt(0,0, @meter_image, @meter_src_rect)
@meter_flow += METER_FLOW_SPEED
@meter_flow = 0 if @meter_flow >= @meter_image.width - @meter_range
end
#--------------------------------------------------------------------------
# * update_fire
#--------------------------------------------------------------------------
def update_fire
@fire_flow_speed += 1
if @fire_flow_speed > FIRE_ANIMATION_SPEED
@fire_flow += 1
@fire_flow_speed = 0
@fire_flow = 0 if @fire_flow == 4
@fire_refresh = true
end
@fire_sprite.x = -5 + @meter_width + TIMER_POS[0] + FIRE_POS[0]
return if @fire_refresh == false
@fire_sprite.bitmap.clear
@fire_refresh = false
@fire_src_rect_back = Rect.new(@fire_width * @fire_flow, 0,@fire_width, @fire_image.height)
@fire_bitmap.blt(0,0, @fire_image, @fire_src_rect_back)
end
end
$mog_rgssvx_timer_meter = true
Pronto subire mas script Mog y de otros creadores ¿ok?
Última edición por Catun el Jue 10 Feb 2011, 2:03 pm, editado 1 vez
Invitado- Invitado
Re: Catunazo de script
Te he juntado los temas , que si no ocupan mucho espacio .
Gracias por el aporte
Gracias por el aporte
Shadow97- Moderador
-
26
2021
4907
104
Re: Catunazo de script
Con todo esto podes hacer un juego 100% "Mog" Ta muy bien el aporte, así que...
¿Te doy puntos? MMM... Si dale, :=) +1
Suerte, XD
¿Te doy puntos? MMM... Si dale, :=) +1
Suerte, XD
maxi- Moderador
-
28
908
1673
156
Extras
Sobre mí:: ¿Necesitas Una Mano en el Maker VX o VX ACE? ¡Ponte en Contacto Conmigo! :)
Re: Catunazo de script
Exelente Catunazooo!!!
muy buenos scripts!!! buen aporte XD
toma un + 1
saludos
muy buenos scripts!!! buen aporte XD
toma un + 1
saludos
Mr.Gonz- 130
-
30
147
159
27
Extras
Sobre mí::
Re: Catunazo de script
Shadow97 escribió:Te he juntado los temas , que si no ocupan mucho espacio .
Gracias por el aporte
Cada aporte debe ir por separado, no importa que ocupe espacio
ClubIce- 220
-
27
253
361
38
Temas similares
» Catunazo de Script
» Script: Cambio de Clase Sencillo(CCS) V.1.0.0Mi primer script.
» Script de video 100% funcional
» Script de Pausa V 2.0
» *Script de misiones*
» Script: Cambio de Clase Sencillo(CCS) V.1.0.0Mi primer script.
» Script de video 100% funcional
» Script de Pausa V 2.0
» *Script de misiones*
RPG maker VX :: Scripts ::
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.